From b9ffc66a0b8ef0451ca10e91679603e88789b751 Mon Sep 17 00:00:00 2001 From: shijianquan <992593080@qq.com> Date: Tue, 9 Sep 2025 18:04:17 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=E5=8E=BB=E6=8E=89=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E7=9A=84=E7=BB=93=E6=9E=84=E6=96=87=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=20=E4=B8=8D=E7=84=B6=E5=9B=9E=E5=A4=8D=E7=9A=84=E6=97=B6?= =?UTF-8?q?=E5=80=99=E4=BC=9A=E5=87=BA=E9=94=99=EF=BC=8C=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E5=BB=BA=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/Schema/2003/SCL.xsd | 61 - .../Schema/2003/SCL_BaseSimpleTypes.xsd | 41 - .../Schema/2003/SCL_BaseSimpleTypesz.xsd | 46 - .../common/Schema/2003/SCL_BaseTypes.xsd | 160 - .../common/Schema/2003/SCL_Communication.xsd | 278 - .../Schema/2003/SCL_DataTypeTemplates.xsd | 168 - .../common/Schema/2003/SCL_Enums.xsd | 531 - .../common/Schema/2003/SCL_IED.xsd | 534 - .../common/Schema/2003/SCL_SubStation.xsd | 270 - .../common/Schema/2006/SCL.xsd | 59 - .../Schema/2006/SCL_BaseSimpleTypes.xsd | 38 - .../Schema/2006/SCL_BaseSimpleTypesz.xsd | 46 - .../common/Schema/2006/SCL_BaseTypes.xsd | 144 - .../common/Schema/2006/SCL_Communication.xsd | 241 - .../Schema/2006/SCL_DataTypeTemplates.xsd | 161 - .../common/Schema/2006/SCL_Enums.xsd | 551 - .../common/Schema/2006/SCL_IED.xsd | 595 - .../common/Schema/2006/SCL_Substation.xsd | 276 - .../initdata/en/basedata/alarm_color.xlsx | Bin 2444 -> 0 bytes .../en/basedata/alarm_keyword_define.xlsx | Bin 4024 -> 0 bytes .../en/basedata/alarm_type_define.xlsx | Bin 9887 -> 0 bytes .../initdata/en/basedata/dict_menu_info.xlsx | Bin 23905 -> 0 bytes .../initdata/en/basedata/dict_point_type.xlsx | Bin 6288 -> 0 bytes .../initdata/en/basedata/dict_vol_level.xlsx | Bin 9306 -> 0 bytes .../en/basedata/opt_shield_define.xlsx | Bin 2563 -> 0 bytes .../en/basedata/opt_token_define.xlsx | Bin 2673 -> 0 bytes .../database/initdata/en/basedata/p_dict.xlsx | Bin 20703 -> 0 bytes .../initdata/en/basedata/p_dict_sort.xlsx | Bin 4908 -> 0 bytes .../en/basedata/rm_norm_func_def.xlsx | Bin 4440 -> 0 bytes .../en/basedata/rm_spcl_func_def.xlsx | Bin 9173 -> 0 bytes .../en/basedata/sys_model_app_info.xlsx | Bin 2573 -> 0 bytes .../basedata/sys_model_sub_system_info.xlsx | Bin 2496 -> 0 bytes .../en/basedata/sys_trigger_flag.xlsx | Bin 2365 -> 0 bytes .../zh/basedata/alarm_keyword_define.xlsx | Bin 4391 -> 0 bytes .../zh/basedata/alarm_type_define.xlsx | Bin 5494 -> 0 bytes .../initdata/zh/basedata/dict_menu_info.xlsx | Bin 24594 -> 0 bytes .../initdata/zh/basedata/dict_point_type.xlsx | Bin 22614 -> 0 bytes .../initdata/zh/basedata/dict_vol_level.xlsx | Bin 9207 -> 0 bytes .../zh/basedata/opt_shield_define.xlsx | Bin 2603 -> 0 bytes .../zh/basedata/opt_token_define.xlsx | Bin 2722 -> 0 bytes .../database/initdata/zh/basedata/p_dict.xlsx | Bin 42922 -> 0 bytes .../initdata/zh/basedata/p_dict_sort.xlsx | Bin 4908 -> 0 bytes .../zh/basedata/rm_norm_func_def.xlsx | Bin 4440 -> 0 bytes .../zh/basedata/rm_spcl_func_def.xlsx | Bin 9153 -> 0 bytes .../zh/basedata/sys_model_app_info.xlsx | Bin 2624 -> 0 bytes .../basedata/sys_model_sub_system_info.xlsx | Bin 2557 -> 0 bytes .../zh/basedata/sys_trigger_flag.xlsx | Bin 2365 -> 0 bytes .../initscript/iscs6000_func_Kingbase.sql | 8679 ------------- .../initscript/iscs6000_func_MySQL.sql | 7018 ----------- .../initscript/iscs6000_func_openGauss.sql | 8644 ------------- .../initscript/iscs6000_table_struct.xml | 8286 ------------- .../common/device_model/ABB/REF542.CSV | 38 - .../ABB/REF615D(3块板卡)-4.0.CSV | 42 - .../common/device_model/ABB/REF615D(4.0).CSV | 36 - .../common/device_model/ABB/REF615K(4.0).CSV | 56 - .../common/device_model/ABB/REM615B(4.0).CSV | 52 - .../common/device_model/ABB/REM615J(4.0).CSV | 56 - ...0)(备注X130板卡默认读不上来).CSV | 57 - .../device_model/DLT645-1997(带测量).csv | 35 - .../common/device_model/DLT645-1997.CSV | 20 - .../device_model/DLT645-2007(带测量).CSV | 41 - .../device_model/GE/F6501#高压馈线.CSV | 40 - .../common/device_model/MICOM/C264.CSV | 57 - .../common/device_model/MICOM/P120.CSV | 21 - .../common/device_model/MICOM/P123-V12.CSV | 55 - .../common/device_model/MICOM/P127.CSV | 50 - .../common/device_model/MICOM/P127cn.CSV | 54 - .../common/device_model/MICOM/P127dz.CSV | 103 - .../common/device_model/MICOM/P127en.CSV | 60 - .../common/device_model/MICOM/P141-46.CSV | 73 - .../common/device_model/MICOM/P142(103).CSV | 38 - .../common/device_model/MICOM/P143-46EN.CSV | 73 - .../common/device_model/MICOM/P14X-V46J.CSV | 76 - .../common/device_model/MICOM/P243-V57.CSV | 60 - .../common/device_model/MICOM/P343-V35.CSV | 112 - .../common/device_model/MICOM/P343.csv | 111 - .../device_model/MICOM/P443(103规约).CSV | 37 - .../common/device_model/MICOM/P443-103.CSV | 52 - .../device_model/MICOM/P521(中文).CSV | 54 - .../device_model/MICOM/P521(英文).CSV | 57 - .../common/device_model/MICOM/P541.CSV | 37 - .../common/device_model/MICOM/P543.CSV | 50 - .../device_model/MICOM/P631(modbus).CSV | 43 - .../device_model/MICOM/P632(Modbus).CSV | 52 - .../common/device_model/MICOM/P633.CSV | 61 - .../device_model/MICOM/P746(Modbus).CSV | 102 - .../common/device_model/MICOM/P922-V10.CSV | 70 - .../common/device_model/MICOM/P922.CSV | 70 - .../MICOM/courier/P441(courier).xlsx | Bin 12203 -> 0 bytes .../MICOM/courier/P545(courier).xlsx | Bin 13273 -> 0 bytes .../common/device_model/MICOM/p142CN.CSV | 43 - .../common/device_model/MICOM/p142EN.CSV | 71 - .../common/device_model/MICOM/p143EN.CSV | 70 - .../common/device_model/MICOM/p241.CSV | 49 - .../common/device_model/MICOM/p632(103).CSV | 52 - .../common/device_model/MT塑壳断路器.CSV | 29 - .../common/device_model/SEL/351A.CSV | 49 - .../common/device_model/SEL/SEL 2440.CSV | 54 - .../common/device_model/SEL/SEL-311B-DNP.CSV | 58 - .../common/device_model/SEL/SEL-311B.CSV | 58 - .../common/device_model/SEL/SEL-787-DNP.CSV | 52 - .../common/device_model/SEL/SEL-787.CSV | 52 - .../common/device_model/SEL/SEL2411.csv | 66 - .../device_model/SEL/SEL2440-MODBUS.CSV | 47 - .../device_model/SEL/SEL351点表模板.CSV | 44 - .../device_model/SEL/SEL551C重合器.CSV | 52 - .../common/device_model/SEL/SEL587.CSV | 88 - .../device_model/SEL/SEL710-MODBUSTCP.CSV | 53 - .../SEL/SEL734计费式表计.CSV | 63 - .../common/device_model/SEL/SEL735-MODBUS.CSV | 68 - .../device_model/SEL/SEL749M电机保护.CSV | 81 - .../device_model/SEL/SEL751-MODBUSTCP.CSV | 55 - .../device_model/SEL/SEL751A馈线保护.CSV | 92 - .../device_model/SEL/SEL787-MODBUSTCP.CSV | 45 - .../common/device_model/SEPAM/B21.CSV | 59 - .../common/device_model/SEPAM/B80.CSV | 114 - .../common/device_model/SEPAM/D31.CSV | 34 - .../common/device_model/SEPAM/G87.CSV | 156 - .../common/device_model/SEPAM/M20.CSV | 65 - .../common/device_model/SEPAM/M40.CSV | 102 - .../common/device_model/SEPAM/M81.CSV | 154 - .../common/device_model/SEPAM/M87.CSV | 149 - .../common/device_model/SEPAM/S20.CSV | 58 - .../common/device_model/SEPAM/S40.CSV | 93 - .../common/device_model/SEPAM/S80.CSV | 140 - .../common/device_model/SEPAM/T20.CSV | 60 - .../common/device_model/SEPAM/T81.CSV | 140 - .../common/device_model/SEPAM/T87.CSV | 142 - .../common/device_model/SEPAM/Z82.CSV | 60 - .../device_model/SIEMENS/7RW600-103.CSV | 10 - .../device_model/SIEMENS/7SJ600-103.CSV | 8 - .../common/device_model/SIEMENS/7SJ68-103.CSV | 47 - .../device_model/SIEMENS/7SJ686-103DZ.CSV | 65 - .../device_model/SIEMENS/7SJ686-TCP103.csv | 38 - .../common/device_model/SIEMENS/7SJ686.CSV | 50 - ...VAMP57-MODBUS串口及TCP通讯总述.docx | Bin 418949 -> 0 bytes .../device_model/VAMP/255VAMP模板.CSV | 55 - .../device_model/VAMP/256VAMP模板.CSV | 44 - .../device_model/VAMP/265VAMP模板.CSV | 43 - .../common/device_model/VAMP/50VAMP模板.CSV | 30 - .../common/device_model/VAMP/55VAMP模板.CSV | 26 - .../device_model/VAMP/V57-modbusTCP.CSV | 70 - .../common/device_model/VAMP/V57.CSV | 69 - .../device_model/VAMP/V57遥控-Modbus.docx | Bin 273199 -> 0 bytes .../VAMP/VAMP57事件解析配置说明.doc | Bin 93696 -> 0 bytes .../common/device_model/XMT数显仪.CSV | 13 - .../common/device_model/中电PMC530A.CSV | 34 - .../common/device_model/中电PMC53M.CSV | 28 - .../common/device_model/中电PMC630A.CSV | 34 - .../device_model/光伏设备/TPS6000.CSV | 61 - .../光伏设备/临朐汇流箱.CSV | 43 - .../device_model/光伏设备/汇流箱.CSV | 50 - .../光伏设备/电池巡检仪.CSV | 171 - .../device_model/光伏设备/科华UPS.CSV | 64 - .../光伏设备/科华交流配电.CSV | 181 - .../光伏设备/科华直流配电柜.CSV | 22 - ...北斗银河低压马达保护BDM100-M.CSV | 23 - .../北京四方/CSC-163A光纤.CSV | 35 - .../device_model/北京四方/CSC241B.CSV | 53 - .../device_model/北京四方/CSC246.CSV | 69 - .../device_model/北京四方/CSC281.CSV | 68 - .../device_model/北京四方/CSC285V.CSV | 47 - .../device_model/北京四方/CSC326GC.CSV | 24 - .../device_model/北京四方/CSC336B1.CSV | 17 - .../device_model/北京四方/CSI-200E.CSV | 173 - .../北京四方/CSI-200E测控.CSV | 188 - .../device_model/北京四方/CSI-211.CSV | 101 - .../device_model/北京四方/CSI-213.CSV | 101 - .../device_model/北京四方/CSI-246.CSV | 123 - .../CSI200EA中103协议说明.doc | Bin 140288 -> 0 bytes .../北京四方/CSI200E通讯备注.doc | Bin 24576 -> 0 bytes .../device_model/北京四方/portcfg-200E | 16 - .../device_model/北京四方/portcfg-213 | 12 - .../四方CSC213光差保护遥控说明.doc | Bin 50688 -> 0 bytes .../四方测控CSI200E通讯备注.txt | 2 - .../南京因特来PA150-F2模板.CSV | 51 - .../南瑞南自/ISA-941南瑞保护.CSV | 87 - .../device_model/南瑞南自/NJP8200.CSV | 74 - .../南瑞南自/PCS9611N模板.csv | 51 - .../南瑞南自/PCS9621N模板.csv | 28 - .../南瑞南自/PSL 646U 点表.CSV | 99 - .../device_model/南瑞南自/PSL621D.CSV | 270 - .../device_model/南瑞南自/RCS-915.CSV | 115 - .../南瑞南自/RCS-943A南瑞保护.CSV | 80 - .../device_model/南瑞南自/RCS-9613C.CSV | 63 - .../南瑞353G光差点表模板.CSV | 62 - .../南瑞南自/南瑞RCS-941B模板.CSV | 69 - .../南瑞南自/南瑞RCS-943A模板.CSV | 80 - .../南瑞南自/南瑞RCS-943A模板YC.CSV | 102 - .../南瑞南自/南瑞RS943A点表模板.CSV | 78 - .../南瑞RS943A点表模板2.0版本.CSV | 78 - .../南瑞RS9613C点表模板.CSV | 106 - .../南瑞南自/南瑞RS9613点表模板.CSV | 63 - .../南瑞南自/南自保护点表.CSV | 117 - .../同期-深圳国立智能SID-2CM.CSV | 10 - .../common/device_model/国产仪表/C20A.CSV | 46 - .../device_model/国产仪表/C30A1.CSV | 79 - .../device_model/国产仪表/C30A2.CSV | 77 - .../device_model/国产仪表/C30A3.CSV | 77 - .../device_model/国产仪表/C30A4.CSV | 34 - .../device_model/国产仪表/C30V1.05.CSV | 65 - .../国产仪表/版本说明.txt | 18 - .../device_model/国产保护-D/A61D.CSV | 97 - .../device_model/国产保护-D/C61D.CSV | 110 - .../device_model/国产保护-D/C62D-15.CSV | 87 - .../device_model/国产保护-D/S61D-103.CSV | 58 - .../device_model/国产保护-D/T60D.CSV | 25 - .../device_model/国产保护-D/T64D.csv | 60 - .../device_model/国产保护-D/T65D.csv | 56 - .../device_model/国产保护-D/T66D.CSV | 30 - .../common/device_model/安科瑞/ACR120E.csv | 35 - .../device_model/安科瑞/ACR220E(F)LK.CSV | 39 - .../安科瑞/ACR320E(F)LK-ACE320EK.CSV | 39 - .../安科瑞/ACR320EK(8DI)-ACE420EK.CSV | 43 - .../安科瑞/ACR系列谐波表0907版.CSV | 37 - .../common/device_model/安科瑞/acr120.CSV | 30 - .../common/device_model/安科瑞/acr230.CSV | 30 - .../device_model/快切-金智电源.CSV | 57 - .../8字节数据解析配置说明.doc | Bin 48128 -> 0 bytes ...系数需CT处理,乘CT比值除1000.csv | 29 - .../device_model/施耐德仪表/IEM3000.CSV | 21 - .../device_model/施耐德仪表/ION7550.CSV | 54 - .../施耐德仪表/ION7650-ION.CSV | 223 - .../施耐德仪表/ION8650C-ION.CSV | 35 - .../MC08分合寄存器一块.CSV | 19 - .../MC08分合寄存器分开.CSV | 23 - .../device_model/施耐德仪表/MC18.CSV | 24 - .../device_model/施耐德仪表/PM1200.CSV | 27 - .../device_model/施耐德仪表/PM500.CSV | 26 - .../device_model/施耐德仪表/PM5330.CSV | 28 - .../device_model/施耐德仪表/PM5350.CSV | 36 - .../device_model/施耐德仪表/PM750.CSV | 34 - .../device_model/施耐德仪表/PM800.CSV | 33 - .../施耐德仪表/PM810+IO26.CSV | 43 - .../device_model/施耐德仪表/PM850.CSV | 33 - .../device_model/施耐德仪表/PM9C.CSV | 20 - .../device_model/施耐德仪表/pm210.CSV | 28 - .../common/device_model/无功补偿-RVT.CSV | 23 - .../common/device_model/无功补偿-SWCP.CSV | 11 - .../device_model/档位控制器CZK100b.CSV | 9 - .../device_model/档位控制器HMK78.CSV | 10 - .../common/device_model/派诺720仪表.CSV | 27 - .../common/device_model/派诺PMAC802.CSV | 85 - .../common/device_model/派诺仪表.CSV | 18 - .../device_model/温控器-BWD-3K130A.CSV | 18 - .../common/device_model/温控器-BWDK.CSV | 16 - .../common/device_model/温控器-力得.CSV | 32 - .../温控器-珠海一多ETJ.CSV | 34 - .../珠海施诺S310点表模板.CSV | 75 - .../直流屏/PSM-E10艾默生直流屏.CSV | 126 - .../直流屏/PSM艾默生直流屏-CDT.csv | 44 - .../device_model/直流屏/ZYFS直流屏.CSV | 43 - .../北京申电直流屏点表模板.csv | 41 - .../直流屏/奥特讯直流屏.CSV | 150 - .../直流屏/恒力直流屏点表-CDT.CSV | 40 - .../汇业达直流屏点表模板.CSV | 32 - .../深圳市英可瑞-PMUS2T直流屏.csv | 162 - .../申联电气直流屏点表模板.CSV | 85 - .../直流屏/直流屏-DJB220MK.CSV | 32 - .../直流屏/鞍山恒力直流.CSV | 36 - .../直流屏/鲁能直流屏200C点表.CSV | 45 - .../common/device_model/研华ADAM-4017.CSV | 15 - .../103portcfg配置注意事项.doc | Bin 113152 -> 0 bytes .../177-南自网络103从站协议说明.doc | Bin 49664 -> 0 bytes .../235-钛能网络103协议说明.doc | Bin 27136 -> 0 bytes .../251-许继网络103协议说明.doc | Bin 105984 -> 0 bytes .../274_IEC103 UDP协议配置说明.doc | Bin 163328 -> 0 bytes ...8-西门子网络103规约配置说明.doc | Bin 192000 -> 0 bytes .../portcfg-串口103 | 12 - .../portcfg-南瑞、西门子网络103 | 9 - .../portcfg-南自网络103 | 131 - .../portcfg-许继网络103 | 9 - .../南瑞继保网络103协议说明.doc | Bin 110592 -> 0 bytes .../南自网络103设计原则.doc | Bin 117760 -> 0 bytes .../攀成钢网络103规约版本说明.doc | Bin 50688 -> 0 bytes .../网络103so版本说明.docx | Bin 14069 -> 0 bytes .../device_model/雅达YD220多功能表.CSV | 28 - .../common/license/license.txt | 1 - .../common/license/license.xml | 5 - .../common/license/reg_code.txt | 7 - .../en/apc_if_srv/translate/apc_if_srv_en.mo | Bin 2043 -> 0 bytes .../en/apc_if_srv/translate/apc_if_srv_en.po | 71 - .../resource/en/debug_tool/image/check.png | Bin 651 -> 0 bytes .../resource/en/debug_tool/image/check1.png | Bin 692 -> 0 bytes .../resource/en/debug_tool/image/down.png | Bin 218 -> 0 bytes .../resource/en/debug_tool/image/search.png | Bin 768 -> 0 bytes .../resource/en/debug_tool/image/uncheck.png | Bin 114 -> 0 bytes .../resource/en/debug_tool/image/uncheck1.png | Bin 432 -> 0 bytes .../resource/en/debug_tool/translate/en.qm | Bin 25348 -> 0 bytes .../resource/en/debug_tool/translate/en.ts | 1775 --- .../resource/en/fes/translate/fes_en.mo | Bin 15508 -> 0 bytes .../resource/en/fes/translate/fes_en.po | 798 -- .../resource/en/gui/translate/icon_en.ts | 112 - .../resource/en/gui/translate/plugin_en.qm | Bin 147848 -> 0 bytes .../resource/en/gui/translate/plugin_en.ts | 8544 ------------- .../translate/linkage_server_en.mo | Bin 7118 -> 0 bytes .../translate/linkage_server_en.po | 407 - .../model_studio/setting/table/APC_ANALOG.xml | 12 - .../setting/table/APC_DIGITAL.xml | 10 - .../setting/table/ATS_FES_LOCATION_INFO.xml | 7 - .../setting/table/ATS_FES_PLATFORM_INFO.xml | 8 - .../setting/table/BAS_CRAFT_DEF.xml | 8 - .../setting/table/BAS_MODE_DEF.xml | 11 - .../setting/table/BAS_MODE_TYPE.xml | 7 - .../table/BAS_TIMETABLE_CTRL_PARAM.xml | 15 - .../setting/table/BAS_TIMETABLE_DEF.xml | 9 - .../setting/table/BAS_TIMETABLE_INFO.xml | 10 - .../setting/table/BAS_TIMETABLE_SCHEDULE.xml | 18 - .../setting/table/CALC_FUNC_DEF.xml | 10 - .../setting/table/CALC_GROUP_DEF.xml | 8 - .../setting/table/CALC_IN_PARA.xml | 12 - .../setting/table/CALC_OUT_PARA.xml | 11 - .../setting/table/CALC_PARA_DEF.xml | 8 - .../setting/table/DEV_TYPE_DEF.xml | 9 - .../setting/table/DEV_TYPE_DEF_61850.xml | 11 - .../setting/table/DICT_POINT_TYPE.xml | 32 - .../setting/table/DICT_STATE_TEXT_INFO.xml | 11 - .../setting/table/DICT_UNIT_INFO.xml | 8 - .../setting/table/DICT_VOL_LEVEL.xml | 11 - .../setting/table/FAULT_RECALL_COND_DEF.xml | 11 - .../setting/table/LINKAGE_ACTION.xml | 13 - .../setting/table/LINKAGE_ACTION_FOR_BAS.xml | 12 - .../setting/table/LINKAGE_ACTION_FOR_MSG.xml | 12 - .../setting/table/LINKAGE_ACTION_FOR_PA.xml | 18 - .../setting/table/LINKAGE_ACTION_FOR_PIS.xml | 18 - .../table/LINKAGE_ACTION_FOR_PSCADA.xml | 12 - .../table/LINKAGE_ACTION_FOR_PUSH_PIC.xml | 12 - .../setting/table/LINKAGE_DEFINE.xml | 10 - .../setting/table/LINKAGE_FUNCTION.xml | 15 - .../setting/table/LINKAGE_FUNCTION_LIST.xml | 7 - .../setting/table/LINKAGE_SETTING.xml | 14 - .../LINKAGE_SETTING_FOR_ADD_AND_MODIFY.xml | 14 - .../setting/table/OPT_CTRL_ACT_DEFINE.xml | 14 - .../setting/table/OPT_HANDOVER_GRP.xml | 17 - .../setting/table/OPT_SHIELD_DEFINE.xml | 14 - .../setting/table/OPT_TOKEN_DEFINE.xml | 18 - .../setting/table/PA_AREA_INFO.xml | 7 - .../setting/table/PA_AUDIO_INFO.xml | 9 - .../setting/table/PA_BROADCAST_GROUP.xml | 9 - .../setting/table/PA_CTRL_PARAM.xml | 7 - .../setting/table/PA_LOCATION_AREA_DEF.xml | 7 - .../setting/table/PA_LOCATION_SEQ_DEF.xml | 7 - .../setting/table/PA_OPERATOR_DEF.xml | 7 - .../setting/table/PA_OPERATOR_MAP.xml | 7 - .../setting/table/PA_TIMED_AUDIO.xml | 20 - .../setting/table/PIS_AREA_INFO.xml | 7 - .../setting/table/PIS_CTRL_PARAM.xml | 7 - .../setting/table/PIS_DISPLAY_INFO.xml | 17 - .../setting/table/PIS_FES_LOCATION_INFO.xml | 7 - .../setting/table/PIS_LOCATION_AREA_DEF.xml | 7 - .../setting/table/PIS_MESSAGE_INFO.xml | 9 - .../setting/table/REGION_INFO.xml | 10 - .../model_studio/setting/table/SAFETY_DAY.xml | 8 - .../setting/table/SEQUENCE_ACTION.xml | 13 - .../setting/table/SEQUENCE_DEFINE.xml | 10 - .../setting/table/SEQUENCE_FUNCTION.xml | 14 - .../setting/table/SEQUENCE_SETTING.xml | 10 - .../setting/table/STAT_INST_DEF.xml | 20 - .../setting/table/STAT_INST_PARA_GRP.xml | 11 - .../setting/table/STAT_INST_PARA_POINT.xml | 14 - .../table/STAT_INST_PARA_POINT_FOR_ADD.xml | 14 - .../setting/table/STAT_INST_PARA_TIME.xml | 22 - .../table/STAT_INST_PARA_TIME_FOR_ADD.xml | 22 - .../setting/table/STAT_INST_RET_GRP.xml | 11 - .../setting/table/STAT_INST_RET_PARA.xml | 17 - .../table/STAT_INST_RET_PARA_FOR_ADD.xml | 16 - .../setting/table/STAT_LINK_DEF.xml | 8 - .../setting/table/STAT_LINK_PARA.xml | 12 - .../setting/table/STAT_LINK_RET.xml | 12 - .../setting/table/STAT_TEMPLATE_DEF.xml | 11 - .../setting/table/STAT_TEMPLATE_PARA.xml | 12 - .../setting/table/STAT_TEMPLATE_RET.xml | 11 - .../setting/table/SWITCH_CFG_INFO.xml | 11 - .../table/TRIGGER_CONDITION_DEFINE.xml | 33 - .../setting/table/TRIGGER_FUNCTION_DEFINE.xml | 9 - .../setting/table/TRIGGER_PERIOD_DEFINE.xml | 11 - .../setting/table/TRIGGER_TIMER_DEFINE.xml | 8 - .../en/model_studio/setting/tree/calcFunc.xml | 14 - .../model_studio/setting/tree/commonTree.xml | 39 - .../setting/tree/ctrlActDefine.xml | 14 - .../setting/tree/expressionTree.xml | 15 - .../model_studio/setting/tree/sampleTree.xml | 39 - .../setting/tree/statInstInput.xml | 14 - .../setting/tree/statInstOutput.xml | 14 - .../setting/tree/stateTextTree.xml | 14 - .../model_studio/setting/tree/staticsTree.xml | 14 - .../resource/en/report/translate/report.qm | Bin 319 -> 0 bytes .../resource/en/report/translate/report.ts | 30 - .../translate/sequence_server_en.mo | Bin 6147 -> 0 bytes .../translate/sequence_server_en.po | 336 - .../common/resource/en/setup/en.qm | Bin 13348 -> 0 bytes .../resource/en/sys_startup/translate/en.qm | Bin 13076 -> 0 bytes .../resource/en/sys_startup/translate/en.ts | 794 -- .../zh/apc_if_srv/translate/apc_if_srv_zh.mo | Bin 513 -> 0 bytes .../zh/apc_if_srv/translate/apc_if_srv_zh.po | 59 - .../zh/fbd_editor/temp/evtpushstyletemp.json | 75 - .../resource/zh/fes/translate/fes_zh.mo | Bin 496 -> 0 bytes .../resource/zh/fes/translate/fes_zh.po | 798 -- .../resource/zh/gui/icon/alarm/back.png | Bin 85729 -> 0 bytes .../resource/zh/gui/icon/alarm/icon_中.png | Bin 261 -> 0 bytes .../resource/zh/gui/icon/alarm/icon_低.png | Bin 260 -> 0 bytes .../zh/gui/icon/alarm/icon_正常.png | Bin 376 -> 0 bytes .../zh/gui/icon/alarm/icon_紧急.png | Bin 258 -> 0 bytes .../resource/zh/gui/icon/alarm/icon_高.png | Bin 253 -> 0 bytes .../resource/zh/gui/icon/alarm/trend_dark.png | Bin 438 -> 0 bytes .../zh/gui/icon/alarm/trend_light.png | Bin 507 -> 0 bytes .../resource/zh/gui/icon/alarm/video_dark.png | Bin 400 -> 0 bytes .../zh/gui/icon/alarm/video_light.png | Bin 233 -> 0 bytes .../resource/zh/gui/icon/alarm/wave_dark.png | Bin 613 -> 0 bytes .../resource/zh/gui/icon/alarm/wave_light.png | Bin 963 -> 0 bytes .../resource/zh/gui/icon/asset/record.png | Bin 1028 -> 0 bytes .../resource/zh/gui/icon/bi/face_dark.png | Bin 2125 -> 0 bytes .../resource/zh/gui/icon/bi/face_light.png | Bin 2612 -> 0 bytes .../zh/gui/icon/ipc/camera-hovered.svg | 6 - .../resource/zh/gui/icon/ipc/camera.svg | 6 - .../resource/zh/gui/icon/ipc/down-clicked.png | Bin 2635 -> 0 bytes .../resource/zh/gui/icon/ipc/down-hovered.png | Bin 2743 -> 0 bytes .../common/resource/zh/gui/icon/ipc/down.png | Bin 2813 -> 0 bytes .../common/resource/zh/gui/icon/ipc/icon+.png | Bin 227 -> 0 bytes .../common/resource/zh/gui/icon/ipc/icon-.png | Bin 8194 -> 0 bytes .../resource/zh/gui/icon/ipc/icon_Silence.png | Bin 413 -> 0 bytes .../resource/zh/gui/icon/ipc/icon_camer.png | Bin 657 -> 0 bytes .../resource/zh/gui/icon/ipc/icon_down.png | Bin 357 -> 0 bytes .../zh/gui/icon/ipc/icon_down_click.png | Bin 359 -> 0 bytes .../resource/zh/gui/icon/ipc/icon_key.png | Bin 14567 -> 0 bytes .../resource/zh/gui/icon/ipc/icon_left.png | Bin 342 -> 0 bytes .../zh/gui/icon/ipc/icon_left_click.png | Bin 355 -> 0 bytes .../resource/zh/gui/icon/ipc/icon_play.png | Bin 694 -> 0 bytes .../resource/zh/gui/icon/ipc/icon_right.png | Bin 361 -> 0 bytes .../zh/gui/icon/ipc/icon_right_click.png | Bin 379 -> 0 bytes .../resource/zh/gui/icon/ipc/icon_suspend.png | Bin 667 -> 0 bytes .../resource/zh/gui/icon/ipc/icon_up.png | Bin 376 -> 0 bytes .../zh/gui/icon/ipc/icon_up_click.png | Bin 376 -> 0 bytes .../resource/zh/gui/icon/ipc/icon_voice.png | Bin 495 -> 0 bytes .../resource/zh/gui/icon/ipc/left-clicked.png | Bin 2382 -> 0 bytes .../resource/zh/gui/icon/ipc/left-hovered.png | Bin 2377 -> 0 bytes .../common/resource/zh/gui/icon/ipc/left.png | Bin 2409 -> 0 bytes .../common/resource/zh/gui/icon/ipc/pause.png | Bin 2958 -> 0 bytes .../resource/zh/gui/icon/ipc/play-hovered.png | Bin 246 -> 0 bytes .../resource/zh/gui/icon/ipc/play-hovered.svg | 7 - .../common/resource/zh/gui/icon/ipc/play.png | Bin 5454 -> 0 bytes .../zh/gui/icon/ipc/right-clicked.png | Bin 2253 -> 0 bytes .../zh/gui/icon/ipc/right-hovered.png | Bin 2294 -> 0 bytes .../common/resource/zh/gui/icon/ipc/right.png | Bin 2381 -> 0 bytes .../resource/zh/gui/icon/ipc/up-clicked.png | Bin 2699 -> 0 bytes .../resource/zh/gui/icon/ipc/up-hovered.png | Bin 2751 -> 0 bytes .../common/resource/zh/gui/icon/ipc/up.png | Bin 2911 -> 0 bytes .../resource/zh/gui/icon/ipc/vol-hovered.svg | 6 - .../resource/zh/gui/icon/ipc/vol-mute.svg | 1 - .../common/resource/zh/gui/icon/ipc/vol.svg | 6 - .../resource/zh/gui/icon/robot/charge.gif | Bin 23177 -> 0 bytes .../resource/zh/gui/icon/robot/charge.png | Bin 43118 -> 0 bytes .../common/resource/zh/gui/icon/robot/cut.png | Bin 3343 -> 0 bytes .../resource/zh/gui/icon/robot/down_arrow.png | Bin 1040 -> 0 bytes .../resource/zh/gui/icon/robot/free.gif | Bin 26589 -> 0 bytes .../resource/zh/gui/icon/robot/free.png | Bin 42966 -> 0 bytes .../resource/zh/gui/icon/robot/overhaul.gif | Bin 138602 -> 0 bytes .../resource/zh/gui/icon/robot/overhaul.png | Bin 44428 -> 0 bytes .../resource/zh/gui/icon/robot/overlook.gif | Bin 411066 -> 0 bytes .../resource/zh/gui/icon/robot/overlook.png | Bin 44761 -> 0 bytes .../resource/zh/gui/icon/robot/pause.png | Bin 1180 -> 0 bytes .../resource/zh/gui/icon/robot/play.png | Bin 1513 -> 0 bytes .../zh/gui/icon/robot/robotbottom.png | Bin 10223 -> 0 bytes .../resource/zh/gui/icon/robot/search.png | Bin 678 -> 0 bytes .../resource/zh/gui/icon/robot/up_arrow.png | Bin 1081 -> 0 bytes .../resource/zh/gui/icon/robot/voiceClose.png | Bin 2596 -> 0 bytes .../resource/zh/gui/icon/robot/voiceOpen.png | Bin 2683 -> 0 bytes .../resource/zh/gui/translate/icon_zh.ts | 112 - .../resource/zh/gui/translate/plugin_zh.qm | Bin 106546 -> 0 bytes .../resource/zh/gui/translate/plugin_zh.ts | 10265 ---------------- .../translate/linkage_server_zh.mo | Bin 517 -> 0 bytes .../translate/linkage_server_zh.po | 340 - .../model_studio/setting/table/APC_ANALOG.xml | 12 - .../setting/table/APC_DIGITAL.xml | 10 - .../setting/table/ATS_FES_LOCATION_INFO.xml | 7 - .../setting/table/ATS_FES_PLATFORM_INFO.xml | 8 - .../setting/table/BAS_CRAFT_DEF.xml | 8 - .../setting/table/BAS_MODE_DEF.xml | 11 - .../setting/table/BAS_MODE_TYPE.xml | 7 - .../table/BAS_TIMETABLE_CTRL_PARAM.xml | 15 - .../setting/table/BAS_TIMETABLE_DEF.xml | 9 - .../setting/table/BAS_TIMETABLE_INFO.xml | 10 - .../setting/table/BAS_TIMETABLE_SCHEDULE.xml | 18 - .../setting/table/CALC_FUNC_DEF.xml | 10 - .../setting/table/CALC_GROUP_DEF.xml | 8 - .../setting/table/CALC_IN_PARA.xml | 12 - .../setting/table/CALC_OUT_PARA.xml | 11 - .../setting/table/CALC_PARA_DEF.xml | 8 - .../setting/table/CCTV_CAMERA_INFO.xml | 17 - .../setting/table/CCTV_MONITOR_INFO.xml | 15 - .../setting/table/CCTV_ORIENTATION.xml | 11 - .../setting/table/CCTV_SEPARATOR_INFO.xml | 45 - .../setting/table/DEV_TYPE_DEF.xml | 9 - .../setting/table/DEV_TYPE_DEF_61850.xml | 11 - .../setting/table/DICT_POINT_TYPE.xml | 32 - .../setting/table/DICT_STATE_TEXT_INFO.xml | 11 - .../setting/table/DICT_UNIT_INFO.xml | 8 - .../setting/table/DICT_VOL_LEVEL.xml | 11 - .../setting/table/FAULT_RECALL_COND_DEF.xml | 11 - .../setting/table/LINKAGE_ACTION.xml | 13 - .../setting/table/LINKAGE_ACTION_FOR_BAS.xml | 12 - .../setting/table/LINKAGE_ACTION_FOR_MSG.xml | 12 - .../setting/table/LINKAGE_ACTION_FOR_PA.xml | 19 - .../setting/table/LINKAGE_ACTION_FOR_PIS.xml | 19 - .../table/LINKAGE_ACTION_FOR_PSCADA.xml | 12 - .../table/LINKAGE_ACTION_FOR_PUSH_PIC.xml | 12 - .../setting/table/LINKAGE_DEFINE.xml | 10 - .../setting/table/LINKAGE_FUNCTION.xml | 17 - .../setting/table/LINKAGE_FUNCTION_LIST.xml | 7 - .../setting/table/LINKAGE_SETTING.xml | 14 - .../LINKAGE_SETTING_FOR_ADD_AND_MODIFY.xml | 14 - .../setting/table/OPT_CTRL_ACT_DEFINE.xml | 14 - .../setting/table/OPT_HANDOVER_GRP.xml | 17 - .../setting/table/OPT_SHIELD_DEFINE.xml | 14 - .../setting/table/OPT_TOKEN_DEFINE.xml | 18 - .../setting/table/PA_AREA_INFO.xml | 7 - .../setting/table/PA_AUDIO_INFO.xml | 9 - .../setting/table/PA_BROADCAST_GROUP.xml | 9 - .../setting/table/PA_CTRL_PARAM.xml | 7 - .../setting/table/PA_LOCATION_AREA_DEF.xml | 7 - .../setting/table/PA_LOCATION_SEQ_DEF.xml | 7 - .../setting/table/PA_OPERATOR_DEF.xml | 7 - .../setting/table/PA_OPERATOR_MAP.xml | 7 - .../setting/table/PA_TIMED_AUDIO.xml | 20 - .../setting/table/PIS_AREA_INFO.xml | 7 - .../setting/table/PIS_CTRL_PARAM.xml | 7 - .../setting/table/PIS_DISPLAY_INFO.xml | 17 - .../setting/table/PIS_FES_LOCATION_INFO.xml | 7 - .../setting/table/PIS_LOCATION_AREA_DEF.xml | 7 - .../setting/table/PIS_MESSAGE_INFO.xml | 9 - .../setting/table/REGION_INFO.xml | 10 - .../model_studio/setting/table/SAFETY_DAY.xml | 8 - .../setting/table/SEQUENCE_ACTION.xml | 13 - .../setting/table/SEQUENCE_DEFINE.xml | 10 - .../setting/table/SEQUENCE_FUNCTION.xml | 14 - .../setting/table/SEQUENCE_SETTING.xml | 10 - .../setting/table/STAT_INST_DEF.xml | 20 - .../setting/table/STAT_INST_PARA_GRP.xml | 11 - .../setting/table/STAT_INST_PARA_POINT.xml | 14 - .../table/STAT_INST_PARA_POINT_FOR_ADD.xml | 14 - .../setting/table/STAT_INST_PARA_TIME.xml | 22 - .../table/STAT_INST_PARA_TIME_FOR_ADD.xml | 22 - .../setting/table/STAT_INST_RET_GRP.xml | 11 - .../setting/table/STAT_INST_RET_PARA.xml | 17 - .../table/STAT_INST_RET_PARA_FOR_ADD.xml | 16 - .../setting/table/STAT_LINK_DEF.xml | 8 - .../setting/table/STAT_LINK_PARA.xml | 12 - .../setting/table/STAT_LINK_RET.xml | 12 - .../setting/table/STAT_TEMPLATE_DEF.xml | 11 - .../setting/table/STAT_TEMPLATE_PARA.xml | 12 - .../setting/table/STAT_TEMPLATE_RET.xml | 11 - .../setting/table/SWITCH_CFG_INFO.xml | 11 - .../table/TRIGGER_CONDITION_DEFINE.xml | 33 - .../setting/table/TRIGGER_FUNCTION_DEFINE.xml | 9 - .../setting/table/TRIGGER_PERIOD_DEFINE.xml | 11 - .../setting/table/TRIGGER_TIMER_DEFINE.xml | 8 - .../zh/model_studio/setting/tree/calcFunc.xml | 14 - .../model_studio/setting/tree/commonTree.xml | 40 - .../setting/tree/ctrlActDefine.xml | 14 - .../setting/tree/expressionTree.xml | 15 - .../model_studio/setting/tree/sampleTree.xml | 39 - .../setting/tree/statInstInput.xml | 14 - .../setting/tree/statInstOutput.xml | 14 - .../setting/tree/stateTextTree.xml | 14 - .../model_studio/setting/tree/staticsTree.xml | 14 - .../zh/public/dark/icon/arrowBottom.png | Bin 2834 -> 0 bytes .../zh/public/dark/icon/arrowLeft.png | Bin 2832 -> 0 bytes .../zh/public/dark/icon/arrowRight.png | Bin 2830 -> 0 bytes .../resource/zh/public/dark/icon/arrowTop.png | Bin 2823 -> 0 bytes .../zh/public/dark/icon/box-down-normal.png | Bin 2884 -> 0 bytes .../zh/public/dark/icon/box-down-select.png | Bin 2887 -> 0 bytes .../zh/public/dark/icon/box-up-normal.png | Bin 2892 -> 0 bytes .../zh/public/dark/icon/box-up-select.png | Bin 2883 -> 0 bytes .../resource/zh/public/dark/icon/calendar.png | Bin 2112 -> 0 bytes .../resource/zh/public/dark/icon/checked.png | Bin 23082 -> 0 bytes .../zh/public/dark/icon/ckb-disable.png | Bin 2831 -> 0 bytes .../zh/public/dark/icon/ckb-normal.png | Bin 2831 -> 0 bytes .../zh/public/dark/icon/ckb-ptck-disable.png | Bin 2959 -> 0 bytes .../zh/public/dark/icon/ckb-ptck-hover.png | Bin 2954 -> 0 bytes .../resource/zh/public/dark/icon/ckb-ptck.png | Bin 2955 -> 0 bytes .../public/dark/icon/ckb-select-disablel.png | Bin 2949 -> 0 bytes .../zh/public/dark/icon/ckb-select-hover.png | Bin 2934 -> 0 bytes .../zh/public/dark/icon/ckb-select-normal.png | Bin 2938 -> 0 bytes .../zh/public/dark/icon/ckb-uncheck-hover.png | Bin 2831 -> 0 bytes .../resource/zh/public/dark/icon/cut.png | Bin 863 -> 0 bytes .../resource/zh/public/dark/icon/pause.png | Bin 885 -> 0 bytes .../resource/zh/public/dark/icon/play.png | Bin 895 -> 0 bytes .../resource/zh/public/dark/icon/radius.png | Bin 481 -> 0 bytes .../zh/public/dark/icon/rkb-disable.png | Bin 3022 -> 0 bytes .../zh/public/dark/icon/rkb-hover.png | Bin 2979 -> 0 bytes .../zh/public/dark/icon/rkb-normal.png | Bin 3003 -> 0 bytes .../public/dark/icon/rkb-select-disable.png | Bin 3065 -> 0 bytes .../zh/public/dark/icon/rkb-select-normal.png | Bin 3041 -> 0 bytes .../resource/zh/public/dark/icon/search.png | Bin 3261 -> 0 bytes .../zh/public/dark/icon/unchecked.png | Bin 2827 -> 0 bytes .../zh/public/dark/icon/voiceClose.png | Bin 543 -> 0 bytes .../zh/public/dark/icon/voiceOpen.png | Bin 746 -> 0 bytes .../public/light/icon/arrowBottom-normal.png | Bin 2911 -> 0 bytes .../zh/public/light/icon/arrowBottom.png | Bin 1465 -> 0 bytes .../zh/public/light/icon/arrowLeft-normal.png | Bin 2879 -> 0 bytes .../zh/public/light/icon/arrowLeft.png | Bin 1471 -> 0 bytes .../public/light/icon/arrowRight-normal.png | Bin 2870 -> 0 bytes .../zh/public/light/icon/arrowRight.png | Bin 1471 -> 0 bytes .../zh/public/light/icon/arrowTop-normal.png | Bin 2908 -> 0 bytes .../zh/public/light/icon/arrowTop.png | Bin 1441 -> 0 bytes .../zh/public/light/icon/box-down-normal.png | Bin 216 -> 0 bytes .../zh/public/light/icon/box-down-select.png | Bin 1443 -> 0 bytes .../zh/public/light/icon/box-up-normal.png | Bin 2899 -> 0 bytes .../zh/public/light/icon/box-up-select.png | Bin 1441 -> 0 bytes .../zh/public/light/icon/calendar.png | Bin 534 -> 0 bytes .../resource/zh/public/light/icon/checked.png | Bin 1508 -> 0 bytes .../zh/public/light/icon/ckb-disable.png | Bin 123 -> 0 bytes .../zh/public/light/icon/ckb-normal.png | Bin 1444 -> 0 bytes .../zh/public/light/icon/ckb-ptck-disable.png | Bin 2956 -> 0 bytes .../zh/public/light/icon/ckb-ptck-hover.png | Bin 1500 -> 0 bytes .../zh/public/light/icon/ckb-ptck.png | Bin 1619 -> 0 bytes .../public/light/icon/ckb-select-disable.png | Bin 2927 -> 0 bytes .../zh/public/light/icon/ckb-select-hover.png | Bin 1508 -> 0 bytes .../public/light/icon/ckb-select-normal.png | Bin 1508 -> 0 bytes .../public/light/icon/ckb-uncheck-hover.png | Bin 1439 -> 0 bytes .../resource/zh/public/light/icon/cut.png | Bin 1835 -> 0 bytes .../resource/zh/public/light/icon/pause.png | Bin 1851 -> 0 bytes .../resource/zh/public/light/icon/play.png | Bin 1927 -> 0 bytes .../resource/zh/public/light/icon/radius.png | Bin 481 -> 0 bytes .../zh/public/light/icon/rkb-disable.png | Bin 3026 -> 0 bytes .../zh/public/light/icon/rkb-hover.png | Bin 1679 -> 0 bytes .../zh/public/light/icon/rkb-normal.png | Bin 3026 -> 0 bytes .../public/light/icon/rkb-select-disable.png | Bin 3053 -> 0 bytes .../public/light/icon/rkb-select-normal.png | Bin 1737 -> 0 bytes .../resource/zh/public/light/icon/search.png | Bin 2994 -> 0 bytes .../zh/public/light/icon/unchecked.png | Bin 1444 -> 0 bytes .../zh/public/light/icon/voiceClose.png | Bin 1708 -> 0 bytes .../zh/public/light/icon/voiceOpen.png | Bin 1826 -> 0 bytes .../resource/zh/report/translate/report.qm | Bin 271 -> 0 bytes .../resource/zh/report/translate/report.ts | 30 - .../translate/sequence_server_zh.mo | Bin 518 -> 0 bytes .../translate/sequence_server_zh.po | 286 - .../common/resource/zh/setup/icons.7z | Bin 12375 -> 0 bytes .../resource/zh/setup/icons/alarm128.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/comtride128.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/config128.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/db_bak128.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/db_manager.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/debug_editor.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/debug_tools.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/fbd_designer.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/fbd_editor.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/model_studio.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/report128.ico | Bin 67646 -> 0 bytes .../common/resource/zh/setup/icons/setup.ico | Bin 67646 -> 0 bytes .../common/resource/zh/setup/icons/studio.ico | Bin 67646 -> 0 bytes .../zh/setup/icons/sys_dog_auth_check.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/sys_startup.ico | Bin 67646 -> 0 bytes .../resource/zh/setup/icons/systemConfig.ico | Bin 67646 -> 0 bytes .../common/resource/zh/setup/readme.txt | 2 - .../common/resource/zh/setup/setup.ico | Bin 16958 -> 0 bytes .../resource/zh/sys_startup/CommandWindow.png | Bin 6287 -> 0 bytes .../resource/zh/sys_startup/DatabaseCheck.png | Bin 6729 -> 0 bytes .../resource/zh/sys_startup/DevModeling.png | Bin 6996 -> 0 bytes .../resource/zh/sys_startup/DogCheck.png | Bin 7275 -> 0 bytes .../zh/sys_startup/EngineeringDebug.png | Bin 6641 -> 0 bytes .../zh/sys_startup/EngineeringManagement.png | Bin 6996 -> 0 bytes .../resource/zh/sys_startup/FileSync.png | Bin 6535 -> 0 bytes .../resource/zh/sys_startup/HmiStart.png | Bin 6007 -> 0 bytes .../common/resource/zh/sys_startup/KBD_30.png | Bin 787 -> 0 bytes .../zh/sys_startup/LogicProgramming.png | Bin 6601 -> 0 bytes .../zh/sys_startup/MonitInterface.png | Bin 17931 -> 0 bytes .../resource/zh/sys_startup/NetMonite.png | Bin 20135 -> 0 bytes .../zh/sys_startup/PictureConfiguration.png | Bin 7177 -> 0 bytes .../resource/zh/sys_startup/PreEmulation.png | Bin 7010 -> 0 bytes .../resource/zh/sys_startup/ReportEdit.png | Bin 3953 -> 0 bytes .../resource/zh/sys_startup/SysStart.png | Bin 6438 -> 0 bytes .../zh/sys_startup/SystemModeling.png | Bin 7591 -> 0 bytes .../resource/zh/sys_startup/db_studio.png | Bin 9365 -> 0 bytes .../common/resource/zh/sys_startup/icon.png | Bin 1122 -> 0 bytes .../resource/zh/sys_startup/preset_config.png | Bin 4647 -> 0 bytes .../resource/zh/sys_startup/push_debug.png | Bin 6992 -> 0 bytes .../common/resource/zh/sys_startup/reset.png | Bin 1667 -> 0 bytes .../resource/zh/sys_startup/restart.png | Bin 392 -> 0 bytes .../common/resource/zh/sys_startup/start.png | Bin 23061 -> 0 bytes .../common/resource/zh/sys_startup/stop.png | Bin 23000 -> 0 bytes .../resource/zh/sys_startup/sys_startup.ico | Bin 4286 -> 0 bytes .../resource/zh/sys_startup/upgrade.png | Bin 19796 -> 0 bytes .../common/style/dark/AlarmStatisWidget.qss | 98 - .../common/style/dark/BriefReport.qss | 212 - .../common/style/dark/WebBrowserWidget.qss | 4 - .../common/style/dark/alarm.qss | 115 - .../common/style/dark/alarmShield.qss | 19 - .../common/style/dark/alarm_statistics.qss | 155 - .../common/style/dark/alarmmng.qss | 46 - .../common/style/dark/asset.qss | 14 - .../common/style/dark/breadcrumbNav.qss | 59 - .../common/style/dark/constCurves.qss | 7 - .../common/style/dark/curveColor.cfg | 16 - .../common/style/dark/debug_tool.qss | 130 - .../common/style/dark/devSpePoint.qss | 42 - .../common/style/dark/deviceRealData.qss | 9 - .../common/style/dark/duty_setting.qss | 69 - .../common/style/dark/event.qss | 64 - .../common/style/dark/faultRecord.qss | 8 - .../common/style/dark/hmiRoll.qss | 3 - .../common/style/dark/ipcPlus.qss | 97 - .../common/style/dark/ipcViewer.qss | 125 - .../common/style/dark/linkCtrl.qss | 40 - .../common/style/dark/media.qss | 34 - .../common/style/dark/orderManage.qss | 178 - .../common/style/dark/planCurvesConfigure.qss | 14 - .../common/style/dark/public.qss | 1156 -- .../common/style/dark/relaySetting.qss | 24 - .../common/style/dark/robot.qss | 83 - .../common/style/dark/sequence.qss | 71 - .../common/style/dark/shift.qss | 34 - .../common/style/dark/sys_startup.qss | 66 - .../common/style/dark/trendCurves.qss | 157 - .../common/style/dark/usermng.qss | 57 - .../common/style/dark/workTicket.qss | 22 - .../common/style/light/AlarmStatisWidget.qss | 289 - .../common/style/light/BriefReport.qss | 41 - .../common/style/light/WebBrowserWidget.qss | 4 - .../common/style/light/alarm.qss | 76 - .../common/style/light/alarmShield.qss | 18 - .../common/style/light/alarm_statistics.qss | 27 - .../common/style/light/alarmmng.qss | 85 - .../common/style/light/asset.qss | 6 - .../common/style/light/breadcrumbNav.qss | 59 - .../common/style/light/busbarTemperature.qss | 29 - .../common/style/light/constCurves.qss | 7 - .../common/style/light/curveColor.cfg | 16 - .../common/style/light/debug_tool.qss | 130 - .../common/style/light/devSpePoint.qss | 42 - .../common/style/light/deviceRealData.qss | 12 - .../common/style/light/duty_setting.qss | 47 - .../common/style/light/event.qss | 102 - .../common/style/light/faultRecord.qss | 6 - .../common/style/light/hmiRoll.qss | 3 - .../common/style/light/ipcPlus.qss | 83 - .../common/style/light/ipcViewer.qss | 161 - .../common/style/light/linkCtrl.qss | 25 - .../common/style/light/media.qss | 34 - .../style/light/planCurvesConfigure.qss | 14 - .../common/style/light/public.qss | 1182 -- .../common/style/light/relaySetting.qss | 4 - .../common/style/light/robot.qss | 252 - .../common/style/light/sequence.qss | 12 - .../common/style/light/shift.qss | 36 - .../common/style/light/sys_startup.qss | 66 - .../common/style/light/trendCurves.qss | 168 - .../common/style/light/usermng.qss | 75 - .../common/style/样式模板.qsst | 1178 -- .../common/sysconfig/alarmOther.xml | 90 - .../common/sysconfig/alarmSpeechTextTrans.xml | 20 - .../common/sysconfig/alarmStatus.xml | 30 - .../common/sysconfig/app_ats_timetable.cfg | 1 - .../common/sysconfig/db_manager_opt.xml | 478 - .../sysconfig/db_save_cloud_platform.xml | 16 - .../common/sysconfig/fbd_editor_blockMenu.xml | 76 - .../common/sysconfig/fbd_server.xml | 23 - .../sysconfig/file_sync_by_svn_config.xml | 68 - .../common/sysconfig/file_sync_cfg.xml | 13 - .../common/sysconfig/file_sync_config.xml | 50 - .../common/sysconfig/his_amend_cfg.xml | 38 - .../common/sysconfig/idong_ops_cfg.xml | 28 - .../sysconfig/intelligentAlarmStatus.xml | 4 - .../common/sysconfig/language.xml | 0 .../common/sysconfig/model_calc_lua.xml | 26 - .../common/sysconfig/opc_config.xml | 8 - .../common/sysconfig/playerConfig_ffmpeg.xml | 28 - .../common/sysconfig/playerConfig_qsv.xml | 29 - .../common/sysconfig/proc_param_cfg.xml | 15 - .../common/sysconfig/pub_log_cfg.xml | 111 - .../common/sysconfig/robot_config.xml | 7 - .../common/sysconfig/setup/influxdb.conf | 592 - .../common/sysconfig/setup_config.xml | 16 - .../common/sysconfig/shiftWidget.xml | 7 - .../common/sysconfig/sys_startup.json | 190 - .../sysconfig/tsdb_save_cloud_platform.xml | 15 - 776 files changed, 85943 deletions(-) delete mode 100644 PSCADA/电子行业模板/common/Schema/2003/SCL.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2003/SCL_BaseSimpleTypes.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2003/SCL_BaseSimpleTypesz.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2003/SCL_BaseTypes.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2003/SCL_Communication.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2003/SCL_DataTypeTemplates.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2003/SCL_Enums.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2003/SCL_IED.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2003/SCL_SubStation.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2006/SCL.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2006/SCL_BaseSimpleTypes.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2006/SCL_BaseSimpleTypesz.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2006/SCL_BaseTypes.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2006/SCL_Communication.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2006/SCL_DataTypeTemplates.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2006/SCL_Enums.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2006/SCL_IED.xsd delete mode 100644 PSCADA/电子行业模板/common/Schema/2006/SCL_Substation.xsd delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/alarm_color.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/alarm_keyword_define.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/alarm_type_define.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/dict_menu_info.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/dict_point_type.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/dict_vol_level.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/opt_shield_define.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/opt_token_define.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/p_dict.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/p_dict_sort.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/rm_norm_func_def.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/rm_spcl_func_def.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/sys_model_app_info.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/sys_model_sub_system_info.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/en/basedata/sys_trigger_flag.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/alarm_keyword_define.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/alarm_type_define.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/dict_menu_info.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/dict_point_type.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/dict_vol_level.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/opt_shield_define.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/opt_token_define.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/p_dict.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/p_dict_sort.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/rm_norm_func_def.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/rm_spcl_func_def.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/sys_model_app_info.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/sys_model_sub_system_info.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initdata/zh/basedata/sys_trigger_flag.xlsx delete mode 100644 PSCADA/电子行业模板/common/database/initscript/iscs6000_func_Kingbase.sql delete mode 100644 PSCADA/电子行业模板/common/database/initscript/iscs6000_func_MySQL.sql delete mode 100644 PSCADA/电子行业模板/common/database/initscript/iscs6000_func_openGauss.sql delete mode 100644 PSCADA/电子行业模板/common/database/initscript/iscs6000_table_struct.xml delete mode 100644 PSCADA/电子行业模板/common/device_model/ABB/REF542.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/ABB/REF615D(3块板卡)-4.0.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/ABB/REF615D(4.0).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/ABB/REF615K(4.0).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/ABB/REM615B(4.0).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/ABB/REM615J(4.0).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/ABB/RET615E(4.0)(备注X130板卡默认读不上来).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/DLT645-1997(带测量).csv delete mode 100644 PSCADA/电子行业模板/common/device_model/DLT645-1997.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/DLT645-2007(带测量).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/GE/F6501#高压馈线.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/C264.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P120.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P123-V12.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P127.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P127cn.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P127dz.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P127en.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P141-46.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P142(103).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P143-46EN.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P14X-V46J.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P243-V57.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P343-V35.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P343.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P443(103规约).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P443-103.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P521(中文).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P521(英文).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P541.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P543.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P631(modbus).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P632(Modbus).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P633.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P746(Modbus).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P922-V10.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/P922.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/courier/P441(courier).xlsx delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/courier/P545(courier).xlsx delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/p142CN.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/p142EN.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/p143EN.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/p241.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MICOM/p632(103).CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/MT塑壳断路器.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/351A.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL 2440.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL-311B-DNP.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL-311B.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL-787-DNP.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL-787.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL2411.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL2440-MODBUS.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL351点表模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL551C重合器.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL587.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL710-MODBUSTCP.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL734计费式表计.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL735-MODBUS.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL749M电机保护.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL751-MODBUSTCP.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL751A馈线保护.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEL/SEL787-MODBUSTCP.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/B21.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/B80.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/D31.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/G87.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/M20.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/M40.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/M81.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/M87.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/S20.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/S40.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/S80.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/T20.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/T81.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/T87.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SEPAM/Z82.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SIEMENS/7RW600-103.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ600-103.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ68-103.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686-103DZ.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686-TCP103.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/VAMP/0.VAMP57-MODBUS串口及TCP通讯总述.docx delete mode 100644 PSCADA/电子行业模板/common/device_model/VAMP/255VAMP模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/VAMP/256VAMP模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/VAMP/265VAMP模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/VAMP/50VAMP模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/VAMP/55VAMP模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/VAMP/V57-modbusTCP.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/VAMP/V57.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/VAMP/V57遥控-Modbus.docx delete mode 100644 PSCADA/电子行业模板/common/device_model/VAMP/VAMP57事件解析配置说明.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/XMT数显仪.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/中电PMC530A.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/中电PMC53M.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/中电PMC630A.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/光伏设备/TPS6000.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/光伏设备/临朐汇流箱.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/光伏设备/汇流箱.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/光伏设备/电池巡检仪.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/光伏设备/科华UPS.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/光伏设备/科华交流配电.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/光伏设备/科华直流配电柜.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京北斗银河低压马达保护BDM100-M.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSC-163A光纤.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSC241B.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSC246.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSC281.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSC285V.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSC326GC.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSC336B1.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSI-200E.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSI-200E测控.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSI-211.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSI-213.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSI-246.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSI200EA中103协议说明.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/CSI200E通讯备注.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/portcfg-200E delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/portcfg-213 delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/四方CSC213光差保护遥控说明.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/北京四方/四方测控CSI200E通讯备注.txt delete mode 100644 PSCADA/电子行业模板/common/device_model/南京因特来PA150-F2模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/ISA-941南瑞保护.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/NJP8200.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/PCS9611N模板.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/PCS9621N模板.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/PSL 646U 点表.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/PSL621D.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/RCS-915.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/RCS-943A南瑞保护.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/RCS-9613C.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/南瑞353G光差点表模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/南瑞RCS-941B模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/南瑞RCS-943A模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/南瑞RCS-943A模板YC.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/南瑞RS943A点表模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/南瑞RS943A点表模板2.0版本.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/南瑞RS9613C点表模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/南瑞RS9613点表模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/南瑞南自/南自保护点表.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/同期-深圳国立智能SID-2CM.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产仪表/C20A.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产仪表/C30A1.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产仪表/C30A2.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产仪表/C30A3.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产仪表/C30A4.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产仪表/C30V1.05.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产仪表/版本说明.txt delete mode 100644 PSCADA/电子行业模板/common/device_model/国产保护-D/A61D.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产保护-D/C61D.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产保护-D/C62D-15.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产保护-D/S61D-103.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产保护-D/T60D.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/国产保护-D/T64D.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/国产保护-D/T65D.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/国产保护-D/T66D.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/安科瑞/ACR120E.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/安科瑞/ACR220E(F)LK.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/安科瑞/ACR320E(F)LK-ACE320EK.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/安科瑞/ACR320EK(8DI)-ACE420EK.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/安科瑞/ACR系列谐波表0907版.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/安科瑞/acr120.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/安科瑞/acr230.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/快切-金智电源.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/8字节数据解析配置说明.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/DM2355电流功率系数需CT处理,乘CT比值除1000.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/IEM3000.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/ION7550.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/ION7650-ION.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/ION8650C-ION.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/MC08分合寄存器一块.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/MC08分合寄存器分开.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/MC18.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/PM1200.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/PM500.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/PM5330.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/PM5350.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/PM750.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/PM800.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/PM810+IO26.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/PM850.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/PM9C.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/施耐德仪表/pm210.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/无功补偿-RVT.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/无功补偿-SWCP.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/档位控制器CZK100b.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/档位控制器HMK78.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/派诺720仪表.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/派诺PMAC802.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/派诺仪表.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/温控器-BWD-3K130A.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/温控器-BWDK.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/温控器-力得.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/温控器-珠海一多ETJ.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/珠海施诺S310点表模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/PSM-E10艾默生直流屏.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/PSM艾默生直流屏-CDT.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/ZYFS直流屏.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/北京申电直流屏点表模板.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/奥特讯直流屏.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/恒力直流屏点表-CDT.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/汇业达直流屏点表模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/深圳市英可瑞-PMUS2T直流屏.csv delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/申联电气直流屏点表模板.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/直流屏-DJB220MK.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/鞍山恒力直流.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/直流屏/鲁能直流屏200C点表.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/研华ADAM-4017.CSV delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/103portcfg配置注意事项.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/177-南自网络103从站协议说明.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/235-钛能网络103协议说明.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/251-许继网络103协议说明.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/274_IEC103 UDP协议配置说明.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/388-西门子网络103规约配置说明.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-串口103 delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-南瑞、西门子网络103 delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-南自网络103 delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-许继网络103 delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/南瑞继保网络103协议说明.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/南自网络103设计原则.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/攀成钢网络103规约版本说明.doc delete mode 100644 PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/网络103so版本说明.docx delete mode 100644 PSCADA/电子行业模板/common/device_model/雅达YD220多功能表.CSV delete mode 100644 PSCADA/电子行业模板/common/license/license.txt delete mode 100644 PSCADA/电子行业模板/common/license/license.xml delete mode 100644 PSCADA/电子行业模板/common/license/reg_code.txt delete mode 100644 PSCADA/电子行业模板/common/resource/en/apc_if_srv/translate/apc_if_srv_en.mo delete mode 100644 PSCADA/电子行业模板/common/resource/en/apc_if_srv/translate/apc_if_srv_en.po delete mode 100644 PSCADA/电子行业模板/common/resource/en/debug_tool/image/check.png delete mode 100644 PSCADA/电子行业模板/common/resource/en/debug_tool/image/check1.png delete mode 100644 PSCADA/电子行业模板/common/resource/en/debug_tool/image/down.png delete mode 100644 PSCADA/电子行业模板/common/resource/en/debug_tool/image/search.png delete mode 100644 PSCADA/电子行业模板/common/resource/en/debug_tool/image/uncheck.png delete mode 100644 PSCADA/电子行业模板/common/resource/en/debug_tool/image/uncheck1.png delete mode 100644 PSCADA/电子行业模板/common/resource/en/debug_tool/translate/en.qm delete mode 100644 PSCADA/电子行业模板/common/resource/en/debug_tool/translate/en.ts delete mode 100644 PSCADA/电子行业模板/common/resource/en/fes/translate/fes_en.mo delete mode 100644 PSCADA/电子行业模板/common/resource/en/fes/translate/fes_en.po delete mode 100644 PSCADA/电子行业模板/common/resource/en/gui/translate/icon_en.ts delete mode 100644 PSCADA/电子行业模板/common/resource/en/gui/translate/plugin_en.qm delete mode 100644 PSCADA/电子行业模板/common/resource/en/gui/translate/plugin_en.ts delete mode 100644 PSCADA/电子行业模板/common/resource/en/linkage_server/translate/linkage_server_en.mo delete mode 100644 PSCADA/电子行业模板/common/resource/en/linkage_server/translate/linkage_server_en.po delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/APC_ANALOG.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/APC_DIGITAL.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/ATS_FES_LOCATION_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/ATS_FES_PLATFORM_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_CRAFT_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_MODE_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_MODE_TYPE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_CTRL_PARAM.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_SCHEDULE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_FUNC_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_GROUP_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_IN_PARA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_OUT_PARA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_PARA_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DEV_TYPE_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DEV_TYPE_DEF_61850.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_POINT_TYPE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_STATE_TEXT_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_UNIT_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_VOL_LEVEL.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/FAULT_RECALL_COND_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_BAS.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_MSG.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PIS.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PSCADA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PUSH_PIC.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_FUNCTION.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_FUNCTION_LIST.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_SETTING.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_SETTING_FOR_ADD_AND_MODIFY.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_CTRL_ACT_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_HANDOVER_GRP.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_SHIELD_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_TOKEN_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_AREA_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_AUDIO_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_BROADCAST_GROUP.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_CTRL_PARAM.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_LOCATION_AREA_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_LOCATION_SEQ_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_OPERATOR_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_OPERATOR_MAP.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_TIMED_AUDIO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_AREA_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_CTRL_PARAM.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_DISPLAY_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_FES_LOCATION_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_LOCATION_AREA_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_MESSAGE_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/REGION_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SAFETY_DAY.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_ACTION.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_FUNCTION.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_SETTING.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_GRP.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_POINT.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_POINT_FOR_ADD.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_TIME.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_TIME_FOR_ADD.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_GRP.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_PARA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_PARA_FOR_ADD.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_PARA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_RET.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_PARA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_RET.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SWITCH_CFG_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_CONDITION_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_FUNCTION_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_PERIOD_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_TIMER_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/calcFunc.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/commonTree.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/ctrlActDefine.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/expressionTree.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/sampleTree.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/statInstInput.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/statInstOutput.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/stateTextTree.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/staticsTree.xml delete mode 100644 PSCADA/电子行业模板/common/resource/en/report/translate/report.qm delete mode 100644 PSCADA/电子行业模板/common/resource/en/report/translate/report.ts delete mode 100644 PSCADA/电子行业模板/common/resource/en/sequence_server/translate/sequence_server_en.mo delete mode 100644 PSCADA/电子行业模板/common/resource/en/sequence_server/translate/sequence_server_en.po delete mode 100644 PSCADA/电子行业模板/common/resource/en/setup/en.qm delete mode 100644 PSCADA/电子行业模板/common/resource/en/sys_startup/translate/en.qm delete mode 100644 PSCADA/电子行业模板/common/resource/en/sys_startup/translate/en.ts delete mode 100644 PSCADA/电子行业模板/common/resource/zh/apc_if_srv/translate/apc_if_srv_zh.mo delete mode 100644 PSCADA/电子行业模板/common/resource/zh/apc_if_srv/translate/apc_if_srv_zh.po delete mode 100644 PSCADA/电子行业模板/common/resource/zh/fbd_editor/temp/evtpushstyletemp.json delete mode 100644 PSCADA/电子行业模板/common/resource/zh/fes/translate/fes_zh.mo delete mode 100644 PSCADA/电子行业模板/common/resource/zh/fes/translate/fes_zh.po delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/back.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/icon_中.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/icon_低.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/icon_正常.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/icon_紧急.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/icon_高.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/trend_dark.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/trend_light.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/video_dark.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/video_light.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/wave_dark.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/wave_light.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/asset/record.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/bi/face_dark.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/bi/face_light.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/camera-hovered.svg delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/camera.svg delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/down-clicked.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/down-hovered.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/down.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon+.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon-.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_Silence.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_camer.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_down.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_down_click.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_key.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_left.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_left_click.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_play.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_right.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_right_click.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_suspend.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_up.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_up_click.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_voice.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/left-clicked.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/left-hovered.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/left.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/pause.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/play-hovered.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/play-hovered.svg delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/play.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/right-clicked.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/right-hovered.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/right.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/up-clicked.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/up-hovered.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/up.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol-hovered.svg delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol-mute.svg delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol.svg delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/charge.gif delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/charge.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/cut.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/down_arrow.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/free.gif delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/free.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/overhaul.gif delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/overhaul.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/overlook.gif delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/overlook.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/pause.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/play.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/robotbottom.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/search.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/up_arrow.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/voiceClose.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/voiceOpen.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/translate/icon_zh.ts delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/translate/plugin_zh.qm delete mode 100644 PSCADA/电子行业模板/common/resource/zh/gui/translate/plugin_zh.ts delete mode 100644 PSCADA/电子行业模板/common/resource/zh/linkage_server/translate/linkage_server_zh.mo delete mode 100644 PSCADA/电子行业模板/common/resource/zh/linkage_server/translate/linkage_server_zh.po delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/APC_ANALOG.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/APC_DIGITAL.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/ATS_FES_LOCATION_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/ATS_FES_PLATFORM_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/BAS_CRAFT_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/BAS_MODE_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/BAS_MODE_TYPE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/BAS_TIMETABLE_CTRL_PARAM.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/BAS_TIMETABLE_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/BAS_TIMETABLE_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/BAS_TIMETABLE_SCHEDULE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/CALC_FUNC_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/CALC_GROUP_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/CALC_IN_PARA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/CALC_OUT_PARA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/CALC_PARA_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/CCTV_CAMERA_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/CCTV_MONITOR_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/CCTV_ORIENTATION.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/CCTV_SEPARATOR_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/DEV_TYPE_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/DEV_TYPE_DEF_61850.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/DICT_POINT_TYPE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/DICT_STATE_TEXT_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/DICT_UNIT_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/DICT_VOL_LEVEL.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/FAULT_RECALL_COND_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_ACTION.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_ACTION_FOR_BAS.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_ACTION_FOR_MSG.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_ACTION_FOR_PA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_ACTION_FOR_PIS.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_ACTION_FOR_PSCADA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_ACTION_FOR_PUSH_PIC.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_FUNCTION.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_FUNCTION_LIST.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_SETTING.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/LINKAGE_SETTING_FOR_ADD_AND_MODIFY.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/OPT_CTRL_ACT_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/OPT_HANDOVER_GRP.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/OPT_SHIELD_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/OPT_TOKEN_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PA_AREA_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PA_AUDIO_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PA_BROADCAST_GROUP.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PA_CTRL_PARAM.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PA_LOCATION_AREA_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PA_LOCATION_SEQ_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PA_OPERATOR_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PA_OPERATOR_MAP.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PA_TIMED_AUDIO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PIS_AREA_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PIS_CTRL_PARAM.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PIS_DISPLAY_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PIS_FES_LOCATION_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PIS_LOCATION_AREA_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/PIS_MESSAGE_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/REGION_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/SAFETY_DAY.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/SEQUENCE_ACTION.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/SEQUENCE_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/SEQUENCE_FUNCTION.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/SEQUENCE_SETTING.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_INST_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_INST_PARA_GRP.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_INST_PARA_POINT.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_INST_PARA_POINT_FOR_ADD.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_INST_PARA_TIME.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_INST_PARA_TIME_FOR_ADD.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_INST_RET_GRP.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_INST_RET_PARA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_INST_RET_PARA_FOR_ADD.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_LINK_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_LINK_PARA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_LINK_RET.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_TEMPLATE_DEF.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_TEMPLATE_PARA.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/STAT_TEMPLATE_RET.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/SWITCH_CFG_INFO.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/TRIGGER_CONDITION_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/TRIGGER_FUNCTION_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/TRIGGER_PERIOD_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/table/TRIGGER_TIMER_DEFINE.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/tree/calcFunc.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/tree/commonTree.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/tree/ctrlActDefine.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/tree/expressionTree.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/tree/sampleTree.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/tree/statInstInput.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/tree/statInstOutput.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/tree/stateTextTree.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/model_studio/setting/tree/staticsTree.xml delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/arrowBottom.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/arrowLeft.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/arrowRight.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/arrowTop.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/box-down-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/box-down-select.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/box-up-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/box-up-select.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/calendar.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/checked.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/ckb-disable.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/ckb-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/ckb-ptck-disable.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/ckb-ptck-hover.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/ckb-ptck.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/ckb-select-disablel.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/ckb-select-hover.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/ckb-select-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/ckb-uncheck-hover.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/cut.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/pause.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/play.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/radius.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/rkb-disable.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/rkb-hover.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/rkb-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/rkb-select-disable.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/rkb-select-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/search.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/unchecked.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/voiceClose.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/dark/icon/voiceOpen.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/arrowBottom-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/arrowBottom.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/arrowLeft-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/arrowLeft.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/arrowRight-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/arrowRight.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/arrowTop-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/arrowTop.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/box-down-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/box-down-select.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/box-up-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/box-up-select.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/calendar.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/checked.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/ckb-disable.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/ckb-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/ckb-ptck-disable.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/ckb-ptck-hover.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/ckb-ptck.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/ckb-select-disable.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/ckb-select-hover.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/ckb-select-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/ckb-uncheck-hover.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/cut.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/pause.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/play.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/radius.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/rkb-disable.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/rkb-hover.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/rkb-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/rkb-select-disable.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/rkb-select-normal.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/search.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/unchecked.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/voiceClose.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/public/light/icon/voiceOpen.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/report/translate/report.qm delete mode 100644 PSCADA/电子行业模板/common/resource/zh/report/translate/report.ts delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sequence_server/translate/sequence_server_zh.mo delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sequence_server/translate/sequence_server_zh.po delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons.7z delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/alarm128.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/comtride128.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/config128.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/db_bak128.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/db_manager.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/debug_editor.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/debug_tools.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/fbd_designer.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/fbd_editor.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/model_studio.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/report128.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/setup.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/studio.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/sys_dog_auth_check.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/sys_startup.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/icons/systemConfig.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/readme.txt delete mode 100644 PSCADA/电子行业模板/common/resource/zh/setup/setup.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/CommandWindow.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/DatabaseCheck.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/DevModeling.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/DogCheck.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/EngineeringDebug.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/EngineeringManagement.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/FileSync.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/HmiStart.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/KBD_30.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/LogicProgramming.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/MonitInterface.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/NetMonite.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/PictureConfiguration.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/PreEmulation.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/ReportEdit.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/SysStart.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/SystemModeling.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/db_studio.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/icon.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/preset_config.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/push_debug.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/reset.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/restart.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/start.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/stop.png delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/sys_startup.ico delete mode 100644 PSCADA/电子行业模板/common/resource/zh/sys_startup/upgrade.png delete mode 100644 PSCADA/电子行业模板/common/style/dark/AlarmStatisWidget.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/BriefReport.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/WebBrowserWidget.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/alarm.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/alarmShield.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/alarm_statistics.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/alarmmng.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/asset.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/breadcrumbNav.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/constCurves.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/curveColor.cfg delete mode 100644 PSCADA/电子行业模板/common/style/dark/debug_tool.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/devSpePoint.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/deviceRealData.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/duty_setting.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/event.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/faultRecord.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/hmiRoll.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/ipcPlus.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/ipcViewer.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/linkCtrl.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/media.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/orderManage.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/planCurvesConfigure.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/public.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/relaySetting.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/robot.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/sequence.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/shift.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/sys_startup.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/trendCurves.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/usermng.qss delete mode 100644 PSCADA/电子行业模板/common/style/dark/workTicket.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/AlarmStatisWidget.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/BriefReport.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/WebBrowserWidget.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/alarm.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/alarmShield.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/alarm_statistics.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/alarmmng.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/asset.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/breadcrumbNav.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/busbarTemperature.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/constCurves.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/curveColor.cfg delete mode 100644 PSCADA/电子行业模板/common/style/light/debug_tool.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/devSpePoint.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/deviceRealData.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/duty_setting.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/event.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/faultRecord.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/hmiRoll.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/ipcPlus.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/ipcViewer.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/linkCtrl.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/media.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/planCurvesConfigure.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/public.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/relaySetting.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/robot.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/sequence.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/shift.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/sys_startup.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/trendCurves.qss delete mode 100644 PSCADA/电子行业模板/common/style/light/usermng.qss delete mode 100644 PSCADA/电子行业模板/common/style/样式模板.qsst delete mode 100644 PSCADA/电子行业模板/common/sysconfig/alarmOther.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/alarmSpeechTextTrans.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/alarmStatus.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/app_ats_timetable.cfg delete mode 100644 PSCADA/电子行业模板/common/sysconfig/db_manager_opt.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/db_save_cloud_platform.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/fbd_editor_blockMenu.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/fbd_server.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/file_sync_by_svn_config.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/file_sync_cfg.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/file_sync_config.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/his_amend_cfg.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/idong_ops_cfg.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/intelligentAlarmStatus.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/language.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/model_calc_lua.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/opc_config.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/playerConfig_ffmpeg.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/playerConfig_qsv.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/proc_param_cfg.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/pub_log_cfg.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/robot_config.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/setup/influxdb.conf delete mode 100644 PSCADA/电子行业模板/common/sysconfig/setup_config.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/shiftWidget.xml delete mode 100644 PSCADA/电子行业模板/common/sysconfig/sys_startup.json delete mode 100644 PSCADA/电子行业模板/common/sysconfig/tsdb_save_cloud_platform.xml diff --git a/PSCADA/电子行业模板/common/Schema/2003/SCL.xsd b/PSCADA/电子行业模板/common/Schema/2003/SCL.xsd deleted file mode 100644 index 3bc38d3..0000000 --- a/PSCADA/电子行业模板/common/Schema/2003/SCL.xsd +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - COPYRIGHT IEC,2003.Version 1.0.Release 2003/09/19(Uncommented) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2003/SCL_BaseSimpleTypes.xsd b/PSCADA/电子行业模板/common/Schema/2003/SCL_BaseSimpleTypes.xsd deleted file mode 100644 index 6571a3f..0000000 --- a/PSCADA/电子行业模板/common/Schema/2003/SCL_BaseSimpleTypes.xsd +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - COPYRIGHT IEC,2003.Version 1.0.Release 2003/09/19(Uncommented) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2003/SCL_BaseSimpleTypesz.xsd b/PSCADA/电子行业模板/common/Schema/2003/SCL_BaseSimpleTypesz.xsd deleted file mode 100644 index 9526990..0000000 --- a/PSCADA/电子行业模板/common/Schema/2003/SCL_BaseSimpleTypesz.xsd +++ /dev/null @@ -1,46 +0,0 @@ - - - - - COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2003/SCL_BaseTypes.xsd b/PSCADA/电子行业模板/common/Schema/2003/SCL_BaseTypes.xsd deleted file mode 100644 index d87cadd..0000000 --- a/PSCADA/电子行业模板/common/Schema/2003/SCL_BaseTypes.xsd +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - COPYRIGHT IEC,2003.Version 1.0.Release 2003/09/19(Uncommented) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An element of this type can contain text mixed with elements from another namespace that this target namespace(but they must be defined in a namespace).Attributes from other namespaces than this target namespace are also allowed - - - - - - - - - Allows an unrestricted mixture of character content and element content and attributes from any namespace other than the target namespace - - - - - - - - - - Allows an unrestricted mixture of character content and element and attributes from any namespace other than the target namespace,along with an optional Type attribute. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Allows an unrestricted mixture of character content and element content and attributes from any namespace other than the target namespace,along with 6 following attributes:Version,Revision,When,Who,What,and Why - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2003/SCL_Communication.xsd b/PSCADA/电子行业模板/common/Schema/2003/SCL_Communication.xsd deleted file mode 100644 index d3584ab..0000000 --- a/PSCADA/电子行业模板/common/Schema/2003/SCL_Communication.xsd +++ /dev/null @@ -1,278 +0,0 @@ - - - - - - COPYRIGHT IEC,2003.Version 1.0.Release 2003/09/19(Uncommented) - - - - - A control block within a Logical Device(in LLN0) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The bus protocol types are defined in IEC 61850 Part 8 and 9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A TCP/IP address - - - - - - - - - - - A subnet Mask for TCP/IP profiles - - - - - - - - - - - A First Hop IP gateway address for TCP/IP profiles - - - - - - - - - - - An OSI Network Address - - - - - - - - - - - - An OSI Transport Selector - - - - - - - - - - - - An OSI Session Selector - - - - - - - - - - - - An OSI Presentation Selector - - - - - - - - - - - - An OSI ACSE AP Title value - - - - - - - - - - - An OSI ACSE AP Invoke ID - - - - - - - - - - - - An OSI ACSE AE Qualifier - - - - - - - - - - - - An OSI ACSE AE Invoke - - - - - - - - - - - - A media Access Address value - - - - - - - - - - - - - An Application Identifier - - - - - - - - - - - - - A VLAN User Priority - - - - - - - - - - - A VLAN-ID - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2003/SCL_DataTypeTemplates.xsd b/PSCADA/电子行业模板/common/Schema/2003/SCL_DataTypeTemplates.xsd deleted file mode 100644 index 6ef513b..0000000 --- a/PSCADA/电子行业模板/common/Schema/2003/SCL_DataTypeTemplates.xsd +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - COPYRIGHT IEC,2003.Version 1.0.Release 2003/09/19(Uncommented) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2003/SCL_Enums.xsd b/PSCADA/电子行业模板/common/Schema/2003/SCL_Enums.xsd deleted file mode 100644 index f2fecd3..0000000 --- a/PSCADA/电子行业模板/common/Schema/2003/SCL_Enums.xsd +++ /dev/null @@ -1,531 +0,0 @@ - - - - - - COPYRIGHT IEC,2003.Version 1.0.Release 2003/09/19(Uncommented) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2003/SCL_IED.xsd b/PSCADA/电子行业模板/common/Schema/2003/SCL_IED.xsd deleted file mode 100644 index ae1ae77..0000000 --- a/PSCADA/电子行业模板/common/Schema/2003/SCL_IED.xsd +++ /dev/null @@ -1,534 +0,0 @@ - - - - - - - COPYRIGHT IEC,2003.Version 1.0.Release 2003/09/19(Uncommented) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2003/SCL_SubStation.xsd b/PSCADA/电子行业模板/common/Schema/2003/SCL_SubStation.xsd deleted file mode 100644 index e92aab0..0000000 --- a/PSCADA/电子行业模板/common/Schema/2003/SCL_SubStation.xsd +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - COPYRIGHT IEC,2003.Version 1.0.Release 2003/09/19(Uncommented) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2006/SCL.xsd b/PSCADA/电子行业模板/common/Schema/2006/SCL.xsd deleted file mode 100644 index dec05fa..0000000 --- a/PSCADA/电子行业模板/common/Schema/2006/SCL.xsd +++ /dev/null @@ -1,59 +0,0 @@ - - - - COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/Schema/2006/SCL_BaseSimpleTypes.xsd b/PSCADA/电子行业模板/common/Schema/2006/SCL_BaseSimpleTypes.xsd deleted file mode 100644 index 2b2db88..0000000 --- a/PSCADA/电子行业模板/common/Schema/2006/SCL_BaseSimpleTypes.xsd +++ /dev/null @@ -1,38 +0,0 @@ - - - - - COPYRIGHT IEC, 2005. Version 1.4. Release -2005/09/11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2006/SCL_BaseSimpleTypesz.xsd b/PSCADA/电子行业模板/common/Schema/2006/SCL_BaseSimpleTypesz.xsd deleted file mode 100644 index 9526990..0000000 --- a/PSCADA/电子行业模板/common/Schema/2006/SCL_BaseSimpleTypesz.xsd +++ /dev/null @@ -1,46 +0,0 @@ - - - - - COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2006/SCL_BaseTypes.xsd b/PSCADA/电子行业模板/common/Schema/2006/SCL_BaseTypes.xsd deleted file mode 100644 index 07eac93..0000000 --- a/PSCADA/电子行业模板/common/Schema/2006/SCL_BaseTypes.xsd +++ /dev/null @@ -1,144 +0,0 @@ - - - - COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/Schema/2006/SCL_Communication.xsd b/PSCADA/电子行业模板/common/Schema/2006/SCL_Communication.xsd deleted file mode 100644 index 8c99110..0000000 --- a/PSCADA/电子行业模板/common/Schema/2006/SCL_Communication.xsd +++ /dev/null @@ -1,241 +0,0 @@ - - - - COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/Schema/2006/SCL_DataTypeTemplates.xsd b/PSCADA/电子行业模板/common/Schema/2006/SCL_DataTypeTemplates.xsd deleted file mode 100644 index 7ea7ba4..0000000 --- a/PSCADA/电子行业模板/common/Schema/2006/SCL_DataTypeTemplates.xsd +++ /dev/null @@ -1,161 +0,0 @@ - - - - COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/Schema/2006/SCL_Enums.xsd b/PSCADA/电子行业模板/common/Schema/2006/SCL_Enums.xsd deleted file mode 100644 index a2ce029..0000000 --- a/PSCADA/电子行业模板/common/Schema/2006/SCL_Enums.xsd +++ /dev/null @@ -1,551 +0,0 @@ - - - - COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/Schema/2006/SCL_IED.xsd b/PSCADA/电子行业模板/common/Schema/2006/SCL_IED.xsd deleted file mode 100644 index 15a3ecf..0000000 --- a/PSCADA/电子行业模板/common/Schema/2006/SCL_IED.xsd +++ /dev/null @@ -1,595 +0,0 @@ - - - - COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/Schema/2006/SCL_Substation.xsd b/PSCADA/电子行业模板/common/Schema/2006/SCL_Substation.xsd deleted file mode 100644 index cc83a49..0000000 --- a/PSCADA/电子行业模板/common/Schema/2006/SCL_Substation.xsd +++ /dev/null @@ -1,276 +0,0 @@ - - - - COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/database/initdata/en/basedata/alarm_color.xlsx b/PSCADA/电子行业模板/common/database/initdata/en/basedata/alarm_color.xlsx deleted file mode 100644 index 39955fe105472c4cb8229108d60e97d638dc433f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2444 zcmZ{m3pkUDAID$DmYKVg5pzpgv`D2~GnG)9=F(iw+=kU`#Y%N@DbzV`6LMQ>a!EHT zn{-i9?lp2hAzdtMqgX;p{;xXEk^MV+pJ%`K^89}9^Zop8FU}bvr3wJR65zOR&Mudl z#w>XW06;+iKn1+(ZBL`pNmM$~?Z|#ogfHfB7=@GG;_}EuacfMSXlb1bK_@<)?&>GA zJyXGiyZpxM>=Cl#9I64WjD2@vt7mk-Wkm2ce3)TjlM>dA+f9Gub-H;R|Nf~LewfcZp4abru-`3eB9g-Wams;Fq9fM@s0bwTL}aqUlyuxj5IudIxXu z+ZlD`Qr9ch6rV@S-Yc6H_{~BWi*c}FCp`g0=t}~C251jc*8I>DNekZ>K%?!OuZHj1 zuAP3ESZktql4$TGis@mu)byy*!z+DJv1u;M0A_sdv#wi%jaXM)Z`?)Q9dEzb2754D zHkO(xPnjZ16O~n=YD^nC^uBPQ!I08@1tRYuQkaYiIO8C>Y)p@QX}u+*kf*l-al2!i z#)6%7;)kO;2cRXI?!Q5*IVT zN2{DE1GVo46FT1|AcKfd|8P&6gPBbrl15^vWVgp>(^g0wSNsHA zz{98&1M1e%NjkLyF~gSHnpMVsTvD=5kS5a;dz9+7^Xu8Wr_lEYo4ZgUXC*ccZIwf# z&NAiWH=8YSw+~uT5Y?f6W$$p|sLT$J&eaI)#`Wnr?W@L7bdR9FIEa-HX(BR7j}B+-1l44s3BmRBBQ<>@S}( z-b~0sEk~BWu;H7fAB5pS6KablIHyV5&~e;*|6Wpr}! z$X_STivtGYIu5*rZT_7cwLh;4k)LP}3_K1B_gFprQH{s8Bm8#FA@RZ_Y&mL^jMb30 zCWl1Qb$4eSN)vJ_gSB@kyT8}84?2Hi67JP(>{iG6OXuZDSySHKk3jJjMw)5hp!R@o z+i;!eGuH%q?(S5F(G3F= zo?mKgIFbs~H~ea}fi2Er)_^CslUzTfH~xW~J4?H|k;C|EbX0R<^MlKJ)j??6_MYqJ z@x9u~25}E4Ik|$#H64K=ej^ZD-9D~MTT<7JFuY{p2!_|sUvI;$Q z73(6jtzeq=C{?<%v$yi|CRWkSO{c@WU2=|ev&<}A19OsjqT4J{gP zc69U~>ldgk22*QfJfi|aVSuHFTmTahN+QuCz%B!g>3n;ov=36_bX1{Zp1S?z)3=0( zb~ZWB7t=BcY+*Q+_{9oPF`;VPcC0yc@v}|L@aCe14+Rb?q57G|2ks@AND?l2HC8@8 zuibMIVzbu5XqIFFB>DK}DMxmvO6!&g{9XoM+?IwRXQHYOmftZ5?yM1hDl9N`R2^-q zNq8Jt&^Bl4*6}ACbNP;(&ZyS2wg_R?`h28ZFncM+yV5};Px<`o*JlH3`4*q=1kg0P z+Qz(TgI!CORx7nP;Bu-dI?6s)<1uPqByi3W zl9=!F=+|2tqzV3X0QT{D`->ee9zc9=&Aa^wU<+pGr!6M#D83^W91&nz|9fMI#}S{i z3vm>|FOgqOUGWIwlWZZv*gp~eoonK*;w`%1x?B4D%YSZIacA)|UU1$A{nz>biW=uE S4L$_`7 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 diff --git a/PSCADA/电子行业模板/common/database/initdata/en/basedata/alarm_type_define.xlsx b/PSCADA/电子行业模板/common/database/initdata/en/basedata/alarm_type_define.xlsx deleted file mode 100644 index 17fc60b5e663cf9b4ea7e3946ade8d4f0f838760..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9887 zcmeHtg^r4WqPlcQ;6PcZY=J&>hmp2|X z_aC@-&u4ag)?VMepJ%ULkFp#LED!(>Km-5)qyQ1_z%hF$000&a0Kf(yLhFfv>|M<5 zU5wN{9n75#m^|!kN%CQ#X>tM3ko*6){TI(bx%!}eHw#9)){d}vhh{`xSZOIDVGE%i z#Wunlk3?;XhD|)0J6~!G6^$CiE=m>KF+HkN0o;m3Djm@m>$XfcI!YAA$VD*~PRD}x z(m4`=1?8GCweeA$xwxo@hwxMN2=YyfrcBmk4`h_jIP0FUZ*`q0eitnZ7Z#&zr~6h4 zeLcS`IM}TNEl2B$Ys%vhq{@gdyQ0KOvtWj>RyCIg@8JYy< z8q~bP;}au(VO0)QY{y27!XAo*QNs#6A+dZ7&rH7DGStNOq-W8?$9Pu?wR5zcKgTI@6rPh93AAkEzbC!vz>90fK2 zWlzlM)%-;?;dL1pZ8zyOs0rl$28EaYbp*^`G*ks)eovt6`C2cg+sygQ zMY@!%CyiTs99>ycah}}ZD!Js;v3L!}7?T!0683w-&}V|_0lIw(IxD7El~6OHYWo$T z)s5V_J4s_1{&T5?-%*9bdFA&e)1MAFn_4bZ`V82To?qi@sJ-H~sy5Ab;v@4kGPC`7 zDxT4aeec7lm^q+I#({OkHYU|inS1W9TgP!coaNcejnq>%a5NYgMO?fB@mT*2 zaC?fm;KEF{r?HEUI9NvurXpqcJ6k27YcbHCm1Bkhg?b*2^t)YhqJ4$IKJTJ0j>LlX z!nQr+hXakAj=&(A?pHhyl!C*?+S}PJ+eb!w>x|tjlsLeU4dnTDMMH@f_O6gj{H%F0 zl*4+I#g)z4d7NknA~VBv8?SGI)%Gd^>lzzL-qKoZJ~WGgFW_?mJ&7ky@sMN$P(1+? z+tZ}3UdEj9-GXI3F!`kx}>$3!3c3?eRMumAu$}c}dZYnT;>i(?+98jp|xL<^_YfH7ouV;_e=XwZa5J3?)4WN0#)0 ziL_XDwY0t>^2S8=q+I3ar5kfe)-{>TQl8mW_8tE1m6b<$DXuazGemp@W_3S~N(Vjl z8p$*php#th%q8?~Y)bLT%1MnWW1?wG#??#4KT&_^(o?z%av;G9!c&=#Tj;O)o~baU zDj>ZSBHUe&yifeTWWREw&NM8^V=jf*oG2p^y>C5p^mY+-$PQbkv&(oMDJ#p^-CNw< z#ovPO;Wc!X*6|ky3CVbPEBC1u#zZ}yQ*4<4qv2eVmd-zoj*sf9Tn`I|AI=@I?218Qcz7LAUWKmq z+=N?qw&?aKn8agb_^fQ0Pn+-L2#VNd8*J23;p6*e)9>11*CobGk2%nk%!S7F349G12)8I{ z6-ScV<&r6zNR3e~-wpfRJr4=8Hd_&?8rVNB=Q5%SDVDrBF-D4(KejP{;7#8BAp0Q) zaL^%g_1lT%w_}s*f=s9=gi8KPH=SRZo4YvwY1#j{VEvC>502}K>}CNzlqul*FcCPane9=FG@ccCU0sU%+L+k#AlC(Gb< z6v23TskPmS5keiaV*Me*hObr-pP;JFkG)u5VgdVioukqxW5F`K@y0^=(!2u_`zNnW zMRwgUvTc0PU<>U&51(Ej{mwcKmr{ilzyknD_&<}gKdh6>D|0(@=0Em-40}&UFN%O0 z=*N5}jB@F&JbpTZ43 zp64~J5k-ubi@8Rxn$U1)o|6xmE;-@6Y29iNzWc(kh(#J(4RijoBShDprq{MidxM-t z@(v|q4Yxx<8;caGYOsz+ah!BM=2eX<-Ap7VS;s7ukvHx)CeFf_V1JOA)x{XWu~JsnLe#w+`9W|98($%{{Xm0E{0UiB%0a4+6r zo^fpEgU|R!6z9gO@o9YP<_~6DXFdeX?P<;NH2PlKe0fS!e^{}0dk<)P1v&q8`z&Xg zKEU$l>D=tmxoYd~3~C#6NOJG3&32+u8T{}{B?-19v-X<8>h2tU`Y|EgLiG^SLT~UV zQ?*KoZ7R7NK>UkH*a)JUH)}}vB5VlZi6)|%L~N*}#}+gegpqP7s-5Z~4<~bKN<-wY zkjX0=HsIv1bQ3n#k5oi0@;CiZG!0Ns&IXg-dB?>a-21pZ{FrDbu5C!6eYXM!R66%! z?zsJ0RdvYc|Kn^V3c;vQfwReYLauszh8`qcX zYlWa)!#AJdYU+Ggqfx#vy{zlODuZDfYT!Ue|8_jR;=wlOsD;T_T~CxdkLUmrg7Ku} zN)ic2eXB(i3HSCZF0z#0%UfJMFZUpfo~l-}WR_8??q-opG&0RJl!0;Sg0@LGED`-@ zT!9$YJ>0ExS!nMX4Bd|dB7#idBE}`1Knc+<`f{+O<}_~;4m2p+@~%$ttS`$dZ9hqTU4F|)QP(GrrGXrA^8q9Ohz+aMvZy=X z%48z`TUws3q~qq3+=j>}44H)5_VxO!a$``&av?O&hk4#hK@V>aeaW;g;O0%*!2^_q zo5OD;*vnQDv{HMg6)w_?FOuZF&yW$7>%oX|OwGFK8no(bNe`ROr8cM`MCFa~TDR-f zjT~UL%dM#da=4-C*;nlJU@jnz=pMjc+#lhNkhnMLACd8eu-7F>PeMIV4YA2JZIeAO zMAOPoDisljRV0+nPo;0|9D>KEM^#xGdWsS3o~n;+wrN0)Ai^CKO^q#pR2gDTm)*yC>;Um=*LaP0gMXXU}0r z)kvr~6ip{S}EqE-pgpj);Ee{`;}VX8;Nn&FenWZCWL4$f5>CSWg?>Dy&v;N++0 zEXn#B_~KODE@)NLId}#e#CIyzzOF-09lqJ3O4-r!Fn&lie?%27g`*g-rS9-lw#ic( zgW+bv* zv($vM(A|DtmLo>X-zIAfP}#I;WSKZA-~SvgAyH_r6B*gm5<;tG+sFdr+4+?ZR(#8? zViKg8k)@lbV|R&c*f>SQ5u{r*UIBM*-$`&4WAPBXOGr~aR|#)eF-J2!B%*v|O)1kk z!7$w}`+k209FslQk;M2icdNw5tOIaKX9)I(`JGd{AEHaGg2YP15XXl4XT0R%X>0yR zpj42o0GeXK?LUq@4B{ko~S5_^ZhJLFbA!!UTeCkZ6xQ@-ppdulxkI4#_*65LzCKxVTxvA{l_@Wm)gnfC>phItK>g#+JR@{8tF z+mo900yA^nv{K((uAr_NBVmqW$-vreSq9g>w-^m4I=sA3THkkH6?(Y(@o9mM40p9Y zK7bu)laFdv=gN+I5s$j?5wFiv$-!m-Yaryk?zifl{eG=hR5KCLg*sgAo2`Qss#car zZv=;R7P(Z}H045rVtsX8wNwXP9gM04>-`^^c3)c6XGOVc3(U;kQ>-!ZEl1n~D%F%n zaVnEnHKq1iPBt_*x($3=N1*1Ll)_DQ;HUw<5_U z+#4H(JN*Ll7s=Z;Qyqslh+$!B%h5>@_2J8R-%;^g8j@g9Rt%(q%WgjbiTbKu4K_gU zcy#V^wyHFU6l}9}xTHUk8bzqse;*JT(%Cq}AVEB8$xL;6Dsa-@WxI!tz;Qu+Yh}ID@pahsSeyy&WNTW32!A05jzQ=;Nq4xb zdU6}s>}o46EQ42aF}{)_W?MTHU4Fgw?zG5-dAha|j~x-nm$kNtn;x83$Y~RS7HmeO zO_!%@YFx^dml~Nc$y=|$6Pa%{kF{b_6<=(_A+F&#q#0rKSkp7>3=fIfyZQA|6|=0=&0H|;USdXENwzer=+z0avs6mX%$GPBhe6Z&2(Xe zyE+a3Rfz~|e%yie8KiIuV27%06QpcM+bLWu z5>lLvD+2SqeQov>(#(1~uZB$rGDE0OC- zU0^SJrVm=@jLfvut!|i7&W9pgRG-s=<4$&e_T0|$qZbm>6N-HrZc08c5KUh!u?TA# zY#7?tyxPd?qdHWs=*}8=2g!ja^hfe6V@HV5BckH$sz-2ED|Y-)u>IqK(ECJ+NkD&Z zLG8^SL~oLjixT}<)(UwKDD{qNo0^mqnff{olZ0|igYRhlmIVbAiuzRJ3>;s~%qtCN zu7=Q|WA*MUv*r~r9U0|e_(V$1*v58qd5vCBwr{v!oIDnOfOL znuMFMm{psxn2y6tTA)08u}C;D2NU@Q+7U&JNeoJiE#AD#7!bVuIw3@44Gks^R9tF2=9EU~OnW`v&~DZiSf0|MBxj zW!55&`I_wpsIi;_=LRW@8-p7YhM9?c(?W;%iHSv!XM0EJx59P5YpE61nsCANPDQbh zhlCoX-YO)CynKGy*wYHS56{$So6p_*%^I1bji?Ot+0;ZN($5c6y68+y{6Cc`BmomI zI-|YR29kJHq{f%M4`&z`+WkkLTd1Y?u}Wxc9uyQl+yb+&2yM+yGyK1i%MI+|5O)+X z$e?R!PWfuLoi3d8x|%9k(lBu?)EGKT)Bjm^5} zIF355zUgbQ+a2uK*E`dAf^Kd(Qa z&Gl5I^wrscMJ3kjwgW%IQ?T;ZdnHf~r(WyLtbGMV1KwE6!`(OGN&=tP7K4`4UnVec zQ3D?BMDU?=8`=q)_E+#Xw%zAne2JS=TfZp8k=rHKH*p^XuQy)I9@Mo5OhT_YB5b<* zq*fVoBRgTmre9rs&T!sh7_}MPL|oNxGObX(m|3aZgkx1qpw+`)NA zZb|c{iB<>;RRksWi!St2mi2p~BU98R9J}7Kdo5}0ho4c;VZYf#vb#_$QZljh%8hRR zXk>jTI6C8Z1jixoWVV)`UR~bT?`S=tHo(%RdH8HNbAA}p!`6q&Z$!I%JRx+k?{l~Y z!q#*`;y)g$@^)F&vcA02u~;<{Ovyg(dST0<5f}RL6=HPgM?`dptN5M9?+EC8e+!`@ zLbM*^udc+z!Qp?NKiBg_^WR7Cnat!DhS$VjGmW=mRR(SILY4)k$(17}zd5%$hk`-0| z2C7gX-4GKOd{*L171m|w5#PGHndZcGbw(5(ftN200_2J}Y(xx5U8FLCVr0rvEg12i zu*zK!UMftJhy6I6Ku5 z5Om)+YW&66B*(#O(BwvSgmhB)bkv8)b)e;GGWM zw7M)a^zdSI=sR{6KeGwfK3Q|uT6sGCG%mW5omVf&$mDwRv~j%sdgQ3){LCz|bL^T| zij&f)v--z>5?&~1Mo2T@_ls=){r&!Z{LPXZWx2lt{Js7EZ^oa;BFH2EvKZho^M7g@k69n5iN9FoaUKumSJL9s&de9RvpKyNI2wv#G7KzN&}4 zsgo{)yN&gid2)ub>nT9Jtxa=a_;80ZLR7$LubLh{2jkGl8F>#j zZla^M)@3dRz92KMzJ82Z21u$y%YZVQ=(dn_B_041i{F1YYjs2&b!)f{p>!N`% z*d|kGd>7KjuPvyKZVn$h&gw;dm?B9&a6Q&mOASs5`}%_HUQ~efsa&f&nCf zbITx#R#A;uRV=pCK7#_71+o)Y{a-d-$+yu72Dk7{+Oy;0P2_P%ZRq|Kjbw`|aB_EJO49!%;R-7v;RHl;`-;Y zAIk?62*~FrIEdo^Q3df(~4wc)3sIH6miw|iM(jHWxhF}}8GcJYi;ocn!ntJ6 z=F%`nos7&^s=Y_8N$#KV)Kmam7PUs%j@+ak`X<)Bx1t$6=Tb>WuR3wF zbF?zDv$OiUdi|$nK!HmbaFqYuuS#V(nL#F$F8GfyCbtY%Ow<);M$$92Q)HO2M(Q;R z5?0^4Eqt1GUCrMzjNo>m9+y)iu8-_UJK*T|eYB;KXb_(0)|Whxc2l=g;4nt#RYZXj zkmzVSS+1p2*-h%nP}Ye ze+gDOs|svvY59^)ZMOf}CbISbl@sVeJbQ}^E5(cG0Wy2EKtlV}C-wky)A?p5=kd#` zuiyn?pP)j9sGOb8JJk70*r)`tA9bSBetueq+U2&h@as5r&)N;$#NDOY-q^_E7BJKQ zT{2R{S=F#WxxfM29b_N_D4G8%mO>S|xK&_$G*0|#z4a5nM52&tDgCtMYSc|WzaU3r zc?i~gB5TS5`}7@=I-YY}DNk|d&*aE{G&5_Fs2WwU*V9g#w~ki^3;j+q#Zay~`%Y@u)ArsGo#iJWMY?w?7wtmrVVa<;#gcvlIUA2__=uc_)hF_llD+q?w}kwo-H}| zRMPEbCUqeR?8vAK&WhQDpp?QPQrmu<@XC{vS{brm6g+HWA zP>)xbJ{}T`#2TjUF%e{lEFR@%dN4cf)5ve5o{uPNJ~50Y(zJ>{j(@}FrSoOd$>NM_(<0B%m{~+N%>Z~Ggy-m#$9SQ{{`LGGB9Qa)=;u|v zrNGu3`kn;8CN=juKU?tr(7bj3;ur1d8_t-aw0@8Fw&i{b=)r#76!%+uOtL*Zsw>I% zJOC`g_d`|@BKAW##}R^W3*o%E{7IS5$@V!J>@Pcf=_@--RADdJbUgK(a=!pLp0pM0 zjNAq3xoUeZ>MmB$-&7f`#+3Vpeo`_2zH^*6y8c;}z6n6sdh&ca?HGu%yYPNwl4-*W zHt(Vrcy-cpTQAoVsA5F-wI&7{N*8X^Im2>d3YX+AHKP#tO=85=d8CoBA@g1HngfbA zD^kfqi3Zc^?w7_ulz?ISz;v}q9hbw*#0SNYhHJXo64yMFPKm`gn6Ru;g@g0}S`GS) z$u{PrJD(}I&o7_50&tQX+G=a|Ri3WPI1>kEB%QjDZ*yo`28Td-=I*eA3a6x*D=f^{KyTL2F&O`FH#vtiyj_7Lga;7aezGQx*E!xO%a|it$ z^78}`(XvU>foX5MVfj1Pkf2MIoM-X6gO9z?cma=hJt?Q=?Bfd7IEUuqEyX#7uwfb+@9%JUgPDJtsGu=rq0j(qf0vh4`-jl8-;?~ z8dHg7-$2N%xo@3=#&z0=BQ~058xD7-OW!ghFOGiPi=Gn0DQN|iq1_F2FB@m_fESn7P`}28Q55u{TBGq?&ki(6zed!#}$LZVIeI?z@f=x=%?XTJZImR zutp-nYi_;utQ__(Z54YgA~bAGqxcB=14wPkBPh{XxfHb5zC}4rJoY3&$BpK)PtR`4 zBGulx4Zd1IbXOhHh`{QI=ITv&*t^y zQOHhiI$H{@?!xHfo&UW%x(4v#Qnos(-Yieu!vc@Aorx{j{MK3fe6=9!&JlxIAy03u z`~7j%yv4{}8(-UPCajMc+p6iOTo+>P?|`_#`8lMWhc6OVhK_2SbWrTSUFc!kKZXql z_fpvl@-fuUS_(3qkmb|GSMo=E+f_frKScLv+QdUnwn8negi<|w?8}?7YmZ*mES>rq zH_{QU42SZ0D1$0CuDe=MRN5?$x7zVPjc85CZ zGFW%jsyker9}JV!1J6(9DO7%SBc}sZE^TL(mNqq~BiXf?!3Ya(h{Nrs5X|Y^sy)$i zC|#UE)slgMcMybD46r)y4wHub2NX)-IuFHEP9YR+89THn8>o2^o?&Qz9Oo_B4^Vb- zT$pQiL!_>0p0i{>my9{J zVpqX6wVFcLty<$6W2RIJA=GF?G)SG2g0ws-C;#{_5d(0owheU;E3 z?MTu7Hus$7Dp#c?bjC2xt20oXZjd&@0|(!l4mQM1@23tWQ$G9xU?#w7dz zM2+&U>|ox{816>1#W%Zl-Lr3KfxmNndtPIlp(^fdkimtAVG&62>KEH<$;rZ?0vJEnMFli)}* z@v(=X``P&Cu7hGq#%TIE%}y()D|1H~XrQc6lC=d-gk-c5T?~O;!qZM7$5H7O<8f8_ z&gj|OdCGRjBWBp93>34gJ?ByN>tJOvC}6_jv?@IcKWHpwkjadTL=D80j52_47_>Nl z%j4lt51$!3AZTKjaYx9>-qQ5fPOr$(GTO+fOzyyPIZd_ z^Fp##`;J>j=fWPsJNtlJCvlV1uu8-2!0M$xFy6mwz0^b{4`L@swqsQ6vjV)24 zXepHBKQfNcc264}9hU-lzK<(MZyH)ZSrcSPi!tX*)patnL#=*mOrpi|8vT?T&{Hx@ zH0<=aI#TPB5_bP15z2?D-ZFJHun~1^Qg>V}3&dA8RXXm?NQ9LFsyOO|#Uq7=x zL{7%=T6^zkvR%OsXSmVwB-G1z4?d-CcWkXt|!=u zq*s_8NF@DTc1*})Mj^ktRVX+)gh>rqgP&udqs7g3bFItG%KbiTduaNRza5g^zgJ*I zpC!D+BO{R3I&Mm^un8AjB2ojV5axsw9j4>d8Effc_tBwnZb3NI-IXe6%7*)^W51F2 z&F$K8v}U1XGr?Zs0Bv*c##+bL`bNj~`_Vk31ah^R!!e8XW)wIswh8rEQmBZvw%j~P z-B58)QKHejX6U;N7Cohu&4fWqD0j&E%z*DWcZ@eaW8#!PEDBHHexf-4ipRNeSt<+} z7Xp^U$EDs{M{X$*&WES()9~Y4dWJnodAm(V5ygt2w>r%RtqNy)IiVhJkK6enm}7|r z|Jij(!9zd{VPDDNJ--F==m_qmSIkB-rz`8%1~ zKU~@ip1*S~M(^m^qc*w5s1?YYk&XO;D9+&aOBDqnR3y*f*QLS8()~HO{dW73x>QSoJw|H%rhdr+nS161X3jGU^m1Jx z!N9Y%rtHuVS~oy+kocgtKAH}@lT+_DIDxlNn2?tAMa4E)7>j@z@44~v(Q*0(BZBvi zNih0==3aP03H#&6m3!yCqB=(Hp=o3#sMq?UjD<2k58KqA*5(fE%H3mMho(I-&JzUFpr-!I1L& zwj_>Ag7I{AL}D1sRp#U$+Y};AtS~}EBYSk4aYr2bqv^6Y>xxA>eCd0Rt`;|9A3pC# zzL06$uTfgQqWroLRqJBdAEapx@dPTu1S*0A8o~q`g1lA1?%JRZ!mtj)px4o8`Ocxg zQF{SjJl$!^*(sp8-@`XVes>y{?#D_q-=OxC4gK;Nw6iR8BEHVhK3X3+hFa^eH@r;Z z@KC8>n2Zu4h~m+;DIdj2KJHem(+wHoWbM}}Dna2!DKhb^RSbwJy_@h(J4T2_Q-VX! zP~;vwBj*CQP3V;}EH|+kH^hla^m1b<N%l=46(#%IjN;S}cysrlJZ>0XH`luN-r1A7%7 zT=tz=8pKZerZ`I9&x>ja(R?tB$AWMhX#|+k6v>#VXq5-qwx?Sp>~wK9U)>+CLuLoQ4@51w^7|4twG_~%h;wXB?$1_oOTyOcAldo6@ytY( zp!uCV+8f9-{Gk^m=4bxT^b_CPZ{Flmq1qczqEAALY{L7)&lJCHsR`Q{ zCArrWSP7i#zJk^XDfPV_Dao^uvV$jZSLf~#z&4Gy#;33AQ0ZaEf}xM)Fz1OtojHo#4ufev$V1tD^ubw;C)%qas!-zn~$yCHN=zRlg{f z-%HJ&mdGxlb?4DlT(!G5$#}_)YmMMY_q((e^&ekZ>ArauQgVLWJ|Xtt42mnx%zR6n z%efc#ND7)eV~--t@O4b&ui?WVZ~ebEw&d}>K~Q=MTEXK)Bth(-{`fd_918D}gk}V7 z565`Kt6uSgOK=e{9nF8PydIq#%{_15^9-DBnNf0;)!7bU7@a{nuv9wYCbNt3LX$Lo zO?)O&;}-lPgr(ck65aX0dyl#D zNy%@@{n5KS#46oSCW#S%L9PW9w}yH=jpY*5Aa)gqscY46oIT019oUM&T(xjR50D6$ z2sYZCJ|zY$A0#^NC{u1VwW6fZLR=y@gM{amamwV;xir&s@CLt zu$-(N{Qh{|B1EHRxusjK?{il-h;I$IzaSs-=SwgmQn=e6o;z#zl7}ud?BKfikae|> z$n!#Typfg)!p(Q&E_|-_u2o?djt&IW7-`KQOlEnvrayVS?K}LXu5nm-AY`~Y-=t>G z;&1Z4_Ppn%F0!Ms^u-Q@(tT+a?eq1};q9Zi9tpF1yW86igItIY{aQS+w^ta~ud?NI z_go{(KEK0yD&!c<>`+wJ^fmhz_r(tDr2p>7fj_UWEbN%}XoG4Tv2hshZDa0tnD@!~ zv-mP)>O1di&NzkHDfcFv0?B3~f*eAYVa72v1P1>6~lxs1ubI&?6i zL`9N>yt8l?_HMtOSTr!Qa2ihl3BzDb{y^E9B5h1>xA6F-0MRv3$@U?Z=G7~~|MYzWN;1onlsQq>u zs?U6{cX$h86S-!YvDc9-HDii}q+Y|;BT6`(>A#W0PyK{qYy~FtM1o;WC7{@n9IEDS zS3n3ts(6Sd$fS4rgr~c&j?!JQfh4-iZ;Wnabn1II< zx?NB*KK*RcRc14xwT+ch2j5X%8p5Y6ZU+nfvMcC*{`M%Y+mH^05@J9-%y-1JPVi;b z@Hws6VKP#Szs=<{l%?6E57-@~*02J*5rYaaMHx=g$ zr5|4=D_a*ILcX@{1hd(SLs_F1yWv=OW?u20R#Hq*vN?xt*Btv)&**M9c9>KerppX& z=LjWhl<_5}ihjGu4uuBXb-}=;4G!p6eLDJ!2bA-2Ymcq8LI74|O~JNMYo>0qe}RVp z=#TNHiWetsu?fX2Imy;q=db*U_;|(68%Zew+g1ROqm8ta2B^BKgIuZ?Qy7Tn+L{tK z&PiTO>D)F3AT}>g5im2%y5w4*)(HjvORYQ1E}(`=y!|TKz1T`AI8+{8OCpEe4o)HK zU0+*J#ijy>{n4sx*%L-h7?-H5tcoGuTN zpj*W4{FvLTOGn2Sehwy-S|q=4@|Y{FU%w>^BPvLXziB8>lf&~;qirX*BAV06#Q|s_ z5S^*Yj^Iwxq^!ND($p351AU<@9Rj3+@lQ(=#Y19`8gqAwAf%`!(K~bGf7oLdka*J9 zHoED15i^$0ODqn2-#Y)e+TRRm39HHTeAvFQyF_)!M)aI}LH%f~JR6Ti>2eXhSJyrZ z+gWc9QpRD+G1IFpfQ$gdfPt%HtmeDNJQR%OelJTyGo6?A(l#$U1z$kgwjp2-WeLB- z8V^km4eE&AwVs0wk9add!DY-p1`X@S%7+u9-qZ>7>?VIfVHK9f1~?znnzlqz%y%%` zIHdj=U^YIL6eeps045qD z>B{&iM<|rlWHhu*!ZEa9m>_nx*Weznk-@3@tDA0a{}_fjmQ6A5l_h(V+@&?MK|@)ze71V63tvm#M^`n&95#X6|vq;R$EqDmD}5}^WYEYNR5!YWTUp& z_1LcsnSm_~o4Hd)FVMHaU_UwP_S4@>&a-Tx&6Aq6fvTXzY_n&fO<4~XEYp(-Ja|67 z0_^+lBsqdxvYQn1O4rAg>Ko`!`bJP#!t{=cLxWgcmLoYdU)|oQL-kJX6b|~dU7^Ej zL(QS!jh7i7-d(#9ux+%-JBi8SB$4eb1@{6Ks?8S96z44HT) ztL$V<68s3(p02ASNwmR8+-K{r{#lh*zcvaizr|4X`r-_1;voUVw~EhlckjraxCW}; zU2+sjKS7>Y13sj|nhZUSMw7(dSScDbHm)Z9I562Tvs9^lf(n&8~LDbj^If?3+BTDEWS9A3Ntw`8ZL}cSe>yFr| z9f!>VZ-3}k(MV!z!S9W`L$qzF2CXYJ_sFQk-w-mkak}L+(MUjR#u_>0XGoS~0CmbV zi;<|Lb*F<=U=1mh=q&xeh!uQ&KF$ZWE`6c=E*|P*h(bb*`b_)6DZJ_-tyNW*uYI*h zp8}!T9FS0K+Gf^M36ZYox4AJKK#8?&rQTbI&KtxUlhyK#M0Bh4^xsYH>*03aBQ06e zkThaEvo9A{XWT8es?U^2P~aw zEOEB@JX`(2q-wgX+J1cp=>!0;hhDLA7H9*^|6VTrzPeZLI9){S1Pl2w_-b{Os9ym! zv042EU7S&KTW;%gi8k$;0CJ^voMB}!c*sblTI`5I<^?2PFcKnyur75Q7Eg!;Iy})( zIFpbCk>uKp%8VdVCRw>hHRSVVNkw6t3;<77)w~BO`=p()w|k`|Y?i<8i=eKHcyl+F zRNxgCck%A+{P{84McmMwOkJ=EiJ@@s$=Ln6Q&V%v?e}pv6$PzdEJr-zMEH3YrjYY~ zvopfuzSL}ei6 za8@UG)XdSJw4BEqI$}oL(Jmp{StkxY{0>9q;BGk8>3h}$?41VuiS7U%fcgnitwe8Eee(|Z-$`P|apK_{`C)9b{)UMqofscKGE_|G= zsn|KNxSBQ4$#x-MuF365vWQ?X}E(<+TVpTWe}jRzBWTWEvwMR zYE1C^yY91Y@{uXdb%k@I=I4Z?U3w(61SuoqbA{uwRXB!j#i3VivPV-zR(aP= zqJQNp_t(Z@Su{2Hh?jbl{3{l;a`Te@d<(iZY~xWd=}U z9DZiK^o>~zx2J_IBKc<$N^YDbPT+vL_&W3ag*eYdST89-funbN+1czD0U znfl_^s&hrk9m3j}AUOy6NiohM(|SZoRE(sNpHwa+3L#G*o&S@zqh}lnj}}pBeH;@d z*zKndy2-vS8MF{bP&6evFPi6a6Wa0d9VQ0tp|Q9&6$49!(&| z?WyT;FY~tjn~HoF7lnOx8(KZ@XRMrT+Sv(oBu&_yqo_H_xEY4-q)IE=EGFT7^G(3R z&wE^g_KW^)Rr%Ua_uqUTI|VPI+i~BDbnR-+3=3%M}XQFvM-jE?i%0D9Q2vFL$YGInasXU(y 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 diff --git a/PSCADA/电子行业模板/common/database/initdata/en/basedata/dict_point_type.xlsx b/PSCADA/电子行业模板/common/database/initdata/en/basedata/dict_point_type.xlsx deleted file mode 100644 index b3ccb489a84ccb6a8f08db78c8fdfb51b278dda6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6288 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 diff --git a/PSCADA/电子行业模板/common/database/initdata/en/basedata/opt_shield_define.xlsx b/PSCADA/电子行业模板/common/database/initdata/en/basedata/opt_shield_define.xlsx deleted file mode 100644 index a54fd29c7ae5ebdc5057c3f1f8402e16946eb74e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2563 zcmZ{m2{csw8^^~sBm2mfL=BoOjgc+uWF1o0C?pd`$(YI5%aSlfy!Ne0wv;XVXhB(C zYmBtmClxZHFhp<2|Em9a)%^S4d(M5%z4v^dbDqz${jAK{*o8nK5GM$a&$P5?>P+Wj z0f8jhK%kw#S0_UP-VclSb2$-w5$o%W2=c~JlAl?$A_a`Y+ZZBk77lx(lKrePJ4{pg zkyM$g_Zf4ZW}A{7a)JgkSB+1GjcNOOnAm#53%Z~NC#VB{tw)bG9UYV(9b9(XJU#Z( z+xC;CB+Sfyx0lx5ZxCvMMAP-oTM%+8l|ve-YuMMASU`^$PoLV8L4}=Cyhzn2e}roJ zJU6|4cexS6MmO!kD^tsEa?MkcSyQM9bsL6qRQ7aO4V{sV3~e6sCq5e z@#{(1^4Zj=fv!lieTv^e`SENZ@m@w(oR#{Z$s404(X%%8dY<2>TE5PVb(VK@q>vuA zpGlofntsFBu$gd((~%-8SYQNLMgn;}^9CV{qYJi>KJM`lHml$8_0Kf2-vO|R00_AO z>q5lhe3cMe&-es=zN<(fqly>njY7_1ZU=C2JDegRMN_uo=fhvxw~dY#iislNDoguq z)ox@Dvl*&Rvg2+DifI`)`ZzXGvNvm8h*rf zKdCvk1t~ysk?jd3+v|%cUxGH5j)q=Iv>>~Zqq6#6KN#;cu(leCytnVzhc%RkJ^9(; zA{D_^WwD}IK_RdxSCxbUYdyC zpM?8sIRw`3`RL$)P^GE7O)9=%z9*I?efG*}cfO);Hy2QHRo<7cjnXZo!NG!eH;Zyt z;#o#Cgz2J-sHDH$`#J1;dKkw2_nY1hA8 z35RAovw654R}5YED7LEna(G;$2i3!VO-U^%2f3?QS!ONUQm4s2P_SZOuxLj;oOqqp zt!!GnKkCkdfRMYdYITd+=axC?J;s(LRpqzJU&ZZI&7NT?6Q?)MqikNA%A6@ZSBsd8 z2vX@z*psQC}PBOfxd$ zsguA_YS+G`Oe}MQwdZ7JC~wf;CB5Q`7jRW%-kK&>7s> zQMSalVR40XF(i#bS6bvtpAV2DXFNkM-h9ZD9cu`p{q0V)KRCT4I#sLhAbcMko4*2) zk<{FwGwCEj!D9E>+2sZ#&Qj_;q>c&NeU>nEABa_m+-(Uu#t_brKAd8&R1RA`it zsO&Z_MRR^W-NyKbiUi-TU(I``P>(W5FKIC_$8p}BwUt2?)tXN3fyeh}qrG=B-e(H7 z4`4p2)0R)JHR(}U`SBCywL;XeQ z>ITV@>fq?+OZ0$)<@Z(Z)(N}cqxI#a2tJ;$NWOg=rF)tX*057_^1Pht!bABZnCI@e z!)gnZ@bI9B<4!Iyedzp}&d&l0_*_fRqC0Vq(G~Aw!92l((93CzPPm!#IkhKAlDZ_B zXZbzT@x}J>hl_^Sw43KD2`sb@Z{i`3FjP>Jiltuu~IiS z4)>gOw_ADU!ur9uD8Xn$5@GZoCPT=8IkIFz#-hY#}V-c=`1OT5(KDqmA|8kONC zK%;;K&-#4oV95z?>99AiI zY<3f)vT}+k84WYENaHTU&jibN5}^#VTAU}Q`%&!Kf-jW@roz0l#W!Ojd<^CHT`uXh z9x&xi?q{snjOQKT6e+rQ@LFJW+Ij-1sH6^4e856?;u`|yfTrxSSNoKUG3XwsoLxRr zEl(m}^#5Bxc5*+MKb z&TDUXvj$7opcb2okvEsgx_EeuL_=G!>Tvo5I00Wt&~(Bn`ByK}R5D#FqzD;2Ya2nb z#JMk#Wql&?n;r~^l{pJ5;>Q^L^I-u<0&wjG)kbXDKO7yH9WbxUE!j^8C?K)FEKg=3 z^J>}_@&ME5|1T}K7MFtm75`5!SebJGe?cG!aJK-66*#xv{sT@!AE5vM diff --git a/PSCADA/电子行业模板/common/database/initdata/en/basedata/opt_token_define.xlsx b/PSCADA/电子行业模板/common/database/initdata/en/basedata/opt_token_define.xlsx deleted file mode 100644 index 533292ee75070a275a826ff7fcb175400021d653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2673 zcmZ{m2{e>#8^^~svSiB^vM&v#v6QlnEqj*65|Xh@Oa?I{@glO7eP_%|Bg-q1WJ$}| ziXz6EU1Z6~K76@CTb(wV<`);4rZ4Rcu^?j=*u#;IdP8o<6VHf}T?lpP)1aNWH) z*5?IZG8Yy%vJv!D75&0UDiCVC_4;o{d^(9i0;-|gMNBRrhfieA9?2q!UpRJ^q>cZ` zsp{Kpm{+_(M9`59+q@M>WjV|%HL0{|q@>y%T?mOjQ@l!st^F0=jS!pxmCK@;s~c2~ zA=q!*N}{MhRUuU@4^ z*R@_sUr3pIN7*?)Z5OXDf|oNxaL|kdu%hw@8P`Tv;f!4@6Tx&Azv1hdC(;)J*mwbi zEI@SfL!vP!%SdcP659r<04qT`tyA{a|%;Q}5v`fOT8M~nFRX{BVi^sX(Bo{X()q zR&Mys49FY8ldLPL0-qlo+fol!M0C34vI?YyAwQTi_a%79DzaYKqHK3@AB?cPF7E%B z+?&)=LI1Fpk7Fd1<@tl{kBA-c@5vZwR>yS!Nl4IwKmtI#jy~}-p8y{}PZu8_&%NF7 zBe(LDrr2gEN3@evM+n|Vn^z%-v+4e5NLaEN-UT0t>v{Wl;F5SI)CTESIu)V-5xNd>dw(yUMV z^aaXiWc*d_0;-REw6l{}9#@)7xp&3nNGwg}LfAz&wvsP7t1w8V*IzNCWHSkHAXo8j z31KsVW<-UD%(n(hNnGTV>KZft)4AhqE8j4UY9gdAnow5csE_Gmn4@wKg!%k7q0qT0t!H-O93F z1e2M5QLB|Y}j>X~WPK_b` zaD@SkK2oRKeiWwVQEG!NvYWqj)If8iJ7Yj22AmVhf%LK$LkENjPBcV0LU>kXHDm>E zCfrw${j9-^cO502EF-hc!#QW2^?F<0$!jw?fRCD4QWTMaDdJ{N@LR?Kl5;+TJ!t#; z4UtowlcyZbhvzDtYVVMcQL@%jnFp80Rwz!IWKF{jmfz8ZuF{680O$$&ZBh6lcDiNi?^dyid@Dc`g}hy zYF$EwT+OLt&5hLsjlXpBvpGJu&No}FZO2n?5PNr%QBwE}llqKT_CbNC}F{>8BZPCeS7KPbo>!2dNq+|ux36XKf?ztAqXA%^g_iQWw zz1%aHPG)JdjtTle@d8{DR#I&^b3`VgC)dF15M?Txt91aebZUIV_G_bN4K2I(G?@sI zf?25UNX;HRhiaV>Ut2-pc6`cC*Cc(D3liGUYA6*axxm1SqrrB>Zb>CL}jq*<{gF*@x8HLPrzht{2-5I=kk?w!_<~wWl(6T zH1<}{uv$B0`n~UPIMUIq?QxUCbut{1p7eii2(%S--muvfha=}X=~Uyk;P+Sn}%CjYG+A69a-?Gc(! zi*Vqu#re`@iY=^p_3St3!+z4kT~$Vih?*S41PGP>5;lzz-%BEO4GF&XD5Vk51nH|`%_rE+a;7~{K%sP8b% zU{I{G;%)D+8MeQi*e;GcXH}arY=v~d5lhiBRk(H+9Pu8yqRjCS#)5EJ+H&%az_EVz z@8wMm48xy}KZz-ZUI**4jI^E1)=#Re@fr$iQG+HlVJkW;Ja2$tMjKW=NcN{_a?H9{ zp!!l5Q(jXy*gqWQ_Tp*d)RF8~L=dP?&zwhsgm@XAh+BCbH$XC3WsPR@pf{CZJVnd9 z(x?pXqsx{K3R1aQv~Z9;pl%CTP8wSIA5HhqM-yO8fuAU-I(#qw;h;ioKs}uIWIqjH zz&`n9R8tG72jRYu73gjMe=Jh_P!E%R9}eKS^{3H7?LggA_Z>{=e>(izVX39m&0=3# q4pa#6@n2g9wV1k?_Qmbsf5rb(S{5b@z*`WA5xANG#JB@{cmDyERbLta diff --git a/PSCADA/电子行业模板/common/database/initdata/en/basedata/p_dict.xlsx b/PSCADA/电子行业模板/common/database/initdata/en/basedata/p_dict.xlsx deleted file mode 100644 index c1d7379c8b1c7245b67c7bae6151dcf240e48197..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20703 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
    Sf;_w+@rDR_Wsh;Wj5V&yDVWhFsg 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 ZO#DB^hmY{t<-EOs;aeTwA2== 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 F9gdQpAtM&QMK;4a;Jbd$eVSAlJQ5#n@aPZmQ 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 Mc(7a(*@NEy0ph!`@Bjb+ diff --git a/PSCADA/电子行业模板/common/database/initdata/en/basedata/sys_model_app_info.xlsx b/PSCADA/电子行业模板/common/database/initdata/en/basedata/sys_model_app_info.xlsx deleted file mode 100644 index c86fa8dff78f89315432a3b488c06b4c20c17813..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2573 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 wcx08bI(z>% diff --git a/PSCADA/电子行业模板/common/database/initdata/en/basedata/sys_model_sub_system_info.xlsx b/PSCADA/电子行业模板/common/database/initdata/en/basedata/sys_model_sub_system_info.xlsx deleted file mode 100644 index 94049c776ba136218dcea191adb5954b50bd510b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2496 zcmZ{l2{crFAIHZwV;O5?l66Y5jZsSBHIF4@Dd`zZ2xA#chRIf`5EIFgeVvFzLfX*w zj?lwcGD0DH8OD$vTb62guX@iT^Y-3*&i$Qx@A>}D`F{St#m0(}nf&1|Q^%IPXWSPHnS(g%mpy(Kx@o(b_@rN^0;4 zoPc?{D3ZSW;m52`1dDZfnyQ2`E9wX~d{95g%M9bEQq&@DY)kJ6er0J{XW6SZ(7Wid zermAW4>NOI9&Ta3(^pUND}-JoTNm4W142os^X)?Z%cO&vTr?Ruk~uDyMTei%I72t0 zOo{6SyfM!&S)}54Ce2&?wdobPf`3=1a;MRgYS<>Kblyz(V-=BB8pX5VQU+2zi;MZR zSLbSh;|f-}aytD=PYc;XN#iT%Rw55brhUF8!RBDE*|2GywA-KdhJ>~8h85Oeb0v+I z7W1^pC4D-DIXut)bIc*ZK!KuejT7VQKL;fg_Cn?cW-*Wsp^-~GHe2v@vZ%bb0c_g= zghD`c4a5_Jv=AH5#3Un;D5Rw6{jTp+NoSbHUSfiP6B$xEj*;<+=(cYh7$}BGBUJV; z?7#FrhB5&Tl0rM6I8G&XEFr-AN?hjcWMe z?OsZKTmw=p##Q-s7{%UbyY>a~`tpIW%gNRhcgmHV&Ua5nnvGA`^pWo<9i8}w^0KG2 z9V*=~v8)X%jgycBOH&Mk!L`#vG!*4TxH6|NpYjwb{hB+AQhn%m@#?^&^)7IzM9F$- z!BQeuzpm7z^c*VX`X_PajzP;W{%NYX)EsKM8%cnoRd^|W`94G5u;n#r-`5ZQ)2>?? zz#7Y^8UgPIfCJs=5`aOFk6R$#6B8Ur@b?bdK!8s+5{g2?V%A&xs9thv?udyhu}8OA zg=w+(WUJZ-6T-veMIz;1GDAnBMM*AGBKfzTbWMuUOSpKAbtm9oG_T+v=2eWw;C$s~ z3u}~!dDA`o?@Of0YB1dbGwtsd%g(NSA~m0-mTJ{VHQd$Dh17H3bv(^4v)_k__7a0S z8iMOTmHcuSd1Q?q!2;YW3$=j9?gR!s)hhxCg>Q{+WGq)x15G4WN$ z-)BGa$m}#&k3U?b%|5|E84Yi>9X`t)t_xVc4II7je{Bbc67fI$7N;KbeT9U^tjEoT zg*f%Wc3FrKYvekIJlAT?_+2rZ!8ZU*T5_X?uO+0TtToQC_ z)v#?WxTZK7Bcwh4VgXcanv|^VF`_W!{D#>$ze-1f^It3%eo%jbGR`b(Ft#G{mrP@J zqe`pH8FDI#oq1@#ZSxw(_{}F+vjqKKC~v zhfS(DRGsu){etY`A1}+`R8Lh@SMLMeD}4$H%H)^C?3}5ku`-3Ngim*l>MjFh69LMi zKMDWZR*A_*8;qmZ<2u7awoe{3PLGB{ z9DjU03Zva}CiQKI*_b-3voL92$0L;;Z_2V=J`O{ny8RI+4R~!emt#BM?`%~a`w;%# zu=)9oTrD!T_FI~yB|4~{tY@EW)Y^io-|^h`L&ht?m8(0^n*A{}k2G7;Uf76u?BN>U zZfqofw8gQ$>Q$(-xuXMB)LktI>55|diVgY991K-h%d?&LfCUUYS>KD`+RA8#c_&60 z;KKtfBiJURARjzFI0)!NAZTwiU}D#ZKUq-{Jd0HtyuWhJLFV>dzg%ZT+Y-n$DdT88 z$ZvV2D8$X@XMusvQ~bpy2G07ZvXgR~T(Yu;|<>mH?*+k|E9 zf_517@90FHnQqN>ISSt2FPJqnuuIrEdYQFkGh`+oSd&$6QwwT#=^3`)_EK^FM!z-UxfwF?i zWrJ+2xVRBNX4vmHJ-`>Z6hT#y8}T=LpECjHuG^6POn?H;?3c~QDdgNMn?fisZvOw4 z;mpH1n>X`_0R{8BNzIvobIfgKfbjmz@XyfWlydg(rj)?j WWo~1|2mA$rAi&)KAfAM5y!{8Cata0j diff --git a/PSCADA/电子行业模板/common/database/initdata/en/basedata/sys_trigger_flag.xlsx b/PSCADA/电子行业模板/common/database/initdata/en/basedata/sys_trigger_flag.xlsx deleted file mode 100644 index d064b614312559bb9df29e881a6c0461132d4714..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmZ{m3p|tiAIHboV#_T>OK8z@iLI0lj(aT}Od2WWx=Lm%bDeuDGL4y~SVAHxs`EGH zyu2bNF-fk5j( zB+_+9hswru88Hw@6$}Dx0G=MVB9np$q#%zY;pYgH6MA6*L@uk@p$08?Af|3|Q=NmG z`bAcdlc&@nwk(>j@u=_Gn4itEYJ--7oq>| zsO~ww1!qLw=={q=Hw&hDo?zjjXCw^&ex~$CE=xR(pHjADrNx&>NB##T)6~H6&568< z*10A&^rXWeA?Mhft7ge4`{L_oG@EU@3!qyJFbMHt^4S&KzK(-$tt*wh4!fB8eHpBt z8}4c>X=q4`e^P&vJ(@c7c5>-(zuOfPHI9yhr<_=4DBLf%13DoXcZRmWdLqHNHTYVG zc@nn)Y?}atFu-~Q5{MLiy_G8?#X{x+TG9GJ+agc#gtE_0;uWdmG-%!+CE~)}LT2g8>O*l7h0)0p9szm0V-8%*$7QNS@9JL?+i`({=Qum7OQC z{5(W!(@`e&T2|bJt6I%D<=4)#5c4IvvnG+dJzw}{!4YY(g!hip?TjpXSBnX5K z+aci!1y3!>81Iih%K!UGxP@o^_G-UKMc1rCR1^izsR=(MfW~7fb z=^m-eNmTERhhYXQra<}DDNKw{k6QPMmqT@v^L#YqX2opoJDmzM%k-jZOFQDaf>CD; zv%=Ct16xsy)+}tmhRMF`3iYo&KkVzCcKuvw$`zL-^$U4gnr1koCC$P0_I~vP$cc}B z8B65*`?)ELI#iWu^QT2fp0Ac!TgOAgi*MAfXwse%uV;+R^cShEB~0bTrB484F9MWh zzY+evIT+0UGH#6u-Xz>-$x=0fT&ki9Lw1$qX%u`}$7&}nM?2UGlZ|btpGHz~ZZ`T51F}FyhE0LKrFiPM0O1SZtie$XsIIj|if>dYNZa1Jv($ zYu`=F4PexFN8EEdk z`f=fibbelWuSJ%2qx$@ST0i{6t??!=$;Fz6Lj|ME!I0FZ_5vr4^}TIt)&x}7Gc~6PzeF(D6i6?oFNc` zC_onRP_l~73O4#Fhv95aK3Ay&m=dFEi)Z4uZP02OUkV4^i63a+@cY2i* z*{($)GkG>xV5oBY4ay_*&j@cYA~?GV>)!K{QTEa`TXy6YorSEs>Qt0@gQ~NTxu>se zbJBeY-NUg3R$XF-(5|tgOHi6e^#1gnF(90sn7H0o0r~Nm1>gXOI;b>m#r|OEiUtrJ zG%If30+<1?zZ*NEj-sNz>Ier^;{Qv$XdF>tT#X|K{5t$dCPgENs?%zO7ym@~SF1!_ uMcZ!GRbTS!$G>kvQD@PrTy?gG{OkNbHHx#71m1!`P~fZv5EGy)cYgz*;lX(T diff --git a/PSCADA/电子行业模板/common/database/initdata/zh/basedata/alarm_keyword_define.xlsx b/PSCADA/电子行业模板/common/database/initdata/zh/basedata/alarm_keyword_define.xlsx deleted file mode 100644 index 3b679cc0e385c210aef8b962e8a60780f5f27f71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4391 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 diff --git a/PSCADA/电子行业模板/common/database/initdata/zh/basedata/alarm_type_define.xlsx b/PSCADA/电子行业模板/common/database/initdata/zh/basedata/alarm_type_define.xlsx deleted file mode 100644 index e445a5b28147d3544b890d25c4c94a26b24ef1dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5494 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 J&QSjR_aER3ZCd~U diff --git a/PSCADA/电子行业模板/common/database/initdata/zh/basedata/dict_menu_info.xlsx b/PSCADA/电子行业模板/common/database/initdata/zh/basedata/dict_menu_info.xlsx deleted file mode 100644 index b49c381f1bc819b6c6dd668f91f8ebfb7b77c8a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24594 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 diff --git a/PSCADA/电子行业模板/common/database/initdata/zh/basedata/dict_vol_level.xlsx b/PSCADA/电子行业模板/common/database/initdata/zh/basedata/dict_vol_level.xlsx deleted file mode 100644 index c573cc598b40a860f15e3db2bf3969eda5821f0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9207 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 U=`#RdK_Cclwg8At8F!!l14K7Q3;+NC diff --git a/PSCADA/电子行业模板/common/database/initdata/zh/basedata/opt_token_define.xlsx b/PSCADA/电子行业模板/common/database/initdata/zh/basedata/opt_token_define.xlsx deleted file mode 100644 index abea7169e2902b05f5b8ca7594e414c870e9a858..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2722 zcmZ{m2{=^y8^>pClikSnkUiNlS#u*xl%2R^n_$pRr3or1M;W;ROW zR3smLI!2iDHr^F!k>%E#jyh)-HmvFIVE{)<=eI%itjX`OuT4xEO#0=9`d8d`FAn#j z;q&K3B#do^u4ssDLdf|?8g8}Tg=D9Z86_39^gHX5@+pxYGbV)zWC{D@SIK9xXP_E> zT}JncR_dMUDMoERO61ZkmW9d`x>Ryv)waGYnIS{snKVaxOSXG%NV=jt0X$XHuX;20 z!iJsH}k+&oPD+1gm97qcTR(x~^3=s9euoNJ-3>4tPdixS>{t7#_YPf8qPtL-%q zESr!H&_Dzdg=Y{5nCghir{upcn+nH)GiD<$x^on7W-aQ-K1E-@IYhCLWV*&(v|F6J zh6fL-^HTVibdqn+L8Ur}O;&wUWt~$p>(g9(nX^yig~YFyPl#x@z42Av{5&}8bdUkG zig4j1u$TmZ!CsaC4E()ZFi3Ye7US*X>A!~{Af?*^r^plIbYo?dH_#;k%-54AE{Beg z!kpuh%gq;4@E`h!81xC!isH3ZrP**nUG;&vDi66&fh8yf={z3ZiCT)eIpqOr>|*f;P; zWr+%$wI`R*b3~{gdTubRD|S=iGo;{f)v+d0!Tq41u?M$13(QXyr!y?Qe2x;^e zMh+HZnW>Q;;kCwR^TjG2n*j@s5^P=Fi)Fs@{A}W5*qI^SB@I)$k|GJlAwC3 zBBr%>-WGyNL*1UpPfqzPugKZiK&MeIL-a|X!V(JSVq??`T}N=eeqSKEm%Kx-X4SCe z#OZ@Zn%ptA3RBDclf*L!-ZI0u2Wya{BBz*7PdFT@L?Xp)Y;ylfnyswz5H;hr`Fcd( z{r=N6mJ992tx37DVxMAIl_u+!L4{`%la$;(ijFvTO_8YI$cjw&>ell<%h&1XWt24P znW7FA&BBlB6cddmgr)J_Ifm%N)Ui9<&F`J(PmZkEZ8d0D(sBBXQ|e`!9%X^HSNR$^EtVAJkV@{zPjm}!wI=+4@!NWr=6}?}VrV66J z)}$6Vz0_t-9}@K>@tzW(@}4eN=Ax*nH9N^|XnehQ$;E-7KDJ}_E`DMy?-R>&ftz~m zxtdtHQZL>6!3s~|O6eiV@2U*OHK)7t5|ukE@a{ypBJ(^I{Rqu@ol-@`l4ICg-5)gD zWye4JeTYOlTC`QaatNZpWz%kdi8Bm%EQXs%4Np+P#x}~|H5HxE42I%T-2DjDDP60_9T zpI~g79vG^7S@yiY$yS92x;t?rHXzRWBJqZG^_cEfsxxV4$MSjsIp}mDx*I#u?E>5B z#o5`wE20Tg83EMpvrpW_`#iRupISY-vW|DH9&w1W0V4*Nhb2{47UUnUd-ygEJ}db{ zbW-!BkG+3!p~j4Ru?Y(z`o$+Z)A@E=t&Sm5&#{b>x-viJ7VY|IZG~_|fr?Oty(foz zEcs%qt;VvLX~4-yRM|6GccC0D{i?nXY!x}=OJdgf0_=b+~hrP(sjvC*QTrJbY~;Sd~d<$x_lQE4T)_|55Kv zXvy{{Ws#FJ9As$;sp&G%$K9q0gi<(J-0E2Qn5 z`$9ILzWx6`O6!NV`|SJS0_L;d^&(miv~_jgLlDDH5C2wKS}AS8*q06hSpxk0*YZIt hrcJ1Q@jBDL;{Qo6OH)SREeHew&PD)n`=PzN{{V_ugYf_W diff --git a/PSCADA/电子行业模板/common/database/initdata/zh/basedata/p_dict.xlsx b/PSCADA/电子行业模板/common/database/initdata/zh/basedata/p_dict.xlsx deleted file mode 100644 index fc866184c133ce35620bd597964fe1d1e72e753b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42922 zcmZs>1zgl&(>4mCbR)fhl%ljqN=YLqpwb8eO4kw+lF}^fN=OLOrL@F?NJy#gX%prt#9fsc&~ z3AySdufK&~O9?fQny`C40$W&Fj!6m~ng8&C_`%08bI%?9k zLZ$RhtUbe0!`I8J_Kk>}%2YjYV>qxkU9g+z+5+_QM-9ar|J%d1 z?w-%^E{;sH(&-et+&y!tO||z$X5GoPyg$m%^r$ZiGR)X`B40~7YUTfGZEpU4A0fKI4gZGc4EMbOz(HGXz>C4|UK3%@ZB)l_~nd1D_ znP{kZ{D}pb)F$7v>l3U$Z@RE!n4}EhZ^@yKPKQhzpC{`>um@GI_sm1kukXzu!c-=#?ycOxeb(5TgIn+j%K9&v3xYA;9Ad|A)7Iyu96A|EBaeJ>YK^;?3q+ zU(%)$Z3(%Fr00{*oBi}X)-98~1#g9DjX2S@HM4&AKRDd}bm}*q=BhMGYPWLw#GCAU zgz^lFe1CVd3O;5jBuV_%8nHy{5>~Th|4uHa z%LG*@ecy*0z8-OJhQ^{HO7HG!=yh)A{%c(ED*HX3%Z&Ty+6u)^M+UiQU$ZiFa5RVA%(tR3R=wW6KuyBVqMdm|gSdkirZ-_qCX z6o8MY2T*rA%mjHb^0Ov9q7O+g-(j>q6tz7>s&sD_P3?J&N#ou1e`g6I;4VLxzx?oj z2T=b5__}*KdpSIN=KcTWl8r^0i6Soof|A4w1T6nQ?BBPD;{%Y;Vm?$TomA-G){Y~& zbHE!^67$6+<<_#y;)Uk+C%$$Ea^_#()0;hTDk^`U9ir5eD`9zzT`ymURo*b$e$ta1 z6v#TLbT)B*xUf`(!>t@B1s|WT`C2K3?CkCt=LDb4?I4uSj?*?;aa`wT$5zupXJcGe zinwDeDo5%3c%`}Oe5pjK6<0NLzHvU4gWEbf2sy`A z>VO`%aB!~6nsa`-loNdDjXUj}2|n6gOSAm4krRwNRR06CDV^=31pX)mpX$9nz;1Az zb5|B9JY*Q+@J~57W%_y0r>As^J37azc(8q=i2Op8t7)+DYS5xf5&B7I=C# zbG|8u)$)6QM$MCP<+;r3B! zLv2|~;6Qr^As-LgLr%`7HqLjkdJk%R&Wzhaj(5P>*LKktzj(fXw9|$RISdh4dG|W_oTQ>3p%i$uvXOHi0FRoh zM4NxXG)B%ts+Mp{k9v^^v&C~or%%(-gFtZ^m(tl0b|x6-d3?Hae()V(g?s4EGB=1R(}P70~+574a3yhCA!EL*~SLQ;!nXldfT5&InPQK{Qb{L7~ioT z#O>y!uKZcavHNL$^=!%Emshgwo#iK{;I9jtdS%0L9`2dA@7up|j@bvPOaAA_ZVWcN zwl1^CmfCe}LBdbqxs#=kz#`TP%M&aT;o9PlOY>!ORjTU>F?=s~PII==7IMB@;(lH^ zw;OJaVtuhc>DXf_|2(_K81dNd_kisL>y-a*Dccu_p!Awfq7$P}T=P?uZ1XfU+oHZd zH+q||g^#@}QHic44_-c4H#m4a)feA#FezDq?U93!+AV#Boa4n!*}`}BjHk1k zl;R@PYQhtioDbY}eS~gBF)+Emz4Y_N?_Mp1y+`rowdB(#SNgiczWCqkYu+18$h6I? z=eDkCuJsFk8HGw*N439W^vp>!Zx-htJif*rBMXIIx!PSn5u1uG=SM`zJTN<>fAE60 z{yLQF7b+1au$CR@6d5`yb#3E(zC7eZBBl^}#r|GZa^Zi_ISdb6sSZyLhV;IjOn$c- zE=@k$(WH7C9T&Xmcc(yvI^sDn^#j@jh8;#fwfOu~W!mqF1LQ@(>~ONdhN-%{yo?v* zOGa|4Z>@&HsHc2g4!`^~J54;sRxjkUjLZ+EkkM}^ssQ$_mYGDQ(pi+|BVN{)P+JbI zf#(Jt<#7RFSX@!Tx|d)uFOjJTr@G<9r!SfO?zY1_!y<3C{G}Ar=~4DXR~C9lh;sas zgYQ@~KYKHokF4@fL=L}132X*#3!ndJn7sDL6QVrZsnCRwJlm=0u6pufYq|JPVPovQ zO7WD#ozK^1a5=8E3#~!7Lf1wdpZbm31TF^QUc*9f-g61FtoYJyze1Gl#hW{Sa_S%D zph?7&lTGLZjns)9mz==I>WC?NX z4pkf`&^+(&qi-=w3>zBZ`ZSMI?tM%1#^ctN%^L52Z%6B;0o(Yvbf%g30K5DbvAx2o ze2$KrIeg;PDl}YX$arY-om24LQu0YS^VE9Ia6|!NqTUd}vHjUj!VvqL=cf6_W#k!d zsTO;B>ok@w48;p_Y@075e?MKxQu5#C*K0NNd{XUwQM8Fye>*5*SeA<_hB6>Z%ywiR z_WET=Q2l)SlNG|By-t|C*MauRnSQsf++1eufM_R+8j<7n#*&D_7b?$_HjeMEQ#O3| zMJ9jF*oQmmREB+!_5Xs3{B|NdpuMB$^}V6v$H_Fn;m zxTKBWK!BJnf>@0>buLpZjbirZ`zP=+!Z4JlW=OBEH@`2Z{;7lV{IEnWb`YC$Lj7^R z*I0*|GWErwb8ECCXwZ<;1Ax9g5A26_CHDMR=_krly4H|wh10Qydz?!gR0IRx4-XJ`%U>)iVP;;fMJ87;_@` zPCdanw{8eFeGjwKB)aexw;}#xsA4yP`WsBM^T9V5rFZJpSxITayX)S$%TR*S1#eMQ z2;xWBPSaUt0;Cw%U65{XT*f>$E#%MM6a2RC?dLMr9(RWhJhad|*ySg7CTptA|J9T` z)d&9t{rJSPF&K|~fh=NgEb&F(z3`+B1!Sj#5;Z}6*80L>_Ef>d(4QHXdHwC~0+zb} z2xj=2+{e+C$$Ejh0!yIZ=UC`IwySV=g@L=j5T+>}UuAUl{l|p&anoOgyE6ZLClLs~ z6&mvOtwxllaF2Zh?Th#|7$|nx`f^b0j@;9p6nXO}%eSAz|0}ot7%xGb_$;-<&+dZd zsWQVzU1^#$Aq45PCqv%+v=Ynq zKi2r=@7C>pMzo7D(DJQ+e<7y`=GXT)0_2SD2$n#M@jma{9s344k{B* zXgv>6&H`Phh%d$6Rs_;Flk$L=lZrG@h(lNr@E!IK#{?0=Q=yut7nOvJYQp_kAie`= zh3$W`xrwoDYc62cpppczR%a*W(6s}Sk4aNU$|G2!O`^4@D~C(={Ca_6Dpiprv#-6sEA%(PPJ{2>A0*LEeqkVxEThtY*?R;sl-qBj9chCg1XNkJdwlA%bH z6%~kZM|g9|*1}Xf13(f7rsAHYoe%*Mrv39@8GvOKJRD4DJVV6HHXTB9l$w+#GnD*j zv=KD32I!!-GNy94Bhy~?91rpR3o_-TEsS~5`KaD2U$sbauoSm}{?bJ3oDTAGn zOJb*Xs+*^m$4O{xZ(3F?D!V(f>^E8Kdvb;5LT_F9)|`e#FlTcQfU-e3P^LW-4HZwV zGLl#^-5#H)JlJmv(f2GUu~Jl!YuV7FX)nnU;z-Id-(ujUoakd~HOq7897qz>XbPV^ za6MjN{lGyrYyG)*1ZlQ@A?vlggbK4IfvvYi#kY2c74H3}X#MRLM0VaPXg6PO9#-B) zVoDS{Zu)MCZ75h)d;l1p{U(^cr~O4kz?T{dsw_UWFu%pI9-Xov-qU!)d8gNxG<3LX zhJrx$@=}71@S-&6!>-t>UCHJtWk;IPNf&9~;utwqeCmChoZDplz8Vfke|33`4p`1* z)NYSB<*-=CSpC(-zu%Omzx|f3>LVxBY|T{fh$`2B+gt|hq-ac0yd$*HEH5mP^=))O z@ZR9Bu2%O+(NBT+CUI992MP}Tboa2kGiBqiMbb4xzao-ea9Mxgq>3r1v~O3F1$l5k zSCP5B^!Hx`5%dcc*c}vboM0T<2|GbfYAG)DrpX^U^**J=)w4f~M)L|ZNhl}7L7%X@ z!D-vHQMy0Gz5ky!CT}P+pAA|m;VP(k)?G@7;r>u!U~h6&DuhKyp`H7H05lo>18~$_ z`*vz*LkN6cCp!?|;+mGYwiT@Yz0*T^26XAyAbQ{Xqd4)lyr{5@3z|h|WI{kp_cL zynZk6iGVaw#bGQR(>cYH@@?ZXAu+Qz;l53>AkQMCAXKv@XURnc+kk67FJFoT{C2o2 zmHQ=gtWNvS3jrkgM*odZs{Hug>b4}cxQM;*1_vY0oOBcZwA5l|7)Il~9q5V8U52!T zRHt!K&Cboei`<#jTSz=W;|2<9v#kiN2)z30-w?Gd^nPwes|z%J|0}JxqY&(%E)IHS;w~FS(Z0HNb?#9IyIA>j~3oX z-}3yMXKt^I}mH66``C8N_WfpQ#Y&)2{KiWbxD zo*Ch^4X-{Ri8OrGLHWtk6?5UBBlm8-_-YLc0@c-U{>m(^Q{ZSCXo2FHF}cnMc`QNF#4#qxCbPLfEp+ zur@XO%^)|=7Fs6>9zmUp^BGDFVZ4j zmk}k#{h8bvG80^ty^==X#718#w0PZOL=dW|!1fwVp_Xs;1Az#f|Q$X>ljs(As(>r>4Q%V$z$PvmMl0M0LB<2Db=_v`v0oJyT>4xcBTlMb zHMN}XX2c|3x3Mu?WGI8H8!5Cv!kU!yNpIU;f>qK@CPo;NTxOR1t-<^7WvpR_Ub!5T z>E3RVp&Mg%PQPHpZE>JtPw2QIvHFI14ftL)c{=u8$EeBKFZkwE`|V4sf?kA&o!hqv z9+!W)n(BH;CSWNkV8apLCG=3T-jinQ^yyVh##Ngu+P-^2qE&i71j_HwmEECRd%`#V zy^phxqkAXWG>&%M?h2W>1mj7G%W&y`p9|UuW325&g-YkLN!sG{On$%;7i6cJm~!(k z@ADjJ-@kNSNH?k|t&2R_dYJ0q69bP;5DcMU*M5?=^mN4}l*dkkxA(eDI}RL7zpZ_)f-j=(B=Hp)H2IjDI=JcwTcEQ>M`l(Ef;;2goY=(Z%$s; zz{+A!;@{LOs<{gi80$NtO!&H&ezEr;0xCAnPw%`B5SFA|l{~0;+2*caJ79w^%O=e(>-mPW<_0M}Ih=Vyq_U`z#fgI`h7tiAFhEY(ga{xUyaV zc3txJ!%65JhI;BP&T&Tq>n-0zNX`KZaelFs?r2_-$~9)Yt`X_$$`xX~yu~)B(_8Xa zbbSpZGU)^E`RLvw@iEwu`3mfV#Yf4n5`mv4lp6kbMhh+1I77WOM$Jr5Z^Wr%1J8{a z3}$&&%X<}tZWskYvYnmtU&SA7))7UYF_`h>bKH$F%l4)8x%PZ8c=H;k&C*tNrODgG zw}z%Zw$^$Yn_tctye~JelhZ%9WBw)u^};rORt2Xwz?Bfsp@t3=bgam;cp zU=}U3Vu)1a%lVCL=j{@N7R@QHXL#01P;$sCc>a`ggkEKETYOM`EiSW`oBJy1R(0y- zL}ByR{hFfR$d2OpC$C@N=I@^w{kTkISBYIx{@8W|`=u&cC?KI`W_+;lQl{>S zt4y-rse9hl=+W_3NC~`!R34I5xsyZ%_u6rHqwbBRWozf;H*MqIwop z^+|;&UYpcnSjG;7@+G$&Ct^)&PFp2txvnGGq+MIQbCb4qowhL^W=0}KxA9PYG;2Yt z)L;IAppbUy&_m}Mf!cR=b63@=IyGr`IgRa%=Og#qs!D9RReC=NTiFpYb?x6RC=Fn zO|^>At;@!^Retz(jM)JJnWPu*^nLdHr7Jwu6_O+7Y){? zLzDH1Zc0++OJyc7b5h2=LDjg$nweD+Kh>LIi?I~!|3aE{q-M_N^oyNuRIb`kl6c-l z%F@r|suL$_o~gbg-sISbtCZ2ME8pb(L`SMC?F93l*(%$pbM2IVY;b$rn@<0$yiSfy ztCAnN^aar|-A#{FF{!R@7gyuV<}@tS2ADaUVt)SCu=I1`c8X*t+w*r4-h9@eV&g!xU~*FrBy}z6c(28VC{BGskITzEV@xJ zhV56_K)n$PySx+`O`qS;rCyQ7&UCKN6;R>9%S8Hc^d-BvK;HN-!d9hs6IoNUIsSh! z9=xfR`@kNdtHq_(ci&C)Cv*}1AS}O~zlbJA@TuWl3?8-=8Z{=;L3dUZSYqBZ(Gjq{ z;%NWK>on-PsircT+E@zQkIzZ=n%peWk5ASooD3wS>EHQ;mLVHun?Ey{T^GFL*oo5{eVCPV^4$s)Sk_`{+2s>y>-j~TB00$RtU0d#j#2-5S&~xBU~T`#qsU2lQPru!tPVFlvMBztt3KK2Y|FnhYrjr3N!xvV7l>e zw4=vPzffxXFj8~lkKFC;3l$<=26@wHVIa%6Wt_*Uc(fnBoL}qyj+1^}U!{VGML&P> zH?iKJ`T*7>0Q4i^%LhPl_voXlysQ6=|Le-%8lHIau z_B6)Km&7}*gwVzC2WA87cQYqo;0Il6^LtDD3EcO>z-c*a6pswGM?cDS{bTIU__j?S&;K5EPHM~sG>_f%&YS1+zl&`CkJR=R1@as`>>FpR? zulwCqP#+F2LD1Az%&S_&CL=+6hDHjZwMuD-K7eEieHbE3%;2a$;`~dpi*clh%F>%j z5@GvmBvc3uyxL;aNC)e>?qoiA@;=v6Li)nss^roQzcpi`?^pqo%L?#q^%@WU)YjM0 z(}EVUk&Bnr%c=7nDlgunRbLYEQ#S$#OD1)Mtpr_n$6MexgU>SGh0!m)<9N(G1Epf3 zYf6Z9y?#@9?dU?9`y*wxtu(t|?Msd5#6{|`iYuwk^Bdesd-+~%xQVK@_IeyADoH4g zlcq1;Fg`%NM!K}nq>&MZduJJup6}px$uKtGi$Czi!^<3l=AHS=9*f4JOwj@$OhOj0 zND@Z%_-h8YCSEr2#Jy{#m0Y^}-2CDCT3V?;B-si-G`vs<5*!kh5VmlzD-ga?T56pI zvOiU;g2>#^?u!}66qnLg?q}?6-2ekY3)tUa&6x>_mBN|DacTn=6f$KKS-0mzWk+9d zqGF6U{2?Q;Hmh-?FBDpUk<2iz8*%3Mr%0$UvBd&%%pF$VG5IL&M1cT^gvwH$Gy&k66#nT zQqUN9yG1q%h(Ha5(D6lSmno!eYc$m99%@_`l*V?XwQepL0t7#f{^H^I{0Sup#DK~1 z{>GWItGHI}>(Tu9IG*AzgJJ)5X?Co#>oZqDJHNN}&$6IG*O)OZiW3In<84z~qSt}? z{KPmOqe}+2q{Ev$+1ia>yE2JvuJmzss*GmAeyBb)5FE4+3M!*%F>YjmDc^8Z%U zh5)pVYLU0*$7ttocSq&np6V4IqWIE5!@30+C5626?ba{dqphcYq8$6i>snx;@+f3* zCOXD!&hjr4F~jtZ^WERbU%VAF6Qu^;dp9Q_0lEmPaM{N|5Uuk!jYXLGxHwA# z)_Z*MO|hj{WkezjU#fQCJ;JH2lC-1b6E;w7bt|sf(@U$K(lSZgs~+k&Lw97H9w8Z}_(!AN1YP3PRT!mr z;f+4XSI{*rNYY@)W?BVi(E}%=h9(cWX}0~19{jYS)3VxqjY;(CZ*XI{>BbRjJHpD) z+J3{0Gg=B`#FFfjKDxy8?v}(=CfFl%!>|ilBmF^eoI-uaPlR~&<*bd@F7U{SSkbP; zbGfgPUy+He_1_LMc~Tb9A1P?1OZ@^Ha*IFN@;RlVeCtYOQJ+sr0B=^Om^3AtRaF%l z$t2N<8eW@fEy^FKQaS7wa*H~IU>1c)M7v`%QJoKL7Bt+-X?_`*B+;oFYGPW8Fm_8U zrx7A<9CtKfnLChA?|9v)OUNc(3CYJ6rJWi1(Zk%{bCY4Ox!EaznT$*))>F4QB4@ID z0Q*e?P5uxZTA%C8C_RbJ*)aMSBFpxA4MTi{xn}j{(wVHaSxHUc!EKoN++Cp-Fp|AC zF?qCSJ~^!+G!|iwq)E@iEV_`i)y8C^#3{Nes`(4}Y4(QQBZXP%9{I$deUUwOoupqb zI~u2}yNAyDGfSA<=nvslN0Xb|tUPODYh7PB&H+t7R*?Y}xWx)E= z^89gPEuxn&vRR{qYRh!+z>KqX{&nyoW{dfL_?iIAcdXP1GVhXSljv}jF0rg`88)=T zl{axM;~OzFGa{+YE0|RF8ej9d~Tem241%& zan_ZE^nQSfx!HI}9m?Lr=h>H_-6syk7CnUS9FC8_XoH!%>1u#dA9imN9~LzrmUfZG zNX3(xl+D9W1_IN}s$1&KBwd;!g(LJ5kx!wOL1DqX`^mTQ=F z_S8g6&weUcFpG?gn=GnFno?(eIiAE_4pz|F>0>?H4@5y(SIl+9xxBFXIqa11YPwYv z_11=%Pr=SL?kFng<#M;(qcE6F6^p8gxw>AJz>QO<=exO68R0xkQP@zPZlm$V2P%ze zsnDL9e2bU@%v!0;@2K(dB%3)KA>}pLU_;9iZTC6{ecWJt#1{c!tgg6_O#85TzDYW( z4j?qU9!y;vj}yImEiD>-pQa1u>9!&vEyTB~h_L0RM|Skbr^>JHBv-3@-lN8Om)OSZ zmkPPr+0na2W;njqRb{3~X_U<}rtYo~lPKT^SEYWFa-%)=M@-TZ5@g_C0;sM8Uvf|! z*3W9#uywVmkI>{2wx7+cyl)(Qab)j`!G7hEbJCTQ=wSC@%j85wFli!erAp5MXl3D( zV1K;27o(<-&8iX*r)jU@$EpJYkjM?^MC?=njp~T$_EUh0bZ6A8Q-cijfAfCN^{|%P zZLm;`vkGrn_GpM>6Ee|q-^$uXD7XxtB@ztD9uo6;1!r`nkngA1$5%l~+C?@pE|3>f*;7K=tkdTPl#|Z$2r_2`$Zb$aHGA$j3Fbm0#g+x(48K zfIA57py_JHyN)^Ruork7Udo0vd*lz+3(#vOHf_cL_x}4hp(z?uLLP$)twn-DTNc+ zqxg~}E*5CdXJKa}nG?NaL=$2x=Cm{(-tdg%t?{VfiLSSpkK&D;@0ab$_DT&$s;CWO zS%i2dC^VYbQk`{1FfDeeU6}e+XSTcYtM>}sv}3Z^Zki%Iyi#SJHq)Zgo8WJT^QW|C zm@X;F!Dc^*G7T9*kXa2u?3Yy(VhUvqw;& za+rF$p^}Z-JFbC`d}qr-q)O(1Qm}8ZP!~CjiAnl!ew?kfwNQJR4Dp(*P1{w-TYhUX zA0THj^LQAmZwzVniQR#^I-2oKdY3$7|_0!22a3to=i2MbXSIv8}}<#KJL7mq6;~yHe_g8UXt4F|$(2WDNpLRm zdiX`Gm9l!xgLXl;6m*}0In(p^_#H@IF%TJZHc6f-V>3Vts$a61Rx=nX6bRIgAtHxr z8mloebo}t5A-bE;d3y=y?qTuCFaEd!)UXxCz6H#3pl;)#_Fw1cNSHlJ80%Ov z`C@rcPDXw|lJUP3`@RBgU>hjkew)s3|n z(t3m_G5?yA;O{xY=|jRLwCA9oiC1W}B+99WrB%V~(XK6pTBavNF`66KRkJHwQ60-W zP6^$`gLuzCp>9H_wb$ z63`2*VyZHN)ZC0IID+8De4Kzivfabjboc*)x@#`A4#|o+*s4YJopct=8|pWT1)}T-~+JEqN_&c zuQQdn%mvVOT+Kzan*D)$*iBjGuHhq=$}j&@Utj;1dEbp7!}L&yB8e+4>IdpmSFL7r z8&r}3_3VG8`DfQ|y0RP@>Kq1HP^V*eK~hyO63{rq$Ku7yj~s+=$ScE=GT~!x*SqK> zW3e(rv5>cV*11X`5iGpqIVZ9@mg1QV@m`yA>!x#p0gDm~cCLTI-GFn>^rW8sB7`hB zm+!x^RjLfS4})dy+afPxVmOo`(L;CGZ*jfVn=^a>Xu&RQ5v0V+E_|$89ix2efp-s$ zAmaI5(8H`R!$+5+9)QGBRRB;YCJ+Fi(-x080vN$AXx5S%e6U39MjD{2brpz0>t0`w z5I*TOVB~Q1bjvf7V>i29EV|m4Wf#(t1^a%|^L7tS{x*=-w}=87zp&=;C>>Ft&WI1~ zZ*x%5GOh8|jh~vloWAtTy)NMc-YvHSFQY>La(d=0(B(64Hlxu|1KTp z|GF|v{UamNmGMIxg(fXJ!u){QgaUML`pR}Nf6p@`JCO1C>1)P@+pU|5SMAKMHBuT{ zcVBMiv!NDX%M3h$WzwQLkS53D6ebS=P#nZxFhT~tlTp$CVkoX)hXXS9w-i9!9s~LU z8-N9WxUiO6LxaiaV`!I)Oe+Y+$*?*)s6cKh)$8XDmJPcpJs!v*8NKIKSISZ*%;xsB z#{43*D~=n!KXz?S<^(Rico~pBzH(3?SjfMrH)CV%-VKtopefm}LGGBKZuDj5g79syw;*73cusUMjD0uA{$OGDt2M!YU&xGwPd~p)SNw? ziCdbZa8W(mZ|ng&Dl8T)_tIL}Z7_G!ra*2GYcf3wb!@`e3BLn_pBU2x5+vAoRf)wRcZeCccde^QzW8B zzcD{b`-;=Adwiq)vwlA613wrntsYegLk+;aNwPTH%-TwbzOvLhfxh02hu(=pSsM1n zi=Vq|QR%a~u(0uHK){%@dfhZL#V0|h^l21HgsfKp!Edl0eLfd4%qJo|bD@oCVOk?V zyFyHm>5B1a^>*x=qja#@Szh$&6O-oPwZN}6ix%R{^hDn=a&}{|acnGLRYwk0W(##= zlC)Rw>wbiX?2&_&e8w~XczUG?vvjn}L4#OhK2uh2XuB!V2lh+ewWYGQ^zNw2zlPV> zi#r;4K6DBiVwOBq+Iw>+(TwDkh|{3&<~z;3pY+W2bruF|D+{4Qfw7l9gA6wlcKSud zNA!Vc+0MYLA^fxM-+ioEWod=0HY_o7-)v?@ovQ3*>F~u#tICQ}NA7q^VJ;~WgFZs& zDna>MnVL)KPa~;nCXtv3S>F2%Cp(rfJJVI>Q7gxfU+TWLo&2ndXF0ObKw1+E7KWS7 zsR(UXq+5TD$#BJe+7Ptk2>WOwH5E_$;0~pIAgYbLJK?#lhpk*Aqf{5qOdPvLO5>09 z9FGFgM&uo|9oL6~8YXaEEd?L#sA}kJKeKA1*0nd)ai8-C( z=Wyx=1+;%{O@O)i)U}WqRuD|5?;(MtTjz#l{y8U;?%VxVb1>DC6wBW57@D~>1((k3 zu1KR81bOK{y3|wXR?dX(ca!(J7@NsTfV+>`Rp#`ea;qJi6yJ>pSCU#~w1ez%AZ%qe z)tv6v)ivAg3}1NH07SW?f)}bgX!#U1^Cd2`(?8i14VHZF;F^&-oBDz-(uWf*_O*LJ zNV#L+rot-Q8Tep;LyzF!Dr3a6d%$eFlm_i7kza)kXV++I%pjTF;J$Trg_;=o!}a%} z`Q3k%XeqMK1hoyCO>L$Ndd-d&+v#>qCs`JBd-vj-oa{*oM~IaGSoIjwN`FL%&wy)C zli;xR{A?7s23cGP!E(F33!z0Gc|S$56JZv&8dD1w-v333CN6QI^^+Sj*tHscF4}6M z?PlnBzQs(%Z^$6V+*>T-8KB@gxg&hQ|FbrM-B=hZaq#)qoinKuinHupgQav|PSg#4 zxI}A#IU@?46Tj<3VC)YuoIKlw|K>IaT`5{gh_h$c?c?6u5X)3Ogk z5~j?PhueI1QK#-p`;sA?+r%hqe@n(seGn^PIv>!>$NijGnYzZ@JcVgp>d!}OgU0sQ z$I*wHWnW}V=+=MIq5}9m@plM84Ml^(@U1c(SU~23-&d8%^VAG}>#Gd2!kJH-3UNC! zslo=kV3GrO`<47gDIwuQ*So{=DvhW7aU6FA9EJ3U8 z9VPHwAaB`%G~^v`94CSz0acS6li$SXQj2M95Es4(Ncr}~foCZKaE`k&a?~RH6OuJPwm49?8BEigl{|>|;U*@^M+_DAP5YZTd69vJK?bdXfUZN~m zAW%}6&+RL8k_}gL1ut)~az23wKSpoimm69|=G|HC%uY%Uj7m2NibT*%y^Y&sYdehRK-%j+1ohGF>S||p@t2F^Uzp*2bpLHW&@+PRq?aD3 zEIVLI4gP}u*qBA2Q>Hw`cXcp!#bLo_wn@)z;F8JnfAMR z=Dv2?JOfJ+3Nj?TOME4eEMyB51(;#+Td{gq$1u$Jvd(NBuwYVC1>JNt+ZdmBV`ksazV6)vjJtx{nkJuW<=ITbPqGeR?nOA?t;(oW;hRt_BK>(H_i|rx z$36!|sGftd*;j4@qeCWkhu zQ3Yq#7RStQCRw@UW&uo(w}&7EcB!3Fx}O=!4!=~Og??ZU_BV+UR!?YY+=N7p(c|!< zOFj2UN-`prjKyfBcgVEciUw8CcBuT4;J~)`Gj@R}D~HmVe}pAKb7myNMB!H!+{t#u zt+OU{&+*E)$7nmv{A;0{uB;4hJ-(-|S&e&a2Ea`mIusF^`{vR_a!DPdOn)W&Ts-4( ztK}Vjs2B#A=CJJY-zYlw7Rc|K&zT6dS2S9iG9c$nY})=J2NO4u?rh1NC@nf<9hf$5 zr!pN%{Xx1BcTwR~(f!x>GQ+$$Ps@xTX^mihc^_9G%R@<-XknhlbR@+uTTT&TA(B+& z;~43Bn=|AVe-bAuM~7zx`b99w?y;DPny2eyv*oGy!jTPW^XwV15=0d-zZKj9@{1#6 z!pluonr=7kr|sh84eaKtb2+Etyf&&QYXM4(<}T=zr@lmNm9OscMf?8v`bm0w^i@Ka z$f;P2%-vR6ROw}H=M-j5$i#S2ck4ab=f+pyCWl?al&YuwKgcsR1U=vLD!>=+{++cZ zoqGsqQT36IHSYg*9AGxKgV4hV-)|aAgB=IXQys!F2-wb9<2(-g^K0E?<8@6hnj!i7 zw3-sMU}vX&NWlnZd?WnJ;!ChG5%1~7Zzq0FrP%sX9P2VPoYCz|%`KOch4g^E9x5H& z3Tzh`QPTqP)=&%cOh9)FlaIq?RPKQlOk6}kt-$GUIPm4!U+`s=rGyn*DW7w1trv_LD-tcczFzFn1i5^uy=2!!L2=83oWYK~|kKLhh-taJrWM1ta zo|6YGhF{je-*hh4G|1t}*wcg~n>lvAS}w7$_Qq+&E3E*Csu~~uNay^LDBat9GxiD$G-ZQw=X(YcqfH8-nlvxUzIV(N^F@!%#U^Q` z8lk#Jer=@*@T`>6x-VG8s9Gl0y{TD@oBz31cZj^+JLkg!SL4&E`c6LeiCT0PR*35S zNF-l=yTFc;Fwr9OEz=cge%b!}F)Vv>HZwil^^8)9T|5Fw60J)!4y(O@D;k;uMs%q@ zn($4ym8iGh)22pt&I+#fj{K?X;N&~Fd>~Gap(!UtZEBEKk(I*qZa)({H#hyvAp?&$ zOYUQ2*i#iYT;mEln*vLD|CL8n16#Rs+jpM1Vo3B18TYg${*qR(BWS?^+M+`lSZWB} zHj=P=5BltVy3~U)o?olmb~3+M?|3l42P-|M!QKG-9t-s_PgNfr>;q5noAiMt;XEfh3+HtJ$#BTt-I}dI_Fxi-0P0 znef>2v+(O5Q|9S&nb>#M}-+XcbVx_r@*80HMu*aw5 zkZnH5iaLgJb24QcczMVZ3GDYW+2X5FFDCIou4Cyc-&@-`q$2QZaVn_pZLrjmzuSm! zFB_n?f2GWO$e&)W%ogH6z`isu*^4E5!=tQTsf}RM19*NoFPesHnI*r^7J?uy^^JLS zU!?6F*&@w|<^@zCm&IkQHZphG!I#vs=tu9U{3AIMTT|M^6I&byq*jvw3gtW60zAvf z#5rr8xuIx*rvZ(!Y&>IFN^?|pZf%ag)Oyo0Yp)K}M$Rw-wa_`RSM>`RIDKfwHvuo{ zo&eE6b(&N0fD`@JUNZ5U2c8CgL18;=6I8l+nx4xG)4SjGl;P}AVbrc=mT%VAlS6fU zcK|20YhEk_I8|HQko#~Z!?pX?enN$n!J+ZuyzoU4(E6%33ynZ&JiHI}mf3N>3tHOi zF$Ab>o1Nk_nbZ5Eghz56>tHW$HFv!jbShUyP?672Yy}lM`kFg#zU222BN!*Yck-qnd&SBV(>umDlsmMTEt6AOSGi3^}y#5my zz2t#eMw9EcbwR->^TBiLF#DPgSc%kf?d;MBxU-#ndm^P;OKcZ)nY4F8fU4i0k4;9R zGo05^4BLyagtRVY#NQH=m^UvBE@uAdTX-vdZEAw8-_mhBcZ&Wjib}BMmRMDa!|W$& zghgRkr@vVqbau=2_q41wk@KT(?Pl}ei^2q}#-B7is3rcDrA1Vy#+L4`eapirHUy;; z&Z-xDWqwoPTrHKjWl?5krLadPea$>R{DG{w`9ZF# zV%xD|*GFbEZ>$~F&k$n*%g57HY~IVVtR#cc!wYwb5VjH8L-#B-s zd!}tssGodvH%ca7{SkfH$zWHfwkb2t7CQ^=XNr9yS@0zGmASgrtjfivciw!IWnUzO zV)aeCqxyNC@MvE|*!m}va-zHwNsS~%lS!M5cQ1*keQCi=#SE2uXa@h*j`%7l^^`vB zzB$lus|#MJ@9~%nu<+1xOT${*BT2U(u4u8?B^tZ&sXSw1zX>Ba;_Hat@N>CFXLqXn zf`=|(z@nH>Wt}M~jDpS+d1yzMQ-Afzx4RKvg{7V{5f&Kn^!rg_=eCFr>|(z;FW%&* z^K4$Gu!y;$`5GQ!&Fs&1gYHK2VxO!F`4vU!@_3B?!-4LmQkBt{qE>zNXhFw(-U9f*|NWx~YZh%oo<~tN+_j|8 zd+A$#x$`?Hq9Ox{@C#ZIXz~2^5%G`TChrZcznRf+a1kcAoW_RIqn1@{xhBWG`kG=d z>!rwZ>ZNE5e7X?8P7pOta@ho?FQWmwSFsX`OCjw<<_$hnl}aLMFy!e!RD@io(>$60 z!d34^bci35JJXS)9EQt^2!Cg&32+p=GQH@sL~q@L%}7FFGe$}?nj6#vAO&UBmJDX6 zYcBVy569^V+1~=Ft)R=vRG8~)QZVBsL{LCuN)v&@Dusc(Wx;Yyl{psS3k_<@5BXG9 zSR(%)zTPsdsx|5YrKCaW?rsoJ8tHD7E>R>UC8WENZb>NtK|qo25+tQVI+O+}iTkdN z=bZ2Ro_p^P_OHpi=38TqIp*AZfz8E8MCGMaO9HMY$$p#r!~hJ8f+OP~PvbanDrc2~ zMtRWFWLm|za4fv2Vv@po_;V)*j0|Y;V@7mz-vDRz@7aYzGb%90zaQTESuu#@$5DTN zVPMZkQY)e3^g0_QXhsOI8EJfGK)BGNO^ng#Wk-0e3C;Y{B2%C{M|zXrc`_L_*!-Aa zg0@$y0K@#$bcQ^@oE)cqnr4RfMWCyx0RuQO=g!vAK_qIb$z>M1Gq|}9Q6E~n(jjNZ zIB@dRz)D4;`#_f4#0d!ui^Y0$ZMN(a*5SZH$CM)=QbutZc*XpYkTGI86M zE(bVpL}JF}XQ0X>-K?E-rPEw1Ys4y&}?^l?p=W-0H)&0o^bR z_=7>q*+ER$jbkE0f>uo@GHfP~6nZ3s6TWyLfLqVA3XV9~F_>vLPOu@4QhU0(kSx)~ zWvd1ojzy3AB7B@QptQHA9JUU@sMY4S4dquXc4mG2xWo7=p-aR(8)}GcQ#j|-ER+K2 zGR-MrUZmG0IQTCL8!(vcISkLuXR`&r0Z>vO7eBvVY9ojGu&32l_@V+FoFH%6xx+su{^V zCgE~oyOSLQFDOE0?_u*OU1Hh9{b{;B)2pnbr-pi<(;)T#n3hpTDRZ!I z9X?z6bjqN!oQ_x?v|JI_x;QEwg=?jAs!jyR^@|h{W{70i5+)cT@?L)8Z%^vECQYM! zH7|T~Il-FNOI^h~3CBmd^ayd0>bMIL%rk_;-TU2n^gQ>Z%A!~j0)xXqt0 zvn)@B6jS{zP0)2E#|M+F4OKDgIKP_Z7#XM}HID)N#G#LwV6Lba7+v#Q*?wvfGfxyo z_k`>BiUZF_s<#+R4_N+I5R2Jj)}JECr4u`3swf&fwNtB&yY9!A(^qFhhqZn|NIJl1Igu0n$JIQlMI#oOLh(An&FuT>5}{px zomH&YAzX}Op`&Ruy7@d5t=kNLNCr+*eIu>8@tK4Z4&&QYFKpX(KKaM|z`^~ntHZim zDA&=H1D$l>HwRy;_xCc1T2@k&GdfMu)JTQ(_U)8^?f2ng^okupghXe++AQrhO#M~L zZ|OKr)oe5RXv>>?zm~Pw@vlbiKnV$ZWKWmp3Cvec4hYL5X|lb3fwd_&{~m=$ z75<1$KsuGI=3Xv$1mUDnw)jU(8|p+^joyioJ`VjwZedbXF>%I7P*gjG-Sg0z4|=!YQ*TX2L^f zH|&RypLsnrtduk@@nTV5XtG#|ain^xOe8xO&M*~jE?=Z%q0qS$0|d4&M}$P`WNi44 z#PXz>=YS9Rxxs})6G#{#6>K=V5pV2~8R*)&>csbTpi&+lOP$QGeZ;^?urZhNPGoRp z<0vL(O~N(9CncyIoFS=l_H>rsbF>C#v+cb^z4QS+JR_W)Jje`^_S%gy!s(q`i?BFF z#NpH=i(pYG8&Fp*jkGZ&V9gNFGvbKbwoBUg$oFoGR>3nt%dA316jan5Aw7`kgf(9)FgDS%YjRwQj-v$%fUrI=4V&MSF0j=m|!Lbk#)JDL@ z;m3Xb4Qvg(BmDpYCluLb7E(~BdjE?fsRygteM@~M@#D~g@5!XH!GcKS02fZB!QUAD zNHrWV_m8*^4x{p${6`k=3#C9X_y2^-aqRn9Mql1{o(d~wB&U<-bNhqp&d*stp!K;E zGlb5CJv0y6Ni5#^9NxNYSw0vb^I$`Q?>XX40zBAd>rSN{Yk;89PHq8eiIhV1f?J z?WEmb`jM|Zpi~zd_-9>`(4q>eIk-Dzaa*4l^4~-6*!(K2tb>1bC+Q?W^1;3BJ4ja( zjKtjs0+NPA24-*kV-3|E-JLQQ_g4klth?drn)HMW=R=d5KfTD6SR&f-N3!yZe`CM0 z6C{nef#RX){Zg>@0Yed5tH#l*@0h35Sm+I#UkxnPr(`^JB}gB=vQnRsxzR^_!&uPf zwU9#2C?F!JT$yer_D*7n(8vP=3%%BIh)o``m=jB}migK4i<-wE5u;p|BqyuxmZ%^( zeOsx7&;==w%Hg^KavOne#=Carnf`mY z@G42D1sX1U+Vn))e&(|PQ{qG%ltv#B^Ltj^;1m}Li zgidKF#Uf6;O|gPOiZwxtZ#-h06^lw-gPVICA;}m|E(P!}RtMx){7Sdzjc+kR1QLr> z8P7CHTBK?L%5r(xc3b4T0}!^<721JYxs9gb%K_&#A&N0(ZfD4bOPM7NvDY+i! z2hmBGA^kwc_`nfLI5-{9bulB_d5#ed$BLU<6S?~~TBcY?^*rX>uV*kZA+z7Da@QC?g%8W+VuZu?(M-~Mb0Uq@(PA|v*#?2R5n72R$%V(#*KXH zNjSG~`@hf)jrte5yAK>fY4d~P)G4{@CxvfEHHStOu%bUs_t;u_0QYQI{x8gX)=AOP z2*?Ij@te5@!7@g7rw>Tr3o_>&y4RWz64zIpD1ffhQO07%k z^dQ5{9ix|YY`;w@WIgkxXiYuhVM$x0-?%g#2yGaw*id4%?k>^gCqS`&8`vnfVo^8m zLILYEKn{2P+sb8*vlW9HZFd6LhwKY}TnLHT?VLSd(K$z*D27U-#yE;Bwv~9ic2;wz zH(L-HOz;A0@D)+5j-O(nJI@5#Wp5Cag3W7Q2+>PAM6KL;BaQT8m{|VFSlg0FdlD+8 z+&A1@;cj<{=X`zk&t@nL{gY4|mNnv%eOg$G?{PP;uJ|qQI&eXGZvF{oCW;%;vaZ&L z{B;M3=WvF2>fr3|61$x!hti7YJquSC><&?OPM>^FAJB1Llm;{px%Of~Lv<3k^b2@! z!&YM)Ukrg&I}VjDCO4O|z^P0JiP%`I64IM|i)aAgUvlpIF+)6q#w|+Nvrvk5m~2Y>EKx71~oItT+>;;djoGB zvod#sMU#WT>aH9Jw1Gdf?@{oySWYdQ{RWn?f4bg^j^;W(Y7xk>B_HtNkyW=6taZGn zh8JdTYjZ!<1apPDHnJIjXr0mAG#SOHpR41eG~{aGTQ36LQ-K$$+}7Q_-vxSyh`a%K zJJo)vW)gY_Zy3HVxkgA<4UlPJBtG`qe0n21JE7L)Cy}K6G zM0CY9nHjPN%)n1(v+tO8?<95!Ak)>tQT`Fzw7lrC173?EhaxJWAQhl;g080c#!P1-**To!g8zVv(n! z3nZ-Yug3n`!*Pz9cCYZXg9?}mz;txlF9=Er-;HPGWh%8qf=dn3VJMt~0x#pX6Atd%=;k!#Eubs7X$>tDGno&H}szU=;ag+n^>M|7w#E{+A4J1P-4 zK?*_cQE=pAGPJ2oo%iBUgY{tJS~!Z#9-M?Q=+glzzPlCUE>W;HCmlwlEkemv9F=}9 zp-zkca^&%sDGKyjfvg>O&yE}rtqfe$+&WQN0g_2J<}4q88}$7zqU$UHPRkkdLU@6= zUWYc(bwqR?hYQ+c)KK>vB$!&}b1xA!*yQ+5@>s6uUYuRr$~1Ox{=uI?#~13$5czNh zN4H=t)A36s#z7^c?zc;7cTc{)hrbcg0TIJoasMoJVB^&Xaqxfrm4`SuIkO(HWroQa zWkph+c61bI^MPBU1mMa+Ost-+S!&AZB`rOZBEX--G7Fd^<}SD3+cZdnvp7rNzHdiN zR}^APzakt&sTPxHcrCgjXaq8hzXQYAu;*JT+SV)u2&jvMm+vG&$%vqq6QJVH_>TfX zd?L?hbD)8UU>$ZioF^lUT+)$1>p%vU^8eAHI z?gJlr+V*YKl{-mq!Q{IzSUW$GDgZp!`v_C^ZlC@b2N2fpE?}8rqn|-X>!o{RjwHFc zI>>-vXCP+ev2NsW7FVBFyZdM9B}>a>Ohs~_0Xj$7{_@xWzqr`7($_a?iSN2&&_C6j zV0P{G$bT&7B>TsVFe8ve1Gnb+6TRl5nUn=s)v(fJ9vJ|l-2wdW^`+oHQi_FKseo=o z)JbeO1nrHE@nImMfs<8~nII3Yz2mkLF3{N4!~Zi~xq}~Ef;I-|@UNJpA2E68wzm*OlG1QY*h7PdoLa8m{s|GgmPY@sH0b@o}ooIWUgNYRYKjf-~h>fiRl5y`CmpLnoNts&C8Fg*t2P(xl}wZzaN9Ev>OZ~ z@05NpF%l-P3K(l>2&7jsCccQ;Wk~`wsUzVCDU@jgWFlcqShrL>21WRp8S&01e5@c- z;vOm1K3j*7*pWg0dmwL91-w1el;7M>KCqpu9zYVl&xo;79CB((I%a_he$}@#FlG-4 zf@vpf zUTme(QR!byFu`beMS(mbv{9kj%Z3hWB```lR96#U`(Td*^Hj)MR?G@;Kp1yspRr*X zg{xL0P3(!3w7}L?0n8?ZNe&HLEe5yD!uIk1VB?dT@8B)6`IwvXVxs~10D&n0-685x zbf7VBO%ihOV;FNT%L6Nl#r@})?`*AFVbRxm6avtH!lSc zs{z1>u|(86{$-47L=iW?nKOHIp08YR+jI?ceSQywn+Y>Y_tP`A;DD#JG4;Sz9~-*>2b|#4XOCe!{#XcvKgr$ z_F+c2QDV9IK}x_qqs4*?uLOVxD<2FB$tN_*|3EjypJB2Dq$cc?;D`Ga=mG(Mq$R%{X#LYT zjDKMpMjM&i4R0|H3dt!$ zytMc!41*ztO>SSzd>zfD2g72DB%LUl@I_2R5j}*MbOw+Sv^-8m?IOvCL`4Ab+7Xc4 zCQZ!bt(&cimG-$8##Eo7LGuH0l2(f}^WZQz|YG9T{YONo+6oPyb zi9wp zW1+Xe6ooSxPY#(CIL}XfP&%u~0CH$Y$~Bw&0^)t(2M~%$IDn*J1OvwHye0sQmE%CA z;H)pwj)(FmY&<}C06DUZ;{#GDn>~Z1hdTnraaPoxaifeFfssxPwEE9*#ifR?pW#6Z|_t? zynC#KfUpG+e7(pgT>T47C;=P%JE64hu2fjWz%FwpHRX}on5sq4IqD%{gv8mj2Y%yO$ z0N{BV^Ist05DaSlcN1qzai$`cuaH4ynz6FLC>pnqW!hBedLVC zbuL;*ds%)T`UkKRyh{H=Tmg-5;F{fnUOp5@KpnQCn4VT3u=^h*m-{xEeB zG!&}D7g`J5O5wNI2qhMPPf`#-f;|vT9|KnZ9OMJEuuiT=86zYCWL73v)O+Uq zHtGm>BZ_Z>uQr*C%2&#oh1_-lu;H9^b#QVtW%D>$P@&)t5$^@tO%efqzPR)(T;L06 zwYvQ7O9uC36x=dMpYZf-T6=6}%}s%v25I2`h%I9YaYMr?> zxMFqYbF*Zuxc)IfMnE0p3BdrYjvnES11PdUGwkMuB$5jyIv|Kf#tL^|xle%z)h-V- zl77Cp)nZY^4XQ2NwzZ8P6%dSb7GqLJEP_O^mtw`IaXXKjUn1x$&u8Uo)G3{Rgcpc_ zLmExZga0h^{XUeehQIU;~7`B0>|74`>KI{s8)o)u%l(Tj=ZWfm;?* z8%)ZU2w{4ueXjq2_Ghjsb3pG)_Z`I-G!*z!-|E5A!WC*t`g=Ww@yPS6PlMx;&!_Xa zpx6Tg_IsJjAa5EmeP97---2ij?hsB`eoKLbTZC@zI|-i}NPnVcONt5H?Ry9RT52VS zFJhM>36|{lz<;si9B>zrb^jj4pa{6dWzBfNB09T@CIAzHHq`_CTa3;JR|E}GGgN?@ z@rYbX{XbUD2GoJSto#)qj;eq-;&OtFyBalChYnWE1ARi7xS*^Flc!l>TohK^{LfN% z0V)$3(FcrU{s#IX0Zc#C0WpFeA)OURvErYn-)boh@h~u_2SglZs0TB=kfKerfLN=N z>V3s(lBj>B6f0erl;X||h<^DqjQpnD!}kt+J_JI$Sc-E`*|rZR&Apb3*5+WzG+4pn zw2iy9@U8mZFdkwA8(b08w2T1w20_;d5??@$zApr#gjqO%a##vW1ViaG7My{%G8L;o zG?t1*Ycms2w}&ynH%p9H?CpQZ~96P;ICi%Z?pd08IG%d1#T>dqLsp7zJ zT18{f_w48CUNgvD{&m(|Sv3hb%lf~ag`w#P(8ggLca|0Oy8upk57wvk&#<3Rcgm9n zcw!!EyN*qglA)~-ByHm9n`M9$V#pI@@rr*Y^3%XEalWO3MZ=kJO_B$KNQ`2}L&8IsVxFOOB zWpRX7{6`5erRrZ+F73CM@Hgk+{S0ak=9gP|Ky@Jntv^0^K(d3iOyS3jK#A0?QV*zw zT=_qix3$eT0kGO8l{fS{`a&0y6bO2B=LaEqL#Cl(O3)uwwr#NS=y zqjUM>$JUa(yvgud1OXAR`qpL)cs?JgH8-VZE{({}ycVnHdpG34c&^s8o0)wJVxC7Y z=|s=Eszir#_9IX9BlsTm^;`k|JkokDv7U%bi9!UB_dDnZ;kq!619bd&O(h)&$eb|c zgChxf#Se#0dZl$*LM)6HO9cB54VDOHX8d@R*Juu?f&mH(s$h^v!V!nO;>Bal-O%Q3 zcy~^V&6Bfs)HKaxg_=Kjlv?Fxv0qqu!<-l;Sg!_BNJ9Q%bbRR{Bzgc*U6 zN2DVtb$YS`yHWudj+ZZHRm=bK@8M~G2R<GmZ1dyE3I^oJpFF^05aZxChFi`1u68Q zpty^7@S%Sq11xU%iDm@f)LhbArf50s__{?ey(&s~azj2M@a_JsXW zb2}xxk~fz za3>1DuAWG{-Ak-Cvs#u}4-~Ks3vO%I(9B@2+P{+zT*T`+VgZlzGKN;5;RD~kyWw3; zab~Phm-29DkI=1Ik_q7O3?9oU^;ze^YsEbOBah4>(%X~3+tMv@8ki~tw6*XL&7jh) zRzn0%%xfv<+~aV`^^Y+WGSGwhutj1np$=w2TCha_%!eAx2R3c=H2y~h1z`Itz(<@3 zI9PFNr1)YZNwu)85{uwN6>}7M8$WPo<0u{+Ds>$&D4ja#J0I}3rGIxFtmcbnEtEAI zs#V@?S#lnaQAzjYWBwdCDSmHldK-U+_@)Q^o1-YmbwWXh)p@dy<<{&MLrZlqBijht zu`{Ulf_G)WK0Jn^4v^J30A`g zZ9zXqTS?apKo0+RQ9BQwMg)wWk$z%KXH(*H5PNe3ZTyiw_^4L@KkK^EhToNiMv9po z<|AZv$KjWdY%E{u!M>ml)WhIAO&a|A*4@x8C!9;*c#kIwx&j^_u^5hB9P+}3gecT6 z|ND6;(_~7y#@{1wdjwyb%DF|z174>?DBj%gP!g%JJ@Wr7owO%DIFF(6$Q?|wSaTlKH_M60*c&G1q$ref=cFj0AMO+E zltcX-YBh2iFa?=gC%Ft|aN~dr3jlL58)%(Nhc20L(tqdSe|R8n#VL?27s>+6{%f;? zq~Y7k`*&C%4Tq>jkpjyX0Kc)Jx?X}!e?CyKaY1Vx=$fPdq@z0eZDep4{}rQcOo7I+ zTA_nd9BMU=vd_J{|8L50-TK6pH6{%}xyK#}Nkb5hpI>$6Sqo2^MW@e*^UrM*29Y}t`U->2t`4os7B zpbfqjWijId9%z%GU1LGUF%=zR7t_y|A<-hYO@+c3jyeD7P%?0?OcRdGRH% zzK!bjGB=ir?jLj4=Hwa0!`$2t1Kms0PTw+sJ`EVjHL7vbphuXn42N2JEEO*$L>$12 ze4u`fPSnUJ&X*F6@Whbb3$=i7%``CM!Ut;7Ci;wsr?+dA@|&FmqPP}=nBARIC{>Xr zet%LPuuv$tb4Q(UMo7160wJbjlS&1a2cv?9jnIDh^V@^;gq{hKBkD(r|CQ4&M~QsAkkmi&q9eg-8s` zhq&Qr8sBFhpk{Q?Y6dYE$nPtld;nr-i4G%%ssBg}=YRe9&#+kqQW(GlA)T7Xnl?0U z(NS3%)bx3MpTX)ytYtEmcZ;6c1c;^{zMtZ4E|I$mX>bBfTs>RM{&s+#lL2Z91PrLy zM|U)vuh9Hon@65J(ttA57V*~+xnjbL2PR?p>%WTAe!PaYvixlb0hXXW1(F*^@NeaY zbFeuA_)v-Kf5;88oASn^Z*CHgI$wGyxBj1CoZl4r zuc-QW-GYEAMOG#|pwe-5x75rfYUgc&i`h1%GOa0A3dAA*S!1Z_ElMIfXoR^X73foc z+w%n|l{J(}O<_& z-xKNF!p*B)$Zw7oRcXImii|;w`nm=rS23^-C7`F6Mm!yb=_yny;o@PZ0&i^S+qaqT ziuA>zHm#opx+4y=k)pv)D32JW^3uzS+l>Z?xv|Hp7uM8&gj6aBZVap=16M-Hp`QEm zu}^pJ{Ix)id$&6msC$xsda+nzMzrj}JgMP)CUFVJjBu+BSwfHTJ>5) zo-QG=iPkRu!_X5`qtCq`ZWh9A#p$&E>8xVL3IWlp{Av80UHM$+wI zh9z*M1gc{|F8;S~qr<&J2FEG@c_oO)dhycqOY02!+io;piw};Aj!}=SfZzZ?e${mZ z^bdm;j?jakNCYS{QDZg`^EJRW zy*xbl16~|?z?FSn@uuZwt;po&?B|A>?}Vk#MWJ{9)m2f;cRi?bD`;B?Om*}eW2Pfh9WYhNcO-|NeBC2a3MSJ|(de_ds7`uhBNGt_eP zr%CX~&Hs5#Fst>dR{?mXsycW{=>Ny7J@3O_?U|rrpUHhMWH0H0iv34m?hfNLYS??D z@)@ZD@Vi{o7>K$yp2ebM@xDLczgm=jqcH?ur=eUpr*83edLkkjhU`sKO`n9|75wSI zj>h+T%4l8@N8yjY!LfSpi?G9HuNzJ(Zt|xnj{?xd2&?FR?j=S%Mp5lS^4ur4;ucWZ z4tdfg=J%n9{>6AGU(*v+GOicxM(!Ah8Qt2IT|YNl$1u@M`9EGyrHOIY6kVt^3T^t^ z7#(LS%niojas6@09ZF+0?F@-Wf16%l^rY^|ubZDP<99ZbECeaAd#)qeM2Tu2P7EJu z@6w`f2J>P{-9P3jxfCaOf%Wwz{_r|6+WeD*Yl=d06Gz*$e6rr8!W zh!DlCeR^NmSZncId|~NYU2>kpyGg0bCPDj$MrJy1uY(W&f8Ov4y(k*I0@lUy zx!v>sa{`npl80ySz`;?I+`d@%Uo)67?7gl#dMfs05AQV*ZTjkNH^n{sMR%VT<+Io_ zqbshoVgz}Kk#!1=TOBova6Lia$4CBoRwGLO3$K}Hkmdc1M@?29$Yda#V^BEhuxaL5 z_w>?mJT;-;%~)C)*vG1?clvE6*XvuNM8-93QbYfXb;brb25 zv8L*A`2#jI+LFBjX877#Mm$_oU$>>tYHe<;!KA3nRIEkr6lAJ4=rrqjN_B2gmOY^) zlCJmL?-uN7(9?@-o;|+W&~dHM9#%DzUPCtMc$ss9-q22+`EpCpgO8J`e3I<W@Db_W04u;J=Csd7bJv?W6}kytJ=yT(Bwj#i)>| zySX6s;og+Q=V(M;JL@KGHnz8W^^4Fr(8&N@u-#svd~GQ`BkKq>rL{tRrD4Qw6gc%q5%db8faP73h1`(~?C4euuuI!sPPoqKkL$cVtn~o2+cHi?!o}l`%Q- zjb`=^#6;P`rP95Yvp=(HO)Xj8r$762UN&+cwA>s|+qd{^A-9X^-+z7ndrUk_-2437 zhVS)$C;X2UOWSri`nL9laJ5EZcK=UXty2RBsV!+;%(9(Tk9f{pzwGu;AuMFl{cPVc z7j{1tkPpLfw>xQF7K%Do#_bt+xZH_A$s>D8;)V=<45&YB-!fTtx9@zQb6#R|ir z;EDC0YRsC1FNUt>wj+%y8mt;YTI`~~qf~fY%XY6cps9J1Mlf%k+ooh}(xYo#*_xh$} zoCG%f!+&9*rNwYRHx}=d{9^mkQMV%Qn2efgw}xuO<0)Moy;jPQRA*}V_D8FSvf$e= z*b1Z>Q*XNP74bc4(_Gr#q&7)?ck4w|d|3F0vh7Lz5Me+=P9|f)bN^x{-re3c{(-U! zioq=;v-11Y+sVdE^rBjgM{|H=iQ-#qqOAvPH)d zylQti~rsvezemS96T0&;Q zNr}+6=Ke_|rXyNnebd6mBY}0^=5t*00VgW+>_ZweWs8I<*H}vq!)VVq* zPjqW2*g4rwBelyv!dX9mvKX}5R`-78;ZIWpSqD2w{7_akkM~5=<9%KkX$$zur3ml$ zHS>%8o)^wW{OVpS8DA@KjZrqBk8-M3*zDb;WPFOhoF_EC>0#Mu^=Kw5gsFo~?^G1)6IxOSa=i5WPpa^% zo?n&o6-v5(n+&KAIdqh+CMKZh!apMaP|)};za@!>yP3cy#E+DQg>*?k6KewV{kTg1 zhdAe{saHb}G~;-sou_#@9%~qll|P-pjC@du+aJmA5jalUIn4PDJ6q}W{px2T{aPng z<_09B#;EN4Us?Gy#NU$>^uFV-ydrs$ZWJ}sWd5<0xA<+50`dDFhF^@r4W{Wb$J!Qy zg~X@IpKxHR5N;?^SY34lpJO1BiNhUig14NJB+(L~V$EEk{O^~nBiwX*lYn=Gi>tuF zVcmudXBQ9K=gtrX7&qLppY0~O5i`9(Y|Hs`Z-7ui!@gvVFImO((L*G8bo{B1N6E|? za5DAu1XEt8<|e>{FUE3tWItTq0S|MADBm>;hi0}C&@Rc!JEdpYB{cIrQTF_QKc1GIBbK1(nX0r?X3izRx`ORfg_f?4YU! z25P$FPwl)63%YpOH(X;~^21f+m1jTMak&pZD~0c(jLNt&C(CLE)vKkvTvlm={=ERU z+C-{G{{4KNn?E~rP7Zo?#~n&3H3nZx<12hV^Q38;Oo zw*H*Vlye)!dyGcxvwUdA_59jdpy0i}npDFZPyrA;HlY1<2UsC(I3qwkAWs5V%^C;HvuzoFv${*Ssr6Z#` zqA$?d@_FDT2N#3G;zlN-TB%u$445OF5e&E=BH6r3%z1v_vGpiRiS#*|gLF0fYG)oZ zOVC5RO55C_QOspS4!j|f&KmZhby}$mGt69F1Ir^<3*G{Y+#%Zh45@EIetIU%na;&l zOTLj&4q0tBpXTRK$1ESS)sa*a5|dDJ265kaG<--Bo7`_%h5+UpGo$egCF>3ox@fb9 z6A~T4UF2To3yZT)JTSzB2jc}>GCJW zpY=aYEX3Q5EMW~aEH_TTP1YNiPyWKHE?Yt3#L=;C`MO;Zq!UdryRmPgaLH|ApmJ^1 zVEy>CtntfWSGqk`+Dn`BnKw46W^GK__3gijO2Y}>zcQcpmeTA?kJo`U+;<%*xJ3EA3 z%U4aB&|+EDLMWJZ!ngy>C;DZWmfC-RRw8yv3|lmB{H48 zl-?H6aS6SIbWE{4vZ~8@JgWO~4|K6D6awF}@ltFU;wZdxeqPlrRMgbFqf02_(rrVi zuAz~Zl=4XbWv;uM?PQbx&#jE6cL5p2K~$$-_^ow2tQOp_c{eUB8^)%Cf-a)-C~YVuyerQ{oT51-F&+n%9O*y-bo zHjlSKGx>fo)&sS6U>}G|BPiNu#4-+SrElsUvSL4`*r|FKZi1I$R`T+jNQlhbD`&xI zLT==Ykr`=5u3F00bq&GdF2^`Fz2dje%Tc7CsV*ldF=o94O*ZAT=kYqR=wpH1;yiIFne;x7^0 zF%|q?A;){1P+HNswAN5lI@uw;dWG3ZJEF0HY%Xh-ZSO#L=h3HBc_*v}!>Nx5DDOD= zwj~|o38FTfQ2%5on3pMeurQRSnm)Iv5UU4hmY8NwIL*X7?i29eVhLn|LuP9n7&dUcV(=N?KWPGl~w~eb^x+UuGg< z|8;f}v0;Ne-|amwN6AVUjqJ-G{$GAkOGr!DJ3km-8Y^1qu`gB7{(9Z&xWs{sOJ^IG zicfs==U{)U!uS1^NV3GY;J!tQ+JyTdClOV-m@Vhlms|5A*{Y#xlv%!)OJ}FqY^{X2 zoIjCMQhy@h#^=&u_q z)%HVFSxuLVI|qr66TFc#b^PMJWbeIKu=kPMl;t{_Meu8eICw+aA1i zY0}5K+_;US-9Pt4KF|URdR9eXT5QpIz(QT zaP{{)^d)CBl+{?Xj`Y^*zlE+?L(s)}p3^QiDX(tZa}7~4($c;%MW@9f@pgJ~JSo@l z$CrGeLHJ@bL;A_Hy8`TSD&?cp%B3~E#St}Y@?S-iKFhPY%jhhll(3HRgl!`rF;wLb zsmi%E$6R&c8Dl@U!XOrVojk{N@;oH5b;Hf)Xn89^TKZiqO@TUVRjg(JJ2j2AVaao} zDzuxW9&PtK+@}dS2|rP^=;ATq5{ngfex;Je+3&kZ=P{0F1aUr(vtLCqXDogG{-N?W zq+hFisXRjdgXt(lbMZlReX5!?IVfuct(*ek0oo$qAG0ePwDK4U?iR|fvfB>F7smx9 zR1(;2E%%^kKGM1}wU!=C*VNVO=hC8cnn-*gp&+23$1C%>eb*3;vSf*ypVokFl)fmW z<9nEG`67LF8YbpW{)0v~zf*iB@C{U*$=y#VFI{-gt4gX?s8)0YsrQaQ{2H_qZ)Z(s z751TMl9jBt`y=pLG)U+EV#R&b%)*QQrnma$ZbSDU{G3ts?qHuyik5x;!Y%*lXIEFZ z@(>HlauW$rsTOwEHQk3rK1OAGE(qeso+B103#td6qDAIvH_f{F-@|;(FcS^YjJ~kt zv}tbGSK6o~3DfN6uO_wH9g1V;;WM^)eZCU^-yBl^V>c@67ErZeZg^mUwuRzVS6jn@eeUY>c$YVhW`4a@!bpW!FRh1|YF1xVBXJr#gfp%-nKiDtNP1b6R%(F zB=fH9O%;o+-I#B`dN+n|)W4rjrC;xR?V6U_XTbI(f{TaWg7iwr$iwZNV(16Piyk>k z5_WX%q=#JZ#S;WyV=48gb>M5Hxic01s5c+#>eplE(05Q?!+oP$Gu z`=Xq8j@lUaZ^b-1f6K$ho9V$)t9?X=96Ofs+)q+_)qHn8e*T=9`A)Zy zHzIC#nU(RCKW{tVfi*%xJ?|=S7|%(W={sGa&Uc)TcV(1+C--o(SfzE;#}%R{zkE88 zx*KJh{sp|E_cVrEaF;5q1}|J8TR}bPQ`gTaL`+5S)ANSPcD8Mai$Smd)bS+l+{PDc$;s{RYNp=;8VVX)xC$rtQ++#_W32Bk#eE%VtZn(0Uw@Qd zpm-MxCxEuXMUGc{>Y|L=-nT$Ah=09MP0*p3 zV;mbDb1<^dmV12ho1OROYw6c@XLg!`k|*i5f~OQa{V2~Wh57Z);IvKQL5zr-N74YpKsYT8nUg*VC9@o5Rt8-KczU8u>F?{0kg zOoc!2PD8)e)7N*d-A@@!cbYnA*X6BZa8-maDw7k7DDFlEYVcgQ87(+d4J6+UPuSdz zaB*`ny*HQiv20LUefL@^EM;!=OM}XsPiR)KrM$um{-g!mMZHrucf)~!wIw0m%zK*) zac&MhO{ZUH>D<~0jOtCxnrf>w#As1O#?#uP#xrCXUADDf;fjQvtJp7bbk~wunoKa*M>9G~tabne6vjd?&X z=aMqnbx4@W%@MkR(1J)w-GlWwCb_AWclVI}>>1-pGEG)Ki%*%%iR*Lc{Q5(9HP>mR zp}_EHCT^L=si&m9(SYN9vggL5&jj)gs^))x zx{)1AL~ant*Qa~+y#Qq0M)Y4k3@&d45mSZQ=^4#on|vPzUp+= z{VM&z`eCy7dje6a{*?!%W<%wksrQ4!fUL2$WrVt+ITJS;b;KLg=Wk5c_OHc@BwUNz zDU+MKo!HmuMclPS2@vnM>nVFvZk9Xh(P^-hFrZnUmEMCdQl(gofn0EtVHW z0oWVEEqtg|UhbVp26r-2S-O)+WIMEp7Zype2GDSc%Cy%Uj0Wa=v{8e3N*=1pf813a zcqKA^DC~AY^Dfq1U^srtC+aDUDZx?-PS-J8;Zy4%BNP!~Pv_nSih|k|0O&ErE^U!Ye!nP3Y0b znodOFfdGP#U(X*r`O0(T&apVxTGFkp7tzJ%X5Ia^Il3g!CkaWh$)YiimDU-rP_FtRvFGmIfuuKS*q6nPs2*6<%N{ME#hxRmF zihk@p$tP!Daktkx!AR8_7=2R`A8BvtxBN2vfJ9m4eJZWuU7ixJv(`VAT#Rn1cp0Q0 zDbll^yrii2JW|(x&$(-Ewd1ga9mQ-k^D16Kr_f$;^|-j9G2D#hm97>7J0cFh$riv0F_PI!n; zgEIF`r1`P6sV#^6mS1hrdm(t;Pif$^aHBh zri;CI&#Bjygd0U-k;>mK(l6KLykd^9*~NFe@hhlzGZv(<&zb2)eNyU5R$ zqzW_YYw2f-2akWJ+4cE4Y)j<$FTJ$c;C~*Z5(M2y|l<0%RWH4&9h~61S znGjvHi0C&2F-oFD4GF>|L=90wCQ5iS+?(Rw_tx99&g?no?C<~g`TxDYb=KM698jZ9 zSe!HVHPQackXI7b>TU7;fDhs#2hwo&`x$vX7CaY})i*qoI^T(;-%d_WSPa96F`Z$k zgWY5{t~zI;5|dTOBK}!S`3hBS<4w75_(r!Ay^DY)mXq{fi0(qiZg^3mefqL}!|PpT zy+L3VFRfvGlD{_JVHn>e(9Kd-yju3$z*O|SX$I#?&Ro4_4a=J;dM(rSCQ{S=rf6zb z0*Z!pZZ{QOWHzTC>k1ccLqRqqK!w)hfI|vQ&1BR@jepceq|12}8{aL}sXVsxsA+Zj zn{g4I8f3oG+06nmW^^-(A=)uY>D{lN_=}7^0UMJXXphu+f5yMwI8QOM0%tT9aFfW$3Rt&e>-}3Xz(SlHt>bf z6N#~`84rz^M0;3W6A1Ne!@u8-y$+F-(=;kB;VJ!KTuLXGl05>|XY7k8`jU%(jbxO% zrN9D^%4Cv@j!b9W9^x$SJab+Jfl#y^`Xh>Lsvk9<(k}QmAx%GPOn`jGRnR1U)@~x! zSkZw&vEwpH*(0u8AqRI(R+yAacT~?I_O(khUkKBMM+;{8kJvtpSv8g=UC0PM2~#*@ zgdKHht0Z;XHj7Np3_(qj>rsZJi_Rkw%N=(nm)HM5@SE?+CsNhm{o%6{O4&hP4ViGJpGWe z&)W`(jSs9u);b$|S>wMlD7N7}r)%d5|KoA{KKbTW5I8G4B!rOV`+H(ie|uA9fkiuy z4bW5R8xzRLLp~`3X9z!qG!I8}H9>_#Rgu7hXN2{F3g*D{73d2>=DpS`!-oyQCEI8c zZQb^}cA40J_Z`CCuTX7_a6G=<%ILF0!cH7Zd`0HH9k74y9rkS;`eR|el37P_#MVl? zwvVj*2?BI<-nGkweu=;cXIhvylauOsP3`uvB$hMxo9uM7*_T!$FM2;Ii=2Ol-%1|^8ZzB?e?}V-DLq2cy zEZbDK&aAyj8>Y(iKh)4E3p^-cLi3p%ftii#B8I%8$-F}kfoMs@`Zze1K<0j6vC_jP zZxHj1kNIoCmDIs|_Fq8mHSbY=A_`7v)du&2NLO2#yv?lbuG@!M_>Yo-rOH_kihbj#0Wnq~!>WoX>oEEboN2XhwPg-#PA;ORB6jz$UQS5*V={FpqrE22Ma1rK{|oio zF89o;VAA+f$~)NGmnTqK1783rlAqwrcz!o$^$w|2y#W4XeAx?a5czkd$7eYvwjAwJ!Wg0IG^ojd zDH&gbB<}E!%1F?;Lcz+eVO)gHxgtDr!h#$ONgD!My5`4M(y}iQcRzI5p%+IsgS!Upb+c|r@ zldFvEAq_-y8$jh=v+;g{0(sk4h-wI7S>1ggr^u3S|gVZv7?eeFZ3;|=It-jz1Gb1yTcolkljD$E`9b&O=rQq7P3)Jin9)Uhf95<)9;-D zTm^q}Fg)*fI%Rdy2h zAG7uz@%F+^wvfE=Z-iRB8WyxY`3O~5DK9*SEVtLPi}m@+WM}!1s+VmJTgSTR6BRe! zxa~&8enKkt557n6=i(i4R1#04%>m?c{KaCvP2^b{6<|S;=PiIXZ`AqEC72;98rG`5 z<_bTG9PJgSh5M_dDGY>Ef{G9cE^EqY5y9;Bs?eAI9pY9i`YJMKc@-!^eWdep9521w zT;=IoKcE!Xi`*y@?RQABjg>H}P$xRfHLX0t|NZe5*U)!{K&&7tkpK^m>g4g2uN%zO z-p$SRSO=BTr`G|bR>No>gjF{c>y4yqj1k?#YX@*`TA1?ZNb{VRueo7#nB#%sSp`k_ zD#&>*_Eyy1D4dX&O&b5G@PI%2o=~N7ZO`uL+|CCwXGP7zq6Pr$5I-lEVLzZ^psCT! z70rYnKX`{txtSi7aZ!3i|2BD~weTkvX3eIAjY`6@KuT&B(Hh=MvExe}zm}v=XAogDLXdl>a6wBI`Nz z)jsaNwZ5}fx7udy#}*!%#vt{j1Gmf9#`6su06$K=rtO}ls=mPHJ^H<*86&>u!%~o^OepNM zX%<9jy@cE)eaxFtn1U13+F5Nbi^z9qVr?= z9mR__ny@X=3g7=8%fF;z{}xUX>elidY#24LVnG&cjg^X>H2Zai97ne$Mb|YPCl`!3 zi~?d<>NyZK9^%DM-uUbjh9;_;()H+EIl!wCo`X#eTL6mb$jo%b!{8?$D!RgpeE*qYKcD+Olv{*Kgf6S-AU zK077x2XdV=H80;TwWkYAeaMVqU#J6yO( zPIEsy0o3AwScEf8z2#&DA?UaOLCgzKVW!r>S0m>q?Q3{bLv@dNQErP)C zttxEw>EghSgRC`D*j!m@4KlE2p2TNcY&Rits_RNu-*()HiHpSuEJg?%Jj)Owh7wDjMjrgZsSF z;kWm%3gz~&JdaO6f4n3?dQ2dv6NJqX9zGr?_PaFyU(hupn43F}|9(A;S| zr`NuI+R2MOcJFz5CG50?(+aGg7OX-}Ed0=8{r}f4Y{t<-EOs;aeTwA2== z6?@dCF@DkBb9?K5|H(OdPoDF6KF|AplJENrZFM5z^8f(g9AMKmLre30XBrg&0KiTJ z0MO&DCQ5KOZ#y?{3tc~VJ1;ZneOH&7L;C#I8wuCP@t zc5XF&7H1jGA7tnP*7uJ(v&oPtXc8Wgt4jTii3JOx(`i_?bTqf2kURQ1a*0;PjzE;5^4V-->1b!;zGP^40s8F_|?MG z&c#a@dioikaGmO*$a&?8fy2i0W=u90UE;`1!pNRuVc@&LgZga~6GcpnP=4_(KA2?e zlQAMCiCJQoSUM(|8;u^u?`ve?R3ASNkvL>}azAcYO%sGtFu^ue(FNd7-G+&(=}$r* zrV8}r)u%fpgAdAu_T&P^Ec@NN12lI0QUpNCPsRvp`mKLigU0073X_g#d4oyQmM>1+*$JD>g=ex9u? z=|fDj2u-8~q&Enuf1N?ppZ3FxiJ*`~O{6t4JoD2~?R2N&9qrMuXIvU{IC*=0WRLW7 zak@QGrspwq=Sdln*StyJEn__?suHq%=XNZSluanWa`S=e2UWmj zv;6mDjC`xvmW+&`5*YC>NhMC|Y%v6B%OR$=RL_58eU}%gat(-@SkUAl^`k33d7if$ zPcSZZVS#Z&KI!oaEu??)){YxOz%n_rF~tf_jug%hjNPl4Wxv+d3m5w_Grnx`rv|q_ zYoq<$6%eg@d_H-OsSPadXvvaXT90do7)vK^CN4F(ZiH zxeHJD4mRG6APi>b{Z>w1D4P2g5rs`z`YEvq{e0~LAVpIs|_WYg`xrH);@*Ivieul7|VWsKg)84*Ub z^;T)uATxer@L?{QRpXq2j_?N&XlI+E&bhoOm$ZO*>UN}{r}fpLDm-#FDc<`s5L?VPB&e|Mj>l75M8 zqeW-}V@=Hohq{+o!_lTx2`hCDfIsI89f1I8rA^>9F$=Ry7KnJP^*HfIt6J^; zuL547A91QY<$Nf##vIQBpv780>=dzL9WG69p5rPQ=7F-F+pO%iFB@~Ff-#r>2<=^k zZEgyaViTyoWk*J-U9JS%Zpl6~YvM``ej>^RjjkdV9B}JVMRC0M8gt=g>RzWJ9iWZg ztm1mds^7$=c`i0E1K1!vv0}=Em5HNNRkrdZeXUXCRCY+!auFgiqfEmc;i-uF%WJup zc}unVDUIgG+Y~PRlEVyrnk}RC)jm*wWyUjCrowrj=~3xWEPHhs69@K6F&j0Q@wVC} zB-$`;Pn~GRHW6v?PDz}B=btZEIPO|D@6|id7*wW{xj$>WXf*LWg3j7 ze{?}Nq+bo(Fo!cUe5-6|dBbFy6wELn(QQX6_~zW~!iDs>7U9eME>eCus;I|$=TyKQ zg?-t!VhrTbmY6-9aPQk7k5C;ZEY^G#)H=HNl+2h4vXPN)9w<@DQ0W^;#W>6RctUc{ zgL&G$1UvYKRSU%=2y?oeYlAkHhsANfkn%l7(yfXuGi0Vs!{PT|F^td`Qm?IpXR@|!_prR5D_Z%y1 zI6jG$+hh>0E55v@MVH%~5;Yn^zS!q|HPs&?GDN^)Rw;d?v$dP3SOmG^s^8v{1li4x zjt#75wuJf^yF+)XUYo>>KuP|3X3JLe%t*AXjb4VCbV+-^wld+}YQhQGpZDp5?}QJe z@X4_dpHnFRzE8dVT#6_O{1zj&`nu7DGS!%;yJWoVSIFgN zO;~H}?6~yw@_Z7PYhK%PXwd1cu`1c-R_#(4cMIvZZky3%ic&7f-^wp_i8 z**3tvzg9y??e=YoKpXJ_Icg#G3mrB~5;qFP>=F>0JdPMo<`PijXu6d))SEp9@=yQrQMS-~-{`CV(MIk_ zdRr}K@vS`jTH0Drt?3FCbw|h1Ob=$WLSDX!C5=OBdA(zBdVU_W_Og!sf%NoWxx(qS z)Gvk(X8iWvTy2tnw@NiKyLjIpV_tr8HOT16v}VKVw|)-)Aftowo);sl$Cagmfzn60 zl8?2ta8a0}jhW@;HTRO(Y#-r?o*mo%eq8OA=c@;k7OyxQnxt2A*3xn(qi|Eg2FRWM zPr1S6yEw;_hmjCUCJw)z z%G#3rdtV`ysp1+~BWf6tX&4h2u4Jm(sgyZAsxb#uAb5ynUN>@QsAH=>F zRl&Ghbts1?H!k~@MqQWf?o4ktj;0BaH1;x6_4M9h*KzXBCM`|Vs505gY67E2J^M&v z=%H3kwlO5gk;5T(?w*6W%{GrrxipR9QL!kh?it>6VBag@$3)mFN3k~46?zfXhxMax zUw@U>Wnboltsup@ym&L!`_jv$(R$hu^d* z4W%=!XWj~A^UnkhU7RVKtGA*B^23C(r6RUgl#GThmIyND_IxH2PeLWw7rW<#Z|N13 zMtZeyGiVkYO2aAU)ub&XyYJ@)xEZ!Kcbx~$-=2{ppMRlpb!t9`B~5om8Aajn3$(Ox zZEv!&@aLXk(pt?2s5=QwLvm7}^$4|Ml>6V@<`}2{1i@Q>fkMN9dIba(a_%i+r#q;# zq+q;Rr!5Ko-c2MWWHVzM69FuC{|Vyy=I&`;IMkPYRFKE4XtN{xvfH5OD?+xvweK)_eme$`XLqmju&hUSzK+ zad73<)0)tj;U;H13HTD(t^Ak?EYYPaiROjUd3ek{SF-0e0I_A*qAodr8N2GF13u@A zCy7VWXo%@O5l@N@H_g7j^j*nz_VG-gbeC=_S{It^>A_H-Zw6E5F(d#Hx+>PIFynSz%~SaLj#fJ= zxHuqsQeFH`U6FS3C`?}<|ZUrcxUy(ExG`p(>#Ioko@2~<=vwEMnyI2gzKvc z3Z*|BmeOxFNxUXY;oSv))+BDl^8{xe_L$))ZZW(sSv~itDtK&L7!f>HBV1`qkUgFh zVz}y;d2F{SjN277dO$)brCR|A;VMC-8xoE+6;_1>91_6HgJWSj= z+T`*hy{jpEeBH8(P`XBzplT_%aje_N#0y6WHCih{9d{Y-^q)qmhf6&_jZ_fwx54l3 zFGKM^1{cQCQ$)#6Lk0iIk8-oh0el>L5`3JgZM?;Q#Laz?#NDZh(0auJ{$m6Y+=!>$ z#z(dzs2az?akbXLcV4|Y!hD>=_mBjH(4YO{e@|8L$p`=91XPEfuKzJ(IZJSMu5jx1 zi$ETq=KnQiIO}+}hyU#e!dGDbe@B0o=WHMRn}-HJDf+Lj_$^sz%c+FpgY0T`g|5=x-As| zaO^k$zySaNoOBWJKrlS;noXD=IKV|Z^oB1w)6~585@RCKXb&l2hx1&BW_4_*K5LlU zr&5Of3)Z5L{L$C&*GS^ zL`}Q9P5rPAg@k6N$}58r5b}1vKK7fxG_ou|EbwD;y6@N4xlak4OS4#q`M2x-K+i1B zzQ5J|x;-v(iB9Kkg4%^XN+!~aIEkh!6hc)mnX6Y+^ZU^Zacm{e>GH*lqtFkEBem|< zN~P5Eq?b_BZax8z+li+JYuz&854rO$N_OA-MjUCVBV&*m)n{hxMq zO{@>Sq}ZcLIby8;w9C!U?}u3r?`guQWf>Elp-2Hl&k$*p1?>k<^v99hYB4r%okSuXcdocf_rC{ArUP0Zx@iS@8Iegzi(+)n&h z=BbSLnTzPO%iI^`X@Q))i`n4BK0~W%My{#^(W3au~VlJtl?E- zslxZQubqBIMzboLB7DZS6w-5yT@@I@4A-8qC;DL^`$Y!BsffHV9FY%c_xZ!HzD!i{ z?vbN?E?DnFKPCLllnTQ{@kgkyOh90mFF4?5ZLu*$%wA$dvrOG)4ZL=WSHF>|?G9Wk z+9lXt{<_^nrAG-n*vRC|_qXO}2Um|_N+@sjfGN0$mZcRhxd)oD8$<4xJC9CzN7oZL z*PsUh9i*@6^5*R7H5YX-EPsJg2&01x zto+`Y?Yxdzy=5ZjnE7bJ@l4G<<*SHv4H!Y7=JO&O0#ulIQ(}em zWI-Y>VG@eZ?O_&MfWXxh?>I5&*i61vd8JPk*q)K%ebr8WaBW*>Sd;Wk^6G*R{$ znF3b@PEMMa}0&_~k2fHe{ni`Ckqfq#T+q>z@Xbh(1!t8YX~BRN?~_ zW^L=BagCEDzw#k{4AiH^ z*iVclUit*Da?#cce#XVNRl7-*nAc+6_K-VcrwTz#s&=vO>n+q_Unf5ooqb2vsIe0j zuvWm@C`zEDNwUneg&oL8P8L#1;p!Dhw5L6%T64H&4GZcrg_u3Ou1cgc(WKw1QtXIs zUOW#*Rg8;2sL#x#eORwPMYUP^7@<(ljTMlcc+XpmMrZ{Y_a8P|&);Px-jB$W9ipel zG?{>@CLDMy7;i0J{SXbj_(HX6 F9gdQpAtM&QMK;4a;Jbd$eVSAlJQ5#n@aPZmQ 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 diff --git a/PSCADA/电子行业模板/common/database/initdata/zh/basedata/sys_model_app_info.xlsx b/PSCADA/电子行业模板/common/database/initdata/zh/basedata/sys_model_app_info.xlsx deleted file mode 100644 index b3a086faac1ac0c747d19f6bf85483a45c35ba7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2624 zcmZ{m2{crH8^^~sWG7|*c7yz-Y&FO>+1Dh?SjrZYkzp*Oe+k7%uPtMzNm;U_Ld=LH z>sT|$8~rV1H$pP@t=_BN^A~ULz31NN+{~r1+?Uye%`#U zHIjEi}K8X@vv7;+PVN8XVOLMlj5ZtqZQxs&==%y?C zPv6aQShtlbo=uMEYr`3fpV$QD#4&&bI%#dO7RvnwANA_^T`dt>p5G=L)@O!Vi(6Wf zA}gDnl4ld9KhkzA$L(V^LM47#T$7|}7j5Hz`eA!263a)FQ^b1&WZM2Z02DcpWYOv!1^&{$7_c7_Z&G z;YV%H6Y8TI6u2XurQU`R5ZXr-gLvwn4u;&un-eY*A~Jg3zx>pybHU;Ru0Y&uY72e^ zLFiB|JjJ`F2q}!_g?@H?wp02_rJnrUU=WUJ4iK`0N>!v z|6Z828b>#va)ipi2v4{-$0OA>WU}IuB;%5pQIqV7IYf}p4vtwXnGn%xdy7%p937Z- z-p@c{xprL;SWG^E!LCaH1_3Bnf26w=*5A{|BVZSScLLnB@vKl}tx4sulY_o~V)C{X z{S;S~yDzJ_CgE&AR8@@XwV5$7mdpX|2UuS}-R}uIs)-me#2%j13j^(jMZ5BcKJ+nmIzYBV&Y*j(&I|c7aPpi^|NKndU0ZYCzzDZg~2D% z3^w)0W{OYxcNkouGA4}Q%+Yy~kR{9acQIF-<(Fiytp=N+Y_hH z-PD}t#tB7WhChegYSLrOU!aL{&-D8@$}hyL3caS!c$F7JbiRdM8w}lA-}nlBm3s@c zkwe1lhZ*{nK2!yO`51u7@n4wO8))PYig}6Wyc!kQBfm#4h6G;x0Ff}}y3-(6O~g44 z>lw3G2%$;Dt(BzlWj3(-oa7AYqv5yX2x$*8kIrck)2j5&JkYZcw^G^3X`iL#WNsS=aEhq>3w|X1q3Egmm2>y;x;+Xg^_1&WaKniDXlptX=}; z>BZv}-9Cv9J9bZ#X&V#;@Wbl0>`~cjxK3(OgN`YhC4bgR5?)9&nh=(b>&Z0qK1>@+ z=WXtDnO7cOw%w}JBGGgCj8ki5q~I26J5rMz=RBJypoMmnvGWCrb z8&*)-E9FrKPYfnUXu3E5?OG!RoSdt@Zel5xmDWN9RYGlml-_X^BQrpj9D%R)%XeXXBNqBAKkR0^J2phI7_tQja79Gkexeg0R%w zx8-xjN)AVQ^ScS+b#ber2nfVRFsO+-$1$0_=v#~KDw8Xi=ooS-ru8nPOcW7o;Y-hC|%?!XUr4k|s>$*{0hSKz*;8CQSD7{>B2 z7j-1(_M!oi0X|7x8eb=BSBGD^vu&yArl!zQ)qbI5U^r< z3Ntkr+{*WC@`DsF>M`F-jd;F&K9c$>+cgD6IXoV8C;|O=ptUG8{m5}6b;z}HF3DMc zVthqlq_6gu&X$`W2<#4hJxhh3$SWxv1x|$AZ_kSg^O+LH1Rzga-IZV74T+#H|I+6t zqZ2OARNpBt>v(iyZlvskM@k3pqxW*ACmWkP+Q|sHP;19#b3HKeQU%yS?k3owwC%9T zGYcB^HFAs*a~t2`1YA(x4cIeUtfg17)~iXSz@$;C28+kEwyK8R)EQ)-3`4Ku10|I| z>Tt~U7P4I7Px?yHehn0r`1yFpZIFd29lhL-9{T&82Cy8!AqFCb?Z)5iI}Ro|IBR!h zKNG-#CH`gd9uyv&YkNX=pfUabDR(f>!P&5vha1>E{cchm%y6(F?qzTU{?OeF|Fp-0 u(t}Rllh!i*kpAlXgW`ie*b{#Q|0Dh%S6G-b0bfBNX5ef95TjUjpZ){zj!;wp diff --git a/PSCADA/电子行业模板/common/database/initdata/zh/basedata/sys_model_sub_system_info.xlsx b/PSCADA/电子行业模板/common/database/initdata/zh/basedata/sys_model_sub_system_info.xlsx deleted file mode 100644 index 24d00f02fe9548c88542eddbc67a752291414a33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2557 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 tx7~*8KB2E4|Go+No%ySB!`TM '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesAccumlTrigger" = 0; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'accuml_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('accuml_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_ACCUML_MAP_TO_FES ON accuml_map_to_fes; -CREATE TRIGGER TI_ACCUML_MAP_TO_FES AFTER INSERT ON accuml_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_ACCUML_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_ACCUML_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO = OLD.DOT_NO AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN RETURN NEW; - END IF; - - - --首先禁止FES触发器动作 - SET SESSION "disable.FesAccumlTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.AccumlMapToFesTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - --清除旧的 - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - - --添加新的 - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - ELSE NEW.DOT_NO = '-1'; - END IF; - END; - END IF; - - SET SESSION "disable.FesAccumlTrigger" = 0; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_ACCUML_MAP_TO_FES ON accuml_map_to_fes; -CREATE TRIGGER TU_ACCUML_MAP_TO_FES BEFORE UPDATE ON accuml_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_ACCUML_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ACCUML_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'accuml_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('accuml_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ACCUML_MAP_TO_FES ON accuml_map_to_fes; -CREATE TRIGGER TUA_ACCUML_MAP_TO_FES AFTER UPDATE ON accuml_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ACCUML_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_ACCUML_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - - --首先禁止FES触发器动作 - SET SESSION "disable.FesAccumlTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.AccumlMapToFesTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesAccumlTrigger" = 0; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_ACCUML_MAP_TO_FES ON accuml_map_to_fes; -CREATE TRIGGER TD_ACCUML_MAP_TO_FES BEFORE DELETE ON accuml_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_ACCUML_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ACCUML_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'accuml_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('accuml_map_to_fes')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ACCUML_MAP_TO_FES ON accuml_map_to_fes; -CREATE TRIGGER TDA_ACCUML_MAP_TO_FES AFTER DELETE ON accuml_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ACCUML_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_ACCUML_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* -INSERT INTO accuml( -TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, GRAY, CONTRAST, QCOLOR, RAW_VALUE, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, UNIT_ID, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, REGION_ID, OPT_HANDOVER_GROUP, IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, CAMERA_TAG, PRESET_ID) -SELECT -concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)), NEW.DESCRIPTION,TAG_NAME, NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, '', GRAY, CONTRAST, QCOLOR, '0', VALUE, STATUS, 0, 0, NEW.UNIT_ID, '', '', '', REGION_ID, OPT_HANDOVER_GROUP, NEW.IS_LIMIT, NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT,DEV_TYPE, NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS, NEW.SAMPLE_PERIOD,NEW.SAMPLE_DEADBAND, '', '' -FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - INSERT INTO temp_plugin_point_map_acc - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'','' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'accuml_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('accuml_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_ACCUML_TEMP_DEFINE ON accuml_temp_define; -CREATE TRIGGER TI_ACCUML_TEMP_DEFINE AFTER INSERT ON accuml_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_ACCUML_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_ACCUML_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.DESCRIPTION <> OLD.DESCRIPTION OR NEW.UNIT_ID <> OLD.UNIT_ID OR NEW.IS_LIMIT <> OLD.IS_LIMIT OR NEW.POINT_CLASS <> OLD.POINT_CLASS OR - NEW.IS_SAMPLE <> OLD.IS_SAMPLE OR NEW.SAMPLE_DEADBAND <> OLD.SAMPLE_DEADBAND OR NEW.POINT_TYPE <> OLD.POINT_TYPE OR NEW.SEQ_NO <> OLD.SEQ_NO OR - NEW.IS_STATISTICS <> OLD.IS_STATISTICS OR NEW.SAMPLE_PERIOD <> OLD.SAMPLE_PERIOD OR NEW.POINT_PROPERTY <> OLD.POINT_PROPERTY OR NEW.POINT_SORT <> OLD.POINT_SORT - THEN - UPDATE accuml SET - TAG_NAME = concat(accuml.DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - DESCRIPTION = NEW.DESCRIPTION, - UNIT_ID = NEW.UNIT_ID, - IS_LIMIT = NEW.IS_LIMIT, - POINT_CLASS = NEW.POINT_CLASS, - POINT_TP_NAME = NEW.TAG_NAME, - IS_SAMPLE = NEW.IS_SAMPLE, - SAMPLE_DEADBAND = NEW.SAMPLE_DEADBAND, - POINT_TYPE = NEW.POINT_TYPE, - SEQ_NO = NEW.SEQ_NO, - IS_STATISTICS = NEW.IS_STATISTICS, - SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - POINT_PROPERTY = NEW.POINT_PROPERTY, - POINT_SORT = NEW.POINT_SORT - WHERE accuml.POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.LIMIT_TYPE <> OLD.LIMIT_TYPE OR NEW.LIMIT_NUM <> OLD.LIMIT_NUM OR NEW.LIMIT_UP1 <> OLD.LIMIT_UP1 OR NEW.LIMIT_LOW1 <> OLD.LIMIT_LOW1 OR NEW.LIMIT_UP2 <> OLD.LIMIT_UP2 OR - NEW.LIMIT_LOW2 <> OLD.LIMIT_LOW2 OR NEW.LIMIT_UP3 <> OLD.LIMIT_UP3 OR NEW.LIMIT_LOW3 <> OLD.LIMIT_LOW3 OR NEW.CROSS_PERCENT <> OLD.CROSS_PERCENT OR - NEW.RETURN_PERCENT <> OLD.RETURN_PERCENT OR NEW.ALARM_PRIORITY <> OLD.ALARM_PRIORITY OR NEW.ALARM_DELAY_TIME <> OLD.ALARM_DELAY_TIME OR NEW.IS_WATER_ALM <> OLD.IS_WATER_ALM OR - NEW.IS_ACK_ON_RTN <> OLD.IS_ACK_ON_RTN OR NEW.DEL_ACT_ON_ACK <> OLD.DEL_ACT_ON_ACK OR NEW.IS_NEVER_ALM_ON_RTN <> OLD.IS_NEVER_ALM_ON_RTN OR NEW.TAG_NAME <> OLD.TAG_NAME - THEN - UPDATE accuml_limit_info SET - LIMIT_TYPE = NEW.LIMIT_TYPE, - LIMIT_NUM = NEW.LIMIT_NUM, - LIMIT_UP1 = NEW.LIMIT_UP1, - LIMIT_LOW1 = NEW.LIMIT_LOW1, - LIMIT_UP2 = NEW.LIMIT_UP2, - LIMIT_LOW2 = NEW.LIMIT_LOW2, - LIMIT_UP3 = NEW.LIMIT_UP3, - LIMIT_LOW3 = NEW.LIMIT_LOW3, - CROSS_PERCENT = NEW.CROSS_PERCENT, - RETURN_PERCENT = NEW.RETURN_PERCENT, - ALARM_PRIORITY = NEW.ALARM_PRIORITY, - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME, - IS_WATER_ALM = NEW.IS_WATER_ALM, - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN, - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK, - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - IF NEW.RANGE_UP <> OLD.RANGE_UP OR NEW.RANGE_LOW <> OLD.RANGE_LOW OR NEW.IS_FILTER <> OLD.IS_FILTER OR NEW.PERCENT <> OLD.PERCENT OR - NEW.BASE <> OLD.BASE OR NEW.COEFF <> OLD.COEFF - THEN - UPDATE accuml_map_to_fes SET - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - IS_FILTER = NEW.IS_FILTER, - PERCENT = NEW.PERCENT, - BASE = NEW.BASE, - COEFF = NEW.COEFF - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_acc - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'accuml_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('accuml_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_ACCUML_TEMP_DEFINE ON accuml_temp_define; -CREATE TRIGGER TU_ACCUML_TEMP_DEFINE AFTER UPDATE ON accuml_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_ACCUML_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_ACCUML_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - - DELETE FROM temp_plugin_point_map_acc WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); -/* -DELETE FROM accuml WHERE POINT_TP_NAME = OLD.TAG_NAME; -*/ -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_ACCUML_TEMP_DEFINE ON accuml_temp_define; -CREATE TRIGGER TD_ACCUML_TEMP_DEFINE BEFORE DELETE ON accuml_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_ACCUML_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ACCUML_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'accuml_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('accuml_temp_define')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ACCUML_TEMP_DEFINE ON accuml_temp_define; -CREATE TRIGGER TDA_ACCUML_TEMP_DEFINE AFTER DELETE ON accuml_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ACCUML_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ALARM_LINK_ENABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_link_enable_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('alarm_link_enable_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ALARM_LINK_ENABLE_INFO ON alarm_link_enable_info; -CREATE TRIGGER TIA_ALARM_LINK_ENABLE_INFO AFTER INSERT ON alarm_link_enable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ALARM_LINK_ENABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ALARM_LINK_ENABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_link_enable_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('alarm_link_enable_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ALARM_LINK_ENABLE_INFO ON alarm_link_enable_info; -CREATE TRIGGER TUA_ALARM_LINK_ENABLE_INFO AFTER UPDATE ON alarm_link_enable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ALARM_LINK_ENABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ALARM_LINK_ENABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_link_enable_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('alarm_link_enable_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ALARM_LINK_ENABLE_INFO ON alarm_link_enable_info; -CREATE TRIGGER TDA_ALARM_LINK_ENABLE_INFO AFTER DELETE ON alarm_link_enable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ALARM_LINK_ENABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ALARM_SMS_CONFIG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_sms_config', 'NO', '', NEW.NO, getTableSubSystem('alarm_sms_config')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ALARM_SMS_CONFIG ON alarm_sms_config; -CREATE TRIGGER TIA_ALARM_SMS_CONFIG AFTER INSERT ON alarm_sms_config FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ALARM_SMS_CONFIG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ALARM_SMS_CONFIG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_sms_config', 'NO', OLD.NO, NEW.NO, getTableSubSystem('alarm_sms_config')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ALARM_SMS_CONFIG ON alarm_sms_config; -CREATE TRIGGER TUA_ALARM_SMS_CONFIG AFTER UPDATE ON alarm_sms_config FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ALARM_SMS_CONFIG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ALARM_SMS_CONFIG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_sms_config', 'NO', OLD.NO, '', getTableSubSystem('alarm_sms_config')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ALARM_SMS_CONFIG ON alarm_sms_config; -CREATE TRIGGER TDA_ALARM_SMS_CONFIG AFTER DELETE ON alarm_sms_config FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ALARM_SMS_CONFIG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ALARM_SMS_DEVICE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_sms_device', 'DEVICE_ID', '', NEW.DEVICE_ID, getTableSubSystem('alarm_sms_device')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ALARM_SMS_DEVICE ON alarm_sms_device; -CREATE TRIGGER TIA_ALARM_SMS_DEVICE AFTER INSERT ON alarm_sms_device FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ALARM_SMS_DEVICE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ALARM_SMS_DEVICE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_sms_device', 'DEVICE_ID', OLD.DEVICE_ID, NEW.DEVICE_ID, getTableSubSystem('alarm_sms_device')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ALARM_SMS_DEVICE ON alarm_sms_device; -CREATE TRIGGER TUA_ALARM_SMS_DEVICE AFTER UPDATE ON alarm_sms_device FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ALARM_SMS_DEVICE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ALARM_SMS_DEVICE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_sms_device', 'DEVICE_ID', OLD.DEVICE_ID, '', getTableSubSystem('alarm_sms_device')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ALARM_SMS_DEVICE ON alarm_sms_device; -CREATE TRIGGER TDA_ALARM_SMS_DEVICE AFTER DELETE ON alarm_sms_device FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ALARM_SMS_DEVICE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ALARM_SMS_RULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_sms_rule', 'RULE_ID', '', NEW.RULE_ID, getTableSubSystem('alarm_sms_rule')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ALARM_SMS_RULE ON alarm_sms_rule; -CREATE TRIGGER TIA_ALARM_SMS_RULE AFTER INSERT ON alarm_sms_rule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ALARM_SMS_RULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ALARM_SMS_RULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_sms_rule', 'RULE_ID', OLD.RULE_ID, NEW.RULE_ID, getTableSubSystem('alarm_sms_rule')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ALARM_SMS_RULE ON alarm_sms_rule; -CREATE TRIGGER TUA_ALARM_SMS_RULE AFTER UPDATE ON alarm_sms_rule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ALARM_SMS_RULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ALARM_SMS_RULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_sms_rule', 'RULE_ID', OLD.RULE_ID, '', getTableSubSystem('alarm_sms_rule')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ALARM_SMS_RULE ON alarm_sms_rule; -CREATE TRIGGER TDA_ALARM_SMS_RULE AFTER DELETE ON alarm_sms_rule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ALARM_SMS_RULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ANALOG_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_control', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('analog_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ANALOG_CONTROL ON analog_control; -CREATE TRIGGER TIA_ANALOG_CONTROL AFTER INSERT ON analog_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ANALOG_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_ANALOG_CONTROL() RETURNS TRIGGER AS $$ -BEGIN - - --修改功能名称 - IF COALESCE(NEW.RTU_TAG,'') = '' THEN - BEGIN - NEW.OFFSET_NO = '-1'; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_ANALOG_CONTROL ON analog_control; -CREATE TRIGGER TU_ANALOG_CONTROL BEFORE UPDATE ON analog_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_ANALOG_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ANALOG_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_control', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('analog_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ANALOG_CONTROL ON analog_control; -CREATE TRIGGER TUA_ANALOG_CONTROL AFTER UPDATE ON analog_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ANALOG_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ANALOG_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_control', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('analog_control')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ANALOG_CONTROL ON analog_control; -CREATE TRIGGER TDA_ANALOG_CONTROL AFTER DELETE ON analog_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ANALOG_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ANALOG_LIMIT_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_limit_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('analog_limit_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ANALOG_LIMIT_INFO ON analog_limit_info; -CREATE TRIGGER TIA_ANALOG_LIMIT_INFO AFTER INSERT ON analog_limit_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ANALOG_LIMIT_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ANALOG_LIMIT_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_limit_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('analog_limit_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ANALOG_LIMIT_INFO ON analog_limit_info; -CREATE TRIGGER TUA_ANALOG_LIMIT_INFO AFTER UPDATE ON analog_limit_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ANALOG_LIMIT_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ANALOG_LIMIT_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_limit_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('analog_limit_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ANALOG_LIMIT_INFO ON analog_limit_info; -CREATE TRIGGER TDA_ANALOG_LIMIT_INFO AFTER DELETE ON analog_limit_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ANALOG_LIMIT_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_ANALOG_MAP_TO_FES() RETURNS TRIGGER AS $$ - DECLARE flag int; -BEGIN - SET SESSION "disable.FesAnalogTrigger" = 1; - - SELECT cast(coalesce(CURRENT_SETTING('disable.AnalogMapToFesTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesAnalogTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('analog_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_ANALOG_MAP_TO_FES ON analog_map_to_fes; -CREATE TRIGGER TI_ANALOG_MAP_TO_FES AFTER INSERT ON analog_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_ANALOG_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_ANALOG_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO = OLD.DOT_NO AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('FES analog update','In TU_ANALOG_MAP_TO_FES'); - - SET SESSION "disable.FesAnalogTrigger" = 1; - - SELECT cast(coalesce(CURRENT_SETTING('disable.AnalogMapToFesTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - - - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - ELSE NEW.DOT_NO = '-1'; - END IF; - END; - END IF; - - SET SESSION "disable.FesAnalogTrigger" = 0; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_ANALOG_MAP_TO_FES ON analog_map_to_fes; -CREATE TRIGGER TU_ANALOG_MAP_TO_FES BEFORE UPDATE ON analog_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_ANALOG_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ANALOG_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('analog_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ANALOG_MAP_TO_FES ON analog_map_to_fes; -CREATE TRIGGER TUA_ANALOG_MAP_TO_FES AFTER UPDATE ON analog_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ANALOG_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_ANALOG_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - CALL kbdDebugInfo('FES analog update','In TD_ANALOG_MAP_TO_FES'); - - SET SESSION "disable.FesAnalogTrigger" = 1; - - SELECT cast(coalesce(CURRENT_SETTING('disable.AnalogMapToFesTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesAnalogTrigger" = 0; - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_ANALOG_MAP_TO_FES ON analog_map_to_fes; -CREATE TRIGGER TD_ANALOG_MAP_TO_FES BEFORE DELETE ON analog_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_ANALOG_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ANALOG_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('analog_map_to_fes')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ANALOG_MAP_TO_FES ON analog_map_to_fes; -CREATE TRIGGER TDA_ANALOG_MAP_TO_FES AFTER DELETE ON analog_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ANALOG_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_ANALOG_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - -/* -INSERT INTO analog( -TAG_NAME, DESCRIPTION, RTU_TAG, DEV_TYPE, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, IS_CONTROL, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, UNIT_ID, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, REGION_ID, OPT_HANDOVER_GROUP, IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, CAMERA_TAG, PRESET_ID) -SELECT -concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)) , NEW.DESCRIPTION ,'', DEV_TYPE, TAG_NAME,NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, NEW.IS_CONTROL,GRAY, CONTRAST, QCOLOR, VALUE, STATUS, 0, 0, NEW.UNIT_ID, '', '', '', REGION_ID, OPT_HANDOVER_GROUP,NEW.IS_LIMIT,NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT,NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS,NEW.SAMPLE_PERIOD,NEW.SAMPLE_DEADBAND, '', '' -FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - - INSERT INTO temp_plugin_point_map_ana - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME, FES_TEMP_OUT_NAME) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'','','' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('analog_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_ANALOG_TEMP_DEFINE ON analog_temp_define; -CREATE TRIGGER TI_ANALOG_TEMP_DEFINE AFTER INSERT ON analog_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_ANALOG_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_ANALOG_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.DESCRIPTION <> OLD.DESCRIPTION OR NEW.SEQ_NO <> OLD.SEQ_NO OR NEW.IS_CONTROL <> OLD.IS_CONTROL OR NEW.UNIT_ID <> OLD.UNIT_ID OR - NEW.IS_LIMIT <> OLD.IS_LIMIT OR NEW.POINT_TYPE <> OLD.POINT_TYPE OR NEW.POINT_CLASS <> OLD.POINT_CLASS OR NEW.POINT_PROPERTY <> OLD.POINT_PROPERTY OR NEW.POINT_SORT <> OLD.POINT_SORT OR - NEW.IS_SAMPLE <> OLD.IS_SAMPLE OR NEW.IS_STATISTICS <> OLD.IS_STATISTICS OR NEW.SAMPLE_PERIOD <> OLD.SAMPLE_PERIOD OR NEW.SAMPLE_DEADBAND <> OLD.SAMPLE_DEADBAND - THEN - UPDATE analog SET - TAG_NAME = concat(DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - DESCRIPTION = NEW.DESCRIPTION, - SEQ_NO = NEW.SEQ_NO, - IS_CONTROL = NEW.IS_CONTROL, - UNIT_ID = NEW.UNIT_ID, - IS_LIMIT = NEW.IS_LIMIT, - POINT_TYPE = NEW.POINT_TYPE, - POINT_CLASS = NEW.POINT_CLASS, - POINT_PROPERTY = NEW.POINT_PROPERTY, - POINT_SORT = NEW.POINT_SORT, - POINT_TP_NAME = NEW.TAG_NAME, - IS_SAMPLE = NEW.IS_SAMPLE, - IS_STATISTICS = NEW.IS_STATISTICS, - SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - SAMPLE_DEADBAND = NEW.SAMPLE_DEADBAND - WHERE POINT_TP_NAME=OLD.TAG_NAME; - END IF; - - IF NEW.IS_TAGT_STATE <> OLD.IS_TAGT_STATE OR NEW.CTRL_TIMEOUT <> OLD.CTRL_TIMEOUT OR NEW.RESV_TIMEOUT <> OLD.RESV_TIMEOUT OR NEW.BASE <> OLD.BASE OR NEW.COEFF <> OLD.COEFF OR - NEW.RANGE_UP <> OLD.RANGE_UP OR NEW.RANGE_LOW <> OLD.RANGE_LOW OR NEW.CTRL_TOLERANCE <> OLD.CTRL_TOLERANCE OR NEW.TAG_NAME <> OLD.TAG_NAME - THEN - UPDATE analog_control SET - IS_TAGT_STATE = NEW.IS_TAGT_STATE, - CTRL_TIMEOUT = NEW.CTRL_TIMEOUT, - RESV_TIMEOUT = NEW.RESV_TIMEOUT, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - CTRL_TOLERANCE = NEW.CTRL_TOLERANCE, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.LIMIT_TYPE <> OLD.LIMIT_TYPE OR NEW.LIMIT_NUM <> OLD.LIMIT_NUM OR NEW.LIMIT_UP1 <> OLD.LIMIT_UP1 OR NEW.LIMIT_LOW1 <> OLD.LIMIT_LOW1 OR NEW.LIMIT_UP2 <> OLD.LIMIT_UP2 OR - NEW.LIMIT_LOW2 <> OLD.LIMIT_LOW2 OR NEW.LIMIT_UP3 <> OLD.LIMIT_UP3 OR NEW.LIMIT_LOW3 <> OLD.LIMIT_LOW3 OR NEW.CROSS_PERCENT <> OLD.CROSS_PERCENT OR NEW.RETURN_PERCENT <> OLD.RETURN_PERCENT OR - NEW.ALARM_PRIORITY <> OLD.ALARM_PRIORITY OR NEW.ALARM_DELAY_TIME <> OLD.ALARM_DELAY_TIME OR NEW.IS_WATER_ALM <> OLD.IS_WATER_ALM OR NEW.IS_ACK_ON_RTN <> OLD.IS_ACK_ON_RTN OR - NEW.DEL_ACT_ON_ACK <> OLD.DEL_ACT_ON_ACK OR NEW.IS_NEVER_ALM_ON_RTN <> OLD.IS_NEVER_ALM_ON_RTN OR NEW.TAG_NAME <> OLD.TAG_NAME - THEN - UPDATE analog_limit_info SET - LIMIT_TYPE = NEW.LIMIT_TYPE , - LIMIT_NUM = NEW.LIMIT_NUM , - LIMIT_UP1 = NEW.LIMIT_UP1 , - LIMIT_LOW1 = NEW.LIMIT_LOW1 , - LIMIT_UP2 = NEW.LIMIT_UP2 , - LIMIT_LOW2 = NEW.LIMIT_LOW2 , - LIMIT_UP3 = NEW.LIMIT_UP3 , - LIMIT_LOW3 = NEW.LIMIT_LOW3 , - CROSS_PERCENT = NEW.CROSS_PERCENT , - RETURN_PERCENT = NEW.RETURN_PERCENT , - ALARM_PRIORITY = NEW.ALARM_PRIORITY , - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME , - IS_WATER_ALM = NEW.IS_WATER_ALM , - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN , - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK , - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.IS_FILTER <> OLD.IS_FILTER OR NEW.PERCENT <> OLD.PERCENT OR NEW.IS_VALID <> OLD.IS_VALID OR NEW.DEADBAND <> OLD.DEADBAND OR - NEW.ZEROBAND <> OLD.ZEROBAND OR NEW.BASE <> OLD.BASE OR NEW.COEFF <> OLD.COEFF OR NEW.RANGE_UP <> OLD.RANGE_UP OR NEW.RANGE_LOW <> OLD.RANGE_LOW - THEN - UPDATE analog_map_to_fes SET - POINT_TP_NAME = NEW.TAG_NAME, - IS_FILTER = NEW.IS_FILTER, - PERCENT = NEW.PERCENT, - IS_VALID = NEW.IS_VALID, - DEADBAND = NEW.DEADBAND, - ZEROBAND = NEW.ZEROBAND, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_ana - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('analog_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_ANALOG_TEMP_DEFINE ON analog_temp_define; -CREATE TRIGGER TU_ANALOG_TEMP_DEFINE AFTER UPDATE ON analog_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_ANALOG_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_ANALOG_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM temp_plugin_point_map_ana WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); -/* - DELETE FROM analog WHERE POINT_TP_NAME = OLD.TAG_NAME; -*/ -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_ANALOG_TEMP_DEFINE ON analog_temp_define; -CREATE TRIGGER TD_ANALOG_TEMP_DEFINE BEFORE DELETE ON analog_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_ANALOG_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ANALOG_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('analog_temp_define')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ANALOG_TEMP_DEFINE ON analog_temp_define; -CREATE TRIGGER TDA_ANALOG_TEMP_DEFINE AFTER DELETE ON analog_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ANALOG_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_ANALOG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_analog', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('apc_analog')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_ANALOG ON APC_ANALOG; -CREATE TRIGGER TIA_APC_ANALOG AFTER INSERT ON APC_ANALOG FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUB_APC_ANALOG() RETURNS TRIGGER AS $$ -BEGIN -IF NEW.NO_RDB_SYNC = 1 THEN - NEW.NO_RDB_SYNC = NULL; -ELSEIF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_analog', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('apc_analog')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUB_APC_ANALOG ON APC_ANALOG; -CREATE TRIGGER TUB_APC_ANALOG BEFORE UPDATE ON APC_ANALOG FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUB_APC_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_ANALOG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_analog', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('apc_analog')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_ANALOG ON APC_ANALOG; -CREATE TRIGGER TDA_APC_ANALOG AFTER DELETE ON APC_ANALOG FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_apc_curve() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('apc_curve')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_apc_curve ON apc_curve; -CREATE TRIGGER TIA_apc_curve AFTER INSERT ON apc_curve FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_apc_curve(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_apc_curve() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('apc_curve')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_apc_curve ON apc_curve; -CREATE TRIGGER TUA_apc_curve AFTER UPDATE ON apc_curve FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_apc_curve(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_apc_curve() RETURNS TRIGGER AS $$ -BEGIN -delete from apc_curve_day_index where curve_key_id_tag = old.key_id_tag; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('apc_curve')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_apc_curve ON apc_curve; -CREATE TRIGGER TDA_apc_curve AFTER DELETE ON apc_curve FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_apc_curve(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_CURVE_DAY_INDEX() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_day_index', 'curve_key_id_tag,year_rule_id,week_rule_id', '', concat(NEW.CURVE_KEY_ID_TAG,',',NEW.YEAR_RULE_ID,',',NEW.WEEK_RULE_ID), getTableSubSystem('apc_curve_day_index')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_CURVE_DAY_INDEX ON apc_curve_day_index; -CREATE TRIGGER TIA_APC_CURVE_DAY_INDEX AFTER INSERT ON apc_curve_day_index FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_CURVE_DAY_INDEX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_APC_CURVE_DAY_INDEX() RETURNS TRIGGER AS $$ -BEGIN -IF((select count(*) from apc_curve_day_index where day_rule_id = old.day_rule_id)<1) THEN -delete from apc_curve_day_value where day_rule_id = old.day_rule_id; -END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_day_index', 'curve_key_id_tag,year_rule_id,week_rule_id', concat(OLD.CURVE_KEY_ID_TAG,',',OLD.YEAR_RULE_ID,',',OLD.WEEK_RULE_ID), concat(NEW.CURVE_KEY_ID_TAG,',',NEW.YEAR_RULE_ID,',',NEW.WEEK_RULE_ID), getTableSubSystem('apc_curve_day_index')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_APC_CURVE_DAY_INDEX ON apc_curve_day_index; -CREATE TRIGGER TUA_APC_CURVE_DAY_INDEX AFTER UPDATE ON apc_curve_day_index FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_APC_CURVE_DAY_INDEX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_CURVE_DAY_INDEX() RETURNS TRIGGER AS $$ -BEGIN -delete from apc_curve_day_value where day_rule_id = old.day_rule_id; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_day_index', 'curve_key_id_tag,year_rule_id,week_rule_id',concat(OLD.CURVE_KEY_ID_TAG,',',OLD.YEAR_RULE_ID,',',OLD.WEEK_RULE_ID), '', getTableSubSystem('apc_curve_day_index')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_CURVE_DAY_INDEX ON apc_curve_day_index; -CREATE TRIGGER TDA_APC_CURVE_DAY_INDEX AFTER DELETE ON apc_curve_day_index FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_CURVE_DAY_INDEX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_CURVE_DAY_VALUE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_day_value', 'day_rule_id,start_sec,end_sec', '', concat(NEW.DAY_RULE_ID,',',NEW.START_SEC,',',NEW.END_SEC), getTableSubSystem('apc_curve_day_value')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_CURVE_DAY_VALUE ON apc_curve_day_value; -CREATE TRIGGER TIA_APC_CURVE_DAY_VALUE AFTER INSERT ON apc_curve_day_value FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_CURVE_DAY_VALUE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_APC_CURVE_DAY_VALUE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_day_value', 'day_rule_id,start_sec,end_sec', concat(OLD.DAY_RULE_ID,',',OLD.START_SEC,',',OLD.END_SEC), concat(NEW.DAY_RULE_ID,',',NEW.START_SEC,',',NEW.END_SEC), getTableSubSystem('apc_curve_day_value')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_APC_CURVE_DAY_VALUE ON apc_curve_day_value; -CREATE TRIGGER TUA_APC_CURVE_DAY_VALUE AFTER UPDATE ON apc_curve_day_value FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_APC_CURVE_DAY_VALUE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_CURVE_DAY_VALUE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_day_value', 'day_rule_id,start_sec,end_sec', concat(OLD.DAY_RULE_ID,',',OLD.START_SEC,',',OLD.END_SEC), '', getTableSubSystem('apc_curve_day_value')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_CURVE_DAY_VALUE ON apc_curve_day_value; -CREATE TRIGGER TDA_APC_CURVE_DAY_VALUE AFTER DELETE ON apc_curve_day_value FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_CURVE_DAY_VALUE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_CURVE_WEEK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_week', 'type_id,week_day', '', concat(NEW.TYPE_ID,',',NEW.WEEK_DAY), getTableSubSystem('apc_curve_week')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_CURVE_WEEK ON apc_curve_week; -CREATE TRIGGER TIA_APC_CURVE_WEEK AFTER INSERT ON apc_curve_week FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_CURVE_WEEK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_APC_CURVE_WEEK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_week', 'type_id,week_day', concat(OLD.TYPE_ID,',',OLD.WEEK_DAY), concat(NEW.TYPE_ID,',',NEW.WEEK_DAY), getTableSubSystem('apc_curve_week')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_APC_CURVE_WEEK ON apc_curve_week; -CREATE TRIGGER TUA_APC_CURVE_WEEK AFTER UPDATE ON apc_curve_week FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_APC_CURVE_WEEK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_CURVE_WEEK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_week', 'type_id,week_day', concat(OLD.TYPE_ID,',',OLD.WEEK_DAY), '', getTableSubSystem('apc_curve_week')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_CURVE_WEEK ON apc_curve_week; -CREATE TRIGGER TDA_APC_CURVE_WEEK AFTER DELETE ON apc_curve_week FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_CURVE_WEEK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_CURVE_YEAR() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_year', 'type_id,month_begin,day_begin,month_end,day_end', '', concat(NEW.TYPE_ID,',',NEW.MONTH_BEGIN,',',NEW.DAY_BEGIN,',',NEW.MONTH_END,',',NEW.DAY_END), getTableSubSystem('apc_curve_year')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_CURVE_YEAR ON apc_curve_year; -CREATE TRIGGER TIA_APC_CURVE_YEAR AFTER INSERT ON apc_curve_year FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_CURVE_YEAR(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_APC_CURVE_YEAR() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_year', 'type_id,month_begin,day_begin,month_end,day_end', concat(OLD.TYPE_ID,',',OLD.MONTH_BEGIN,',',OLD.DAY_BEGIN,',',OLD.MONTH_END,',',OLD.DAY_END), concat(NEW.TYPE_ID,',',NEW.MONTH_BEGIN,',',NEW.DAY_BEGIN,',',NEW.MONTH_END,',',NEW.DAY_END), getTableSubSystem('apc_curve_year')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_APC_CURVE_YEAR ON apc_curve_year; -CREATE TRIGGER TUA_APC_CURVE_YEAR AFTER UPDATE ON apc_curve_year FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_APC_CURVE_YEAR(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_CURVE_YEAR() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_year', 'type_id,month_begin,day_begin,month_end,day_end', concat(OLD.TYPE_ID,',',OLD.MONTH_BEGIN,',',OLD.DAY_BEGIN,',',OLD.MONTH_END,',',OLD.DAY_END), '', getTableSubSystem('apc_curve_year')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_CURVE_YEAR ON apc_curve_year; -CREATE TRIGGER TDA_APC_CURVE_YEAR AFTER DELETE ON apc_curve_year FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_CURVE_YEAR(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_DIGITAL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_digital', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('apc_digital')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_DIGITAL ON apc_digital; -CREATE TRIGGER TIA_APC_DIGITAL AFTER INSERT ON apc_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUB_APC_DIGITAL() RETURNS TRIGGER AS $$ -BEGIN -IF NEW.NO_RDB_SYNC = 1 THEN - NEW.NO_RDB_SYNC = NULL; -ELSEIF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_digital', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('apc_digital')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUB_APC_DIGITAL ON apc_digital; -CREATE TRIGGER TUB_APC_DIGITAL BEFORE UPDATE ON apc_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUB_APC_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_DIGITAL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_digital', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('apc_digital')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_DIGITAL ON apc_digital; -CREATE TRIGGER TDA_APC_DIGITAL AFTER DELETE ON apc_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ATS_CASCO_PLANNED_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_casco_planned_train_data', 'zdate,location_id,platform_id,table_id,train_id', '', concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_planned_train_data')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ATS_CASCO_PLANNED_TRAIN_DATA ON ats_casco_planned_train_data; -CREATE TRIGGER TIA_ATS_CASCO_PLANNED_TRAIN_DATA AFTER INSERT ON ats_casco_planned_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ATS_CASCO_PLANNED_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ATS_CASCO_PLANNED_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_casco_planned_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_planned_train_data')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ATS_CASCO_PLANNED_TRAIN_DATA ON ats_casco_planned_train_data; -CREATE TRIGGER TUA_ATS_CASCO_PLANNED_TRAIN_DATA AFTER UPDATE ON ats_casco_planned_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ATS_CASCO_PLANNED_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ATS_CASCO_PLANNED_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_casco_planned_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), '', getTableSubSystem('ats_casco_planned_train_data')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ATS_CASCO_PLANNED_TRAIN_DATA ON ats_casco_planned_train_data; -CREATE TRIGGER TDA_ATS_CASCO_PLANNED_TRAIN_DATA AFTER DELETE ON ats_casco_planned_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ATS_CASCO_PLANNED_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ATS_CASCO_PRACTICAL_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_casco_practical_train_data', 'zdate,location_id,platform_id,table_id,train_id', '', concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_practical_train_data')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ATS_CASCO_PRACTICAL_TRAIN_DATA ON ats_casco_practical_train_data; -CREATE TRIGGER TIA_ATS_CASCO_PRACTICAL_TRAIN_DATA AFTER INSERT ON ats_casco_practical_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ATS_CASCO_PRACTICAL_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ATS_CASCO_PRACTICAL_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_casco_practical_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_practical_train_data')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ATS_CASCO_PRACTICAL_TRAIN_DATA ON ats_casco_practical_train_data; -CREATE TRIGGER TUA_ATS_CASCO_PRACTICAL_TRAIN_DATA AFTER UPDATE ON ats_casco_practical_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ATS_CASCO_PRACTICAL_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ATS_CASCO_PRACTICAL_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_casco_practical_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), '', getTableSubSystem('ats_casco_practical_train_data')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ATS_CASCO_PRACTICAL_TRAIN_DATA ON ats_casco_practical_train_data; -CREATE TRIGGER TDA_ATS_CASCO_PRACTICAL_TRAIN_DATA AFTER DELETE ON ats_casco_practical_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ATS_CASCO_PRACTICAL_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ATS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_fes_location_info', 'ats_location_id', '', NEW.ATS_LOCATION_ID, getTableSubSystem('ats_fes_location_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ATS_FES_LOCATION_INFO ON ats_fes_location_info; -CREATE TRIGGER TIA_ATS_FES_LOCATION_INFO AFTER INSERT ON ats_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ATS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ATS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_fes_location_info', 'ats_location_id', OLD.ATS_LOCATION_ID, NEW.ATS_LOCATION_ID, getTableSubSystem('ats_fes_location_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ATS_FES_LOCATION_INFO ON ats_fes_location_info; -CREATE TRIGGER TUA_ATS_FES_LOCATION_INFO AFTER UPDATE ON ats_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ATS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ATS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_fes_location_info', 'ats_location_id', OLD.ATS_LOCATION_ID, '', getTableSubSystem('ats_fes_location_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ATS_FES_LOCATION_INFO ON ats_fes_location_info; -CREATE TRIGGER TDA_ATS_FES_LOCATION_INFO AFTER DELETE ON ats_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ATS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ATS_FES_PLATFORM_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_fes_platform_info', 'location_id,platform_id,platform_des', '', concat(NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.PLATFORM_DES), getTableSubSystem('ats_fes_platform_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ATS_FES_PLATFORM_INFO ON ats_fes_platform_info; -CREATE TRIGGER TIA_ATS_FES_PLATFORM_INFO AFTER INSERT ON ats_fes_platform_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ATS_FES_PLATFORM_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ATS_FES_PLATFORM_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_fes_platform_info', 'location_id,platform_id,platform_des', concat(OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.PLATFORM_DES), concat(NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.PLATFORM_DES), getTableSubSystem('ats_fes_platform_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ATS_FES_PLATFORM_INFO ON ats_fes_platform_info; -CREATE TRIGGER TUA_ATS_FES_PLATFORM_INFO AFTER UPDATE ON ats_fes_platform_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ATS_FES_PLATFORM_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ATS_FES_PLATFORM_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_fes_platform_info', 'location_id,platform_id,platform_des', concat(OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.PLATFORM_DES), '', getTableSubSystem('ats_fes_platform_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ATS_FES_PLATFORM_INFO ON ats_fes_platform_info; -CREATE TRIGGER TDA_ATS_FES_PLATFORM_INFO AFTER DELETE ON ats_fes_platform_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ATS_FES_PLATFORM_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_BAS_TIMETABLE_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_ctrl_param', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('bas_timetable_ctrl_param')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_BAS_TIMETABLE_CTRL_PARAM ON bas_timetable_ctrl_param; -CREATE TRIGGER TIA_BAS_TIMETABLE_CTRL_PARAM AFTER INSERT ON bas_timetable_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_BAS_TIMETABLE_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_BAS_TIMETABLE_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_ctrl_param', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('bas_timetable_ctrl_param')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_BAS_TIMETABLE_CTRL_PARAM ON bas_timetable_ctrl_param; -CREATE TRIGGER TUA_BAS_TIMETABLE_CTRL_PARAM AFTER UPDATE ON bas_timetable_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_BAS_TIMETABLE_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_BAS_TIMETABLE_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_ctrl_param', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('bas_timetable_ctrl_param')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_BAS_TIMETABLE_CTRL_PARAM ON bas_timetable_ctrl_param; -CREATE TRIGGER TDA_BAS_TIMETABLE_CTRL_PARAM AFTER DELETE ON bas_timetable_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_BAS_TIMETABLE_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_BAS_TIMETABLE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_def', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_BAS_TIMETABLE_DEF ON bas_timetable_def; -CREATE TRIGGER TIA_BAS_TIMETABLE_DEF AFTER INSERT ON bas_timetable_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_BAS_TIMETABLE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_BAS_TIMETABLE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_def', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_BAS_TIMETABLE_DEF ON bas_timetable_def; -CREATE TRIGGER TUA_BAS_TIMETABLE_DEF AFTER UPDATE ON bas_timetable_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_BAS_TIMETABLE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_BAS_TIMETABLE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_def', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('bas_timetable_def')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_BAS_TIMETABLE_DEF ON bas_timetable_def; -CREATE TRIGGER TDA_BAS_TIMETABLE_DEF AFTER DELETE ON bas_timetable_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_BAS_TIMETABLE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_BAS_TIMETABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_info', 'location_id,timetable_id,begin_time', '', concat(NEW.LOCATION_ID,',',NEW.TIMETABLE_ID,',',NEW.BEGIN_TIME), getTableSubSystem('bas_timetable_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_BAS_TIMETABLE_INFO ON bas_timetable_info; -CREATE TRIGGER TIA_BAS_TIMETABLE_INFO AFTER INSERT ON bas_timetable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_BAS_TIMETABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_BAS_TIMETABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_info', 'location_id,timetable_id,begin_time', concat(OLD.LOCATION_ID,',',OLD.TIMETABLE_ID,',',OLD.BEGIN_TIME), concat(NEW.LOCATION_ID,',',NEW.TIMETABLE_ID,',',NEW.BEGIN_TIME), getTableSubSystem('bas_timetable_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_BAS_TIMETABLE_INFO ON bas_timetable_info; -CREATE TRIGGER TUA_BAS_TIMETABLE_INFO AFTER UPDATE ON bas_timetable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_BAS_TIMETABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_BAS_TIMETABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_info', 'location_id,timetable_id,begin_time', concat(OLD.LOCATION_ID,',',OLD.TIMETABLE_ID,',',OLD.BEGIN_TIME), '', getTableSubSystem('bas_timetable_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_BAS_TIMETABLE_INFO ON bas_timetable_info; -CREATE TRIGGER TDA_BAS_TIMETABLE_INFO AFTER DELETE ON bas_timetable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_BAS_TIMETABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_BAS_TIMETABLE_SCHEDULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_schedule', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_schedule')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_BAS_TIMETABLE_SCHEDULE ON bas_timetable_schedule; -CREATE TRIGGER TIA_BAS_TIMETABLE_SCHEDULE AFTER INSERT ON bas_timetable_schedule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_BAS_TIMETABLE_SCHEDULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_BAS_TIMETABLE_SCHEDULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_schedule', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_schedule')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_BAS_TIMETABLE_SCHEDULE ON bas_timetable_schedule; -CREATE TRIGGER TUA_BAS_TIMETABLE_SCHEDULE AFTER UPDATE ON bas_timetable_schedule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_BAS_TIMETABLE_SCHEDULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_BAS_TIMETABLE_SCHEDULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_schedule', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('bas_timetable_schedule')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_BAS_TIMETABLE_SCHEDULE ON bas_timetable_schedule; -CREATE TRIGGER TDA_BAS_TIMETABLE_SCHEDULE AFTER DELETE ON bas_timetable_schedule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_BAS_TIMETABLE_SCHEDULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_CALC_FUNC_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_func_def', 'func_name', '', NEW.FUNC_NAME, getTableSubSystem('calc_func_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_CALC_FUNC_DEF ON calc_func_def; -CREATE TRIGGER TI_CALC_FUNC_DEF AFTER INSERT ON calc_func_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_CALC_FUNC_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_CALC_FUNC_DEF() RETURNS TRIGGER AS $$ -BEGIN - - UPDATE calc_out_para SET - FUNC_NAME = NEW.FUNC_NAME, - CALC_FLAG = '1' - WHERE FUNC_NAME = OLD.FUNC_NAME; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_func_def', 'func_name', OLD.FUNC_NAME, NEW.FUNC_NAME, getTableSubSystem('calc_func_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_CALC_FUNC_DEF ON calc_func_def; -CREATE TRIGGER TU_CALC_FUNC_DEF AFTER UPDATE ON calc_func_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_CALC_FUNC_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_CALC_FUNC_DEF() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM calc_out_para WHERE FUNC_NAME = OLD.FUNC_NAME; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_func_def', 'func_name', OLD.FUNC_NAME, '', getTableSubSystem('calc_func_def')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_CALC_FUNC_DEF ON calc_func_def; -CREATE TRIGGER TD_CALC_FUNC_DEF AFTER DELETE ON calc_func_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_CALC_FUNC_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_CALC_GROUP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_group_def', 'group_id', '', NEW.GROUP_ID, getTableSubSystem('calc_group_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_CALC_GROUP_DEF ON calc_group_def; -CREATE TRIGGER TI_CALC_GROUP_DEF AFTER INSERT ON calc_group_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_CALC_GROUP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_CALC_GROUP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF NEW.GROUP_ID <> OLD.GROUP_ID THEN - UPDATE calc_func_def SET GROUP_ID = NEW.GROUP_ID WHERE GROUP_ID = OLD.GROUP_ID; - END IF; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_group_def', 'group_id', OLD.GROUP_ID, NEW.GROUP_ID, getTableSubSystem('calc_group_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_CALC_GROUP_DEF ON calc_group_def; -CREATE TRIGGER TU_CALC_GROUP_DEF AFTER UPDATE ON calc_group_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_CALC_GROUP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_CALC_GROUP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_group_def', 'group_id', OLD.GROUP_ID, '', getTableSubSystem('calc_group_def')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_CALC_GROUP_DEF ON calc_group_def; -CREATE TRIGGER TD_CALC_GROUP_DEF AFTER DELETE ON calc_group_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_CALC_GROUP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_CALC_IN_PARA() RETURNS TRIGGER AS $$ -BEGIN - - UPDATE calc_out_para SET CALC_FLAG = '1' WHERE KEY_ID_TAG = NEW.KEY_ID_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_in_para', 'key_id_tag,para_seq_no', '', concat(NEW.KEY_ID_TAG,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_in_para')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_CALC_IN_PARA ON calc_in_para; -CREATE TRIGGER TI_CALC_IN_PARA AFTER INSERT ON calc_in_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_CALC_IN_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_CALC_IN_PARA() RETURNS TRIGGER AS $$ -BEGIN - - UPDATE calc_out_para SET CALC_FLAG = '1' WHERE KEY_ID_TAG = NEW.KEY_ID_TAG; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_in_para', 'key_id_tag,para_seq_no', concat(OLD.KEY_ID_TAG,',',OLD.PARA_SEQ_NO), concat(NEW.KEY_ID_TAG,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_in_para')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_CALC_IN_PARA ON calc_in_para; -CREATE TRIGGER TU_CALC_IN_PARA AFTER UPDATE ON calc_in_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_CALC_IN_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_CALC_IN_PARA() RETURNS TRIGGER AS $$ -BEGIN - - UPDATE calc_out_para SET CALC_FLAG = '1' WHERE KEY_ID_TAG = OLD.KEY_ID_TAG; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_in_para', 'key_id_tag,para_seq_no', concat(OLD.KEY_ID_TAG,',',OLD.PARA_SEQ_NO), '', getTableSubSystem('calc_in_para')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_CALC_IN_PARA ON calc_in_para; -CREATE TRIGGER TD_CALC_IN_PARA AFTER DELETE ON calc_in_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_CALC_IN_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_CALC_OUT_PARA() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_out_para', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('calc_out_para')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_CALC_OUT_PARA ON calc_out_para; -CREATE TRIGGER TI_CALC_OUT_PARA AFTER INSERT ON calc_out_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_CALC_OUT_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_CALC_OUT_PARA() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_out_para', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('calc_out_para')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_CALC_OUT_PARA ON calc_out_para; -CREATE TRIGGER TU_CALC_OUT_PARA AFTER UPDATE ON calc_out_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_CALC_OUT_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_CALC_OUT_PARA() RETURNS TRIGGER AS $$ -BEGIN - - --这里不能触发删除本输出的输入,因为输入的删除触发器中调用了本表 - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_out_para', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('calc_out_para')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_CALC_OUT_PARA ON calc_out_para; -CREATE TRIGGER TD_CALC_OUT_PARA AFTER DELETE ON calc_out_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_CALC_OUT_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_CALC_PARA_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_para_def', 'func_name,para_seq_no', '', concat(NEW.FUNC_NAME,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_para_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_CALC_PARA_DEF ON calc_para_def; -CREATE TRIGGER TI_CALC_PARA_DEF AFTER INSERT ON calc_para_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_CALC_PARA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_CALC_PARA_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_para_def', 'func_name,para_seq_no', concat(OLD.FUNC_NAME,',',OLD.PARA_SEQ_NO), concat(NEW.FUNC_NAME,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_para_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_CALC_PARA_DEF ON calc_para_def; -CREATE TRIGGER TU_CALC_PARA_DEF AFTER UPDATE ON calc_para_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_CALC_PARA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_CALC_PARA_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_para_def', 'func_name,para_seq_no', concat(OLD.FUNC_NAME,',',OLD.PARA_SEQ_NO), '', getTableSubSystem('calc_para_def')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_CALC_PARA_DEF ON calc_para_def; -CREATE TRIGGER TD_CALC_PARA_DEF AFTER DELETE ON calc_para_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_CALC_PARA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_CFG_DEVICE_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'cfg_device_inst', 'id', '', NEW.id, getTableSubSystem('cfg_device_inst')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_CFG_DEVICE_INST ON cfg_device_inst; -CREATE TRIGGER TIA_CFG_DEVICE_INST AFTER INSERT ON cfg_device_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_CFG_DEVICE_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_CFG_DEVICE_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'cfg_device_inst', 'id', OLD.id, NEW.id, getTableSubSystem('cfg_device_inst')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_CFG_DEVICE_INST ON cfg_device_inst; -CREATE TRIGGER TUA_CFG_DEVICE_INST AFTER UPDATE ON cfg_device_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_CFG_DEVICE_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_CFG_DEVICE_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'cfg_device_inst', 'id', OLD.id, '', getTableSubSystem('cfg_device_inst')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_CFG_DEVICE_INST ON cfg_device_inst; -CREATE TRIGGER TDA_CFG_DEVICE_INST AFTER DELETE ON cfg_device_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_CFG_DEVICE_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_CFG_SIGNAL_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'cfg_signal_inst', 'id', '', NEW.id, getTableSubSystem('cfg_signal_inst')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_CFG_SIGNAL_INST ON cfg_signal_inst; -CREATE TRIGGER TIA_CFG_SIGNAL_INST AFTER INSERT ON cfg_signal_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_CFG_SIGNAL_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_CFG_SIGNAL_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'cfg_signal_inst', 'id', OLD.id, NEW.id, getTableSubSystem('cfg_signal_inst')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_CFG_SIGNAL_INST ON cfg_signal_inst; -CREATE TRIGGER TUA_CFG_SIGNAL_INST AFTER UPDATE ON cfg_signal_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_CFG_SIGNAL_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_CFG_SIGNAL_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'cfg_signal_inst', 'id', OLD.id, '', getTableSubSystem('cfg_signal_inst')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_CFG_SIGNAL_INST ON cfg_signal_inst; -CREATE TRIGGER TDA_CFG_SIGNAL_INST AFTER DELETE ON cfg_signal_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_CFG_SIGNAL_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'dev_temp_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('dev_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_DEV_TEMP_DEF ON dev_temp_def; -CREATE TRIGGER TIA_DEV_TEMP_DEF AFTER INSERT ON dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF OLD.TAG_NAME != NEW.TAG_NAME THEN -BEGIN - UPDATE accuml set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); - UPDATE analog set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); - UPDATE digital set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); - UPDATE mix set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -END; -END IF; - -IF OLD.TAG_NAME != NEW.TAG_NAME OR OLD.DESCRIPTION != NEW.DESCRIPTION THEN -BEGIN - UPDATE accuml_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - - UPDATE analog_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - - - UPDATE digital_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - - UPDATE mix_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - --更新对应的套件 - IF OLD.TAG_NAME != NEW.TAG_NAME THEN - BEGIN - UPDATE temp_plugin_dev_map SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_fes_dev_map SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_acc SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_ana SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_dig SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_mix SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - END; - END IF; -END; -END IF; -/* -IF OLD.TAG_NAME != NEW.TAG_NAME OR OLD.DEV_TYPE_ID != NEW.DEV_TYPE_ID OR OLD.SUB_SYSTEM != NEW.SUB_SYSTEM -THEN -UPDATE dev_info SET -DEV_TP_NAME=NEW.TAG_NAME, -DEV_TYPE=NEW.DEV_TYPE_ID, -SUB_SYSTEM = NEW.SUB_SYSTEM -WHERE DEV_TP_NAME=OLD.TAG_NAME ; -END IF; -*/ -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'dev_temp_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('dev_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_DEV_TEMP_DEF ON dev_temp_def; -CREATE TRIGGER TU_DEV_TEMP_DEF AFTER UPDATE ON dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - -/* -DELETE FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME; -*/ -DELETE FROM accuml_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; -DELETE FROM analog_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; -DELETE FROM digital_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; -DELETE FROM mix_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; ---套件的处理 -DELETE FROM temp_plugin_dev_map WHERE TEMP_NAME = OLD.TAG_NAME; -UPDATE accuml set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -UPDATE analog set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -UPDATE digital set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -UPDATE mix set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_DEV_TEMP_DEF ON dev_temp_def; -CREATE TRIGGER TD_DEV_TEMP_DEF BEFORE DELETE ON dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'dev_temp_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('dev_temp_def')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_DEV_TEMP_DEF ON dev_temp_def; -CREATE TRIGGER TDA_DEV_TEMP_DEF AFTER DELETE ON dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_DEV_TEMP_GROUP() RETURNS TRIGGER AS $$ -BEGIN - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE dev_temp_def SET DEV_TEMP_GRP = NEW.TAG_NAME WHERE DEV_TEMP_GRP = OLD.TAG_NAME; - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_DEV_TEMP_GROUP ON dev_temp_group; -CREATE TRIGGER TU_DEV_TEMP_GROUP AFTER UPDATE ON dev_temp_group FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_DEV_TEMP_GROUP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_DEV_TEMP_GROUP() RETURNS TRIGGER AS $$ -BEGIN - - DELETE FROM dev_temp_def WHERE DEV_TEMP_GRP = OLD.TAG_NAME; - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_DEV_TEMP_GROUP ON dev_temp_group; -CREATE TRIGGER TD_DEV_TEMP_GROUP AFTER DELETE ON dev_temp_group FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_DEV_TEMP_GROUP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_DIGITAL_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'digital_control', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('digital_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_DIGITAL_CONTROL ON digital_control; -CREATE TRIGGER TIA_DIGITAL_CONTROL AFTER INSERT ON digital_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_DIGITAL_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_DIGITAL_CONTROL() RETURNS TRIGGER AS $$ -BEGIN - - --修改功能名称 - IF COALESCE(NEW.RTU_TAG,'') = '' THEN - BEGIN - NEW.OFFSET_NO1 = '-1'; - NEW.OFFSET_NO2 = '-1'; - NEW.OFFSET_NO3 = '-1'; - NEW.OFFSET_NO4 = '-1'; - NEW.OFFSET_NO5 = '-1'; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_DIGITAL_CONTROL ON digital_control; -CREATE TRIGGER TU_DIGITAL_CONTROL BEFORE UPDATE ON digital_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_DIGITAL_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_DIGITAL_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'digital_control', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('digital_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_DIGITAL_CONTROL ON digital_control; -CREATE TRIGGER TUA_DIGITAL_CONTROL AFTER UPDATE ON digital_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_DIGITAL_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_DIGITAL_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'digital_control', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('digital_control')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_DIGITAL_CONTROL ON digital_control; -CREATE TRIGGER TDA_DIGITAL_CONTROL AFTER DELETE ON digital_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_DIGITAL_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_DIGITAL_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('FES digtal update','In TI_DIGTAL_MAP_TO_FES'); - - SET SESSION "disable.FesDigitalTrigger" = 1; - - SELECT cast(coalesce(CURRENT_SETTING('disable.DigitalMapToFesTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value1' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO1); - END IF; - - IF COALESCE(NEW.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value2' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO2); - END IF; - - IF COALESCE(NEW.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value3' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO3); - END IF; - - IF COALESCE(NEW.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value4' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO4); - END IF; - - IF COALESCE(NEW.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value5' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO5); - END IF; - - END; - END IF; - END; - END IF; - SET SESSION "disable.FesDigitalTrigger" = 0; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'digital_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('digital_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_DIGITAL_MAP_TO_FES ON digital_map_to_fes; -CREATE TRIGGER TI_DIGITAL_MAP_TO_FES AFTER INSERT ON digital_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_DIGITAL_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_DIGITAL_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO1 = OLD.DOT_NO1 AND - NEW.DOT_NO2 = OLD.DOT_NO2 AND - NEW.DOT_NO3 = OLD.DOT_NO3 AND - NEW.DOT_NO4 = OLD.DOT_NO4 AND - NEW.DOT_NO5 = OLD.DOT_NO5 AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('FES digtal update','In TU_DIGTAL_MAP_TO_FES'); - - SET SESSION "disable.FesDigitalTrigger" = 1; - - SELECT cast(coalesce(CURRENT_SETTING('disable.DigitalMapToFesTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO1); - END IF; - - IF COALESCE(OLD.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO2); - END IF; - - IF COALESCE(OLD.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO3); - END IF; - - IF COALESCE(OLD.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO4); - END IF; - - IF COALESCE(OLD.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO5); - END IF; - - END; - END IF; - - - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value1' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO1); - END IF; - - IF COALESCE(NEW.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value2' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO2); - END IF; - - IF COALESCE(NEW.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value3' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO3); - END IF; - - IF COALESCE(NEW.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value4' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO4); - END IF; - - IF COALESCE(NEW.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value5' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO5); - END IF; - - END; - ELSE - BEGIN - NEW.DOT_NO1 = '-1'; - NEW.DOT_NO2 = '-1'; - NEW.DOT_NO3 = '-1'; - NEW.DOT_NO4 = '-1'; - NEW.DOT_NO5 = '-1'; - END; - END IF; - END; - END IF; - SET SESSION "disable.FesDigitalTrigger" = 0; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_DIGITAL_MAP_TO_FES ON digital_map_to_fes; -CREATE TRIGGER TU_DIGITAL_MAP_TO_FES BEFORE UPDATE ON digital_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_DIGITAL_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_DIGITAL_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'digital_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('digital_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_DIGITAL_MAP_TO_FES ON digital_map_to_fes; -CREATE TRIGGER TUA_DIGITAL_MAP_TO_FES AFTER UPDATE ON digital_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_DIGITAL_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_DIGITAL_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('FES digtal update','In TD_DIGTAL_MAP_TO_FES'); - - SET SESSION "disable.FesDigitalTrigger" = 1; - - SELECT cast(coalesce(CURRENT_SETTING('disable.DigitalMapToFesTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO1); - END IF; - - IF COALESCE(OLD.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO2); - END IF; - - IF COALESCE(OLD.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO3); - END IF; - - IF COALESCE(OLD.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO4); - END IF; - - IF COALESCE(OLD.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO5); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesDigitalTrigger" = 0; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_DIGITAL_MAP_TO_FES ON digital_map_to_fes; -CREATE TRIGGER TD_DIGITAL_MAP_TO_FES BEFORE DELETE ON digital_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_DIGITAL_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_DIGITAL_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'digital_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('digital_map_to_fes')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_DIGITAL_MAP_TO_FES ON digital_map_to_fes; -CREATE TRIGGER TDA_DIGITAL_MAP_TO_FES AFTER DELETE ON digital_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_DIGITAL_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_DIGITAL_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - -/* -INSERT INTO digital( -TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, IS_CONTROL, STATE_TEXT_NAME, VALUE_NUM, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, LAST_UPDATE_TIME, VALUE1, STATUS1, LAST_CHANGE_TIME1, VALUE2, STATUS2, LAST_CHANGE_TIME2, VALUE3, STATUS3, LAST_CHANGE_TIME3, VALUE4, STATUS4, LAST_CHANGE_TIME4, VALUE5, STATUS5, LAST_CHANGE_TIME5, ALARM_PRIORITY, PIC_NAME, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, ALARM_DELAY_TIME, INPUT_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, IS_ALARM_FREQ, ALARM_FREQ, ALARM_FREQ_DESC, IS_ALARM_TIME, ALARM_TIME, ALARM_TIME_DESC, ALARM_FREQ_RANGE, INFER_NAME, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, CAMERA_TAG, PRESET_ID ) -SELECT -concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)),NEW.DESCRIPTION,TAG_NAME,NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, "", NEW.IS_CONTROL, NEW.STATE_TEXT_NAME,NEW.VALUE_NUM,GRAY, CONTRAST, QCOLOR, VALUE, STATUS, '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', NEW.ALARM_PRIORITY, '', '', '', '', NEW.ALARM_DELAY_TIME,NEW.INPUT_DELAY_TIME,NEW.IS_WATER_ALM,NEW.IS_ACK_ON_RTN,NEW.DEL_ACT_ON_ACK,NEW.IS_NEVER_ALM_ON_RTN,REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS,NEW.SAMPLE_PERIOD,NEW.IS_ALARM_FREQ,NEW.ALARM_FREQ,NEW.ALARM_FREQ_DESC,NEW.IS_ALARM_TIME,NEW.ALARM_TIME,NEW.ALARM_TIME_DESC,NEW.ALARM_FREQ_RANGE,'', NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT, '', '' -FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - INSERT INTO temp_plugin_point_map_dig - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME1, FES_TEMP_POINT_NAME2, FES_TEMP_POINT_NAME3, FES_TEMP_POINT_NAME4, FES_TEMP_POINT_NAME5, FES_TEMP_OUT_NAME1, FES_TEMP_OUT_NAME2, FES_TEMP_OUT_NAME3, FES_TEMP_OUT_NAME4, FES_TEMP_OUT_NAME5) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'', '', '', '', '', '', '', '', '', '', '' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'digital_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('digital_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_DIGITAL_TEMP_DEFINE ON digital_temp_define; -CREATE TRIGGER TI_DIGITAL_TEMP_DEFINE AFTER INSERT ON digital_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_DIGITAL_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_DIGITAL_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* - UPDATE digital SET - TAG_NAME = concat(DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - DESCRIPTION = NEW.DESCRIPTION, - SEQ_NO = NEW.SEQ_NO, - IS_CONTROL = NEW.IS_CONTROL, - STATE_TEXT_NAME = NEW.STATE_TEXT_NAME, - VALUE_NUM = NEW.VALUE_NUM, - ALARM_PRIORITY = NEW.ALARM_PRIORITY, - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME, - INPUT_DELAY_TIME = NEW.INPUT_DELAY_TIME, - IS_WATER_ALM = NEW.IS_WATER_ALM, - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN, - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK, - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - IS_SUMMARY = NEW.IS_SUMMARY, - POINT_TP_NAME = NEW.TAG_NAME, - IS_SAMPLE = NEW.IS_SAMPLE, - IS_STATISTICS = NEW.IS_STATISTICS, - SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - IS_ALARM_FREQ = NEW.IS_ALARM_FREQ, - ALARM_FREQ = NEW.ALARM_FREQ, - ALARM_FREQ_DESC = NEW.ALARM_FREQ_DESC, - IS_ALARM_TIME = NEW.IS_ALARM_TIME, - ALARM_TIME = NEW.ALARM_TIME, - ALARM_TIME_DESC = NEW.ALARM_TIME_DESC, - ALARM_FREQ_RANGE = NEW.ALARM_FREQ_RANGE, - POINT_TYPE = NEW.POINT_TYPE, - POINT_CLASS = NEW.POINT_CLASS, - POINT_PROPERTY = NEW.POINT_PROPERTY, - POINT_SORT = NEW.POINT_SORT - WHERE POINT_TP_NAME=OLD.TAG_NAME ; - UPDATE digital_control SET - CTRL_ACT_NAME = NEW.CTRL_ACT_NAME, - IS_TAGT_STATE = NEW.IS_TAGT_STATE, - CTRL_TIMEOUT = NEW.CTRL_TIMEOUT, - RESV_TIMEOUT = NEW.RESV_TIMEOUT, - PULSE_DURATION = NEW.PULSE_DURATION, - OFFSET_NUM = NEW.OFFSET_NUM, - IS_CHECK_PREVENTION = NEW.IS_CHECK_PREVENTION, - CTRL_TYPE = NEW.CTRL_TYPE, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_dig - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'digital_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('digital_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_DIGITAL_TEMP_DEFINE ON digital_temp_define; -CREATE TRIGGER TU_DIGITAL_TEMP_DEFINE AFTER UPDATE ON digital_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_DIGITAL_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_DIGITAL_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM temp_plugin_point_map_dig WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); -/* -DELETE FROM digital WHERE POINT_TP_NAME = OLD.TAG_NAME; -*/ -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_DIGITAL_TEMP_DEFINE ON digital_temp_define; -CREATE TRIGGER TD_DIGITAL_TEMP_DEFINE BEFORE DELETE ON digital_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_DIGITAL_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_DIGITAL_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'digital_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('digital_temp_define')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_DIGITAL_TEMP_DEFINE ON digital_temp_define; -CREATE TRIGGER TDA_DIGITAL_TEMP_DEFINE AFTER DELETE ON digital_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_DIGITAL_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FAULT_RECALL_COND_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fault_recall_cond_def', 'location_id,trigger_tag_name', '', concat(NEW.LOCATION_ID,',',NEW.TRIGGER_TAG_NAME), getTableSubSystem('fault_recall_cond_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FAULT_RECALL_COND_DEF ON fault_recall_cond_def; -CREATE TRIGGER TIA_FAULT_RECALL_COND_DEF AFTER INSERT ON fault_recall_cond_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FAULT_RECALL_COND_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FAULT_RECALL_COND_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fault_recall_cond_def', 'location_id,trigger_tag_name', concat(OLD.LOCATION_ID,',',OLD.TRIGGER_TAG_NAME), concat(NEW.LOCATION_ID,',',NEW.TRIGGER_TAG_NAME), getTableSubSystem('fault_recall_cond_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FAULT_RECALL_COND_DEF ON fault_recall_cond_def; -CREATE TRIGGER TUA_FAULT_RECALL_COND_DEF AFTER UPDATE ON fault_recall_cond_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FAULT_RECALL_COND_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FAULT_RECALL_COND_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fault_recall_cond_def', 'location_id,trigger_tag_name', concat(OLD.LOCATION_ID,',',OLD.TRIGGER_TAG_NAME), '', getTableSubSystem('fault_recall_cond_def')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FAULT_RECALL_COND_DEF ON fault_recall_cond_def; -CREATE TRIGGER TDA_FAULT_RECALL_COND_DEF AFTER DELETE ON fault_recall_cond_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FAULT_RECALL_COND_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_ACCUML() RETURNS TRIGGER AS $$ - DECLARE flag INT; -BEGIN - CALL kbdDebugInfo('ACCUML_MAP_TO_FES update','In TI_FES_ACCUML'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.AccumlMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.FesAccumlTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE accuml_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - - END; - END IF; - - SET SESSION "disable.AccumlMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_accuml', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_accuml')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_ACCUML ON fes_accuml; -CREATE TRIGGER TI_FES_ACCUML AFTER INSERT ON fes_accuml FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_ACCUML(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_ACCUML() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('ACCUML_MAP_TO_FES update','In TU_FES_ACCUML'); - - SET SESSION "disable.AccumlMapToFesTrigger" = 1; - - SELECT cast(coalesce(CURRENT_SETTING('disable.FesAccumlTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - --删除旧关联 - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE accuml_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - --建立新关联 - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE accuml_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - END; - END IF; - - SET SESSION "disable.AccumlMapToFesTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_ACCUML ON fes_accuml; -CREATE TRIGGER TU_FES_ACCUML BEFORE UPDATE ON fes_accuml FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_ACCUML(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_ACCUML() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_accuml', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_accuml')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_ACCUML ON fes_accuml; -CREATE TRIGGER TUA_FES_ACCUML AFTER UPDATE ON fes_accuml FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_ACCUML(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_ACCUML() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('ACCUML_MAP_TO_FES update','In TD_FES_ACCUML'); - - SET SESSION "disable.AccumlMapToFesTrigger" = 1; - - SELECT cast(coalesce(CURRENT_SETTING('disable.FesAccumlTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE accuml_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET SESSION "disable.AccumlMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_accuml', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_accuml')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_ACCUML ON fes_accuml; -CREATE TRIGGER TD_FES_ACCUML AFTER DELETE ON fes_accuml FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_ACCUML(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_ANALOG() RETURNS TRIGGER AS $$ - DECLARE flag int; -BEGIN - CALL kbdDebugInfo('ANALOG_MAP_TO_FES update','In TI_FES_ANALOG'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.AnalogMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.FesAnalogTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE analog_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.AnalogMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_analog', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_analog')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_ANALOG ON fes_analog; -CREATE TRIGGER TI_FES_ANALOG AFTER INSERT ON fes_analog FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_ANALOG() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('ANALOG_MAP_TO_FES update','In TU_FES_ANALOG'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.AnalogMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.FesAnalogTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - - --不管是ana还是const都是放在analog_map_to_fes表 - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE analog_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE analog_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.AnalogMapToFesTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_ANALOG ON fes_analog; -CREATE TRIGGER TU_FES_ANALOG BEFORE UPDATE ON fes_analog FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_ANALOG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_analog', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_analog')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_ANALOG ON fes_analog; -CREATE TRIGGER TUA_FES_ANALOG AFTER UPDATE ON fes_analog FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_ANALOG() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('ANALOG_MAP_TO_FES update','In TD_FES_ANALOG'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.AnalogMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.FesAnalogTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - --不管是ana还是const都是放在analog_map_to_fes表 - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE analog_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET SESSION "disable.AnalogMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_analog', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_analog')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_ANALOG ON fes_analog; -CREATE TRIGGER TD_FES_ANALOG AFTER DELETE ON fes_analog FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_ANALOG_CTRL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_analog_ctrl', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_analog_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_ANALOG_CTRL ON fes_analog_ctrl; -CREATE TRIGGER TIA_FES_ANALOG_CTRL AFTER INSERT ON fes_analog_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_ANALOG_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_ANALOG_CTRL() RETURNS TRIGGER AS $$ -BEGIN - --更新关联了此点的遥控点 - - IF NEW.RTU_TAG <> OLD.RTU_TAG OR NEW.DOT_NO<> OLD.DOT_NO - THEN - BEGIN - UPDATE analog_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - END; - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_analog_ctrl', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_analog_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_ANALOG_CTRL ON fes_analog_ctrl; -CREATE TRIGGER TU_FES_ANALOG_CTRL AFTER UPDATE ON fes_analog_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_ANALOG_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_ANALOG_CTRL() RETURNS TRIGGER AS $$ -BEGIN - UPDATE analog_control SET - OFFSET_NO = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_analog_ctrl', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_analog_ctrl')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_ANALOG_CTRL ON fes_analog_ctrl; -CREATE TRIGGER TD_FES_ANALOG_CTRL AFTER DELETE ON fes_analog_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_ANALOG_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_CHANNEL_PARA() RETURNS TRIGGER AS $$ - DECLARE locationTag varchar(64) DEFAULT ''; - DECLARE subsystemTag varchar(64) DEFAULT ''; -BEGIN - SELECT TAG_NAME INTO locationTag FROM sys_model_location_info WHERE LOCATION_ID = NEW.LOCATION_ID; - SELECT TAG_NAME INTO subsystemTag FROM sys_model_sub_system_info WHERE SUB_SYSTEM_ID = NEW.SUB_SYSTEM; - NEW.TAG_NAME = concat(locationTag,'.',subsystemTag,'.',NEW.CHAN_NAME); -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_CHANNEL_PARA ON FES_CHANNEL_PARA; -CREATE TRIGGER TI_FES_CHANNEL_PARA BEFORE INSERT ON FES_CHANNEL_PARA FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_CHANNEL_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_CHANNEL_PARA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_channel_para', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_channel_para')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_CHANNEL_PARA ON fes_channel_para; -CREATE TRIGGER TIA_FES_CHANNEL_PARA AFTER INSERT ON fes_channel_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_CHANNEL_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_CHANNEL_PARA() RETURNS TRIGGER AS $$ - DECLARE locationTag varchar(64) DEFAULT ''; - DECLARE subsystemTag varchar(64) DEFAULT ''; -BEGIN - IF NEW.CHAN_NAME <> OLD.CHAN_NAME THEN - BEGIN - SELECT TAG_NAME INTO locationTag FROM sys_model_location_info WHERE LOCATION_ID = NEW.LOCATION_ID; - SELECT TAG_NAME INTO subsystemTag FROM sys_model_sub_system_info WHERE SUB_SYSTEM_ID = NEW.SUB_SYSTEM; - NEW.TAG_NAME = concat(locationTag,'.',subsystemTag,'.',NEW.CHAN_NAME); - END; - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_CHANNEL_PARA ON fes_channel_para; -CREATE TRIGGER TU_FES_CHANNEL_PARA BEFORE UPDATE ON fes_channel_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_CHANNEL_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_CHANNEL_PARA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_channel_para', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_channel_para')); -END IF; -IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.CHAN_NO <> OLD.CHAN_NO OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM <> OLD.SUB_SYSTEM THEN -BEGIN - UPDATE fes_rtu_para SET - TAG_NAME = concat(NEW.TAG_NAME,'.',RTU_NAME), - CHAN_TAG = NEW.TAG_NAME, - CHAN_NO = NEW.CHAN_NO, - LOCATION_ID = NEW.LOCATION_ID, - SUB_SYSTEM = NEW.SUB_SYSTEM - WHERE CHAN_TAG = OLD.TAG_NAME; -END; -END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_CHANNEL_PARA ON fes_channel_para; -CREATE TRIGGER TUA_FES_CHANNEL_PARA AFTER UPDATE ON fes_channel_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_CHANNEL_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_CHANNEL_PARA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_channel_para', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_channel_para')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_CHANNEL_PARA ON fes_channel_para; -CREATE TRIGGER TDA_FES_CHANNEL_PARA AFTER DELETE ON fes_channel_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_CHANNEL_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_CONST() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'fes_const', 'tag_name', '',NEW.TAG_NAME, getTableSubSystem('fes_const')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_CONST ON fes_const; -CREATE TRIGGER TI_FES_CONST AFTER INSERT ON fes_const FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_CONST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_CONST() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'fes_const', 'tag_name', OLD.TAG_NAME,NEW.TAG_NAME, getTableSubSystem('fes_const')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_CONST ON fes_const; -CREATE TRIGGER TU_FES_CONST AFTER UPDATE ON fes_const FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_CONST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_CONST() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'fes_const', 'tag_name', OLD.TAG_NAME,'', getTableSubSystem('fes_const')); - END IF; - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_CONST ON fes_const; -CREATE TRIGGER TD_FES_CONST AFTER DELETE ON fes_const FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_CONST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_CONST_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - INSERT INTO fes_const( - TAG_NAME, DESCRIPTION, GROUP_NO, RTU_TAG, RTU_NO, DOT_NO, SEQ_NO, SUB_SYSTEM, LOCATION_ID, DEV_TAG, VALUE, VALUE_TYPE, UNIT_ID, VALUE_TEXT, VALUE_RATIO, VALUE_ADDED, VALUE_MAX, VALUE_MIN, VALUE_DEFAULT, VALUE_VERIFY, EX_INFO, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_CONST'))), NEW.DESCRIPTION,NEW.GROUP_NO,fes_dev_info.RTU_TAG,fes_rtu_para.RTU_NO,getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_CONST')),NEW.SEQ_NO,fes_rtu_para.SUB_SYSTEM,fes_rtu_para.LOCATION_ID,fes_dev_info.TAG_NAME,NEW.VALUE,NEW.VALUE_TYPE,NEW.UNIT_ID,NEW.VALUE_TEXT, NEW.VALUE_RATIO,NEW.VALUE_ADDED,NEW.VALUE_MAX,NEW.VALUE_MIN,NEW.VALUE_DEFAULT,NEW.VALUE_VERIFY,NEW.EX_INFO,NEW.TAG_NAME, NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'fes_const_temp', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_const_temp')); - END IF; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_CONST_TEMP ON fes_const_temp; -CREATE TRIGGER TI_FES_CONST_TEMP AFTER INSERT ON fes_const_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_CONST_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_CONST_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - UPDATE fes_const SET - DESCRIPTION = NEW.DESCRIPTION, - GROUP_NO = NEW.GROUP_NO, - SEQ_NO = NEW.SEQ_NO, - VALUE = NEW.VALUE, - VALUE_TYPE = NEW.VALUE_TYPE, - UNIT_ID = NEW.UNIT_ID, - VALUE_TEXT = NEW.VALUE_TEXT, - VALUE_RATIO = NEW.VALUE_RATIO, - VALUE_ADDED = NEW.VALUE_ADDED, - VALUE_MAX = NEW.VALUE_MAX, - VALUE_MIN = NEW.VALUE_MIN, - VALUE_DEFAULT = NEW.VALUE_DEFAULT, - VALUE_VERIFY = NEW.VALUE_VERIFY, - EX_INFO = NEW.EX_INFO, - FES_POINT_TP_NAME = NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'fes_const_temp', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_const_temp')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_CONST_TEMP ON fes_const_temp; -CREATE TRIGGER TU_FES_CONST_TEMP AFTER UPDATE ON fes_const_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_CONST_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_CONST_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - DELETE FROM fes_const WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'fes_const_temp', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_const_temp')); - END IF; - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_CONST_TEMP ON fes_const_temp; -CREATE TRIGGER TD_FES_CONST_TEMP AFTER DELETE ON fes_const_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_CONST_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_DATA_BLOCK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_data_block', 'tag_name,block_id,rtu_no,func_code', '', concat(NEW.TAG_NAME,',', NEW.BLOCK_ID,',',NEW.RTU_NO,',',NEW.FUNC_CODE), getTableSubSystem('fes_data_block')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_DATA_BLOCK ON fes_data_block; -CREATE TRIGGER TIA_FES_DATA_BLOCK AFTER INSERT ON fes_data_block FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_DATA_BLOCK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_DATA_BLOCK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_data_block', 'tag_name,block_id,rtu_no,func_code', concat(OLD.TAG_NAME,',', OLD.BLOCK_ID,',',OLD.RTU_NO,',',OLD.FUNC_CODE), concat(NEW.TAG_NAME,',',NEW.BLOCK_ID,',',NEW.RTU_NO,',',NEW.FUNC_CODE), getTableSubSystem('fes_data_block')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_DATA_BLOCK ON fes_data_block; -CREATE TRIGGER TUA_FES_DATA_BLOCK AFTER UPDATE ON fes_data_block FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_DATA_BLOCK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_DATA_BLOCK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_data_block', 'tag_name,block_id,rtu_no,func_code', concat(OLD.TAG_NAME,OLD.BLOCK_ID,',',OLD.RTU_NO,',',OLD.FUNC_CODE), '', getTableSubSystem('fes_data_block')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_DATA_BLOCK ON fes_data_block; -CREATE TRIGGER TDA_FES_DATA_BLOCK AFTER DELETE ON fes_data_block FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_DATA_BLOCK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_DATA_BLOCK_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - INSERT INTO fes_data_block( - TAG_NAME, BLOCK_ID, RTU_NO, FUNC_CODE, STAR_ADDR, DATA_LEN, DATA_FARME_TYPE, REF_CYCLE, IS_CREATE_SOE, PARA_INT1, PARA_INT2, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, LD, CALL_MODE, DATA_SET, DATA_SET_TYPE, DATA_SET_CALL_TIME, REPORT_CTRL, FES_POINT_TP_NAME, DEV_TAG) SELECT - concat(fes_dev_info.TAG_NAME,'.',getAfterLastDot(NEW.TAG_NAME)), NEW.BLOCK_ID,fes_rtu_para.RTU_NO,NEW.FUNC_CODE,NEW.STAR_ADDR,NEW.DATA_LEN, NEW.DATA_FARME_TYPE, NEW.REF_CYCLE, NEW.IS_CREATE_SOE, NEW.PARA_INT1, NEW.PARA_INT2, NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID,fes_rtu_para.SUB_SYSTEM,NEW.LD, NEW.CALL_MODE, NEW.DATA_SET,NEW.DATA_SET_TYPE,NEW.DATA_SET_CALL_TIME,NEW.REPORT_CTRL,NEW.TAG_NAME, fes_dev_info.TAG_NAME - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'fes_data_block_temp', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_data_block_temp')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_DATA_BLOCK_TEMP ON fes_data_block_temp; -CREATE TRIGGER TI_FES_DATA_BLOCK_TEMP AFTER INSERT ON fes_data_block_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_DATA_BLOCK_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DATA_BLOCK_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - UPDATE fes_data_block SET - TAG_NAME = concat(getBeforeLastDot(fes_data_block.TAG_NAME),'.',getAfterLastDot(NEW.TAG_NAME)), - BLOCK_ID = NEW.BLOCK_ID, - FUNC_CODE = NEW.FUNC_CODE, - STAR_ADDR = NEW.STAR_ADDR, - DATA_LEN = NEW.DATA_LEN, - DATA_FARME_TYPE = NEW.DATA_FARME_TYPE, - REF_CYCLE = NEW.REF_CYCLE, - IS_CREATE_SOE = NEW.IS_CREATE_SOE, - PARA_INT1 = NEW.PARA_INT1, - PARA_INT2 = NEW.PARA_INT2, - DESCRIPTION = NEW.DESCRIPTION, - LD = NEW.LD, - CALL_MODE = NEW.CALL_MODE, - DATA_SET = NEW.DATA_SET, - DATA_SET_TYPE = NEW.DATA_SET_TYPE, - DATA_SET_CALL_TIME = NEW.DATA_SET_CALL_TIME, - REPORT_CTRL = NEW.REPORT_CTRL, - FES_POINT_TP_NAME = NEW.TAG_NAME - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'fes_data_block_temp', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_data_block_temp')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DATA_BLOCK_TEMP ON fes_data_block_temp; -CREATE TRIGGER TU_FES_DATA_BLOCK_TEMP AFTER UPDATE ON fes_data_block_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DATA_BLOCK_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DATA_BLOCK_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - DELETE FROM fes_data_block WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'fes_data_block_temp', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_data_block_temp')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DATA_BLOCK_TEMP ON fes_data_block_temp; -CREATE TRIGGER TD_FES_DATA_BLOCK_TEMP AFTER DELETE ON fes_data_block_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DATA_BLOCK_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIB_FES_DEV_INFO() RETURNS TRIGGER AS $$ -BEGIN - - NEW.TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DEV_NAME); - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIB_FES_DEV_INFO ON FES_DEV_INFO; -CREATE TRIGGER TIB_FES_DEV_INFO BEFORE INSERT ON FES_DEV_INFO FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIB_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_DEV_INFO() RETURNS TRIGGER AS $$ -DECLARE incVarFesDev1 int; -DECLARE incVarFesDev2 int; -BEGIN - - IF COALESCE(NEW.DEV_TP_NAME,'') <> '' THEN - BEGIN - - --获取最大的点号时已经自动加1,这里减掉 - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_ACC')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_accuml( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DOT_NO, RTU_TAG, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8) SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , - row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+ incVarFesDev2, NEW.RTU_TAG,NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO,'', '', '', fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, fes_rtu_para.RTU_NO , fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4,fes_dev_pt_temp_def.DESCRIPTION , fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_ACC') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_ANA')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_analog( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, RTU_NO, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, IS_FILTER, PERCENT, DEADBAND_TYPE, DEADBAND, ZEROBAND, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME , PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8) SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , - NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, NEW.RTU_TAG, fes_rtu_para.RTU_NO , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2, '', '', '', fes_dev_pt_temp_def.IS_FILTER, fes_dev_pt_temp_def.PERCENT, '0', '0', '0', fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, '99999999', '-32767', fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.DESCRIPTION , fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_ANA') - AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_DIG')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_digital( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, FILTER_ERR, FILTER_DISTURB, DISTURB_TIME, REVERS, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,ASS_DIG) SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , - NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, NEW.RTU_TAG, row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2 , '', '', '', fes_dev_pt_temp_def.FILTER_ERR, fes_dev_pt_temp_def.FILTER_DISTURB, fes_dev_pt_temp_def.DISTURB_TIME, fes_dev_pt_temp_def.REVERS, fes_rtu_para.RTU_NO , fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.DESCRIPTION , fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,ASS_DIG - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_DIG') - AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_MIX')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_mix( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, FES_POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 )SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1),fes_dev_pt_temp_def.DESCRIPTION,fes_rtu_para.LOCATION_ID , - fes_rtu_para.SUB_SYSTEM , NEW.RTU_TAG,fes_rtu_para.RTU_NO, row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2 , NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, '', '', '', fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, '99999999', '-32768', fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME - AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_MIX') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_ANA_CTRL')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_analog_ctrl( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, BASE, COEFF, MAX_RANGE, MIN_RANGE, RTU_NO, DEV_TAG, DOT_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, SEQ_NO, RTU_TAG, DESCRIPTION, POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8)SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1),fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , - fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, '99999999', '-32768', fes_rtu_para.RTU_NO,NEW.TAG_NAME, - row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2,fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.SEQ_NO,NEW.RTU_TAG,fes_dev_pt_temp_def.DESCRIPTION, fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_ANA_CTRL') - AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_DIG_CTRL')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_digital_ctrl( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, DESCRIPTION, REVERS, POINT_TP_NAME, SEQ_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, PATH61850,POSITION61850, YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,CTRL_TYPE)SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1),fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , NEW.RTU_TAG, - fes_rtu_para.RTU_NO, row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2, NEW.TAG_NAME,fes_dev_pt_temp_def.DESCRIPTION, fes_dev_pt_temp_def.REVERS, fes_dev_pt_temp_def.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4,PATH61850,POSITION61850,YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,CTRL_TYPE - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_DIG_CTRL') - AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_MIX_CTRL')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_mix_ctrl( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, BASE, DESCRIPTION, DOT_NO, COEFF, MIN_RANGE, MAX_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, SEQ_NO, POINT_TP_NAME, DEV_TAG, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 )SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1),fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , - NEW.RTU_TAG,fes_rtu_para.RTU_NO,fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.DESCRIPTION, - row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2,fes_dev_pt_temp_def.RATIO, '-32768', '99999999', fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4,fes_dev_pt_temp_def.SEQ_NO, fes_dev_pt_temp_def.TAG_NAME,NEW.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME - AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_MIX_CTRL') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - - INSERT INTO fes_data_block( - TAG_NAME, BLOCK_ID, RTU_TAG, RTU_NO, FUNC_CODE, STAR_ADDR, DATA_LEN, DATA_FARME_TYPE, REF_CYCLE, IS_CREATE_SOE, PARA_INT1, PARA_INT2, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, LD, CALL_MODE, DATA_SET, DATA_SET_TYPE, DATA_SET_CALL_TIME, REPORT_CTRL, FES_POINT_TP_NAME, DEV_TAG, PARA_INT3,PARA_INT4,IS_ENABLE) SELECT - concat(NEW.TAG_NAME,'.',getAfterLastDot(fes_data_block_temp.TAG_NAME)), fes_data_block_temp.BLOCK_ID,fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO,fes_data_block_temp.FUNC_CODE,fes_data_block_temp.STAR_ADDR,fes_data_block_temp.DATA_LEN, fes_data_block_temp.DATA_FARME_TYPE,fes_data_block_temp.REF_CYCLE,fes_data_block_temp.IS_CREATE_SOE,fes_data_block_temp.PARA_INT1, fes_data_block_temp.PARA_INT2, fes_data_block_temp.DESCRIPTION,fes_rtu_para.LOCATION_ID,fes_rtu_para.SUB_SYSTEM,fes_data_block_temp.LD, fes_data_block_temp.CALL_MODE, fes_data_block_temp.DATA_SET, fes_data_block_temp.DATA_SET_TYPE,fes_data_block_temp.DATA_SET_CALL_TIME, fes_data_block_temp.REPORT_CTRL,fes_data_block_temp.TAG_NAME, NEW.TAG_NAME,PARA_INT3,PARA_INT4,IS_ENABLE - FROM fes_data_block_temp, fes_rtu_para WHERE fes_data_block_temp.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ORDER BY fes_data_block_temp.BLOCK_ID; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_CONST')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_const( - TAG_NAME, DESCRIPTION, GROUP_NO, RTU_TAG, RTU_NO, DOT_NO, SEQ_NO, SUB_SYSTEM, LOCATION_ID, DEV_TAG, VALUE, VALUE_TYPE, UNIT_ID, VALUE_TEXT, VALUE_RATIO, VALUE_ADDED, VALUE_MAX, VALUE_MIN, VALUE_DEFAULT, VALUE_VERIFY, EX_INFO, FES_POINT_TP_NAME, PATH61850, POSITION61850,RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,DZ_SEQ) SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_const_temp.SEQ_NO)+incVarFesDev1), fes_const_temp.DESCRIPTION,fes_const_temp.GROUP_NO,NEW.RTU_TAG, - fes_rtu_para.RTU_NO,row_number() over (ORDER BY fes_const_temp.SEQ_NO)+incVarFesDev2,fes_const_temp.SEQ_NO,NEW.SUB_SYSTEM,NEW.LOCATION_ID,NEW.TAG_NAME,fes_const_temp.VALUE,fes_const_temp.VALUE_TYPE,fes_const_temp.UNIT_ID,fes_const_temp.VALUE_TEXT, fes_const_temp.VALUE_RATIO,fes_const_temp.VALUE_ADDED,fes_const_temp.VALUE_MAX,fes_const_temp.VALUE_MIN,fes_const_temp.VALUE_DEFAULT,fes_const_temp.VALUE_VERIFY,fes_const_temp.EX_INFO,fes_const_temp.TAG_NAME,PATH61850, POSITION61850,fes_const_temp.RES_PARA_INT1,fes_const_temp.RES_PARA_INT2,fes_const_temp.RES_PARA_INT3,fes_const_temp.RES_PARA_INT4,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,DZ_SEQ - FROM fes_const_temp, fes_rtu_para WHERE fes_const_temp.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - END; - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_dev_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_DEV_INFO ON fes_dev_info; -CREATE TRIGGER TI_FES_DEV_INFO AFTER INSERT ON fes_dev_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUB_FES_DEV_INFO() RETURNS TRIGGER AS $$ -BEGIN - - IF NEW.DEV_NAME <> OLD.DEV_NAME THEN - NEW.TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DEV_NAME); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUB_FES_DEV_INFO ON FES_DEV_INFO; -CREATE TRIGGER TUB_FES_DEV_INFO BEFORE UPDATE ON FES_DEV_INFO FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUB_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DEV_INFO() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.RTU_TAG <> OLD.RTU_TAG OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM <> OLD.SUB_SYSTEM - OR NEW.RTU_NO <> OLD.RTU_NO - THEN - BEGIN - - update fes_accuml - SET TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_accuml.DOT_NO), LOCATION_ID = fes_rtu_para.LOCATION_ID, SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, RTU_TAG = NEW.RTU_TAG, DEV_TAG = NEW.TAG_NAME, RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_accuml.DEV_TAG = OLD.TAG_NAME; - - - - update fes_analog - SET TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_analog.DOT_NO), LOCATION_ID = fes_rtu_para.LOCATION_ID, SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, RTU_TAG = NEW.RTU_TAG, DEV_TAG = NEW.TAG_NAME, RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_analog.DEV_TAG = OLD.TAG_NAME; - - - - update fes_digital - SET TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_digital.DOT_NO ), LOCATION_ID = fes_rtu_para.LOCATION_ID, SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, RTU_TAG = NEW.RTU_TAG, DEV_TAG = NEW.TAG_NAME, RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_digital.DEV_TAG = OLD.TAG_NAME; - - - - update fes_mix - SET TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_mix.DOT_NO), LOCATION_ID = fes_rtu_para.LOCATION_ID, SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, RTU_TAG = NEW.RTU_TAG, DEV_TAG = NEW.TAG_NAME, RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_mix.DEV_TAG = OLD.TAG_NAME; - - - - update fes_analog_ctrl - SET TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_analog_ctrl.DOT_NO), LOCATION_ID = fes_rtu_para.LOCATION_ID, SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, RTU_TAG = NEW.RTU_TAG, DEV_TAG = NEW.TAG_NAME, RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_analog_ctrl.DEV_TAG = OLD.TAG_NAME; - - - - update fes_digital_ctrl - SET TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_digital_ctrl.DOT_NO), LOCATION_ID = fes_rtu_para.LOCATION_ID, SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, RTU_TAG = NEW.RTU_TAG, DEV_TAG = NEW.TAG_NAME, RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_digital_ctrl.DEV_TAG = OLD.TAG_NAME; - - - - update fes_mix_ctrl - SET TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_mix_ctrl.DOT_NO), LOCATION_ID = fes_rtu_para.LOCATION_ID, SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, RTU_TAG = NEW.RTU_TAG, DEV_TAG = NEW.TAG_NAME, RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_mix_ctrl.DEV_TAG = OLD.TAG_NAME; - - - update fes_data_block - SET LOCATION_ID = NEW.LOCATION_ID, SUB_SYSTEM = NEW.SUB_SYSTEM, DEV_TAG = NEW.TAG_NAME, RTU_TAG = NEW.RTU_TAG, TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(fes_data_block.TAG_NAME)), RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_data_block.DEV_TAG = OLD.TAG_NAME; - - - update fes_const - SET LOCATION_ID = NEW.LOCATION_ID, SUB_SYSTEM = NEW.SUB_SYSTEM, DEV_TAG = NEW.TAG_NAME, RTU_TAG = NEW.RTU_TAG, RTU_NO = fes_rtu_para.RTU_NO, TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_const.DOT_NO) - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_const.DEV_TAG = OLD.TAG_NAME; - - - - END; - END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_dev_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DEV_INFO ON fes_dev_info; -CREATE TRIGGER TU_FES_DEV_INFO AFTER UPDATE ON fes_dev_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DEV_INFO() RETURNS TRIGGER AS $$ -BEGIN -DELETE FROM fes_accuml WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_analog WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_digital WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_mix WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_analog_ctrl WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_digital_ctrl WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_mix_ctrl WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_data_block WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_const WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DEV_INFO ON fes_dev_info; -CREATE TRIGGER TD_FES_DEV_INFO BEFORE DELETE ON fes_dev_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_DEV_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_dev_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_DEV_INFO ON fes_dev_info; -CREATE TRIGGER TDA_FES_DEV_INFO AFTER DELETE ON fes_dev_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_DEV_PT_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - /* - IF NEW.POINT_TYPE = getFesPointType('FES_ACC') THEN - INSERT INTO fes_accuml( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DOT_NO, RTU_TAG, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ACC'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM ,getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ACC')), fes_dev_info.RTU_TAG,fes_dev_info.TAG_NAME,NEW.SEQ_NO,'', '', '', '0', '1', fes_rtu_para.RTU_NO ,NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.DESCRIPTION ,NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA') THEN - INSERT INTO fes_analog( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, RTU_NO, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, IS_FILTER, PERCENT, DEADBAND_TYPE, DEADBAND, ZEROBAND, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850, POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_dev_info.TAG_NAME,NEW.SEQ_NO, fes_dev_info.RTU_TAG,fes_rtu_para.RTU_NO , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA')),'', '', '', 0, 0, '0', '0', '0', '0', '1', 65536, 0, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.DESCRIPTION , NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG') THEN - INSERT INTO fes_digital( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, FILTER_ERR, FILTER_DISTURB, DISTURB_TIME, REVERS, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_dev_info.TAG_NAME,NEW.SEQ_NO, fes_dev_info.RTU_TAG,getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG')), '', '', '', 0, 0, 0, 0, fes_rtu_para.RTU_NO , NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.DESCRIPTION , NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX') THEN - INSERT INTO fes_mix( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX'))), NEW.DESCRIPTION ,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX')), fes_dev_info.TAG_NAME, NEW.SEQ_NO, '', '', '', '0', '1', 65536, 0, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - INSERT INTO fes_analog_ctrl( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, BASE, COEFF, MAX_RANGE, MIN_RANGE, POINT_TP_NAME,RES_PARA_INT1,RES_PARA_INT2,RES_PARA_INT3,RES_PARA_INT4,PATH61850,POSITION61850)SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA_CTRL'))),NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA_CTRL')), fes_dev_info.TAG_NAME,NEW.SEQ_NO, '0', '1', 65536, 0, NEW.TAG_NAME ,NEW.RES_PARA_INT1,NEW.RES_PARA_INT2,NEW.RES_PARA_INT3,NEW.RES_PARA_INT4,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - INSERT INTO fes_digital_ctrl( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, REVERS, POINT_TP_NAME,RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, PATH61850, POSITION61850, YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME)SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG_CTRL'))),NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG_CTRL')), fes_dev_info.TAG_NAME,NEW.SEQ_NO, 0, NEW.TAG_NAME, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4,NEW.PATH61850,NEW.POSITION61850,NEW.YK_SELECT61850, NEW.YK_EXE61850, NEW.YK_CANCLE61850, NEW.YK_DOUBLE_SELECT61850, NEW.YK_DOUBLE_EXE61850, NEW.YK_DOUBLE_CANCLE61850, NEW.PULSE_TIME - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - INSERT INTO fes_mix_ctrl( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, BASE, COEFF, MIN_RANGE, MAX_RANGE, POINT_TP_NAME,RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4,PATH61850,POSITION61850)SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX_CTRL'))),NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX_CTRL')), fes_dev_info.TAG_NAME,NEW.SEQ_NO,'0', '1', 0, 65536, NEW.TAG_NAME, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - */ -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_pt_temp_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_dev_pt_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_DEV_PT_TEMP_DEF ON fes_dev_pt_temp_def; -CREATE TRIGGER TI_FES_DEV_PT_TEMP_DEF AFTER INSERT ON fes_dev_pt_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_DEV_PT_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DEV_PT_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - /* - IF NEW.POINT_TYPE = getFesPointType('FES_ACC') THEN - UPDATE fes_accuml SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA') THEN - UPDATE fes_analog SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG') THEN - UPDATE fes_digital SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX') THEN - UPDATE fes_mix SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - UPDATE fes_analog_ctrl SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - UPDATE fes_digital_ctrl SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850, - YK_SELECT61850 = NEW.YK_SELECT61850, - YK_EXE61850 = NEW.YK_EXE61850, - YK_CANCLE61850 = NEW.YK_CANCLE61850, - YK_DOUBLE_SELECT61850 = NEW.YK_DOUBLE_SELECT61850, - YK_DOUBLE_EXE61850 = NEW.YK_DOUBLE_EXE61850, - YK_DOUBLE_CANCLE61850 = NEW.YK_DOUBLE_CANCLE61850, - PULSE_TIME = NEW.PULSE_TIME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - UPDATE fes_mix_ctrl SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ - --更新套件内容 - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - BEGIN - IF NEW.POINT_TYPE = getFesPointType('FES_ACC') THEN - UPDATE temp_plugin_point_map_acc SET FES_TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_ANA') THEN - UPDATE temp_plugin_point_map_ana SET FES_TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_MIX') THEN - UPDATE temp_plugin_point_map_mix SET FES_TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_DIG') THEN - UPDATE temp_plugin_point_map_dig SET - FES_TEMP_POINT_NAME1 = IF(FES_TEMP_POINT_NAME1 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME1), - FES_TEMP_POINT_NAME2 = IF(FES_TEMP_POINT_NAME2 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME2), - FES_TEMP_POINT_NAME3 = IF(FES_TEMP_POINT_NAME3 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME3), - FES_TEMP_POINT_NAME4 = IF(FES_TEMP_POINT_NAME4 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME4), - FES_TEMP_POINT_NAME5 = IF(FES_TEMP_POINT_NAME5 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME5) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME; - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - UPDATE temp_plugin_point_map_ana SET FES_TEMP_OUT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_OUT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - UPDATE temp_plugin_point_map_mix SET FES_TEMP_OUT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_OUT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - UPDATE temp_plugin_point_map_dig SET - FES_TEMP_OUT_NAME1 = IF(FES_TEMP_OUT_NAME1 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME1), - FES_TEMP_OUT_NAME2 = IF(FES_TEMP_OUT_NAME2 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME2), - FES_TEMP_OUT_NAME3 = IF(FES_TEMP_OUT_NAME3 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME3), - FES_TEMP_OUT_NAME4 = IF(FES_TEMP_OUT_NAME4 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME4), - FES_TEMP_OUT_NAME5 = IF(FES_TEMP_OUT_NAME5 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME5) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME; - END IF; - END; - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_pt_temp_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_dev_pt_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DEV_PT_TEMP_DEF ON fes_dev_pt_temp_def; -CREATE TRIGGER TU_FES_DEV_PT_TEMP_DEF AFTER UPDATE ON fes_dev_pt_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DEV_PT_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DEV_PT_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - /* - IF OLD.POINT_TYPE = getFesPointType('FES_ACC') THEN - DELETE FROM fes_accuml WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF OLD.POINT_TYPE = getFesPointType('FES_ANA') THEN - DELETE FROM fes_analog WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF OLD.POINT_TYPE = getFesPointType('FES_DIG') THEN - DELETE FROM fes_digital WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_MIX') THEN - DELETE FROM fes_mix WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - DELETE FROM fes_analog_ctrl WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - DELETE FROM fes_digital_ctrl WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - DELETE FROM fes_mix_ctrl WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DEV_PT_TEMP_DEF ON fes_dev_pt_temp_def; -CREATE TRIGGER TD_FES_DEV_PT_TEMP_DEF BEFORE DELETE ON fes_dev_pt_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DEV_PT_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_DEV_PT_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_pt_temp_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_dev_pt_temp_def')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_DEV_PT_TEMP_DEF ON fes_dev_pt_temp_def; -CREATE TRIGGER TDA_FES_DEV_PT_TEMP_DEF AFTER DELETE ON fes_dev_pt_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_DEV_PT_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_temp_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_dev_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_DEV_TEMP_DEF ON fes_dev_temp_def; -CREATE TRIGGER TIA_FES_DEV_TEMP_DEF AFTER INSERT ON fes_dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - UPDATE fes_dev_pt_temp_def SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)), - DEV_TP_NAME = NEW.TAG_NAME - WHERE DEV_TP_NAME = OLD.TAG_NAME; - - UPDATE fes_const_temp SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)), - DEV_TP_NAME = NEW.TAG_NAME - WHERE DEV_TP_NAME = OLD.TAG_NAME; - - UPDATE fes_data_block_temp SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)), - DEV_TP_NAME = NEW.TAG_NAME - WHERE DEV_TP_NAME = OLD.TAG_NAME; - - /* - UPDATE fes_dev_info SET - DEV_TP_NAME = NEW.TAG_NAME, - DEV_TYPE_ID = NEW.DEV_TYPE_ID - WHERE DEV_TP_NAME = OLD.TAG_NAME; - */ - - --更新套件 - IF OLD.TAG_NAME != NEW.TAG_NAME THEN - BEGIN - UPDATE temp_plugin_fes_dev_map SET FES_TEMP_NAME = NEW.TAG_NAME WHERE FES_TEMP_NAME = OLD.TAG_NAME; - END; - END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_temp_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_dev_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DEV_TEMP_DEF ON fes_dev_temp_def; -CREATE TRIGGER TU_FES_DEV_TEMP_DEF AFTER UPDATE ON fes_dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - DELETE FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = OLD.TAG_NAME; - DELETE FROM fes_const_temp WHERE DEV_TP_NAME = OLD.TAG_NAME; - DELETE FROM fes_data_block_temp WHERE DEV_TP_NAME = OLD.TAG_NAME; - --套件的处理 - DELETE FROM temp_plugin_fes_dev_map WHERE FES_TEMP_NAME = OLD.TAG_NAME; - /* - DELETE FROM fes_dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME; - */ - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DEV_TEMP_DEF ON fes_dev_temp_def; -CREATE TRIGGER TD_FES_DEV_TEMP_DEF BEFORE DELETE ON fes_dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_temp_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_dev_temp_def')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_DEV_TEMP_DEF ON fes_dev_temp_def; -CREATE TRIGGER TDA_FES_DEV_TEMP_DEF AFTER DELETE ON fes_dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_DEV_TYPE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_type_def', 'dev_type_id', '', NEW.DEV_TYPE_ID, getTableSubSystem('fes_dev_type_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_DEV_TYPE_DEF ON fes_dev_type_def; -CREATE TRIGGER TIA_FES_DEV_TYPE_DEF AFTER INSERT ON fes_dev_type_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_DEV_TYPE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DEV_TYPE_DEF() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.DEV_TYPE_ID <> OLD.DEV_TYPE_ID THEN - BEGIN - UPDATE fes_dev_temp_def SET - DEV_TYPE_ID = NEW.DEV_TYPE_ID - WHERE DEV_TYPE_ID = OLD.DEV_TYPE_ID; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DEV_TYPE_DEF ON fes_dev_type_def; -CREATE TRIGGER TU_FES_DEV_TYPE_DEF BEFORE UPDATE ON fes_dev_type_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DEV_TYPE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_DEV_TYPE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_type_def', 'dev_type_id', OLD.DEV_TYPE_ID, NEW.DEV_TYPE_ID, getTableSubSystem('fes_dev_type_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_DEV_TYPE_DEF ON fes_dev_type_def; -CREATE TRIGGER TUA_FES_DEV_TYPE_DEF AFTER UPDATE ON fes_dev_type_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_DEV_TYPE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_DEV_TYPE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_type_def', 'dev_type_id', OLD.DEV_TYPE_ID, '', getTableSubSystem('fes_dev_type_def')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_DEV_TYPE_DEF ON fes_dev_type_def; -CREATE TRIGGER TDA_FES_DEV_TYPE_DEF AFTER DELETE ON fes_dev_type_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_DEV_TYPE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_DIGITAL() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('DIGITAL_MAP_TO_FES update','In TI_FES_DIGITAL'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.DigitalMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.FesDigitalTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value1' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO1 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value2' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO2 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value3' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO3 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value4' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO4 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value5' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO5 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.DigitalMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_digital', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_digital')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_DIGITAL ON fes_digital; -CREATE TRIGGER TI_FES_DIGITAL AFTER INSERT ON fes_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DIGITAL() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('DIGITAL_MAP_TO_FES update','In TU_FES_DIGITAL'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.DigitalMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.FesDigitalTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value1' THEN - UPDATE digital_map_to_fes SET - DOT_NO1 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value2' THEN - UPDATE digital_map_to_fes SET - DOT_NO2 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value3' THEN - UPDATE digital_map_to_fes SET - DOT_NO3 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value4' THEN - UPDATE digital_map_to_fes SET - DOT_NO4 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value5' THEN - UPDATE digital_map_to_fes SET - DOT_NO5 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value1' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO1 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value2' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO2 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value3' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO3 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value4' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO4 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value5' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO5 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.DigitalMapToFesTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DIGITAL ON fes_digital; -CREATE TRIGGER TU_FES_DIGITAL BEFORE UPDATE ON fes_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_DIGITAL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_digital', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_digital')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_DIGITAL ON fes_digital; -CREATE TRIGGER TUA_FES_DIGITAL AFTER UPDATE ON fes_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DIGITAL() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('DIGITAL_MAP_TO_FES update','In TD_FES_DIGITAL'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.DigitalMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.FesDigitalTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value1' THEN - UPDATE digital_map_to_fes SET - DOT_NO1 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value2' THEN - UPDATE digital_map_to_fes SET - DOT_NO2 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value3' THEN - UPDATE digital_map_to_fes SET - DOT_NO3 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value4' THEN - UPDATE digital_map_to_fes SET - DOT_NO4 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value5' THEN - UPDATE digital_map_to_fes SET - DOT_NO5 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET SESSION "disable.DigitalMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_digital', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_digital')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DIGITAL ON fes_digital; -CREATE TRIGGER TD_FES_DIGITAL AFTER DELETE ON fes_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_DIGITAL_CTRL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_digital_ctrl', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_digital_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_DIGITAL_CTRL ON fes_digital_ctrl; -CREATE TRIGGER TIA_FES_DIGITAL_CTRL AFTER INSERT ON fes_digital_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_DIGITAL_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DIGITAL_CTRL() RETURNS TRIGGER AS $$ -BEGIN - --更新关联了此点的遥控点 - - IF NEW.RTU_TAG <> OLD.RTU_TAG OR NEW.DOT_NO<> OLD.DOT_NO - THEN - BEGIN - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO1 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO1 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO2 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO2 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO3 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO3 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO4 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO4 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO5 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO5 = cast(OLD.DOT_NO AS char); - - END; - END IF; - - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_digital_ctrl', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_digital_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DIGITAL_CTRL ON fes_digital_ctrl; -CREATE TRIGGER TU_FES_DIGITAL_CTRL AFTER UPDATE ON fes_digital_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DIGITAL_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DIGITAL_CTRL() RETURNS TRIGGER AS $$ -BEGIN - UPDATE digital_control SET - OFFSET_NO1 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO1 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO2 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO2 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO3 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO3 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO4 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO4 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO5 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO5 = cast(OLD.DOT_NO AS char); - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_digital_ctrl', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_digital_ctrl')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DIGITAL_CTRL ON fes_digital_ctrl; -CREATE TRIGGER TD_FES_DIGITAL_CTRL AFTER DELETE ON fes_digital_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DIGITAL_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_MIX() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('MIX_MAP_TO_FES update','In TI_FES_MIX'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.MixMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.FesMixTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE mix_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.MixMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_mix', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_mix')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_MIX ON fes_mix; -CREATE TRIGGER TI_FES_MIX AFTER INSERT ON fes_mix FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_MIX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_MIX() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('MIX_MAP_TO_FES update','In TU_FES_MIX'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.MixMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.FesMixTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE mix_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE mix_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.MixMapToFesTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_MIX ON fes_mix; -CREATE TRIGGER TU_FES_MIX BEFORE UPDATE ON fes_mix FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_MIX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_MIX() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_mix', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_mix')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_MIX ON fes_mix; -CREATE TRIGGER TUA_FES_MIX AFTER UPDATE ON fes_mix FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_MIX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_MIX() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('MIX_MAP_TO_FES update','In TD_FES_MIX'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.MixMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT cast(coalesce(CURRENT_SETTING('disable.FesMixTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE mix_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET SESSION "disable.MixMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_mix', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_mix')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_MIX ON fes_mix; -CREATE TRIGGER TD_FES_MIX AFTER DELETE ON fes_mix FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_MIX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_MIX_CTRL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_mix_ctrl', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_mix_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_MIX_CTRL ON fes_mix_ctrl; -CREATE TRIGGER TIA_FES_MIX_CTRL AFTER INSERT ON fes_mix_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_MIX_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_MIX_CTRL() RETURNS TRIGGER AS $$ -BEGIN - --更新关联了此点的遥控点 - - IF NEW.RTU_TAG = OLD.RTU_TAG AND NEW.DOT_NO= OLD.DOT_NO - THEN - BEGIN - UPDATE mix_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - END; - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_mix_ctrl', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_mix_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_MIX_CTRL ON fes_mix_ctrl; -CREATE TRIGGER TU_FES_MIX_CTRL AFTER UPDATE ON fes_mix_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_MIX_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_MIX_CTRL() RETURNS TRIGGER AS $$ -BEGIN - UPDATE mix_control SET - OFFSET_NO = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_mix_ctrl', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_mix_ctrl')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_MIX_CTRL ON fes_mix_ctrl; -CREATE TRIGGER TD_FES_MIX_CTRL AFTER DELETE ON fes_mix_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_MIX_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_PROTOCOL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_protocol', 'protocol_id', '', NEW.PROTOCOL_ID, getTableSubSystem('fes_protocol')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_PROTOCOL ON fes_protocol; -CREATE TRIGGER TIA_FES_PROTOCOL AFTER INSERT ON fes_protocol FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_PROTOCOL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_PROTOCOL() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.PROTOCOL_ID <> OLD.PROTOCOL_ID THEN - BEGIN - UPDATE fes_channel_para SET - PROTO_TYPE = NEW.PROTOCOL_ID - WHERE PROTO_TYPE = OLD.PROTOCOL_ID; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_PROTOCOL ON fes_protocol; -CREATE TRIGGER TU_FES_PROTOCOL BEFORE UPDATE ON fes_protocol FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_PROTOCOL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_PROTOCOL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_protocol', 'protocol_id', OLD.PROTOCOL_ID, NEW.PROTOCOL_ID, getTableSubSystem('fes_protocol')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_PROTOCOL ON fes_protocol; -CREATE TRIGGER TUA_FES_PROTOCOL AFTER UPDATE ON fes_protocol FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_PROTOCOL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_PROTOCOL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_protocol', 'protocol_id', OLD.PROTOCOL_ID, '', getTableSubSystem('fes_protocol')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_PROTOCOL ON fes_protocol; -CREATE TRIGGER TDA_FES_PROTOCOL AFTER DELETE ON fes_protocol FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_PROTOCOL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIB_FES_RTU_PARA() RETURNS TRIGGER AS $$ - DECLARE chNo decimal(10,0) DEFAULT 0; -BEGIN - NEW.TAG_NAME = concat(NEW.CHAN_TAG,'.',NEW.RTU_NAME); - - SELECT CHAN_NO INTO chNo FROM fes_channel_para WHERE TAG_NAME = NEW.CHAN_TAG; - - NEW.CHAN_NO = chNo; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIB_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TIB_FES_RTU_PARA BEFORE INSERT ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIB_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_RTU_PARA() RETURNS TRIGGER AS $$ -BEGIN - /* - * 不再产生默认设备 -INSERT INTO fes_dev_info -(TAG_NAME, DEV_NAME, LOCATION_ID, SUB_SYSTEM, DEV_ID, DEV_TYPE_ID, RTU_TAG, DEV_DESC, RTU_NO, DEV_TP_NAME) VALUES -(concat(NEW.TAG_NAME, '.', 'defaultDev' ),'defaultDev',NEW.LOCATION_ID,NEW.SUB_SYSTEM,'-1', '-1' ,NEW.TAG_NAME,'默认设备',NEW.RTU_NO ,'' ); -*/ -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_rtu_para', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_rtu_para')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TI_FES_RTU_PARA AFTER INSERT ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUB_FES_RTU_PARA() RETURNS TRIGGER AS $$ - DECLARE chNo decimal(10,0) DEFAULT 0; -BEGIN - IF NEW.RTU_NAME <> OLD.RTU_NAME OR NEW.CHAN_TAG <> OLD.CHAN_TAG THEN - NEW.TAG_NAME = concat(NEW.CHAN_TAG,'.',NEW.RTU_NAME); - END IF; - - IF NEW.CHAN_TAG <> OLD.CHAN_TAG THEN - BEGIN - SELECT CHAN_NO INTO chNo FROM fes_channel_para WHERE TAG_NAME = NEW.CHAN_TAG; - NEW.CHAN_NO = chNo; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUB_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TUB_FES_RTU_PARA BEFORE UPDATE ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUB_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_RTU_PARA() RETURNS TRIGGER AS $$ -BEGIN - -IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.RTU_NO <> OLD.RTU_NO OR NEW.DESCRIPTION <> OLD.DESCRIPTION -THEN -BEGIN - - - UPDATE fes_dev_info SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)) , - DEV_DESC = DEV_DESC, - RTU_TAG = NEW.TAG_NAME, - RTU_NO = NEW.RTU_NO, - LOCATION_ID = NEW.LOCATION_ID, - SUB_SYSTEM = NEW.SUB_SYSTEM - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE fes_data_block SET - RTU_NO = NEW.RTU_NO, - LOCATION_ID = NEW.LOCATION_ID, - SUB_SYSTEM = NEW.SUB_SYSTEM - WHERE RTU_NO = OLD.RTU_NO; - - IF NEW.RTU_NO <> OLD.RTU_NO THEN - BEGIN - UPDATE dev_group SET - RTU_NO = NEW.RTU_NO - WHERE RTU_NO = OLD.RTU_NO; - END; - END IF; - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - BEGIN - --更新关联的后台测点 - UPDATE accuml SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE analog SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE digital SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE mix SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - - END; - END IF; - -END; -END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_rtu_para', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_rtu_para')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TU_FES_RTU_PARA AFTER UPDATE ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_RTU_PARA() RETURNS TRIGGER AS $$ -BEGIN -DELETE FROM fes_dev_info WHERE RTU_TAG = OLD.TAG_NAME; -DELETE FROM fes_data_block WHERE RTU_NO = OLD.RTU_NO; ---更新关联的后台测点 -UPDATE accuml SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -UPDATE analog SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -UPDATE digital SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -UPDATE mix SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TD_FES_RTU_PARA BEFORE DELETE ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_RTU_PARA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_rtu_para', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_rtu_para')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TDA_FES_RTU_PARA AFTER DELETE ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_LINKAGE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - --仅仅修改时标 - - NEW.TIMEFLAG = floor(extract(epoch from now())); - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_LINKAGE_ACTION ON linkage_action; -CREATE TRIGGER TI_LINKAGE_ACTION BEFORE INSERT ON linkage_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_LINKAGE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_LINKAGE_ACTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_action', 'name', '', NEW.NAME, getTableSubSystem('linkage_action')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_LINKAGE_ACTION ON linkage_action; -CREATE TRIGGER TIA_LINKAGE_ACTION AFTER INSERT ON linkage_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_LINKAGE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_LINKAGE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - --修改对应功能 - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE linkage_function SET - TIMEFLAG = NEW.TIMEFLAG, - ACTION_NAME = NEW.NAME - WHERE ACTION_NAME = OLD.NAME; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_LINKAGE_ACTION ON linkage_action; -CREATE TRIGGER TU_LINKAGE_ACTION BEFORE UPDATE ON linkage_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_LINKAGE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_LINKAGE_ACTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_action', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('linkage_action')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_LINKAGE_ACTION ON linkage_action; -CREATE TRIGGER TUA_LINKAGE_ACTION AFTER UPDATE ON linkage_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_LINKAGE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_LINKAGE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - --删除关联了此动作的功能 - DELETE FROM linkage_function WHERE ACTION_NAME = OLD.NAME; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_action', 'name', OLD.NAME, '', getTableSubSystem('linkage_action')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_LINKAGE_ACTION ON linkage_action; -CREATE TRIGGER TD_LINKAGE_ACTION AFTER DELETE ON linkage_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_LINKAGE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_LINKAGE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.LinkageSettingTrigger" = 1; - - CALL kbdDebugInfo('linkage_define Insert','linkage_define Insert'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.LinkageDefineTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE linkage_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = NEW.LINKAGE_NAME; - END; - END IF; - - SET SESSION "disable.LinkageSettingTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_LINKAGE_DEFINE ON linkage_define; -CREATE TRIGGER TI_LINKAGE_DEFINE BEFORE INSERT ON linkage_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_LINKAGE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_LINKAGE_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_define', 'linkage_name,func_name', '', concat(NEW.LINKAGE_NAME,',',NEW.FUNC_NAME), getTableSubSystem('linkage_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_LINKAGE_DEFINE ON linkage_define; -CREATE TRIGGER TIA_LINKAGE_DEFINE AFTER INSERT ON linkage_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_LINKAGE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_LINKAGE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --修改对应联动功能关系表 - --避免触发器循环 - SET SESSION "disable.LinkageSettingTrigger" = 1; - - CALL kbdDebugInfo('linkage_define update','linkage_define update'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.LinkageDefineTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE linkage_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = OLD.LINKAGE_NAME; - END; - END IF; - - SET SESSION "disable.LinkageSettingTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_LINKAGE_DEFINE ON linkage_define; -CREATE TRIGGER TU_LINKAGE_DEFINE BEFORE UPDATE ON linkage_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_LINKAGE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_LINKAGE_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_define', 'linkage_name,func_name', concat(OLD.LINKAGE_NAME,',',OLD.FUNC_NAME), concat(NEW.LINKAGE_NAME,',',NEW.FUNC_NAME), getTableSubSystem('linkage_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_LINKAGE_DEFINE ON linkage_define; -CREATE TRIGGER TUA_LINKAGE_DEFINE AFTER UPDATE ON linkage_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_LINKAGE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_LINKAGE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.LinkageSettingTrigger" = 1; - - CALL kbdDebugInfo('linkage_define delete','linkage_define delete'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.LinkageDefineTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - UPDATE linkage_setting SET - TIMEFLAG = floor(extract(epoch from now())) - WHERE NAME = OLD.LINKAGE_NAME; - END; - END IF; - - SET SESSION "disable.LinkageSettingTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_define', 'linkage_name,func_name', concat(OLD.LINKAGE_NAME,',',OLD.FUNC_NAME), '', getTableSubSystem('linkage_define')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_LINKAGE_DEFINE ON linkage_define; -CREATE TRIGGER TD_LINKAGE_DEFINE AFTER DELETE ON linkage_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_LINKAGE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_LINKAGE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --仅仅修改时标 - NEW.TIMEFLAG = floor(extract(epoch from now())); - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_LINKAGE_FUNCTION ON linkage_function; -CREATE TRIGGER TI_LINKAGE_FUNCTION BEFORE INSERT ON linkage_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_LINKAGE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_LINKAGE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_function', 'name,action_name', '', concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('linkage_function')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_LINKAGE_FUNCTION ON linkage_function; -CREATE TRIGGER TIA_LINKAGE_FUNCTION AFTER INSERT ON linkage_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_LINKAGE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_LINKAGE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --修改对应联动功能关系表 - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE linkage_define SET - TIMEFLAG = NEW.TIMEFLAG, - FUNC_NAME = NEW.NAME - WHERE FUNC_NAME = OLD.NAME; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_LINKAGE_FUNCTION ON linkage_function; -CREATE TRIGGER TU_LINKAGE_FUNCTION BEFORE UPDATE ON linkage_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_LINKAGE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_LINKAGE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('linkage_function')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_LINKAGE_FUNCTION ON linkage_function; -CREATE TRIGGER TUA_LINKAGE_FUNCTION AFTER UPDATE ON linkage_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_LINKAGE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_LINKAGE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --删除关联了此功能的联动定义 - --检查功能是否被删除 - IF NOT EXISTS (SELECT * FROM linkage_function WHERE NAME = OLD.NAME) THEN - BEGIN - DELETE FROM linkage_define WHERE FUNC_NAME = OLD.NAME; - END; - ELSE - BEGIN - --修改时标 - UPDATE linkage_define SET - TIMEFLAG = floor(extract(epoch from now())) - WHERE FUNC_NAME = OLD.NAME; - END; - END IF; - - - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), '', getTableSubSystem('linkage_function')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_LINKAGE_FUNCTION ON linkage_function; -CREATE TRIGGER TD_LINKAGE_FUNCTION AFTER DELETE ON linkage_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_LINKAGE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_LINKAGE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.LinkageDefineTrigger" = 1; - - CALL kbdDebugInfo('linkage_setting insert','linkage_setting insert'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.LinkageSettingTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - END; - END IF; - - SET SESSION "disable.LinkageDefineTrigger" = 0; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_LINKAGE_SETTING ON linkage_setting; -CREATE TRIGGER TI_LINKAGE_SETTING BEFORE INSERT ON linkage_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_LINKAGE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_LINKAGE_SETTING() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_setting', 'name', '', NEW.NAME, getTableSubSystem('linkage_setting')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_LINKAGE_SETTING ON linkage_setting; -CREATE TRIGGER TIA_LINKAGE_SETTING AFTER INSERT ON linkage_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_LINKAGE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_LINKAGE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --修改对应联动功能关系表 - --避免触发器循环 - SET SESSION "disable.LinkageDefineTrigger" = 1; - - CALL kbdDebugInfo('linkage_setting update','linkage_setting update'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.LinkageSettingTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - IF NEW.NAME<>OLD.NAME THEN - UPDATE linkage_define SET - LINKAGE_NAME = NEW.NAME - WHERE LINKAGE_NAME = OLD.NAME; - END IF; - END; - END IF; - - SET SESSION "disable.LinkageDefineTrigger" = 0; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_LINKAGE_SETTING ON linkage_setting; -CREATE TRIGGER TU_LINKAGE_SETTING BEFORE UPDATE ON linkage_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_LINKAGE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_LINKAGE_SETTING() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_setting', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('linkage_setting')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_LINKAGE_SETTING ON linkage_setting; -CREATE TRIGGER TUA_LINKAGE_SETTING AFTER UPDATE ON linkage_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_LINKAGE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_LINKAGE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --删除关联了此联动的功能关联 - --避免触发器循环 - SET SESSION "disable.LinkageDefineTrigger" = 1; - - CALL kbdDebugInfo('linkage_setting delete','linkage_setting delete'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.LinkageSettingTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - DELETE FROM linkage_define WHERE LINKAGE_NAME = OLD.NAME; - END; - END IF; - - SET SESSION "disable.LinkageDefineTrigger" = 0; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_setting', 'name', OLD.NAME, '', getTableSubSystem('linkage_setting')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_LINKAGE_SETTING ON linkage_setting; -CREATE TRIGGER TD_LINKAGE_SETTING AFTER DELETE ON linkage_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_LINKAGE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_MIX_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'mix_control', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('mix_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_MIX_CONTROL ON mix_control; -CREATE TRIGGER TIA_MIX_CONTROL AFTER INSERT ON mix_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_MIX_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_MIX_CONTROL() RETURNS TRIGGER AS $$ -BEGIN - - --修改功能名称 - IF COALESCE(NEW.RTU_TAG,'') = '' THEN - BEGIN - NEW.OFFSET_NO = '-1'; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_MIX_CONTROL ON mix_control; -CREATE TRIGGER TU_MIX_CONTROL BEFORE UPDATE ON mix_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_MIX_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_MIX_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'mix_control', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('mix_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_MIX_CONTROL ON mix_control; -CREATE TRIGGER TUA_MIX_CONTROL AFTER UPDATE ON mix_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_MIX_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_MIX_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'mix_control', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('mix_control')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_MIX_CONTROL ON mix_control; -CREATE TRIGGER TDA_MIX_CONTROL AFTER DELETE ON mix_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_MIX_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_MIX_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - CALL kbdDebugInfo('FES MIX update','In TI_MIX_MAP_TO_FES'); - - SET SESSION "disable.FesMixTrigger" = 1; - - SELECT cast(coalesce(CURRENT_SETTING('disable.MixMapToFesTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - SET SESSION "disable.FesMixTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'mix_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('mix_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_MIX_MAP_TO_FES ON mix_map_to_fes; -CREATE TRIGGER TI_MIX_MAP_TO_FES AFTER INSERT ON mix_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_MIX_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_MIX_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO = OLD.DOT_NO AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN RETURN NEW; - END IF; - - - SET SESSION "disable.FesMixTrigger" = 1; - - SELECT cast(coalesce(CURRENT_SETTING('disable.MixMapToFesTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - - - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - ELSE NEW.DOT_NO = '-1'; - END IF; - END; - END IF; - - SET SESSION "disable.FesMixTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_MIX_MAP_TO_FES ON mix_map_to_fes; -CREATE TRIGGER TU_MIX_MAP_TO_FES BEFORE UPDATE ON mix_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_MIX_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_MIX_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'mix_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('mix_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_MIX_MAP_TO_FES ON mix_map_to_fes; -CREATE TRIGGER TUA_MIX_MAP_TO_FES AFTER UPDATE ON mix_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_MIX_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_MIX_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - CALL kbdDebugInfo('FES MIX update','In TD_MIX_MAP_TO_FES'); - - SET SESSION "disable.FesMixTrigger" = 1; - - SELECT cast(coalesce(CURRENT_SETTING('disable.MixMapToFesTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesMixTrigger" = 0; - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_MIX_MAP_TO_FES ON mix_map_to_fes; -CREATE TRIGGER TD_MIX_MAP_TO_FES BEFORE DELETE ON mix_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_MIX_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_MIX_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'mix_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('mix_map_to_fes')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_MIX_MAP_TO_FES ON mix_map_to_fes; -CREATE TRIGGER TDA_MIX_MAP_TO_FES AFTER DELETE ON mix_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_MIX_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_MIX_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* - INSERT INTO mix( - TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, IS_CONTROL, STATE_TEXT_NAME, GRAY, CONTRAST, QCOLOR, RAW_VALUE, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, METHOD, ALARM_PRIORITY, PIC_NAME, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, CAMERA_TAG, PRESET_ID) SELECT - concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)),NEW.DESCRIPTION,TAG_NAME,NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, '', NEW.IS_CONTROL, NEW.STATE_TEXT_NAME,GRAY, CONTRAST, QCOLOR, '0', VALUE, STATUS, '0', '0', '', NEW.ALARM_PRIORITY, '', '', '', '', NEW.ALARM_DELAY_TIME,NEW.IS_WATER_ALM,NEW.IS_ACK_ON_RTN,NEW.DEL_ACT_ON_ACK,NEW.IS_NEVER_ALM_ON_RTN,REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS,NEW.SAMPLE_PERIOD,NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT,'', '' - FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - - INSERT INTO temp_plugin_point_map_mix - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME, FES_TEMP_OUT_NAME) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'','','' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'mix_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('mix_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_MIX_TEMP_DEFINE ON mix_temp_define; -CREATE TRIGGER TI_MIX_TEMP_DEFINE AFTER INSERT ON mix_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_MIX_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_MIX_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* - UPDATE mix SET - TAG_NAME = concat(DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - DESCRIPTION = NEW.DESCRIPTION, - SEQ_NO = NEW.SEQ_NO, - IS_CONTROL = NEW.IS_CONTROL, - STATE_TEXT_NAME = NEW.STATE_TEXT_NAME, - ALARM_PRIORITY = NEW.ALARM_PRIORITY, - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME, - IS_WATER_ALM = NEW.IS_WATER_ALM, - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN, - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK, - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - POINT_TP_NAME = NEW.TAG_NAME, - IS_SAMPLE = NEW.IS_SAMPLE, - IS_STATISTICS = NEW.IS_STATISTICS, - SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - POINT_TYPE = NEW.POINT_TYPE, - POINT_CLASS = NEW.POINT_CLASS, - POINT_PROPERTY = NEW.POINT_PROPERTY, - POINT_SORT = NEW.POINT_SORT - WHERE POINT_TP_NAME=OLD.TAG_NAME; - - UPDATE mix_control SET - CTRL_ACT_NAME = NEW.CTRL_ACT_NAME, - CTRL_TYPE = NEW.CTRL_TYPE, - IS_TAGT_STATE = NEW.IS_TAGT_STATE, - CTRL_TIMEOUT = NEW.CTRL_TIMEOUT, - RESV_TIMEOUT = NEW.RESV_TIMEOUT, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - CTRL_TOLERANCE = NEW.CTRL_TOLERANCE, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - - UPDATE mix_map_to_fes SET - POINT_TP_NAME = NEW.TAG_NAME, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - IS_FILTER_ERROR = NEW.IS_FILTER_ERROR, - IS_FILTER_DISTURB = NEW.IS_FILTER_DISTURB, - DISTURB_TIME = NEW.DISTURB_TIME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_mix - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'mix_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('mix_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_MIX_TEMP_DEFINE ON mix_temp_define; -CREATE TRIGGER TU_MIX_TEMP_DEFINE AFTER UPDATE ON mix_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_MIX_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_MIX_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM temp_plugin_point_map_mix WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - /* - DELETE FROM mix WHERE POINT_TP_NAME = OLD.TAG_NAME; - */ -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_MIX_TEMP_DEFINE ON mix_temp_define; -CREATE TRIGGER TD_MIX_TEMP_DEFINE BEFORE DELETE ON mix_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_MIX_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_MIX_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'mix_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('mix_temp_define')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_MIX_TEMP_DEFINE ON mix_temp_define; -CREATE TRIGGER TDA_MIX_TEMP_DEFINE AFTER DELETE ON mix_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_MIX_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_OPC_CONFIG_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'opc_config_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('opc_config_define')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_OPC_CONFIG_DEFINE ON opc_config_define; -CREATE TRIGGER TIA_OPC_CONFIG_DEFINE AFTER INSERT ON opc_config_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_OPC_CONFIG_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_OPC_CONFIG_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'opc_config_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('opc_config_define')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_OPC_CONFIG_DEFINE ON opc_config_define; -CREATE TRIGGER TUA_OPC_CONFIG_DEFINE AFTER UPDATE ON opc_config_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_OPC_CONFIG_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_OPC_CONFIG_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'opc_config_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('opc_config_define')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_OPC_CONFIG_DEFINE ON opc_config_define; -CREATE TRIGGER TDA_OPC_CONFIG_DEFINE AFTER DELETE ON opc_config_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_OPC_CONFIG_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_OPC_CONFIG_VERSION() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'opc_config_version', 'domain_id,sub_system', '', concat(NEW.DOMAIN_ID,',',NEW.SUB_SYSTEM), getTableSubSystem('opc_config_version')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_OPC_CONFIG_VERSION ON opc_config_version; -CREATE TRIGGER TIA_OPC_CONFIG_VERSION AFTER INSERT ON opc_config_version FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_OPC_CONFIG_VERSION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_OPC_CONFIG_VERSION() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'opc_config_version', 'domain_id,sub_system', concat(OLD.DOMAIN_ID,',',OLD.SUB_SYSTEM), concat(NEW.DOMAIN_ID,',',NEW.SUB_SYSTEM), getTableSubSystem('opc_config_version')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_OPC_CONFIG_VERSION ON opc_config_version; -CREATE TRIGGER TUA_OPC_CONFIG_VERSION AFTER UPDATE ON opc_config_version FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_OPC_CONFIG_VERSION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_OPC_CONFIG_VERSION() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'opc_config_version', 'domain_id,sub_system', concat(OLD.DOMAIN_ID,',',OLD.SUB_SYSTEM), '', getTableSubSystem('opc_config_version')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_OPC_CONFIG_VERSION ON opc_config_version; -CREATE TRIGGER TDA_OPC_CONFIG_VERSION AFTER DELETE ON opc_config_version FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_OPC_CONFIG_VERSION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_area_info', 'id', '', NEW.ID, getTableSubSystem('pa_area_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_AREA_INFO ON pa_area_info; -CREATE TRIGGER TIA_PA_AREA_INFO AFTER INSERT ON pa_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_area_info', 'id', OLD.ID, NEW.ID, getTableSubSystem('pa_area_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_AREA_INFO ON pa_area_info; -CREATE TRIGGER TUA_PA_AREA_INFO AFTER UPDATE ON pa_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_area_info', 'id', OLD.ID, '', getTableSubSystem('pa_area_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_AREA_INFO ON pa_area_info; -CREATE TRIGGER TDA_PA_AREA_INFO AFTER DELETE ON pa_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_AUDIO_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_audio_info', 'id', '', NEW.ID, getTableSubSystem('pa_audio_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_AUDIO_INFO ON pa_audio_info; -CREATE TRIGGER TIA_PA_AUDIO_INFO AFTER INSERT ON pa_audio_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_AUDIO_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_AUDIO_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_audio_info', 'id', OLD.ID, NEW.ID, getTableSubSystem('pa_audio_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_AUDIO_INFO ON pa_audio_info; -CREATE TRIGGER TUA_PA_AUDIO_INFO AFTER UPDATE ON pa_audio_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_AUDIO_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_AUDIO_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_audio_info', 'id', OLD.ID, '', getTableSubSystem('pa_audio_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_AUDIO_INFO ON pa_audio_info; -CREATE TRIGGER TDA_PA_AUDIO_INFO AFTER DELETE ON pa_audio_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_AUDIO_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_BROADCAST_GROUP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_broadcast_group', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_broadcast_group')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_BROADCAST_GROUP ON pa_broadcast_group; -CREATE TRIGGER TIA_PA_BROADCAST_GROUP AFTER INSERT ON pa_broadcast_group FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_BROADCAST_GROUP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_BROADCAST_GROUP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_broadcast_group', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_broadcast_group')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_BROADCAST_GROUP ON pa_broadcast_group; -CREATE TRIGGER TUA_PA_BROADCAST_GROUP AFTER UPDATE ON pa_broadcast_group FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_BROADCAST_GROUP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_BROADCAST_GROUP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_broadcast_group', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pa_broadcast_group')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_BROADCAST_GROUP ON pa_broadcast_group; -CREATE TRIGGER TDA_PA_BROADCAST_GROUP AFTER DELETE ON pa_broadcast_group FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_BROADCAST_GROUP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_ctrl_param', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('pa_ctrl_param')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_CTRL_PARAM ON pa_ctrl_param; -CREATE TRIGGER TIA_PA_CTRL_PARAM AFTER INSERT ON pa_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_ctrl_param', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('pa_ctrl_param')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_CTRL_PARAM ON pa_ctrl_param; -CREATE TRIGGER TUA_PA_CTRL_PARAM AFTER UPDATE ON pa_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_ctrl_param', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('pa_ctrl_param')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_CTRL_PARAM ON pa_ctrl_param; -CREATE TRIGGER TDA_PA_CTRL_PARAM AFTER DELETE ON pa_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_location_area_def', 'location_id,area_id', '', concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pa_location_area_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_LOCATION_AREA_DEF ON pa_location_area_def; -CREATE TRIGGER TIA_PA_LOCATION_AREA_DEF AFTER INSERT ON pa_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pa_location_area_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_LOCATION_AREA_DEF ON pa_location_area_def; -CREATE TRIGGER TUA_PA_LOCATION_AREA_DEF AFTER UPDATE ON pa_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), '', getTableSubSystem('pa_location_area_def')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_LOCATION_AREA_DEF ON pa_location_area_def; -CREATE TRIGGER TDA_PA_LOCATION_AREA_DEF AFTER DELETE ON pa_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_LOCATION_SEQ_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_location_seq_def', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('pa_location_seq_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_LOCATION_SEQ_DEF ON pa_location_seq_def; -CREATE TRIGGER TIA_PA_LOCATION_SEQ_DEF AFTER INSERT ON pa_location_seq_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_LOCATION_SEQ_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_LOCATION_SEQ_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_location_seq_def', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('pa_location_seq_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_LOCATION_SEQ_DEF ON pa_location_seq_def; -CREATE TRIGGER TUA_PA_LOCATION_SEQ_DEF AFTER UPDATE ON pa_location_seq_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_LOCATION_SEQ_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_LOCATION_SEQ_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_location_seq_def', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('pa_location_seq_def')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_LOCATION_SEQ_DEF ON pa_location_seq_def; -CREATE TRIGGER TDA_PA_LOCATION_SEQ_DEF AFTER DELETE ON pa_location_seq_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_LOCATION_SEQ_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_OPERATOR_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_operator_def', 'id', '', NEW.ID, getTableSubSystem('pa_operator_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_OPERATOR_DEF ON pa_operator_def; -CREATE TRIGGER TIA_PA_OPERATOR_DEF AFTER INSERT ON pa_operator_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_OPERATOR_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_OPERATOR_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_operator_def', 'id', OLD.ID, NEW.ID, getTableSubSystem('pa_operator_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_OPERATOR_DEF ON pa_operator_def; -CREATE TRIGGER TUA_PA_OPERATOR_DEF AFTER UPDATE ON pa_operator_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_OPERATOR_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_OPERATOR_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_operator_def', 'id', OLD.ID, '', getTableSubSystem('pa_operator_def')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_OPERATOR_DEF ON pa_operator_def; -CREATE TRIGGER TDA_PA_OPERATOR_DEF AFTER DELETE ON pa_operator_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_OPERATOR_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_OPERATOR_MAP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_operator_map', 'user_grp_id', '', NEW.USER_GRP_ID, getTableSubSystem('pa_operator_map')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_OPERATOR_MAP ON pa_operator_map; -CREATE TRIGGER TIA_PA_OPERATOR_MAP AFTER INSERT ON pa_operator_map FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_OPERATOR_MAP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_OPERATOR_MAP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_operator_map', 'user_grp_id', OLD.USER_GRP_ID, NEW.USER_GRP_ID, getTableSubSystem('pa_operator_map')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_OPERATOR_MAP ON pa_operator_map; -CREATE TRIGGER TUA_PA_OPERATOR_MAP AFTER UPDATE ON pa_operator_map FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_OPERATOR_MAP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_OPERATOR_MAP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_operator_map', 'user_grp_id', OLD.USER_GRP_ID, '', getTableSubSystem('pa_operator_map')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_OPERATOR_MAP ON pa_operator_map; -CREATE TRIGGER TDA_PA_OPERATOR_MAP AFTER DELETE ON pa_operator_map FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_OPERATOR_MAP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_TIMED_AUDIO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_timed_audio', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_timed_audio')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_TIMED_AUDIO ON pa_timed_audio; -CREATE TRIGGER TIA_PA_TIMED_AUDIO AFTER INSERT ON pa_timed_audio FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_TIMED_AUDIO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_TIMED_AUDIO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_timed_audio', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_timed_audio')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_TIMED_AUDIO ON pa_timed_audio; -CREATE TRIGGER TUA_PA_TIMED_AUDIO AFTER UPDATE ON pa_timed_audio FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_TIMED_AUDIO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_TIMED_AUDIO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_timed_audio', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pa_timed_audio')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_TIMED_AUDIO ON pa_timed_audio; -CREATE TRIGGER TDA_PA_TIMED_AUDIO AFTER DELETE ON pa_timed_audio FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_TIMED_AUDIO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_area_info', 'id', '', NEW.ID, getTableSubSystem('pis_area_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_AREA_INFO ON pis_area_info; -CREATE TRIGGER TIA_PIS_AREA_INFO AFTER INSERT ON pis_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_area_info', 'id', OLD.ID, NEW.ID, getTableSubSystem('pis_area_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_AREA_INFO ON pis_area_info; -CREATE TRIGGER TUA_PIS_AREA_INFO AFTER UPDATE ON pis_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_area_info', 'id', OLD.ID, '', getTableSubSystem('pis_area_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_AREA_INFO ON pis_area_info; -CREATE TRIGGER TDA_PIS_AREA_INFO AFTER DELETE ON pis_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'pis_ctrl_param', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('pis_ctrl_param')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_CTRL_PARAM ON pis_ctrl_param; -CREATE TRIGGER TIA_PIS_CTRL_PARAM AFTER INSERT ON pis_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'pis_ctrl_param', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('pis_ctrl_param')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_CTRL_PARAM ON pis_ctrl_param; -CREATE TRIGGER TUA_PIS_CTRL_PARAM AFTER UPDATE ON pis_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'pis_ctrl_param', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('pis_ctrl_param')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_CTRL_PARAM ON pis_ctrl_param; -CREATE TRIGGER TDA_PIS_CTRL_PARAM AFTER DELETE ON pis_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_DISPLAY_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_display_info', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_display_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_DISPLAY_INFO ON pis_display_info; -CREATE TRIGGER TIA_PIS_DISPLAY_INFO AFTER INSERT ON pis_display_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_DISPLAY_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_DISPLAY_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_display_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_display_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_DISPLAY_INFO ON pis_display_info; -CREATE TRIGGER TUA_PIS_DISPLAY_INFO AFTER UPDATE ON pis_display_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_DISPLAY_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_DISPLAY_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_display_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pis_display_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_DISPLAY_INFO ON pis_display_info; -CREATE TRIGGER TDA_PIS_DISPLAY_INFO AFTER DELETE ON pis_display_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_DISPLAY_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_fes_location_info', 'pis_station_id', '', NEW.PIS_STATION_ID, getTableSubSystem('pis_fes_location_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_FES_LOCATION_INFO ON pis_fes_location_info; -CREATE TRIGGER TIA_PIS_FES_LOCATION_INFO AFTER INSERT ON pis_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_fes_location_info', 'pis_station_id', OLD.PIS_STATION_ID, NEW.PIS_STATION_ID, getTableSubSystem('pis_fes_location_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_FES_LOCATION_INFO ON pis_fes_location_info; -CREATE TRIGGER TUA_PIS_FES_LOCATION_INFO AFTER UPDATE ON pis_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_fes_location_info', 'pis_station_id', OLD.PIS_STATION_ID, '', getTableSubSystem('pis_fes_location_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_FES_LOCATION_INFO ON pis_fes_location_info; -CREATE TRIGGER TDA_PIS_FES_LOCATION_INFO AFTER DELETE ON pis_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_location_area_def', 'location_id,area_id', '', concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pis_location_area_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_LOCATION_AREA_DEF ON pis_location_area_def; -CREATE TRIGGER TIA_PIS_LOCATION_AREA_DEF AFTER INSERT ON pis_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pis_location_area_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_LOCATION_AREA_DEF ON pis_location_area_def; -CREATE TRIGGER TUA_PIS_LOCATION_AREA_DEF AFTER UPDATE ON pis_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), '', getTableSubSystem('pis_location_area_def')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_LOCATION_AREA_DEF ON pis_location_area_def; -CREATE TRIGGER TDA_PIS_LOCATION_AREA_DEF AFTER DELETE ON pis_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_MESSAGE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_message_info', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_message_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_MESSAGE_INFO ON pis_message_info; -CREATE TRIGGER TIA_PIS_MESSAGE_INFO AFTER INSERT ON pis_message_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_MESSAGE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_MESSAGE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_message_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_message_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_MESSAGE_INFO ON pis_message_info; -CREATE TRIGGER TUA_PIS_MESSAGE_INFO AFTER UPDATE ON pis_message_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_MESSAGE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_MESSAGE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_message_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pis_message_info')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_MESSAGE_INFO ON pis_message_info; -CREATE TRIGGER TDA_PIS_MESSAGE_INFO AFTER DELETE ON pis_message_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_MESSAGE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_DATASET() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_dataset', 'id', '', NEW.id, getTableSubSystem('scl_dataset')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_DATASET ON scl_dataset; -CREATE TRIGGER TIA_SCL_DATASET AFTER INSERT ON scl_dataset FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_DATASET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_DATASET() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_dataset', 'id', OLD.id, NEW.id, getTableSubSystem('scl_dataset')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_DATASET ON scl_dataset; -CREATE TRIGGER TUA_SCL_DATASET AFTER UPDATE ON scl_dataset FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_DATASET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_DATASET() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_dataset', 'id', OLD.id, '', getTableSubSystem('scl_dataset')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_DATASET ON scl_dataset; -CREATE TRIGGER TDA_SCL_DATASET AFTER DELETE ON scl_dataset FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_DATASET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_FCDA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_fcda', 'id', '', NEW.id, getTableSubSystem('scl_fcda')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_FCDA ON scl_fcda; -CREATE TRIGGER TIA_SCL_FCDA AFTER INSERT ON scl_fcda FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_FCDA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_FCDA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_fcda', 'id', OLD.id, NEW.id, getTableSubSystem('scl_fcda')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_FCDA ON scl_fcda; -CREATE TRIGGER TUA_SCL_FCDA AFTER UPDATE ON scl_fcda FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_FCDA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_FCDA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_fcda', 'id', OLD.id, '', getTableSubSystem('scl_fcda')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_FCDA ON scl_fcda; -CREATE TRIGGER TDA_SCL_FCDA AFTER DELETE ON scl_fcda FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_FCDA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_LCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_lcb', 'id', '', NEW.id, getTableSubSystem('scl_lcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_LCB ON scl_lcb; -CREATE TRIGGER TIA_SCL_LCB AFTER INSERT ON scl_lcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_LCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_LCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_lcb', 'id', OLD.id, NEW.id, getTableSubSystem('scl_lcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_LCB ON scl_lcb; -CREATE TRIGGER TUA_SCL_LCB AFTER UPDATE ON scl_lcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_LCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_LCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_lcb', 'id', OLD.id, '', getTableSubSystem('scl_lcb')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_LCB ON scl_lcb; -CREATE TRIGGER TDA_SCL_LCB AFTER DELETE ON scl_lcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_LCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_RCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_rcb', 'id', '', NEW.id, getTableSubSystem('scl_rcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_RCB ON scl_rcb; -CREATE TRIGGER TIA_SCL_RCB AFTER INSERT ON scl_rcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_RCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_RCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_rcb', 'id', OLD.id, NEW.id, getTableSubSystem('scl_rcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_RCB ON scl_rcb; -CREATE TRIGGER TUA_SCL_RCB AFTER UPDATE ON scl_rcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_RCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_RCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_rcb', 'id', OLD.id, '', getTableSubSystem('scl_rcb')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_RCB ON scl_rcb; -CREATE TRIGGER TDA_SCL_RCB AFTER DELETE ON scl_rcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_RCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_RUNTIME() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_runtime', 'id', '', NEW.id, getTableSubSystem('scl_runtime')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_RUNTIME ON scl_runtime; -CREATE TRIGGER TIA_SCL_RUNTIME AFTER INSERT ON scl_runtime FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_RUNTIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_RUNTIME() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_runtime', 'id', OLD.id, NEW.id, getTableSubSystem('scl_runtime')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_RUNTIME ON scl_runtime; -CREATE TRIGGER TUA_SCL_RUNTIME AFTER UPDATE ON scl_runtime FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_RUNTIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_RUNTIME() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_runtime', 'id', OLD.id, '', getTableSubSystem('scl_runtime')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_RUNTIME ON scl_runtime; -CREATE TRIGGER TDA_SCL_RUNTIME AFTER DELETE ON scl_runtime FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_RUNTIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_SGCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_sgcb', 'id', '', NEW.id, getTableSubSystem('scl_sgcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_SGCB ON scl_sgcb; -CREATE TRIGGER TIA_SCL_SGCB AFTER INSERT ON scl_sgcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_SGCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_SGCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_sgcb', 'id', OLD.id, NEW.id, getTableSubSystem('scl_sgcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_SGCB ON scl_sgcb; -CREATE TRIGGER TUA_SCL_SGCB AFTER UPDATE ON scl_sgcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_SGCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_SGCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_sgcb', 'id', OLD.id, '', getTableSubSystem('scl_sgcb')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_SGCB ON scl_sgcb; -CREATE TRIGGER TDA_SCL_SGCB AFTER DELETE ON scl_sgcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_SGCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_SEQUENCE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_SEQUENCE_ACTION ON sequence_action; -CREATE TRIGGER TI_SEQUENCE_ACTION BEFORE INSERT ON sequence_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_SEQUENCE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SEQUENCE_ACTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_action', 'name', '', NEW.NAME, getTableSubSystem('sequence_action')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SEQUENCE_ACTION ON sequence_action; -CREATE TRIGGER TIA_SEQUENCE_ACTION AFTER INSERT ON sequence_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SEQUENCE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_SEQUENCE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - --修改对应功能 - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE sequence_function SET - TIMEFLAG = NEW.TIMEFLAG, - ACTION_NAME = NEW.NAME - WHERE ACTION_NAME = OLD.NAME; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_SEQUENCE_ACTION ON sequence_action; -CREATE TRIGGER TU_SEQUENCE_ACTION BEFORE UPDATE ON sequence_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_SEQUENCE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SEQUENCE_ACTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_action', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('sequence_action')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SEQUENCE_ACTION ON sequence_action; -CREATE TRIGGER TUA_SEQUENCE_ACTION AFTER UPDATE ON sequence_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SEQUENCE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_SEQUENCE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - --删除关联了此动作的功能 - DELETE FROM sequence_function WHERE ACTION_NAME = OLD.NAME; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_action', 'name', OLD.NAME, '', getTableSubSystem('sequence_action')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_SEQUENCE_ACTION ON sequence_action; -CREATE TRIGGER TD_SEQUENCE_ACTION AFTER DELETE ON sequence_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_SEQUENCE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_SEQUENCE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.SequenceSettingTrigger" = 1; - - CALL kbdDebugInfo('sequence_define Insert','sequence_define Insert'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.SequenceDefineTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE sequence_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = NEW.SEQ_NAME; - END; - END IF; - - SET SESSION "disable.SequenceSettingTrigger" = 0; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_SEQUENCE_DEFINE ON sequence_define; -CREATE TRIGGER TI_SEQUENCE_DEFINE BEFORE INSERT ON sequence_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_SEQUENCE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SEQUENCE_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_define', 'seq_name,func_name', '', concat(NEW.SEQ_NAME,',',NEW.FUNC_NAME), getTableSubSystem('sequence_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SEQUENCE_DEFINE ON sequence_define; -CREATE TRIGGER TIA_SEQUENCE_DEFINE AFTER INSERT ON sequence_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SEQUENCE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_SEQUENCE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - --修改对应联动功能关系表 - --避免触发器循环 - SET SESSION "disable.SequenceSettingTrigger" = 1; - - CALL kbdDebugInfo('sequence_define update','sequence_define update'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.SequenceDefineTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE sequence_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = OLD.SEQ_NAME; - END; - END IF; - - SET SESSION "disable.SequenceSettingTrigger" = 0; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_SEQUENCE_DEFINE ON sequence_define; -CREATE TRIGGER TU_SEQUENCE_DEFINE BEFORE UPDATE ON sequence_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_SEQUENCE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SEQUENCE_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_define', 'seq_name,func_name', concat(OLD.SEQ_NAME,',',OLD.FUNC_NAME), concat(NEW.SEQ_NAME,',',NEW.FUNC_NAME), getTableSubSystem('sequence_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SEQUENCE_DEFINE ON sequence_define; -CREATE TRIGGER TUA_SEQUENCE_DEFINE AFTER UPDATE ON sequence_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SEQUENCE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_SEQUENCE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.SequenceSettingTrigger" = 1; - - CALL kbdDebugInfo('sequence_define delete','sequence_define delete'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.SequenceDefineTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - UPDATE sequence_setting SET - TIMEFLAG = floor(extract(epoch from now())) - WHERE NAME = OLD.SEQ_NAME; - END; - END IF; - - SET SESSION "disable.SequenceSettingTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_define', 'seq_name,func_name', concat(OLD.SEQ_NAME,',',OLD.FUNC_NAME), '', getTableSubSystem('sequence_define')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_SEQUENCE_DEFINE ON sequence_define; -CREATE TRIGGER TD_SEQUENCE_DEFINE AFTER DELETE ON sequence_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_SEQUENCE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_SEQUENCE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --仅仅修改时标 - NEW.TIMEFLAG = floor(extract(epoch from now())); - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_SEQUENCE_FUNCTION ON sequence_function; -CREATE TRIGGER TI_SEQUENCE_FUNCTION BEFORE INSERT ON sequence_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_SEQUENCE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SEQUENCE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - UPDATE sequence_define SET - TIMEFLAG = NEW.TIMEFLAG - WHERE FUNC_NAME = NEW.NAME; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_function', 'name,action_name', '', concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('sequence_function')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SEQUENCE_FUNCTION ON sequence_function; -CREATE TRIGGER TIA_SEQUENCE_FUNCTION AFTER INSERT ON sequence_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SEQUENCE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_SEQUENCE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --修改对应联动功能关系表 - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE sequence_define SET - TIMEFLAG = NEW.TIMEFLAG, - FUNC_NAME = NEW.NAME - WHERE FUNC_NAME = OLD.NAME; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_SEQUENCE_FUNCTION ON sequence_function; -CREATE TRIGGER TU_SEQUENCE_FUNCTION BEFORE UPDATE ON sequence_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_SEQUENCE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SEQUENCE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('sequence_function')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SEQUENCE_FUNCTION ON sequence_function; -CREATE TRIGGER TUA_SEQUENCE_FUNCTION AFTER UPDATE ON sequence_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SEQUENCE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_SEQUENCE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --删除关联了此功能的联动定义 - --检查功能是否被删除 - IF NOT EXISTS (SELECT * FROM sequence_function WHERE NAME = OLD.NAME) THEN - BEGIN - DELETE FROM sequence_define WHERE FUNC_NAME = OLD.NAME; - END; - ELSE - BEGIN - --修改时标 - UPDATE sequence_define SET - TIMEFLAG = floor(extract(epoch from now())) - WHERE FUNC_NAME = OLD.NAME; - END; - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), '', getTableSubSystem('sequence_function')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_SEQUENCE_FUNCTION ON sequence_function; -CREATE TRIGGER TD_SEQUENCE_FUNCTION AFTER DELETE ON sequence_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_SEQUENCE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_SEQUENCE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.SequenceDefineTrigger" = 1; - - CALL kbdDebugInfo('sequence_setting insert','sequence_setting insert'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.SequenceSettingTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - END; - END IF; - - SET SESSION "disable.SequenceDefineTrigger" = 0; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_SEQUENCE_SETTING ON sequence_setting; -CREATE TRIGGER TI_SEQUENCE_SETTING BEFORE INSERT ON sequence_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_SEQUENCE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SEQUENCE_SETTING() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_setting', 'name', '', NEW.NAME, getTableSubSystem('sequence_setting')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SEQUENCE_SETTING ON sequence_setting; -CREATE TRIGGER TIA_SEQUENCE_SETTING AFTER INSERT ON sequence_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SEQUENCE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_SEQUENCE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --修改对应联动功能关系表 - --避免触发器循环 - SET SESSION "disable.SequenceDefineTrigger" = 1; - - CALL kbdDebugInfo('sequence_setting update','sequence_setting update'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.SequenceSettingTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - IF NEW.NAME<>OLD.NAME THEN - UPDATE sequence_define SET - SEQ_NAME = NEW.NAME - WHERE SEQ_NAME = OLD.NAME; - END IF; - END; - END IF; - - SET SESSION "disable.SequenceDefineTrigger" = 0; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_SEQUENCE_SETTING ON sequence_setting; -CREATE TRIGGER TU_SEQUENCE_SETTING BEFORE UPDATE ON sequence_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_SEQUENCE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SEQUENCE_SETTING() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_setting', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('sequence_setting')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SEQUENCE_SETTING ON sequence_setting; -CREATE TRIGGER TUA_SEQUENCE_SETTING AFTER UPDATE ON sequence_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SEQUENCE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_SEQUENCE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --删除关联了此联动的功能关联 - --避免触发器循环 - SET SESSION "disable.SequenceDefineTrigger" = 1; - - CALL kbdDebugInfo('sequence_setting delete','sequence_setting delete'); - - SELECT cast(coalesce(CURRENT_SETTING('disable.SequenceSettingTrigger','true'),'0')as int) INTO flag; - IF flag = 0 THEN - BEGIN - DELETE FROM sequence_define WHERE SEQ_NAME = OLD.NAME; - END; - END IF; - - SET SESSION "disable.SequenceDefineTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_setting', 'name', OLD.NAME, '', getTableSubSystem('sequence_setting')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_SEQUENCE_SETTING ON sequence_setting; -CREATE TRIGGER TD_SEQUENCE_SETTING AFTER DELETE ON sequence_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_SEQUENCE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_DEF() RETURNS TRIGGER AS $$ -BEGIN - - --插入测点分组表 - --插入测点表 - --插入时间测点变 - --插入返回分组表 - --插入返回参数表 - INSERT INTO stat_inst_para_grp - (PARA_GRP_TAG, DESCRIPTION, INST_TAG, SORT,LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)) , DESCRIPTION, NEW.INST_TAG, SORT,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_para WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 1; - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG, LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)),DESCRIPTION, 1, '', SORT, '', NEW.INST_TAG,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_para WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 0 AND COALESCE(TYPE,0) = 1; - - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, RANK, TIMESTAMP, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)),DESCRIPTION, 1, floor(extract(epoch from now())),SORT, '', NEW.INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_para WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 0 AND COALESCE(TYPE,0) = 2; - - INSERT INTO stat_inst_ret_grp - (RET_GRP_TAG, DESCRIPTION, INST_TAG, SORT,LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(RET_TAG)),DESCRIPTION, NEW.INST_TAG,SORT,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_ret WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 1; - - INSERT INTO stat_inst_ret_para - (RET_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, VALUE, IS_BIND, INST_TAG, LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(RET_TAG)),DESCRIPTION, 1, '', SORT, '', 0, 0, NEW.INST_TAG,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_ret WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 0; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_def', 'inst_tag', '', NEW.INST_TAG, getTableSubSystem('stat_inst_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_DEF ON stat_inst_def; -CREATE TRIGGER TIA_STAT_INST_DEF AFTER INSERT ON stat_inst_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_DEF() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.INST_TAG <> OLD.INST_TAG THEN - BEGIN - UPDATE stat_inst_para_grp - SET INST_TAG = NEW.INST_TAG, - PARA_GRP_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_GRP_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_para_point - SET INST_TAG = NEW.INST_TAG, - PARA_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_para_time - SET INST_TAG = NEW.INST_TAG, - PARA_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_ret_grp - SET INST_TAG = NEW.INST_TAG, - RET_GRP_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(RET_GRP_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_ret_para - SET INST_TAG = NEW.INST_TAG, - RET_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(RET_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - END; - END IF; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_def', 'inst_tag', OLD.INST_TAG, NEW.INST_TAG, getTableSubSystem('stat_inst_def')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_DEF ON stat_inst_def; -CREATE TRIGGER TUA_STAT_INST_DEF AFTER UPDATE ON stat_inst_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_DEF() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM stat_inst_para_grp WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_para_point WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_para_time WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_ret_grp WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_ret_para WHERE INST_TAG = OLD.INST_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_def', 'inst_tag', OLD.INST_TAG, '', getTableSubSystem('stat_inst_def')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_DEF ON stat_inst_def; -CREATE TRIGGER TDA_STAT_INST_DEF AFTER DELETE ON stat_inst_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_PARA_GRP() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_para_grp', 'para_grp_tag', '', NEW.PARA_GRP_TAG, getTableSubSystem('stat_inst_para_grp')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_PARA_GRP ON stat_inst_para_grp; -CREATE TRIGGER TIA_STAT_INST_PARA_GRP AFTER INSERT ON stat_inst_para_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_PARA_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_PARA_GRP() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.PARA_GRP_TAG = OLD.PARA_GRP_TAG - THEN RETURN NEW; - END IF; - - UPDATE stat_inst_para_point - SET PARA_GRP_TAG = NEW.PARA_GRP_TAG - WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - - UPDATE stat_inst_para_time - SET PARA_GRP_TAG = NEW.PARA_GRP_TAG - WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_para_grp', 'para_grp_tag', OLD.PARA_GRP_TAG, NEW.PARA_GRP_TAG, getTableSubSystem('stat_inst_para_grp')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_PARA_GRP ON stat_inst_para_grp; -CREATE TRIGGER TUA_STAT_INST_PARA_GRP AFTER UPDATE ON stat_inst_para_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_PARA_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_PARA_GRP() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM stat_inst_para_point WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - DELETE FROM stat_inst_para_time WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_para_grp', 'para_grp_tag', OLD.PARA_GRP_TAG, '', getTableSubSystem('stat_inst_para_grp')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_PARA_GRP ON stat_inst_para_grp; -CREATE TRIGGER TDA_STAT_INST_PARA_GRP AFTER DELETE ON stat_inst_para_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_PARA_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_PARA_POINT() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_para_point', 'para_tag', '', NEW.PARA_TAG, getTableSubSystem('stat_inst_para_point')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_PARA_POINT ON stat_inst_para_point; -CREATE TRIGGER TIA_STAT_INST_PARA_POINT AFTER INSERT ON stat_inst_para_point FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_PARA_POINT(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_PARA_POINT() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_para_point', 'para_tag', OLD.PARA_TAG, NEW.PARA_TAG, getTableSubSystem('stat_inst_para_point')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_PARA_POINT ON stat_inst_para_point; -CREATE TRIGGER TUA_STAT_INST_PARA_POINT AFTER UPDATE ON stat_inst_para_point FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_PARA_POINT(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_PARA_POINT() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_para_point', 'para_tag', OLD.PARA_TAG, '', getTableSubSystem('stat_inst_para_point')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_PARA_POINT ON stat_inst_para_point; -CREATE TRIGGER TDA_STAT_INST_PARA_POINT AFTER DELETE ON stat_inst_para_point FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_PARA_POINT(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_PARA_TIME() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_para_time', 'para_tag', '', NEW.PARA_TAG, getTableSubSystem('stat_inst_para_time')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_PARA_TIME ON stat_inst_para_time; -CREATE TRIGGER TIA_STAT_INST_PARA_TIME AFTER INSERT ON stat_inst_para_time FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_PARA_TIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_PARA_TIME() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_para_time', 'para_tag', OLD.PARA_TAG, NEW.PARA_TAG, getTableSubSystem('stat_inst_para_time')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_PARA_TIME ON stat_inst_para_time; -CREATE TRIGGER TUA_STAT_INST_PARA_TIME AFTER UPDATE ON stat_inst_para_time FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_PARA_TIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_PARA_TIME() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_para_time', 'para_tag', OLD.PARA_TAG, '', getTableSubSystem('stat_inst_para_time')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_PARA_TIME ON stat_inst_para_time; -CREATE TRIGGER TDA_STAT_INST_PARA_TIME AFTER DELETE ON stat_inst_para_time FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_PARA_TIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_RET_GRP() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_ret_grp', 'ret_grp_tag', '', NEW.RET_GRP_TAG, getTableSubSystem('stat_inst_ret_grp')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_RET_GRP ON stat_inst_ret_grp; -CREATE TRIGGER TIA_STAT_INST_RET_GRP AFTER INSERT ON stat_inst_ret_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_RET_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_RET_GRP() RETURNS TRIGGER AS $$ -BEGIN - - IF NEW.RET_GRP_TAG = OLD.RET_GRP_TAG - THEN RETURN NEW; - END IF; - - UPDATE stat_inst_ret_para - SET PARA_GRP_TAG = NEW.RET_GRP_TAG - WHERE PARA_GRP_TAG = OLD.RET_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_ret_grp', 'ret_grp_tag', OLD.RET_GRP_TAG, NEW.RET_GRP_TAG, getTableSubSystem('stat_inst_ret_grp')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_RET_GRP ON stat_inst_ret_grp; -CREATE TRIGGER TUA_STAT_INST_RET_GRP AFTER UPDATE ON stat_inst_ret_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_RET_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_RET_GRP() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM stat_inst_ret_para WHERE PARA_GRP_TAG = OLD.RET_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_ret_grp', 'ret_grp_tag', OLD.RET_GRP_TAG, '', getTableSubSystem('stat_inst_ret_grp')); - END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_RET_GRP ON stat_inst_ret_grp; -CREATE TRIGGER TDA_STAT_INST_RET_GRP AFTER DELETE ON stat_inst_ret_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_RET_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_RET_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_ret_para', 'ret_tag', '', NEW.RET_TAG, getTableSubSystem('stat_inst_ret_para')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_RET_PARA ON stat_inst_ret_para; -CREATE TRIGGER TIA_STAT_INST_RET_PARA AFTER INSERT ON stat_inst_ret_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_RET_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_RET_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_ret_para', 'ret_tag', OLD.RET_TAG, NEW.RET_TAG, getTableSubSystem('stat_inst_ret_para')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_RET_PARA ON stat_inst_ret_para; -CREATE TRIGGER TUA_STAT_INST_RET_PARA AFTER UPDATE ON stat_inst_ret_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_RET_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_RET_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_ret_para', 'ret_tag', OLD.RET_TAG, '', getTableSubSystem('stat_inst_ret_para')); - END IF; - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_RET_PARA ON stat_inst_ret_para; -CREATE TRIGGER TDA_STAT_INST_RET_PARA AFTER DELETE ON stat_inst_ret_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_RET_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_LINK_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_link_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('STAT_LINK_DEF')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_LINK_DEF ON STAT_LINK_DEF; -CREATE TRIGGER TIA_STAT_LINK_DEF AFTER INSERT ON STAT_LINK_DEF FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_LINK_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_LINK_DEF() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - BEGIN - UPDATE stat_link_para - SET LINK_TAG = NEW.TAG_NAME, - TAG_NAME = concat(NEW.TAG_NAME,'.',getAfterLastDot(TAG_NAME)) - WHERE LINK_TAG = OLD.TAG_NAME; - UPDATE stat_link_ret - SET LINK_TAG = NEW.TAG_NAME, - TAG_NAME = concat(NEW.TAG_NAME,'.',getAfterLastDot(TAG_NAME)) - WHERE LINK_TAG = OLD.TAG_NAME; - - END; - END IF; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_link_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('stat_link_def')); - END IF; - UPDATE stat_link_para - SET STAT_PARA_TAG = concat(NEW.STAT_TEMP_TAG,'.',getAfterLastDot(STAT_PARA_TAG)) - WHERE LINK_TAG = OLD.TAG_NAME; - UPDATE stat_link_ret - SET STAT_RET_TAG = concat(NEW.STAT_TEMP_TAG,'.',getAfterLastDot(STAT_RET_TAG)) - WHERE LINK_TAG = OLD.TAG_NAME; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_LINK_DEF ON stat_link_def; -CREATE TRIGGER TUA_STAT_LINK_DEF AFTER UPDATE ON stat_link_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_LINK_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_LINK_DEF() RETURNS TRIGGER AS $$ -BEGIN - --删除对应的模板点 - DELETE FROM stat_link_para WHERE LINK_TAG= OLD.TAG_NAME; - DELETE FROM stat_link_ret WHERE LINK_TAG = OLD.TAG_NAME; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_link_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('stat_link_def')); - END IF; - - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_LINK_DEF ON stat_link_def; -CREATE TRIGGER TDA_STAT_LINK_DEF AFTER DELETE ON stat_link_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_LINK_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_LINK_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_link_para', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('stat_link_para')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_LINK_PARA ON stat_link_para; -CREATE TRIGGER TIA_STAT_LINK_PARA AFTER INSERT ON stat_link_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_LINK_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_LINK_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_link_para', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('stat_link_para')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_LINK_PARA ON stat_link_para; -CREATE TRIGGER TUA_STAT_LINK_PARA AFTER UPDATE ON stat_link_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_LINK_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_LINK_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_link_para', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('stat_link_para')); - END IF; - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_LINK_PARA ON stat_link_para; -CREATE TRIGGER TDA_STAT_LINK_PARA AFTER DELETE ON stat_link_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_LINK_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_LINK_RET() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_link_ret', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('stat_link_ret')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_LINK_RET ON stat_link_ret; -CREATE TRIGGER TIA_STAT_LINK_RET AFTER INSERT ON stat_link_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_LINK_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_LINK_RET() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_link_ret', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('stat_link_ret')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_LINK_RET ON stat_link_ret; -CREATE TRIGGER TUA_STAT_LINK_RET AFTER UPDATE ON stat_link_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_LINK_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_LINK_RET() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_link_ret', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('stat_link_ret')); - END IF; - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_LINK_RET ON stat_link_ret; -CREATE TRIGGER TDA_STAT_LINK_RET AFTER DELETE ON stat_link_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_LINK_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_TEMPLATE_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_template_def', 'template_tag', '', NEW.TEMPLATE_TAG, getTableSubSystem('stat_template_def')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_TEMPLATE_DEF ON stat_template_def; -CREATE TRIGGER TIA_STAT_TEMPLATE_DEF AFTER INSERT ON stat_template_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_TEMPLATE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_TEMPLATE_DEF() RETURNS TRIGGER AS $$ -BEGIN - UPDATE stat_template_para - SET TEMPLATE_TAG = NEW.TEMPLATE_TAG, - PARA_TAG = concat(NEW.TEMPLATE_TAG,'.',getAfterLastDot(PARA_TAG)) - WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - UPDATE stat_template_ret - SET TEMPLATE_TAG = NEW.TEMPLATE_TAG, - RET_TAG = concat(NEW.TEMPLATE_TAG,'.',getAfterLastDot(RET_TAG)) - WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - UPDATE stat_inst_def - SET TEMPLATE_TAG = NEW.TEMPLATE_TAG - WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - UPDATE stat_link_def - SET STAT_TEMP_TAG = NEW.TEMPLATE_TAG - WHERE STAT_TEMP_TAG = OLD.TEMPLATE_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_template_def', 'template_tag', OLD.TEMPLATE_TAG, NEW.TEMPLATE_TAG, getTableSubSystem('stat_template_def')); - END IF; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_TEMPLATE_DEF ON stat_template_def; -CREATE TRIGGER TUA_STAT_TEMPLATE_DEF AFTER UPDATE ON stat_template_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_TEMPLATE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_TEMPLATE_DEF() RETURNS TRIGGER AS $$ -BEGIN - --删除对应关联 - DELETE FROM stat_link_def WHERE STAT_TEMP_TAG = OLD.TEMPLATE_TAG; - - --删除对应实例 - DELETE FROM stat_inst_def WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - --删除对应的模板点 - DELETE FROM stat_template_para WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - DELETE FROM stat_template_ret WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_template_def', 'template_tag', OLD.TEMPLATE_TAG, '', getTableSubSystem('stat_template_def')); - END IF; - - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_TEMPLATE_DEF ON stat_template_def; -CREATE TRIGGER TDA_STAT_TEMPLATE_DEF AFTER DELETE ON stat_template_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_TEMPLATE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_TEMPLATE_PARA() RETURNS TRIGGER AS $$ -BEGIN - --插入对应的实例 - INSERT INTO stat_inst_para_grp - (PARA_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, '', NEW.SORT, '', INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 1; - - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, RANK, TIMESTAMP, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, floor(extract(epoch from now())),NEW.SORT, '', INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 2; - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_template_para', 'para_tag', '', NEW.PARA_TAG, getTableSubSystem('stat_template_para')); - END IF; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_TEMPLATE_PARA ON stat_template_para; -CREATE TRIGGER TIA_STAT_TEMPLATE_PARA AFTER INSERT ON stat_template_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_TEMPLATE_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_TEMPLATE_PARA() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_template_para', 'para_tag', OLD.PARA_TAG, NEW.PARA_TAG, getTableSubSystem('stat_template_para')); - END IF; - - UPDATE stat_link_para - SET STAT_PARA_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(NEW.PARA_TAG)) - WHERE STAT_PARA_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(OLD.PARA_TAG)); - - IF OLD.PARA_TAG = NEW.PARA_TAG AND OLD.DESCRIPTION = NEW.DESCRIPTION AND OLD.ISGRP = NEW.ISGRP AND OLD.TYPE = NEW.TYPE - AND OLD.SORT = NEW.SORT - THEN RETURN NEW; - END IF; - - - --更新对应的实例点 - --考虑从分组到不分组,从测点类型到时间类型,需删除旧的数据 - IF OLD.ISGRP = 1 AND NEW.ISGRP = 0 THEN - BEGIN - DELETE FROM stat_inst_para_grp USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG); - - IF NEW.TYPE = 1 THEN - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, '', NEW.SORT, '', INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 1; - ELSEIF NEW.TYPE = 2 THEN - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, RANK, TIMESTAMP, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, floor(extract(epoch from now())),NEW.SORT, '', INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 2; - END IF; - END; - ELSEIF OLD.ISGRP = 0 AND NEW.ISGRP = 1 THEN - BEGIN - IF OLD.TYPE = 1 THEN - DELETE FROM stat_inst_para_point USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_point.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_point.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - ELSEIF OLD.TYPE = 2 THEN - DELETE FROM stat_inst_para_time USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_time.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_time.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - END IF; - - INSERT INTO stat_inst_para_grp - (PARA_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 0 THEN - BEGIN - IF OLD.TYPE = 1 AND NEW.TYPE = 2 THEN - BEGIN - DELETE FROM stat_inst_para_point USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_point.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_point.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, RANK, TIMESTAMP, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, floor(extract(epoch from now())),NEW.SORT, '', INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 2; - END; - ELSEIF OLD.TYPE = 2 AND NEW.TYPE = 1 THEN - BEGIN - DELETE FROM stat_inst_para_time USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_time.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_time.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, '', NEW.SORT, '', INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 1; - END; - ELSEIF OLD.TYPE = NEW.TYPE AND OLD.TYPE = 1 THEN - update stat_inst_para_point - SET PARA_TAG = concat(stat_inst_para_point.INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)), DESCRIPTION = NEW.DESCRIPTION, SORT = NEW.SORT - from stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_para_point.INST_TAG AND RANK = 1 AND getAfterLastDot(PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - ELSEIF OLD.TYPE = NEW.TYPE AND OLD.TYPE = 2 THEN - update stat_inst_para_time - SET PARA_TAG = concat(stat_inst_para_time.INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)), DESCRIPTION = NEW.DESCRIPTION, SORT = NEW.SORT - from stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_para_time.INST_TAG AND RANK = 1 AND getAfterLastDot(PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - END IF; - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 1 THEN - BEGIN - IF OLD.TYPE = 1 AND NEW.TYPE = 2 THEN - BEGIN - DELETE FROM stat_inst_para_point USING stat_inst_def,stat_inst_para_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_def.INST_TAG = stat_inst_para_grp.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG) - AND stat_inst_para_point.PARA_GRP_TAG = stat_inst_para_grp.PARA_GRP_TAG; - END; - ELSEIF OLD.TYPE = 2 AND NEW.TYPE = 1 THEN - BEGIN - DELETE FROM stat_inst_para_time USING stat_inst_def,stat_inst_para_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_def.INST_TAG = stat_inst_para_grp.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG) - AND stat_inst_para_time.PARA_GRP_TAG = stat_inst_para_grp.PARA_GRP_TAG; - END; - END IF; - - - update stat_inst_para_grp - SET PARA_GRP_TAG = concat(stat_inst_para_grp.INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)), DESCRIPTION = NEW.DESCRIPTION, SORT = NEW.SORT - from stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_para_grp.INST_TAG AND getAfterLastDot(PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG); - - END; - END IF; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_TEMPLATE_PARA ON stat_template_para; -CREATE TRIGGER TUA_STAT_TEMPLATE_PARA AFTER UPDATE ON stat_template_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_TEMPLATE_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_TEMPLATE_PARA() RETURNS TRIGGER AS $$ -BEGIN - --删除相应的实例点 - DELETE FROM stat_inst_para_grp USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG); - - DELETE FROM stat_inst_para_point USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_point.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_point.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - DELETE FROM stat_inst_para_time USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_time.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_time.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - DELETE FROM stat_link_para - WHERE STAT_PARA_TAG = OLD.PARA_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_template_para', 'para_tag', OLD.PARA_TAG, '', getTableSubSystem('stat_template_para')); - END IF; - - - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_TEMPLATE_PARA ON stat_template_para; -CREATE TRIGGER TDA_STAT_TEMPLATE_PARA AFTER DELETE ON stat_template_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_TEMPLATE_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_TEMPLATE_RET() RETURNS TRIGGER AS $$ -BEGIN - --插入相应实例点 - INSERT INTO stat_inst_ret_grp - (RET_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - - INSERT INTO stat_inst_ret_para - (RET_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, VALUE, IS_BIND, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) ,NEW.DESCRIPTION, 1, '', NEW.SORT,'', 0, 0, INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_template_ret', 'ret_tag', '', NEW.RET_TAG, getTableSubSystem('stat_template_ret')); - END IF; - - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_TEMPLATE_RET ON stat_template_ret; -CREATE TRIGGER TIA_STAT_TEMPLATE_RET AFTER INSERT ON stat_template_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_TEMPLATE_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_TEMPLATE_RET() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_template_ret', 'ret_tag', OLD.RET_TAG, NEW.RET_TAG, getTableSubSystem('stat_template_ret')); - END IF; - - UPDATE stat_link_ret - SET STAT_RET_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(NEW.RET_TAG)) - WHERE STAT_RET_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(OLD.RET_TAG)); - - IF OLD.RET_TAG = NEW.RET_TAG AND OLD.DESCRIPTION = NEW.DESCRIPTION AND OLD.ISGRP = NEW.ISGRP AND OLD.SORT = NEW.SORT - THEN RETURN NEW; - END IF; - - --更新相应的实例点 - IF OLD.ISGRP = 1 AND NEW.ISGRP = 0 THEN - BEGIN - DELETE FROM stat_inst_ret_grp USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_grp.RET_GRP_TAG) = getAfterLastDot(OLD.RET_TAG); - - INSERT INTO stat_inst_ret_para - (RET_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, VALUE, IS_BIND, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) ,NEW.DESCRIPTION, 1, '', NEW.SORT,'', 0, 0, INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0; - END; - ELSEIF OLD.ISGRP = 0 AND NEW.ISGRP = 1 THEN - BEGIN - DELETE FROM stat_inst_ret_para USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_para.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_para.RET_TAG) = getAfterLastDot(OLD.RET_TAG); - - INSERT INTO stat_inst_ret_grp - (RET_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 0 THEN - BEGIN - update stat_inst_ret_para - SET RET_TAG = concat(stat_inst_ret_para.INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)), DESCRIPTION = NEW.DESCRIPTION, SORT = NEW.SORT - from stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_ret_para.INST_TAG AND `RANK` = 1 AND getAfterLastDot(RET_TAG) = getAfterLastDot(OLD.RET_TAG); - - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 1 THEN - BEGIN - update stat_inst_ret_grp - SET RET_GRP_TAG = concat(stat_inst_ret_grp.INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)), DESCRIPTION = NEW.DESCRIPTION, SORT = NEW.SORT - from stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_ret_grp.INST_TAG AND getAfterLastDot(RET_GRP_TAG) = getAfterLastDot(OLD.RET_TAG); - - END; - END IF; - - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_TEMPLATE_RET ON stat_template_ret; -CREATE TRIGGER TUA_STAT_TEMPLATE_RET AFTER UPDATE ON stat_template_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_TEMPLATE_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_TEMPLATE_RET() RETURNS TRIGGER AS $$ -BEGIN - --删除相应的实例点 - DELETE FROM stat_inst_ret_grp USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_grp.RET_GRP_TAG) = getAfterLastDot(OLD.RET_TAG); - - DELETE FROM stat_inst_ret_para USING stat_inst_def - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_para.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_para.RET_TAG) = getAfterLastDot(OLD.RET_TAG); - DELETE FROM stat_link_ret - WHERE STAT_RET_TAG = OLD.RET_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_template_ret', 'ret_tag', OLD.RET_TAG, '', getTableSubSystem('stat_template_ret')); - END IF; - - -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_TEMPLATE_RET ON stat_template_ret; -CREATE TRIGGER TDA_STAT_TEMPLATE_RET AFTER DELETE ON stat_template_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_TEMPLATE_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_TRIGGER_CONDITION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_condition_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('trigger_condition_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_TRIGGER_CONDITION_DEFINE ON trigger_condition_define; -CREATE TRIGGER TIA_TRIGGER_CONDITION_DEFINE AFTER INSERT ON trigger_condition_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_TRIGGER_CONDITION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_TRIGGER_CONDITION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_condition_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('trigger_condition_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_TRIGGER_CONDITION_DEFINE ON trigger_condition_define; -CREATE TRIGGER TUA_TRIGGER_CONDITION_DEFINE AFTER UPDATE ON trigger_condition_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_TRIGGER_CONDITION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_TRIGGER_CONDITION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_condition_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('trigger_condition_define')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_TRIGGER_CONDITION_DEFINE ON trigger_condition_define; -CREATE TRIGGER TDA_TRIGGER_CONDITION_DEFINE AFTER DELETE ON trigger_condition_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_TRIGGER_CONDITION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_TRIGGER_FUNCTION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_function_define', 'func_name', '', NEW.FUNC_NAME, getTableSubSystem('trigger_function_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_TRIGGER_FUNCTION_DEFINE ON trigger_function_define; -CREATE TRIGGER TIA_TRIGGER_FUNCTION_DEFINE AFTER INSERT ON trigger_function_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_TRIGGER_FUNCTION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_TRIGGER_FUNCTION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_function_define', 'func_name', OLD.FUNC_NAME, NEW.FUNC_NAME, getTableSubSystem('trigger_function_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_TRIGGER_FUNCTION_DEFINE ON trigger_function_define; -CREATE TRIGGER TUA_TRIGGER_FUNCTION_DEFINE AFTER UPDATE ON trigger_function_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_TRIGGER_FUNCTION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_TRIGGER_FUNCTION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_function_define', 'func_name', OLD.FUNC_NAME, '', getTableSubSystem('trigger_function_define')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_TRIGGER_FUNCTION_DEFINE ON trigger_function_define; -CREATE TRIGGER TDA_TRIGGER_FUNCTION_DEFINE AFTER DELETE ON trigger_function_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_TRIGGER_FUNCTION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_TRIGGER_PERIOD_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_period_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('trigger_period_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_TRIGGER_PERIOD_DEFINE ON trigger_period_define; -CREATE TRIGGER TIA_TRIGGER_PERIOD_DEFINE AFTER INSERT ON trigger_period_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_TRIGGER_PERIOD_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_TRIGGER_PERIOD_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_period_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('trigger_period_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_TRIGGER_PERIOD_DEFINE ON trigger_period_define; -CREATE TRIGGER TUA_TRIGGER_PERIOD_DEFINE AFTER UPDATE ON trigger_period_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_TRIGGER_PERIOD_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_TRIGGER_PERIOD_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_period_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('trigger_period_define')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_TRIGGER_PERIOD_DEFINE ON trigger_period_define; -CREATE TRIGGER TDA_TRIGGER_PERIOD_DEFINE AFTER DELETE ON trigger_period_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_TRIGGER_PERIOD_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_TRIGGER_TIMER_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_timer_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('trigger_timer_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_TRIGGER_TIMER_DEFINE ON trigger_timer_define; -CREATE TRIGGER TIA_TRIGGER_TIMER_DEFINE AFTER INSERT ON trigger_timer_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_TRIGGER_TIMER_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_TRIGGER_TIMER_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_timer_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('trigger_timer_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_TRIGGER_TIMER_DEFINE ON trigger_timer_define; -CREATE TRIGGER TUA_TRIGGER_TIMER_DEFINE AFTER UPDATE ON trigger_timer_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_TRIGGER_TIMER_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_TRIGGER_TIMER_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_timer_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('trigger_timer_define')); -END IF; -RETURN OLD; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_TRIGGER_TIMER_DEFINE ON trigger_timer_define; -CREATE TRIGGER TDA_TRIGGER_TIMER_DEFINE AFTER DELETE ON trigger_timer_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_TRIGGER_TIMER_DEFINE(); - - - ---t_sys_table_file_tree表实现序列的触发器 -CREATE OR REPLACE FUNCTION FUNC_T_SYS_TABLE_FILE_TREE_SEQUENCE() RETURNS TRIGGER AS $$ - DECLARE max_id DECIMAL(10,0) DEFAULT 0; -BEGIN - IF NEW.id IS NULL THEN - SELECT MAX(id) INTO max_id FROM t_sys_table_file_tree; - max_id = COALESCE(max_id,0); - NEW.id = max_id + 1; - END IF; - RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS T_SYS_TABLE_FILE_TREE_SEQUENCE ON t_sys_table_file_tree; -CREATE TRIGGER T_SYS_TABLE_FILE_TREE_SEQUENCE BEFORE INSERT ON t_sys_table_file_tree FOR EACH ROW -EXECUTE PROCEDURE FUNC_T_SYS_TABLE_FILE_TREE_SEQUENCE(); - - - ---t_w_inspection表实现序列的触发器 -CREATE OR REPLACE FUNCTION FUNC_T_W_INSPECTION_SEQUENCE() RETURNS TRIGGER AS $$ - DECLARE max_id DECIMAL(10,0) DEFAULT 0; -BEGIN - IF NEW.id IS NULL THEN - SELECT MAX(id) INTO max_id FROM t_w_inspection; - max_id = COALESCE(max_id,0); - NEW.id = max_id + 1; - END IF; - RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS T_W_INSPECTION_SEQUENCE ON t_w_inspection; -CREATE TRIGGER T_W_INSPECTION_SEQUENCE BEFORE INSERT ON t_w_inspection FOR EACH ROW -EXECUTE PROCEDURE FUNC_T_W_INSPECTION_SEQUENCE(); - - - --------------------------------------------------------------------------------------------------------------------- ---以下是函数-------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------- -CREATE OR REPLACE FUNCTION splitList( strList varchar(100), split_char varchar(1) , strCount decimal(10,0)) RETURNS varchar(64) -AS $$ - DECLARE splitCount int; - DECLARE splitIndex int DEFAULT 1; - DECLARE str1 varchar(100) DEFAULT ''; - DECLARE str2 varchar(100) DEFAULT ''; -BEGIN - --分割字符串,返回第strCount个子串 - - splitCount = char_length(strList)-char_length(replace(strList,split_char,'')) + 1; - IF strCount > splitCount OR strCount <=0 THEN RETURN ''; - END IF; - - IF strCount = 1 THEN RETURN substring_index(strList,split_char,strCount); - ELSE - BEGIN - str1 = substring_index(strList,split_char,strCount-1); - str2 = substring_index(strList,split_char,strCount); - RETURN right(str2,LENGTH(str2) - LENGTH(str1) - 1); - END; - END IF; - -END; -$$LANGUAGE PLPGSQL; - - - - -CREATE OR REPLACE FUNCTION clearTempRelation(devTempName varchar(64)) -RETURNS VOID -AS $$ -BEGIN - /* - * 清除指定模板的所有测点与前置模板的关系 - */ - - UPDATE accuml_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO = -1 - WHERE DEV_TP_NAME = devTempName; - - UPDATE analog_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO = -1, - OUT_SEC_SEQ_NO = -1 - WHERE DEV_TP_NAME = devTempName; - - UPDATE digital_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO1 = -1, - SEC_SEQ_NO2 = -1, - SEC_SEQ_NO3 = -1, - SEC_SEQ_NO4 = -1, - SEC_SEQ_NO5 = -1, - OUT_SEC_SEQ_NO1 = -1, - OUT_SEC_SEQ_NO2 = -1, - OUT_SEC_SEQ_NO3 = -1, - OUT_SEC_SEQ_NO4 = -1, - OUT_SEC_SEQ_NO5 = -1 - WHERE DEV_TP_NAME = devTempName; - - UPDATE mix_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO = -1, - OUT_SEC_SEQ_NO = -1 - WHERE DEV_TP_NAME = devTempName; - -END; -$$LANGUAGE PLPGSQL; - - - - -CREATE OR REPLACE FUNCTION updateFesResPara(tableName varchar(64),startNum decimal(10,0)) -RETURNS VOID -AS $$ -BEGIN - /* - * 批量修改设备的规约参数1,要批量修改的设备在export_seq中 - * tableName 表名 - * startNum 修改的起始数字 - */ - - --创建临时表 - CREATE TEMPORARY TABLE IF NOT EXISTS tmpUpdateFesResParaTbl( - TAG_NAME varchar(64) NOT NULL, - RES_PARA decimal(10,0) NOT NULL - ); - DELETE FROM tmpUpdateFesResParaTbl; - - IF lower(tableName) = 'fes_accuml' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_accuml,export_seq WHERE fes_accuml.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_accuml.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_accuml - SET RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_accuml.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_analog' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_analog,export_seq WHERE fes_analog.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_analog.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_analog - SET RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_analog.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_analog_ctrl' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_analog_ctrl,export_seq WHERE fes_analog_ctrl.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_analog_ctrl.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_analog_ctrl - SET RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_analog_ctrl.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_digital' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_digital,export_seq WHERE fes_digital.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_digital.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_digital - SET RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_digital.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_digital_ctrl' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_digital_ctrl,export_seq WHERE fes_digital_ctrl.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_digital_ctrl.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_digital_ctrl - SET RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_digital_ctrl.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_mix' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_mix,export_seq WHERE fes_mix.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_mix.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_mix - SET RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_mix.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_mix_ctrl' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_mix_ctrl,export_seq WHERE fes_mix_ctrl.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_mix_ctrl.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_mix_ctrl - SET RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_mix_ctrl.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - END IF; - - - -END; -$$LANGUAGE PLPGSQL; - - - - -CREATE OR REPLACE FUNCTION bindStatDev(statTag varchar(64),devTag varchar(64)) -RETURNS VOID -AS $$ -BEGIN - /* - * 绑定统计分析中的实例,使用对应的后台设备 - * statTag 统计分析实例 - * devTag 后台设备 - */ - - --清空 - UPDATE stat_inst_para_point SET POINT_TAG = '' WHERE INST_TAG = statTag; - - UPDATE stat_inst_ret_para SET POINT_TAG = '' WHERE INST_TAG = statTag; - - --填写 - CREATE TEMPORARY TABLE IF NOT EXISTS tmpBinStatDevTbl( - PARA_TAG varchar(64) NOT NULL, - POINT_TAG varchar(64) NOT NULL - ); - DELETE FROM tmpBinStatDevTbl; - - --查找对应的测点 - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('analog.',analog.TAG_NAME) AS A - FROM stat_inst_para_point,analog - WHERE INST_TAG = statTag AND analog.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(analog.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('accuml.',accuml.TAG_NAME) AS A - FROM stat_inst_para_point,accuml - WHERE INST_TAG = statTag AND accuml.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(accuml.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('digital.',digital.TAG_NAME) AS A - FROM stat_inst_para_point,digital - WHERE INST_TAG = statTag AND digital.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(digital.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('mix.',mix.TAG_NAME) AS A - FROM stat_inst_para_point,mix - WHERE INST_TAG = statTag AND mix.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(mix.TAG_NAME); - - update stat_inst_para_point - SET POINT_TAG = tmpBinStatDevTbl.POINT_TAG - from tmpbinstatdevtbl - where stat_inst_para_point.para_tag = tmpbinstatdevtbl.para_tag; - - - DELETE FROM tmpBinStatDevTbl; - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('analog.',analog.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,analog - WHERE INST_TAG = statTag AND analog.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(analog.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('digital.',digital.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,digital - WHERE INST_TAG = statTag AND digital.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(digital.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('accuml.',accuml.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,accuml - WHERE INST_TAG = statTag AND accuml.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(accuml.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('mix.',mix.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,mix - WHERE INST_TAG = statTag AND mix.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(mix.TAG_NAME); - - update stat_inst_ret_para - SET POINT_TAG = tmpBinStatDevTbl.POINT_TAG, IS_BIND = '1' - from tmpbinstatdevtbl - where stat_inst_ret_para.ret_tag = tmpbinstatdevtbl.para_tag; - - -END; -$$LANGUAGE PLPGSQL; - - - -CREATE OR REPLACE FUNCTION relationByTempPointName(devTempName varchar(64),fesDevTempName varchar(64)) -RETURNS VOID -AS $$ -BEGIN - /* - * 按照模板下的测点名称进行,后台模板与前置模板的关联 - */ - --获取设备测点名称 - - CALL clearTempRelation(devTempName); - --创建临时表, - CREATE TEMPORARY TABLE IF NOT EXISTS tmpRelationNameTbl( - TAG_NAME varchar(64) NOT NULL, - FES_SEQ_NO decimal(10,0) NOT NULL - ); - - --accuml - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM accuml_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_ACC')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - --进行关联 - update accuml_temp_define - SET SEC_DEVTP_NAME = fesDevTempName, SEC_SEQ_NO = tmpRelationNameTbl.FES_SEQ_NO - from tmprelationnametbl - where accuml_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME; - - - --analog - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM analog_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_ANA')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - --进行关联 - update analog_temp_define - SET SEC_DEVTP_NAME = fesDevTempName, SEC_SEQ_NO = tmpRelationNameTbl.FES_SEQ_NO - from tmprelationnametbl - where analog_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME; - - - --digital只判断第一个分量 - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM digital_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_DIG')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - --进行关联 - update digital_temp_define - SET SEC_DEVTP_NAME = fesDevTempName, SEC_SEQ_NO1 = tmpRelationNameTbl.FES_SEQ_NO - from tmprelationnametbl - where digital_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME; - - - --mix - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM mix_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_MIX')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - --进行关联 - update mix_temp_define - SET SEC_DEVTP_NAME = fesDevTempName, SEC_SEQ_NO = tmpRelationNameTbl.FES_SEQ_NO - from tmprelationnametbl - where mix_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME; - - -END; -$$LANGUAGE PLPGSQL; - - - - diff --git a/PSCADA/电子行业模板/common/database/initscript/iscs6000_func_MySQL.sql b/PSCADA/电子行业模板/common/database/initscript/iscs6000_func_MySQL.sql deleted file mode 100644 index c06890e..0000000 --- a/PSCADA/电子行业模板/common/database/initscript/iscs6000_func_MySQL.sql +++ /dev/null @@ -1,7018 +0,0 @@ - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_ACCUML_LIMIT_INFO` AFTER INSERT ON `accuml_limit_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'accuml_limit_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('accuml_limit_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ACCUML_LIMIT_INFO` AFTER UPDATE ON `accuml_limit_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'accuml_limit_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('accuml_limit_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ACCUML_LIMIT_INFO` AFTER DELETE ON `accuml_limit_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'accuml_limit_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('accuml_limit_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_ACCUML_MAP_TO_FES -AFTER INSERT -ON accuml_map_to_fes FOR EACH ROW -BEGIN - - #首先禁止FES触发器动作 - SET @disableFesAccumlTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableAccumlMapToFesTrigger,0) = 0 THEN - BEGIN - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET @disableFesAccumlTrigger = 0; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'accuml_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('accuml_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_ACCUML_MAP_TO_FES -BEFORE UPDATE -ON accuml_map_to_fes FOR EACH ROW -body_label:BEGIN - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO = OLD.DOT_NO AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN LEAVE body_label; - END IF; - - - #首先禁止FES触发器动作 - SET @disableFesAccumlTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableAccumlMapToFesTrigger,0) = 0 THEN - BEGIN - #清除旧的 - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - - #添加新的 - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - ELSE SET NEW.DOT_NO = '-1'; - END IF; - END; - END IF; - SET @disableFesAccumlTrigger = 0; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ACCUML_MAP_TO_FES` AFTER UPDATE ON `accuml_map_to_fes` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'accuml_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('accuml_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_ACCUML_MAP_TO_FES -BEFORE DELETE -ON accuml_map_to_fes FOR EACH ROW -BEGIN - - - #首先禁止FES触发器动作 - SET @disableFesAccumlTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableAccumlMapToFesTrigger,0) = 0 THEN - BEGIN - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET @disableFesAccumlTrigger = 0; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ACCUML_MAP_TO_FES` AFTER DELETE ON `accuml_map_to_fes` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'accuml_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('accuml_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_ACCUML_TEMP_DEFINE -AFTER INSERT -ON accuml_temp_define FOR EACH ROW -BEGIN - /* -INSERT INTO accuml( -TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, GRAY, CONTRAST, QCOLOR, RAW_VALUE, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, UNIT_ID, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, REGION_ID, OPT_HANDOVER_GROUP, IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, CAMERA_TAG, PRESET_ID) -SELECT -concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)), NEW.DESCRIPTION,TAG_NAME, NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, '', GRAY, CONTRAST, QCOLOR, '0', VALUE, STATUS, 0, 0, NEW.UNIT_ID, '', '', '', REGION_ID, OPT_HANDOVER_GROUP, NEW.IS_LIMIT, NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT,DEV_TYPE, NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS, NEW.SAMPLE_PERIOD,NEW.SAMPLE_DEADBAND, '', '' -FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - INSERT INTO temp_plugin_point_map_acc - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'','' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'accuml_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('accuml_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_ACCUML_TEMP_DEFINE -AFTER UPDATE -ON accuml_temp_define FOR EACH ROW -BEGIN - /* - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.DESCRIPTION <> OLD.DESCRIPTION OR NEW.UNIT_ID <> OLD.UNIT_ID OR NEW.IS_LIMIT <> OLD.IS_LIMIT OR NEW.POINT_CLASS <> OLD.POINT_CLASS OR - NEW.IS_SAMPLE <> OLD.IS_SAMPLE OR NEW.SAMPLE_DEADBAND <> OLD.SAMPLE_DEADBAND OR NEW.POINT_TYPE <> OLD.POINT_TYPE OR NEW.SEQ_NO <> OLD.SEQ_NO OR - NEW.IS_STATISTICS <> OLD.IS_STATISTICS OR NEW.SAMPLE_PERIOD <> OLD.SAMPLE_PERIOD OR NEW.POINT_PROPERTY <> OLD.POINT_PROPERTY OR NEW.POINT_SORT <> OLD.POINT_SORT - THEN - UPDATE accuml SET - accuml.TAG_NAME = concat(accuml.DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - accuml.DESCRIPTION = NEW.DESCRIPTION, - accuml.UNIT_ID = NEW.UNIT_ID, - accuml.IS_LIMIT = NEW.IS_LIMIT, - accuml.POINT_CLASS = NEW.POINT_CLASS, - accuml.POINT_TP_NAME = NEW.TAG_NAME, - accuml.IS_SAMPLE = NEW.IS_SAMPLE, - accuml.SAMPLE_DEADBAND = NEW.SAMPLE_DEADBAND, - accuml.POINT_TYPE = NEW.POINT_TYPE, - accuml.SEQ_NO = NEW.SEQ_NO, - accuml.IS_STATISTICS = NEW.IS_STATISTICS, - accuml.SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - accuml.POINT_PROPERTY = NEW.POINT_PROPERTY, - accuml.POINT_SORT = NEW.POINT_SORT - WHERE accuml.POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.LIMIT_TYPE <> OLD.LIMIT_TYPE OR NEW.LIMIT_NUM <> OLD.LIMIT_NUM OR NEW.LIMIT_UP1 <> OLD.LIMIT_UP1 OR NEW.LIMIT_LOW1 <> OLD.LIMIT_LOW1 OR NEW.LIMIT_UP2 <> OLD.LIMIT_UP2 OR - NEW.LIMIT_LOW2 <> OLD.LIMIT_LOW2 OR NEW.LIMIT_UP3 <> OLD.LIMIT_UP3 OR NEW.LIMIT_LOW3 <> OLD.LIMIT_LOW3 OR NEW.CROSS_PERCENT <> OLD.CROSS_PERCENT OR - NEW.RETURN_PERCENT <> OLD.RETURN_PERCENT OR NEW.ALARM_PRIORITY <> OLD.ALARM_PRIORITY OR NEW.ALARM_DELAY_TIME <> OLD.ALARM_DELAY_TIME OR NEW.IS_WATER_ALM <> OLD.IS_WATER_ALM OR - NEW.IS_ACK_ON_RTN <> OLD.IS_ACK_ON_RTN OR NEW.DEL_ACT_ON_ACK <> OLD.DEL_ACT_ON_ACK OR NEW.IS_NEVER_ALM_ON_RTN <> OLD.IS_NEVER_ALM_ON_RTN OR NEW.TAG_NAME <> OLD.TAG_NAME - THEN - UPDATE accuml_limit_info SET - LIMIT_TYPE = NEW.LIMIT_TYPE, - LIMIT_NUM = NEW.LIMIT_NUM, - LIMIT_UP1 = NEW.LIMIT_UP1, - LIMIT_LOW1 = NEW.LIMIT_LOW1, - LIMIT_UP2 = NEW.LIMIT_UP2, - LIMIT_LOW2 = NEW.LIMIT_LOW2, - LIMIT_UP3 = NEW.LIMIT_UP3, - LIMIT_LOW3 = NEW.LIMIT_LOW3, - CROSS_PERCENT = NEW.CROSS_PERCENT, - RETURN_PERCENT = NEW.RETURN_PERCENT, - ALARM_PRIORITY = NEW.ALARM_PRIORITY, - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME, - IS_WATER_ALM = NEW.IS_WATER_ALM, - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN, - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK, - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - IF NEW.RANGE_UP <> OLD.RANGE_UP OR NEW.RANGE_LOW <> OLD.RANGE_LOW OR NEW.IS_FILTER <> OLD.IS_FILTER OR NEW.PERCENT <> OLD.PERCENT OR - NEW.BASE <> OLD.BASE OR NEW.COEFF <> OLD.COEFF - THEN - UPDATE accuml_map_to_fes SET - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - IS_FILTER = NEW.IS_FILTER, - PERCENT = NEW.PERCENT, - BASE = NEW.BASE, - COEFF = NEW.COEFF - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_acc - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'accuml_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('accuml_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_ACCUML_TEMP_DEFINE -BEFORE DELETE -ON accuml_temp_define FOR EACH ROW -BEGIN - - DELETE FROM temp_plugin_point_map_acc WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); -/* -DELETE FROM accuml WHERE POINT_TP_NAME = OLD.TAG_NAME; -*/ -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ACCUML_TEMP_DEFINE` AFTER DELETE ON `accuml_temp_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'accuml_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('accuml_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_ALARM_LINK_ENABLE_INFO` AFTER INSERT ON `alarm_link_enable_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_link_enable_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('alarm_link_enable_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ALARM_LINK_ENABLE_INFO` AFTER UPDATE ON `alarm_link_enable_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_link_enable_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('alarm_link_enable_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ALARM_LINK_ENABLE_INFO` AFTER DELETE ON `alarm_link_enable_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_link_enable_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('alarm_link_enable_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_ALARM_SMS_CONFIG` AFTER INSERT ON `alarm_sms_config` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_sms_config', 'NO', '', NEW.NO, getTableSubSystem('alarm_sms_config')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ALARM_SMS_CONFIG` AFTER UPDATE ON `alarm_sms_config` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_sms_config', 'NO', OLD.NO, NEW.NO, getTableSubSystem('alarm_sms_config')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ALARM_SMS_CONFIG` AFTER DELETE ON `alarm_sms_config` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_sms_config', 'NO', OLD.NO, '', getTableSubSystem('alarm_sms_config')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_ALARM_SMS_DEVICE` AFTER INSERT ON `alarm_sms_device` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_sms_device', 'DEVICE_ID', '', NEW.DEVICE_ID, getTableSubSystem('alarm_sms_device')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ALARM_SMS_DEVICE` AFTER UPDATE ON `alarm_sms_device` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_sms_device', 'DEVICE_ID', OLD.DEVICE_ID, NEW.DEVICE_ID, getTableSubSystem('alarm_sms_device')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ALARM_SMS_DEVICE` AFTER DELETE ON `alarm_sms_device` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_sms_device', 'DEVICE_ID', OLD.DEVICE_ID, '', getTableSubSystem('alarm_sms_device')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_ALARM_SMS_RULE` AFTER INSERT ON `alarm_sms_rule` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_sms_rule', 'RULE_ID', '', NEW.RULE_ID, getTableSubSystem('alarm_sms_rule')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ALARM_SMS_RULE` AFTER UPDATE ON `alarm_sms_rule` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_sms_rule', 'RULE_ID', OLD.RULE_ID, NEW.RULE_ID, getTableSubSystem('alarm_sms_rule')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ALARM_SMS_RULE` AFTER DELETE ON `alarm_sms_rule` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_sms_rule', 'RULE_ID', OLD.RULE_ID, '', getTableSubSystem('alarm_sms_rule')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_ANALOG_CONTROL` AFTER INSERT ON `analog_control` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_control', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('analog_control')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_ANALOG_CONTROL -BEFORE UPDATE -ON analog_control FOR EACH ROW -body:BEGIN - - #修改功能名称 - IF COALESCE(NEW.RTU_TAG,'') = '' THEN - BEGIN - SET NEW.OFFSET_NO = '-1'; - END; - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ANALOG_CONTROL` AFTER UPDATE ON `analog_control` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_control', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('analog_control')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ANALOG_CONTROL` AFTER DELETE ON `analog_control` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_control', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('analog_control')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_ANALOG_LIMIT_INFO` AFTER INSERT ON `analog_limit_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_limit_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('analog_limit_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ANALOG_LIMIT_INFO` AFTER UPDATE ON `analog_limit_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_limit_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('analog_limit_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ANALOG_LIMIT_INFO` AFTER DELETE ON `analog_limit_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_limit_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('analog_limit_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_ANALOG_MAP_TO_FES -AFTER INSERT -ON analog_map_to_fes FOR EACH ROW -BEGIN - - - SET @disableFesAnalogTrigger = 1; - - IF COALESCE(@disableAnalogMapToFesTrigger,0) = 0 THEN - BEGIN - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET @disableFesAnalogTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('analog_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_ANALOG_MAP_TO_FES -BEFORE UPDATE -ON analog_map_to_fes FOR EACH ROW -body_label:BEGIN - - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO = OLD.DOT_NO AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN LEAVE body_label; - END IF; - - CALL kbdDebugInfo('FES analog update','In TU_ANALOG_MAP_TO_FES'); - - SET @disableFesAnalogTrigger = 1; - - IF COALESCE(@disableAnalogMapToFesTrigger,0) = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - - - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - ELSE SET NEW.DOT_NO = '-1'; - END IF; - END; - END IF; - - SET @disableFesAnalogTrigger = 0; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ANALOG_MAP_TO_FES` AFTER UPDATE ON `analog_map_to_fes` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('analog_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_ANALOG_MAP_TO_FES -BEFORE DELETE -ON analog_map_to_fes FOR EACH ROW -body_label:BEGIN - - CALL kbdDebugInfo('FES analog update','In TD_ANALOG_MAP_TO_FES'); - - SET @disableFesAnalogTrigger = 1; - - IF COALESCE(@disableAnalogMapToFesTrigger,0) = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET @disableFesAnalogTrigger = 0; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ANALOG_MAP_TO_FES` AFTER DELETE ON `analog_map_to_fes` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('analog_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_ANALOG_TEMP_DEFINE -AFTER INSERT -ON analog_temp_define FOR EACH ROW -BEGIN - -/* -INSERT INTO analog( -TAG_NAME, DESCRIPTION, RTU_TAG, DEV_TYPE, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, IS_CONTROL, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, UNIT_ID, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, REGION_ID, OPT_HANDOVER_GROUP, IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, CAMERA_TAG, PRESET_ID) -SELECT -concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)) , NEW.DESCRIPTION ,'', DEV_TYPE, TAG_NAME,NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, NEW.IS_CONTROL,GRAY, CONTRAST, QCOLOR, VALUE, STATUS, 0, 0, NEW.UNIT_ID, '', '', '', REGION_ID, OPT_HANDOVER_GROUP,NEW.IS_LIMIT,NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT,NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS,NEW.SAMPLE_PERIOD,NEW.SAMPLE_DEADBAND, '', '' -FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - - INSERT INTO temp_plugin_point_map_ana - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME, FES_TEMP_OUT_NAME) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'','','' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('analog_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_ANALOG_TEMP_DEFINE -AFTER UPDATE -ON analog_temp_define FOR EACH ROW -BEGIN - /* - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.DESCRIPTION <> OLD.DESCRIPTION OR NEW.SEQ_NO <> OLD.SEQ_NO OR NEW.IS_CONTROL <> OLD.IS_CONTROL OR NEW.UNIT_ID <> OLD.UNIT_ID OR - NEW.IS_LIMIT <> OLD.IS_LIMIT OR NEW.POINT_TYPE <> OLD.POINT_TYPE OR NEW.POINT_CLASS <> OLD.POINT_CLASS OR NEW.POINT_PROPERTY <> OLD.POINT_PROPERTY OR NEW.POINT_SORT <> OLD.POINT_SORT OR - NEW.IS_SAMPLE <> OLD.IS_SAMPLE OR NEW.IS_STATISTICS <> OLD.IS_STATISTICS OR NEW.SAMPLE_PERIOD <> OLD.SAMPLE_PERIOD OR NEW.SAMPLE_DEADBAND <> OLD.SAMPLE_DEADBAND - THEN - UPDATE analog SET - TAG_NAME = concat(DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - DESCRIPTION = NEW.DESCRIPTION, - SEQ_NO = NEW.SEQ_NO, - IS_CONTROL = NEW.IS_CONTROL, - UNIT_ID = NEW.UNIT_ID, - IS_LIMIT = NEW.IS_LIMIT, - POINT_TYPE = NEW.POINT_TYPE, - POINT_CLASS = NEW.POINT_CLASS, - POINT_PROPERTY = NEW.POINT_PROPERTY, - POINT_SORT = NEW.POINT_SORT, - POINT_TP_NAME = NEW.TAG_NAME, - IS_SAMPLE = NEW.IS_SAMPLE, - IS_STATISTICS = NEW.IS_STATISTICS, - SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - SAMPLE_DEADBAND = NEW.SAMPLE_DEADBAND - WHERE POINT_TP_NAME=OLD.TAG_NAME; - END IF; - - IF NEW.IS_TAGT_STATE <> OLD.IS_TAGT_STATE OR NEW.CTRL_TIMEOUT <> OLD.CTRL_TIMEOUT OR NEW.RESV_TIMEOUT <> OLD.RESV_TIMEOUT OR NEW.BASE <> OLD.BASE OR NEW.COEFF <> OLD.COEFF OR - NEW.RANGE_UP <> OLD.RANGE_UP OR NEW.RANGE_LOW <> OLD.RANGE_LOW OR NEW.CTRL_TOLERANCE <> OLD.CTRL_TOLERANCE OR NEW.TAG_NAME <> OLD.TAG_NAME - THEN - UPDATE analog_control SET - IS_TAGT_STATE = NEW.IS_TAGT_STATE, - CTRL_TIMEOUT = NEW.CTRL_TIMEOUT, - RESV_TIMEOUT = NEW.RESV_TIMEOUT, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - CTRL_TOLERANCE = NEW.CTRL_TOLERANCE, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.LIMIT_TYPE <> OLD.LIMIT_TYPE OR NEW.LIMIT_NUM <> OLD.LIMIT_NUM OR NEW.LIMIT_UP1 <> OLD.LIMIT_UP1 OR NEW.LIMIT_LOW1 <> OLD.LIMIT_LOW1 OR NEW.LIMIT_UP2 <> OLD.LIMIT_UP2 OR - NEW.LIMIT_LOW2 <> OLD.LIMIT_LOW2 OR NEW.LIMIT_UP3 <> OLD.LIMIT_UP3 OR NEW.LIMIT_LOW3 <> OLD.LIMIT_LOW3 OR NEW.CROSS_PERCENT <> OLD.CROSS_PERCENT OR NEW.RETURN_PERCENT <> OLD.RETURN_PERCENT OR - NEW.ALARM_PRIORITY <> OLD.ALARM_PRIORITY OR NEW.ALARM_DELAY_TIME <> OLD.ALARM_DELAY_TIME OR NEW.IS_WATER_ALM <> OLD.IS_WATER_ALM OR NEW.IS_ACK_ON_RTN <> OLD.IS_ACK_ON_RTN OR - NEW.DEL_ACT_ON_ACK <> OLD.DEL_ACT_ON_ACK OR NEW.IS_NEVER_ALM_ON_RTN <> OLD.IS_NEVER_ALM_ON_RTN OR NEW.TAG_NAME <> OLD.TAG_NAME - THEN - UPDATE analog_limit_info SET - LIMIT_TYPE = NEW.LIMIT_TYPE , - LIMIT_NUM = NEW.LIMIT_NUM , - LIMIT_UP1 = NEW.LIMIT_UP1 , - LIMIT_LOW1 = NEW.LIMIT_LOW1 , - LIMIT_UP2 = NEW.LIMIT_UP2 , - LIMIT_LOW2 = NEW.LIMIT_LOW2 , - LIMIT_UP3 = NEW.LIMIT_UP3 , - LIMIT_LOW3 = NEW.LIMIT_LOW3 , - CROSS_PERCENT = NEW.CROSS_PERCENT , - RETURN_PERCENT = NEW.RETURN_PERCENT , - ALARM_PRIORITY = NEW.ALARM_PRIORITY , - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME , - IS_WATER_ALM = NEW.IS_WATER_ALM , - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN , - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK , - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.IS_FILTER <> OLD.IS_FILTER OR NEW.PERCENT <> OLD.PERCENT OR NEW.IS_VALID <> OLD.IS_VALID OR NEW.DEADBAND <> OLD.DEADBAND OR - NEW.ZEROBAND <> OLD.ZEROBAND OR NEW.BASE <> OLD.BASE OR NEW.COEFF <> OLD.COEFF OR NEW.RANGE_UP <> OLD.RANGE_UP OR NEW.RANGE_LOW <> OLD.RANGE_LOW - THEN - UPDATE analog_map_to_fes SET - POINT_TP_NAME = NEW.TAG_NAME, - IS_FILTER = NEW.IS_FILTER, - PERCENT = NEW.PERCENT, - IS_VALID = NEW.IS_VALID, - DEADBAND = NEW.DEADBAND, - ZEROBAND = NEW.ZEROBAND, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_ana - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('analog_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_ANALOG_TEMP_DEFINE -BEFORE DELETE -ON analog_temp_define FOR EACH ROW -BEGIN - DELETE FROM temp_plugin_point_map_ana WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); -/* - DELETE FROM analog WHERE POINT_TP_NAME = OLD.TAG_NAME; -*/ -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ANALOG_TEMP_DEFINE` AFTER DELETE ON `analog_temp_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('analog_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_APC_ANALOG` AFTER INSERT ON `APC_ANALOG` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_analog', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('apc_analog')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUB_APC_ANALOG` BEFORE UPDATE ON `APC_ANALOG` FOR EACH ROW BEGIN -IF NEW.NO_RDB_SYNC = 1 THEN -SET NEW.NO_RDB_SYNC = NULL; -ELSEIF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_analog', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('apc_analog')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_APC_ANALOG` AFTER DELETE ON `APC_ANALOG` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_analog', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('apc_analog')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_apc_curve` AFTER INSERT ON `apc_curve` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('apc_curve')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_apc_curve` AFTER UPDATE ON `apc_curve` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('apc_curve')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_apc_curve` AFTER DELETE ON `apc_curve` FOR EACH ROW BEGIN -delete from apc_curve_day_index where curve_key_id_tag = old.key_id_tag; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('apc_curve')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_APC_CURVE_DAY_INDEX` AFTER INSERT ON `apc_curve_day_index` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_day_index', 'curve_key_id_tag,year_rule_id,week_rule_id', '', concat(NEW.CURVE_KEY_ID_TAG,',',NEW.YEAR_RULE_ID,',',NEW.WEEK_RULE_ID), getTableSubSystem('apc_curve_day_index')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_APC_CURVE_DAY_INDEX` AFTER UPDATE ON `apc_curve_day_index` FOR EACH ROW BEGIN -IF((select count(*) from apc_curve_day_index where day_rule_id = old.day_rule_id)<1) THEN -delete from apc_curve_day_value where day_rule_id = old.day_rule_id; -END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_day_index', 'curve_key_id_tag,year_rule_id,week_rule_id', concat(OLD.CURVE_KEY_ID_TAG,',',OLD.YEAR_RULE_ID,',',OLD.WEEK_RULE_ID), concat(NEW.CURVE_KEY_ID_TAG,',',NEW.YEAR_RULE_ID,',',NEW.WEEK_RULE_ID), getTableSubSystem('apc_curve_day_index')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_APC_CURVE_DAY_INDEX` AFTER DELETE ON `apc_curve_day_index` FOR EACH ROW BEGIN -delete from apc_curve_day_value where day_rule_id = old.day_rule_id; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_day_index', 'curve_key_id_tag,year_rule_id,week_rule_id',concat(OLD.CURVE_KEY_ID_TAG,',',OLD.YEAR_RULE_ID,',',OLD.WEEK_RULE_ID), '', getTableSubSystem('apc_curve_day_index')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_APC_CURVE_DAY_VALUE` AFTER INSERT ON `apc_curve_day_value` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_day_value', 'day_rule_id,start_sec,end_sec', '', concat(NEW.DAY_RULE_ID,',',NEW.START_SEC,',',NEW.END_SEC), getTableSubSystem('apc_curve_day_value')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_APC_CURVE_DAY_VALUE` AFTER UPDATE ON `apc_curve_day_value` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_day_value', 'day_rule_id,start_sec,end_sec', concat(OLD.DAY_RULE_ID,',',OLD.START_SEC,',',OLD.END_SEC), concat(NEW.DAY_RULE_ID,',',NEW.START_SEC,',',NEW.END_SEC), getTableSubSystem('apc_curve_day_value')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_APC_CURVE_DAY_VALUE` AFTER DELETE ON `apc_curve_day_value` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_day_value', 'day_rule_id,start_sec,end_sec', concat(OLD.DAY_RULE_ID,',',OLD.START_SEC,',',OLD.END_SEC), '', getTableSubSystem('apc_curve_day_value')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_APC_CURVE_WEEK` AFTER INSERT ON `apc_curve_week` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_week', 'type_id,week_day', '', concat(NEW.TYPE_ID,',',NEW.WEEK_DAY), getTableSubSystem('apc_curve_week')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_APC_CURVE_WEEK` AFTER UPDATE ON `apc_curve_week` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_week', 'type_id,week_day', concat(OLD.TYPE_ID,',',OLD.WEEK_DAY), concat(NEW.TYPE_ID,',',NEW.WEEK_DAY), getTableSubSystem('apc_curve_week')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_APC_CURVE_WEEK` AFTER DELETE ON `apc_curve_week` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_week', 'type_id,week_day', concat(OLD.TYPE_ID,',',OLD.WEEK_DAY), '', getTableSubSystem('apc_curve_week')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_APC_CURVE_YEAR` AFTER INSERT ON `apc_curve_year` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_year', 'type_id,month_begin,day_begin,month_end,day_end', '', concat(NEW.TYPE_ID,',',NEW.MONTH_BEGIN,',',NEW.DAY_BEGIN,',',NEW.MONTH_END,',',NEW.DAY_END), getTableSubSystem('apc_curve_year')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_APC_CURVE_YEAR` AFTER UPDATE ON `apc_curve_year` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_year', 'type_id,month_begin,day_begin,month_end,day_end', concat(OLD.TYPE_ID,',',OLD.MONTH_BEGIN,',',OLD.DAY_BEGIN,',',OLD.MONTH_END,',',OLD.DAY_END), concat(NEW.TYPE_ID,',',NEW.MONTH_BEGIN,',',NEW.DAY_BEGIN,',',NEW.MONTH_END,',',NEW.DAY_END), getTableSubSystem('apc_curve_year')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_APC_CURVE_YEAR` AFTER DELETE ON `apc_curve_year` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_year', 'type_id,month_begin,day_begin,month_end,day_end', concat(OLD.TYPE_ID,',',OLD.MONTH_BEGIN,',',OLD.DAY_BEGIN,',',OLD.MONTH_END,',',OLD.DAY_END), '', getTableSubSystem('apc_curve_year')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_APC_DIGITAL` AFTER INSERT ON `apc_digital` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_digital', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('apc_digital')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUB_APC_DIGITAL` BEFORE UPDATE ON `apc_digital` FOR EACH ROW BEGIN -IF NEW.NO_RDB_SYNC = 1 THEN -SET NEW.NO_RDB_SYNC = NULL; -ELSEIF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_digital', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('apc_digital')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_APC_DIGITAL` AFTER DELETE ON `apc_digital` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_digital', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('apc_digital')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_ATS_CASCO_PLANNED_TRAIN_DATA` AFTER INSERT ON `ats_casco_planned_train_data` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_casco_planned_train_data', 'zdate,location_id,platform_id,table_id,train_id', '', concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_planned_train_data')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ATS_CASCO_PLANNED_TRAIN_DATA` AFTER UPDATE ON `ats_casco_planned_train_data` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_casco_planned_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_planned_train_data')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ATS_CASCO_PLANNED_TRAIN_DATA` AFTER DELETE ON `ats_casco_planned_train_data` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_casco_planned_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), '', getTableSubSystem('ats_casco_planned_train_data')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_ATS_CASCO_PRACTICAL_TRAIN_DATA` AFTER INSERT ON `ats_casco_practical_train_data` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_casco_practical_train_data', 'zdate,location_id,platform_id,table_id,train_id', '', concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_practical_train_data')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ATS_CASCO_PRACTICAL_TRAIN_DATA` AFTER UPDATE ON `ats_casco_practical_train_data` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_casco_practical_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_practical_train_data')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ATS_CASCO_PRACTICAL_TRAIN_DATA` AFTER DELETE ON `ats_casco_practical_train_data` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_casco_practical_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), '', getTableSubSystem('ats_casco_practical_train_data')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_ATS_FES_LOCATION_INFO` AFTER INSERT ON `ats_fes_location_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_fes_location_info', 'ats_location_id', '', NEW.ATS_LOCATION_ID, getTableSubSystem('ats_fes_location_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ATS_FES_LOCATION_INFO` AFTER UPDATE ON `ats_fes_location_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_fes_location_info', 'ats_location_id', OLD.ATS_LOCATION_ID, NEW.ATS_LOCATION_ID, getTableSubSystem('ats_fes_location_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ATS_FES_LOCATION_INFO` AFTER DELETE ON `ats_fes_location_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_fes_location_info', 'ats_location_id', OLD.ATS_LOCATION_ID, '', getTableSubSystem('ats_fes_location_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_ATS_FES_PLATFORM_INFO` AFTER INSERT ON `ats_fes_platform_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_fes_platform_info', 'location_id,platform_id,platform_des', '', concat(NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.PLATFORM_DES), getTableSubSystem('ats_fes_platform_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_ATS_FES_PLATFORM_INFO` AFTER UPDATE ON `ats_fes_platform_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_fes_platform_info', 'location_id,platform_id,platform_des', concat(OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.PLATFORM_DES), concat(NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.PLATFORM_DES), getTableSubSystem('ats_fes_platform_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_ATS_FES_PLATFORM_INFO` AFTER DELETE ON `ats_fes_platform_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_fes_platform_info', 'location_id,platform_id,platform_des', concat(OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.PLATFORM_DES), '', getTableSubSystem('ats_fes_platform_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_BAS_TIMETABLE_CTRL_PARAM` AFTER INSERT ON `bas_timetable_ctrl_param` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_ctrl_param', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('bas_timetable_ctrl_param')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_BAS_TIMETABLE_CTRL_PARAM` AFTER UPDATE ON `bas_timetable_ctrl_param` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_ctrl_param', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('bas_timetable_ctrl_param')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_BAS_TIMETABLE_CTRL_PARAM` AFTER DELETE ON `bas_timetable_ctrl_param` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_ctrl_param', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('bas_timetable_ctrl_param')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_BAS_TIMETABLE_DEF` AFTER INSERT ON `bas_timetable_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_def', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_BAS_TIMETABLE_DEF` AFTER UPDATE ON `bas_timetable_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_def', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_BAS_TIMETABLE_DEF` AFTER DELETE ON `bas_timetable_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_def', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('bas_timetable_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_BAS_TIMETABLE_INFO` AFTER INSERT ON `bas_timetable_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_info', 'location_id,timetable_id,begin_time', '', concat(NEW.LOCATION_ID,',',NEW.TIMETABLE_ID,',',NEW.BEGIN_TIME), getTableSubSystem('bas_timetable_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_BAS_TIMETABLE_INFO` AFTER UPDATE ON `bas_timetable_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_info', 'location_id,timetable_id,begin_time', concat(OLD.LOCATION_ID,',',OLD.TIMETABLE_ID,',',OLD.BEGIN_TIME), concat(NEW.LOCATION_ID,',',NEW.TIMETABLE_ID,',',NEW.BEGIN_TIME), getTableSubSystem('bas_timetable_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_BAS_TIMETABLE_INFO` AFTER DELETE ON `bas_timetable_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_info', 'location_id,timetable_id,begin_time', concat(OLD.LOCATION_ID,',',OLD.TIMETABLE_ID,',',OLD.BEGIN_TIME), '', getTableSubSystem('bas_timetable_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_BAS_TIMETABLE_SCHEDULE` AFTER INSERT ON `bas_timetable_schedule` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_schedule', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_schedule')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_BAS_TIMETABLE_SCHEDULE` AFTER UPDATE ON `bas_timetable_schedule` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_schedule', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_schedule')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_BAS_TIMETABLE_SCHEDULE` AFTER DELETE ON `bas_timetable_schedule` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_schedule', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('bas_timetable_schedule')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_CALC_FUNC_DEF` AFTER INSERT ON `calc_func_def` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_func_def', 'func_name', '', NEW.FUNC_NAME, getTableSubSystem('calc_func_def')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_CALC_FUNC_DEF` AFTER UPDATE ON `calc_func_def` FOR EACH ROW BEGIN - - UPDATE calc_out_para SET - FUNC_NAME = NEW.FUNC_NAME, - CALC_FLAG = '1' - WHERE FUNC_NAME = OLD.FUNC_NAME; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_func_def', 'func_name', OLD.FUNC_NAME, NEW.FUNC_NAME, getTableSubSystem('calc_func_def')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_CALC_FUNC_DEF` AFTER DELETE ON `calc_func_def` FOR EACH ROW BEGIN - DELETE FROM calc_out_para WHERE FUNC_NAME = OLD.FUNC_NAME; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_func_def', 'func_name', OLD.FUNC_NAME, '', getTableSubSystem('calc_func_def')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_CALC_GROUP_DEF` AFTER INSERT ON `calc_group_def` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_group_def', 'group_id', '', NEW.GROUP_ID, getTableSubSystem('calc_group_def')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_CALC_GROUP_DEF` AFTER UPDATE ON `calc_group_def` FOR EACH ROW BEGIN - - IF NEW.GROUP_ID <> OLD.GROUP_ID THEN - UPDATE calc_func_def SET GROUP_ID = NEW.GROUP_ID WHERE GROUP_ID = OLD.GROUP_ID; - END IF; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_group_def', 'group_id', OLD.GROUP_ID, NEW.GROUP_ID, getTableSubSystem('calc_group_def')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_CALC_GROUP_DEF` AFTER DELETE ON `calc_group_def` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_group_def', 'group_id', OLD.GROUP_ID, '', getTableSubSystem('calc_group_def')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_CALC_IN_PARA` AFTER INSERT ON `calc_in_para` FOR EACH ROW BEGIN - - UPDATE calc_out_para SET CALC_FLAG = '1' WHERE KEY_ID_TAG = NEW.KEY_ID_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_in_para', 'key_id_tag,para_seq_no', '', concat(NEW.KEY_ID_TAG,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_in_para')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_CALC_IN_PARA` AFTER UPDATE ON `calc_in_para` FOR EACH ROW BEGIN - - UPDATE calc_out_para SET CALC_FLAG = '1' WHERE KEY_ID_TAG = NEW.KEY_ID_TAG; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_in_para', 'key_id_tag,para_seq_no', concat(OLD.KEY_ID_TAG,',',OLD.PARA_SEQ_NO), concat(NEW.KEY_ID_TAG,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_in_para')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_CALC_IN_PARA` AFTER DELETE ON `calc_in_para` FOR EACH ROW BEGIN - - UPDATE calc_out_para SET CALC_FLAG = '1' WHERE KEY_ID_TAG = OLD.KEY_ID_TAG; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_in_para', 'key_id_tag,para_seq_no', concat(OLD.KEY_ID_TAG,',',OLD.PARA_SEQ_NO), '', getTableSubSystem('calc_in_para')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_CALC_OUT_PARA` AFTER INSERT ON `calc_out_para` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_out_para', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('calc_out_para')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_CALC_OUT_PARA` AFTER UPDATE ON `calc_out_para` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_out_para', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('calc_out_para')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_CALC_OUT_PARA -AFTER DELETE -ON calc_out_para FOR EACH ROW -BEGIN - - #这里不能触发删除本输出的输入,因为输入的删除触发器中调用了本表 - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_out_para', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('calc_out_para')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_CALC_PARA_DEF` AFTER INSERT ON `calc_para_def` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_para_def', 'func_name,para_seq_no', '', concat(NEW.FUNC_NAME,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_para_def')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_CALC_PARA_DEF` AFTER UPDATE ON `calc_para_def` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_para_def', 'func_name,para_seq_no', concat(OLD.FUNC_NAME,',',OLD.PARA_SEQ_NO), concat(NEW.FUNC_NAME,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_para_def')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_CALC_PARA_DEF` AFTER DELETE ON `calc_para_def` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_para_def', 'func_name,para_seq_no', concat(OLD.FUNC_NAME,',',OLD.PARA_SEQ_NO), '', getTableSubSystem('calc_para_def')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_CFG_DEVICE_INST` AFTER INSERT ON `cfg_device_inst` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'cfg_device_inst', 'id', '', NEW.id, getTableSubSystem('cfg_device_inst')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_CFG_DEVICE_INST` AFTER UPDATE ON `cfg_device_inst` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'cfg_device_inst', 'id', OLD.id, NEW.id, getTableSubSystem('cfg_device_inst')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_CFG_DEVICE_INST` AFTER DELETE ON `cfg_device_inst` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'cfg_device_inst', 'id', OLD.id, '', getTableSubSystem('cfg_device_inst')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_CFG_SIGNAL_INST` AFTER INSERT ON `cfg_signal_inst` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'cfg_signal_inst', 'id', '', NEW.id, getTableSubSystem('cfg_signal_inst')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_CFG_SIGNAL_INST` AFTER UPDATE ON `cfg_signal_inst` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'cfg_signal_inst', 'id', OLD.id, NEW.id, getTableSubSystem('cfg_signal_inst')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_CFG_SIGNAL_INST` AFTER DELETE ON `cfg_signal_inst` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'cfg_signal_inst', 'id', OLD.id, '', getTableSubSystem('cfg_signal_inst')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_DEV_TEMP_DEF` AFTER INSERT ON `dev_temp_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'dev_temp_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('dev_temp_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_DEV_TEMP_DEF -AFTER UPDATE -ON dev_temp_def FOR EACH ROW -BEGIN -IF OLD.TAG_NAME != NEW.TAG_NAME THEN -BEGIN - UPDATE accuml set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); - UPDATE analog set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); - UPDATE digital set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); - UPDATE mix set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -END; -END IF; - -IF OLD.TAG_NAME != NEW.TAG_NAME OR OLD.DESCRIPTION != NEW.DESCRIPTION THEN -BEGIN - UPDATE accuml_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - - UPDATE analog_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - - - UPDATE digital_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - - UPDATE mix_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - #更新对应的套件 - IF OLD.TAG_NAME != NEW.TAG_NAME THEN - BEGIN - UPDATE temp_plugin_dev_map SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_fes_dev_map SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_acc SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_ana SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_dig SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_mix SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - END; - END IF; -END; -END IF; -/* -IF OLD.TAG_NAME != NEW.TAG_NAME OR OLD.DEV_TYPE_ID != NEW.DEV_TYPE_ID OR OLD.SUB_SYSTEM != NEW.SUB_SYSTEM -THEN -UPDATE dev_info SET -DEV_TP_NAME=NEW.TAG_NAME, -DEV_TYPE=NEW.DEV_TYPE_ID, -SUB_SYSTEM = NEW.SUB_SYSTEM -WHERE DEV_TP_NAME=OLD.TAG_NAME ; -END IF; -*/ -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'dev_temp_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('dev_temp_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_DEV_TEMP_DEF -BEFORE DELETE -ON dev_temp_def FOR EACH ROW -BEGIN - -/* -DELETE FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME; -*/ -DELETE FROM accuml_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; -DELETE FROM analog_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; -DELETE FROM digital_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; -DELETE FROM mix_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; -#套件的处理 -DELETE FROM temp_plugin_dev_map WHERE TEMP_NAME = OLD.TAG_NAME; -UPDATE accuml set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -UPDATE analog set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -UPDATE digital set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -UPDATE mix set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_DEV_TEMP_DEF` AFTER DELETE ON `dev_temp_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'dev_temp_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('dev_temp_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_DEV_TEMP_GROUP -AFTER UPDATE -ON dev_temp_group FOR EACH ROW -BEGIN - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE dev_temp_def SET DEV_TEMP_GRP = NEW.TAG_NAME WHERE DEV_TEMP_GRP = OLD.TAG_NAME; - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_DEV_TEMP_GROUP -AFTER DELETE ON dev_temp_group -FOR EACH ROW -BEGIN - - DELETE FROM dev_temp_def WHERE DEV_TEMP_GRP = OLD.TAG_NAME; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_DIGITAL_CONTROL` AFTER INSERT ON `digital_control` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'digital_control', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('digital_control')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_DIGITAL_CONTROL -BEFORE UPDATE -ON digital_control FOR EACH ROW -body:BEGIN - - #修改功能名称 - IF COALESCE(NEW.RTU_TAG,'') = '' THEN - BEGIN - SET NEW.OFFSET_NO1 = '-1'; - SET NEW.OFFSET_NO2 = '-1'; - SET NEW.OFFSET_NO3 = '-1'; - SET NEW.OFFSET_NO4 = '-1'; - SET NEW.OFFSET_NO5 = '-1'; - END; - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_DIGITAL_CONTROL` AFTER UPDATE ON `digital_control` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'digital_control', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('digital_control')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_DIGITAL_CONTROL` AFTER DELETE ON `digital_control` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'digital_control', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('digital_control')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_DIGITAL_MAP_TO_FES -AFTER INSERT -ON digital_map_to_fes FOR EACH ROW -BEGIN - CALL kbdDebugInfo('FES digtal update','In TI_DIGTAL_MAP_TO_FES'); - - SET @disableFesDigitalTrigger = 1; - - IF COALESCE(@disableDigitalMapToFesTrigger,0) = 0 THEN - BEGIN - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value1' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO1); - END IF; - - IF COALESCE(NEW.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value2' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO2); - END IF; - - IF COALESCE(NEW.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value3' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO3); - END IF; - - IF COALESCE(NEW.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value4' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO4); - END IF; - - IF COALESCE(NEW.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value5' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO5); - END IF; - - END; - END IF; - END; - END IF; - SET @disableFesDigitalTrigger = 0; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'digital_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('digital_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_DIGITAL_MAP_TO_FES -BEFORE UPDATE -ON digital_map_to_fes FOR EACH ROW -body_label: BEGIN - - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO1 = OLD.DOT_NO1 AND - NEW.DOT_NO2 = OLD.DOT_NO2 AND - NEW.DOT_NO3 = OLD.DOT_NO3 AND - NEW.DOT_NO4 = OLD.DOT_NO4 AND - NEW.DOT_NO5 = OLD.DOT_NO5 AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN LEAVE body_label; - END IF; - - CALL kbdDebugInfo('FES digtal update','In TU_DIGTAL_MAP_TO_FES'); - - SET @disableFesDigitalTrigger = 1; - - IF COALESCE(@disableDigitalMapToFesTrigger,0) = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO1); - END IF; - - IF COALESCE(OLD.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO2); - END IF; - - IF COALESCE(OLD.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO3); - END IF; - - IF COALESCE(OLD.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO4); - END IF; - - IF COALESCE(OLD.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO5); - END IF; - - END; - END IF; - - - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value1' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO1); - END IF; - - IF COALESCE(NEW.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value2' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO2); - END IF; - - IF COALESCE(NEW.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value3' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO3); - END IF; - - IF COALESCE(NEW.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value4' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO4); - END IF; - - IF COALESCE(NEW.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value5' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO5); - END IF; - - END; - ELSE - BEGIN - SET NEW.DOT_NO1 = '-1'; - SET NEW.DOT_NO2 = '-1'; - SET NEW.DOT_NO3 = '-1'; - SET NEW.DOT_NO4 = '-1'; - SET NEW.DOT_NO5 = '-1'; - END; - END IF; - END; - END IF; - SET @disableFesDigitalTrigger = 0; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_DIGITAL_MAP_TO_FES` AFTER UPDATE ON `digital_map_to_fes` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'digital_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('digital_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_DIGITAL_MAP_TO_FES -BEFORE DELETE -ON digital_map_to_fes FOR EACH ROW -BEGIN - CALL kbdDebugInfo('FES digtal update','In TD_DIGTAL_MAP_TO_FES'); - - SET @disableFesDigitalTrigger = 1; - - IF COALESCE(@disableDigitalMapToFesTrigger,0) = 0 THEN - BEGIN - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO1); - END IF; - - IF COALESCE(OLD.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO2); - END IF; - - IF COALESCE(OLD.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO3); - END IF; - - IF COALESCE(OLD.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO4); - END IF; - - IF COALESCE(OLD.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO5); - END IF; - - END; - END IF; - END; - END IF; - - SET @disableFesDigitalTrigger = 0; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_DIGITAL_MAP_TO_FES` AFTER DELETE ON `digital_map_to_fes` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'digital_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('digital_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_DIGITAL_TEMP_DEFINE -AFTER INSERT -ON digital_temp_define FOR EACH ROW -BEGIN - -/* -INSERT INTO digital( -TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, IS_CONTROL, STATE_TEXT_NAME, VALUE_NUM, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, LAST_UPDATE_TIME, VALUE1, STATUS1, LAST_CHANGE_TIME1, VALUE2, STATUS2, LAST_CHANGE_TIME2, VALUE3, STATUS3, LAST_CHANGE_TIME3, VALUE4, STATUS4, LAST_CHANGE_TIME4, VALUE5, STATUS5, LAST_CHANGE_TIME5, ALARM_PRIORITY, PIC_NAME, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, ALARM_DELAY_TIME, INPUT_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, IS_ALARM_FREQ, ALARM_FREQ, ALARM_FREQ_DESC, IS_ALARM_TIME, ALARM_TIME, ALARM_TIME_DESC, ALARM_FREQ_RANGE, INFER_NAME, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, CAMERA_TAG, PRESET_ID ) -SELECT -concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)),NEW.DESCRIPTION,TAG_NAME,NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, "", NEW.IS_CONTROL, NEW.STATE_TEXT_NAME,NEW.VALUE_NUM,GRAY, CONTRAST, QCOLOR, VALUE, STATUS, '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', NEW.ALARM_PRIORITY, '', '', '', '', NEW.ALARM_DELAY_TIME,NEW.INPUT_DELAY_TIME,NEW.IS_WATER_ALM,NEW.IS_ACK_ON_RTN,NEW.DEL_ACT_ON_ACK,NEW.IS_NEVER_ALM_ON_RTN,REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS,NEW.SAMPLE_PERIOD,NEW.IS_ALARM_FREQ,NEW.ALARM_FREQ,NEW.ALARM_FREQ_DESC,NEW.IS_ALARM_TIME,NEW.ALARM_TIME,NEW.ALARM_TIME_DESC,NEW.ALARM_FREQ_RANGE,'', NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT, '', '' -FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - INSERT INTO temp_plugin_point_map_dig - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME1, FES_TEMP_POINT_NAME2, FES_TEMP_POINT_NAME3, FES_TEMP_POINT_NAME4, FES_TEMP_POINT_NAME5, FES_TEMP_OUT_NAME1, FES_TEMP_OUT_NAME2, FES_TEMP_OUT_NAME3, FES_TEMP_OUT_NAME4, FES_TEMP_OUT_NAME5) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'', '', '', '', '', '', '', '', '', '', '' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'digital_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('digital_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_DIGITAL_TEMP_DEFINE -AFTER UPDATE -ON digital_temp_define FOR EACH ROW -BEGIN - /* - UPDATE digital SET - TAG_NAME = concat(DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - DESCRIPTION = NEW.DESCRIPTION, - SEQ_NO = NEW.SEQ_NO, - IS_CONTROL = NEW.IS_CONTROL, - STATE_TEXT_NAME = NEW.STATE_TEXT_NAME, - VALUE_NUM = NEW.VALUE_NUM, - ALARM_PRIORITY = NEW.ALARM_PRIORITY, - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME, - INPUT_DELAY_TIME = NEW.INPUT_DELAY_TIME, - IS_WATER_ALM = NEW.IS_WATER_ALM, - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN, - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK, - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - IS_SUMMARY = NEW.IS_SUMMARY, - POINT_TP_NAME = NEW.TAG_NAME, - IS_SAMPLE = NEW.IS_SAMPLE, - IS_STATISTICS = NEW.IS_STATISTICS, - SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - IS_ALARM_FREQ = NEW.IS_ALARM_FREQ, - ALARM_FREQ = NEW.ALARM_FREQ, - ALARM_FREQ_DESC = NEW.ALARM_FREQ_DESC, - IS_ALARM_TIME = NEW.IS_ALARM_TIME, - ALARM_TIME = NEW.ALARM_TIME, - ALARM_TIME_DESC = NEW.ALARM_TIME_DESC, - ALARM_FREQ_RANGE = NEW.ALARM_FREQ_RANGE, - POINT_TYPE = NEW.POINT_TYPE, - POINT_CLASS = NEW.POINT_CLASS, - POINT_PROPERTY = NEW.POINT_PROPERTY, - POINT_SORT = NEW.POINT_SORT - WHERE POINT_TP_NAME=OLD.TAG_NAME ; - UPDATE digital_control SET - CTRL_ACT_NAME = NEW.CTRL_ACT_NAME, - IS_TAGT_STATE = NEW.IS_TAGT_STATE, - CTRL_TIMEOUT = NEW.CTRL_TIMEOUT, - RESV_TIMEOUT = NEW.RESV_TIMEOUT, - PULSE_DURATION = NEW.PULSE_DURATION, - OFFSET_NUM = NEW.OFFSET_NUM, - IS_CHECK_PREVENTION = NEW.IS_CHECK_PREVENTION, - CTRL_TYPE = NEW.CTRL_TYPE, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_dig - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'digital_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('digital_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_DIGITAL_TEMP_DEFINE -BEFORE DELETE -ON digital_temp_define FOR EACH ROW -BEGIN - DELETE FROM temp_plugin_point_map_dig WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); -/* -DELETE FROM digital WHERE POINT_TP_NAME = OLD.TAG_NAME; -*/ -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_DIGITAL_TEMP_DEFINE` AFTER DELETE ON `digital_temp_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'digital_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('digital_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_FAULT_RECALL_COND_DEF` AFTER INSERT ON `fault_recall_cond_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fault_recall_cond_def', 'location_id,trigger_tag_name', '', concat(NEW.LOCATION_ID,',',NEW.TRIGGER_TAG_NAME), getTableSubSystem('fault_recall_cond_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_FAULT_RECALL_COND_DEF` AFTER UPDATE ON `fault_recall_cond_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fault_recall_cond_def', 'location_id,trigger_tag_name', concat(OLD.LOCATION_ID,',',OLD.TRIGGER_TAG_NAME), concat(NEW.LOCATION_ID,',',NEW.TRIGGER_TAG_NAME), getTableSubSystem('fault_recall_cond_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_FAULT_RECALL_COND_DEF` AFTER DELETE ON `fault_recall_cond_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fault_recall_cond_def', 'location_id,trigger_tag_name', concat(OLD.LOCATION_ID,',',OLD.TRIGGER_TAG_NAME), '', getTableSubSystem('fault_recall_cond_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_FES_ACCUML` AFTER INSERT ON `fes_accuml` FOR EACH ROW BEGIN - CALL kbdDebugInfo('ACCUML_MAP_TO_FES update','In TI_FES_ACCUML'); - #首先禁止MAP_TO_FES触发器动作 - SET @disableAccumlMapToFesTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableFesAccumlTrigger,0) = 0 THEN - BEGIN - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE accuml_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - - END; - END IF; - - SET @disableAccumlMapToFesTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_accuml', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_accuml')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_ACCUML -BEFORE UPDATE -ON fes_accuml FOR EACH ROW -body:BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN LEAVE body; - END IF; - - CALL kbdDebugInfo('ACCUML_MAP_TO_FES update','In TU_FES_ACCUML'); - - SET @disableAccumlMapToFesTrigger = 1; - - IF COALESCE(@disableFesAccumlTrigger,0) = 0 THEN - BEGIN - #删除旧关联 - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE accuml_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - #建立新关联 - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE accuml_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - END; - END IF; - - SET @disableAccumlMapToFesTrigger = 0; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_FES_ACCUML` AFTER UPDATE ON `fes_accuml` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_accuml', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_accuml')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_ACCUML -AFTER DELETE -ON fes_accuml FOR EACH ROW -BEGIN - CALL kbdDebugInfo('ACCUML_MAP_TO_FES update','In TD_FES_ACCUML'); - - SET @disableAccumlMapToFesTrigger = 1; - - IF COALESCE(@disableFesAccumlTrigger,0) = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE accuml_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET @disableAccumlMapToFesTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_accuml', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_accuml')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_FES_ANALOG` AFTER INSERT ON `fes_analog` FOR EACH ROW BEGIN - CALL kbdDebugInfo('ANALOG_MAP_TO_FES update','In TI_FES_ANALOG'); - #首先禁止MAP_TO_FES触发器动作 - SET @disableAnalogMapToFesTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableFesAnalogTrigger,0) = 0 THEN - BEGIN - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE analog_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET @disableAnalogMapToFesTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_analog', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_analog')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_ANALOG -BEFORE UPDATE -ON fes_analog FOR EACH ROW -body:BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN LEAVE body; - END IF; - - CALL kbdDebugInfo('ANALOG_MAP_TO_FES update','In TU_FES_ANALOG'); - #首先禁止MAP_TO_FES触发器动作 - SET @disableAnalogMapToFesTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableFesAnalogTrigger,0) = 0 THEN - BEGIN - - #不管是ana还是const都是放在analog_map_to_fes表 - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE analog_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE analog_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET @disableAnalogMapToFesTrigger = 0; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_FES_ANALOG` AFTER UPDATE ON `fes_analog` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_analog', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_analog')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_ANALOG -AFTER DELETE -ON fes_analog FOR EACH ROW -BEGIN - CALL kbdDebugInfo('ANALOG_MAP_TO_FES update','In TD_FES_ANALOG'); - #首先禁止MAP_TO_FES触发器动作 - SET @disableAnalogMapToFesTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableFesAnalogTrigger,0) = 0 THEN - BEGIN - #不管是ana还是const都是放在analog_map_to_fes表 - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE analog_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET @disableAnalogMapToFesTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_analog', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_analog')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_FES_ANALOG_CTRL` AFTER INSERT ON `fes_analog_ctrl` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_analog_ctrl', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_analog_ctrl')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_FES_ANALOG_CTRL` AFTER UPDATE ON `fes_analog_ctrl` FOR EACH ROW body:BEGIN - #更新关联了此点的遥控点 - - IF NEW.RTU_TAG <> OLD.RTU_TAG OR NEW.DOT_NO<> OLD.DOT_NO - THEN - BEGIN - UPDATE analog_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - END; - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_analog_ctrl', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_analog_ctrl')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_ANALOG_CTRL -AFTER DELETE -ON fes_analog_ctrl FOR EACH ROW -BEGIN - UPDATE analog_control SET - OFFSET_NO = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_analog_ctrl', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_analog_ctrl')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_FES_CHANNEL_PARA -BEFORE INSERT ON FES_CHANNEL_PARA -FOR EACH ROW -BEGIN - - DECLARE locationTag varchar(64) DEFAULT ''; - DECLARE subsystemTag varchar(64) DEFAULT ''; - - - SELECT TAG_NAME INTO locationTag FROM sys_model_location_info WHERE LOCATION_ID = NEW.LOCATION_ID; - SELECT TAG_NAME INTO subsystemTag FROM sys_model_sub_system_info WHERE SUB_SYSTEM_ID = NEW.SUB_SYSTEM; - SET NEW.TAG_NAME = concat(locationTag,'.',subsystemTag,'.',NEW.CHAN_NAME); - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_FES_CHANNEL_PARA` AFTER INSERT ON `fes_channel_para` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_channel_para', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_channel_para')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_CHANNEL_PARA -BEFORE UPDATE -ON fes_channel_para FOR EACH ROW -body:BEGIN - - DECLARE locationTag varchar(64) DEFAULT ''; - DECLARE subsystemTag varchar(64) DEFAULT ''; - - IF NEW.CHAN_NAME <> OLD.CHAN_NAME THEN - BEGIN - SELECT TAG_NAME INTO locationTag FROM sys_model_location_info WHERE LOCATION_ID = NEW.LOCATION_ID; - SELECT TAG_NAME INTO subsystemTag FROM sys_model_sub_system_info WHERE SUB_SYSTEM_ID = NEW.SUB_SYSTEM; - SET NEW.TAG_NAME = concat(locationTag,'.',subsystemTag,'.',NEW.CHAN_NAME); - END; - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_FES_CHANNEL_PARA` AFTER UPDATE ON `fes_channel_para` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_channel_para', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_channel_para')); -END IF; -IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.CHAN_NO <> OLD.CHAN_NO OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM <> OLD.SUB_SYSTEM THEN -BEGIN - UPDATE fes_rtu_para SET - TAG_NAME = concat(NEW.TAG_NAME,'.',RTU_NAME), - CHAN_TAG = NEW.TAG_NAME, - CHAN_NO = NEW.CHAN_NO, - LOCATION_ID = NEW.LOCATION_ID, - SUB_SYSTEM = NEW.SUB_SYSTEM - WHERE CHAN_TAG = OLD.TAG_NAME; -END; -END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_FES_CHANNEL_PARA` AFTER DELETE ON `fes_channel_para` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_channel_para', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_channel_para')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_FES_CONST -AFTER INSERT ON fes_const -FOR EACH ROW -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'fes_const', 'tag_name', '',NEW.TAG_NAME, getTableSubSystem('fes_const')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_CONST -AFTER UPDATE ON fes_const -FOR EACH ROW -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'fes_const', 'tag_name', OLD.TAG_NAME,NEW.TAG_NAME, getTableSubSystem('fes_const')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_CONST -AFTER DELETE ON fes_const -FOR EACH ROW -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'fes_const', 'tag_name', OLD.TAG_NAME,'', getTableSubSystem('fes_const')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_FES_CONST_TEMP -AFTER INSERT -ON fes_const_temp FOR EACH ROW -BEGIN - /* - INSERT INTO fes_const( - TAG_NAME, DESCRIPTION, GROUP_NO, RTU_TAG, RTU_NO, DOT_NO, SEQ_NO, SUB_SYSTEM, LOCATION_ID, DEV_TAG, VALUE, VALUE_TYPE, UNIT_ID, VALUE_TEXT, VALUE_RATIO, VALUE_ADDED, VALUE_MAX, VALUE_MIN, VALUE_DEFAULT, VALUE_VERIFY, EX_INFO, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_CONST'))), NEW.DESCRIPTION,NEW.GROUP_NO,fes_dev_info.RTU_TAG,fes_rtu_para.RTU_NO,getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_CONST')),NEW.SEQ_NO,fes_rtu_para.SUB_SYSTEM,fes_rtu_para.LOCATION_ID,fes_dev_info.TAG_NAME,NEW.VALUE,NEW.VALUE_TYPE,NEW.UNIT_ID,NEW.VALUE_TEXT, NEW.VALUE_RATIO,NEW.VALUE_ADDED,NEW.VALUE_MAX,NEW.VALUE_MIN,NEW.VALUE_DEFAULT,NEW.VALUE_VERIFY,NEW.EX_INFO,NEW.TAG_NAME, NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'fes_const_temp', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_const_temp')); - END IF; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_CONST_TEMP -AFTER UPDATE -ON fes_const_temp FOR EACH ROW -BEGIN - /* - UPDATE fes_const SET - DESCRIPTION = NEW.DESCRIPTION, - GROUP_NO = NEW.GROUP_NO, - SEQ_NO = NEW.SEQ_NO, - VALUE = NEW.VALUE, - VALUE_TYPE = NEW.VALUE_TYPE, - UNIT_ID = NEW.UNIT_ID, - VALUE_TEXT = NEW.VALUE_TEXT, - VALUE_RATIO = NEW.VALUE_RATIO, - VALUE_ADDED = NEW.VALUE_ADDED, - VALUE_MAX = NEW.VALUE_MAX, - VALUE_MIN = NEW.VALUE_MIN, - VALUE_DEFAULT = NEW.VALUE_DEFAULT, - VALUE_VERIFY = NEW.VALUE_VERIFY, - EX_INFO = NEW.EX_INFO, - FES_POINT_TP_NAME = NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'fes_const_temp', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_const_temp')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_CONST_TEMP -AFTER DELETE -ON fes_const_temp FOR EACH ROW -BEGIN - /* - DELETE FROM fes_const WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'fes_const_temp', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_const_temp')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_FES_DATA_BLOCK` AFTER INSERT ON `fes_data_block` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_data_block', 'tag_name,block_id,rtu_no,func_code', '', concat(NEW.TAG_NAME,',', NEW.BLOCK_ID,',',NEW.RTU_NO,',',NEW.FUNC_CODE), getTableSubSystem('fes_data_block')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_FES_DATA_BLOCK` AFTER UPDATE ON `fes_data_block` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_data_block', 'tag_name,block_id,rtu_no,func_code', concat(OLD.TAG_NAME,',', OLD.BLOCK_ID,',',OLD.RTU_NO,',',OLD.FUNC_CODE), concat(NEW.TAG_NAME,',',NEW.BLOCK_ID,',',NEW.RTU_NO,',',NEW.FUNC_CODE), getTableSubSystem('fes_data_block')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_FES_DATA_BLOCK` AFTER DELETE ON `fes_data_block` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_data_block', 'tag_name,block_id,rtu_no,func_code', concat(OLD.TAG_NAME,OLD.BLOCK_ID,',',OLD.RTU_NO,',',OLD.FUNC_CODE), '', getTableSubSystem('fes_data_block')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_FES_DATA_BLOCK_TEMP -AFTER INSERT -ON fes_data_block_temp FOR EACH ROW -BEGIN - /* - INSERT INTO fes_data_block( - TAG_NAME, BLOCK_ID, RTU_NO, FUNC_CODE, STAR_ADDR, DATA_LEN, DATA_FARME_TYPE, REF_CYCLE, IS_CREATE_SOE, PARA_INT1, PARA_INT2, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, LD, CALL_MODE, DATA_SET, DATA_SET_TYPE, DATA_SET_CALL_TIME, REPORT_CTRL, FES_POINT_TP_NAME, DEV_TAG) SELECT - concat(fes_dev_info.TAG_NAME,'.',getAfterLastDot(NEW.TAG_NAME)), NEW.BLOCK_ID,fes_rtu_para.RTU_NO,NEW.FUNC_CODE,NEW.STAR_ADDR,NEW.DATA_LEN, NEW.DATA_FARME_TYPE, NEW.REF_CYCLE, NEW.IS_CREATE_SOE, NEW.PARA_INT1, NEW.PARA_INT2, NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID,fes_rtu_para.SUB_SYSTEM,NEW.LD, NEW.CALL_MODE, NEW.DATA_SET,NEW.DATA_SET_TYPE,NEW.DATA_SET_CALL_TIME,NEW.REPORT_CTRL,NEW.TAG_NAME, fes_dev_info.TAG_NAME - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'fes_data_block_temp', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_data_block_temp')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_DATA_BLOCK_TEMP -AFTER UPDATE -ON fes_data_block_temp FOR EACH ROW -BEGIN - /* - UPDATE fes_data_block SET - TAG_NAME = concat(getBeforeLastDot(fes_data_block.TAG_NAME),'.',getAfterLastDot(NEW.TAG_NAME)), - BLOCK_ID = NEW.BLOCK_ID, - FUNC_CODE = NEW.FUNC_CODE, - STAR_ADDR = NEW.STAR_ADDR, - DATA_LEN = NEW.DATA_LEN, - DATA_FARME_TYPE = NEW.DATA_FARME_TYPE, - REF_CYCLE = NEW.REF_CYCLE, - IS_CREATE_SOE = NEW.IS_CREATE_SOE, - PARA_INT1 = NEW.PARA_INT1, - PARA_INT2 = NEW.PARA_INT2, - DESCRIPTION = NEW.DESCRIPTION, - LD = NEW.LD, - CALL_MODE = NEW.CALL_MODE, - DATA_SET = NEW.DATA_SET, - DATA_SET_TYPE = NEW.DATA_SET_TYPE, - DATA_SET_CALL_TIME = NEW.DATA_SET_CALL_TIME, - REPORT_CTRL = NEW.REPORT_CTRL, - FES_POINT_TP_NAME = NEW.TAG_NAME - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'fes_data_block_temp', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_data_block_temp')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_DATA_BLOCK_TEMP -AFTER DELETE -ON fes_data_block_temp FOR EACH ROW -BEGIN - /* - DELETE FROM fes_data_block WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'fes_data_block_temp', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_data_block_temp')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TIB_FES_DEV_INFO -BEFORE INSERT ON FES_DEV_INFO -FOR EACH ROW -BEGIN - - SET NEW.TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DEV_NAME); - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_FES_DEV_INFO -AFTER INSERT -ON fes_dev_info FOR EACH ROW -BEGIN - - SET @incVarFesDev1 = 0; - SET @incVarFesDev2 = 0; - - IF COALESCE(NEW.DEV_TP_NAME,'') <> '' THEN - BEGIN - - #获取最大的点号时已经自动加1,这里减掉 - SET @incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_ACC')) - 1; - SET @incVarFesDev2 = @incVarFesDev1; - - INSERT INTO fes_accuml( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DOT_NO, RTU_TAG, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8) SELECT - concat(NEW.RTU_TAG, '.' , @incVarFesDev1 := @incVarFesDev1 + 1), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM ,@incVarFesDev2 := @incVarFesDev2 + 1, NEW.RTU_TAG,NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO,'', '', '', fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, fes_rtu_para.RTU_NO , fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4,fes_dev_pt_temp_def.DESCRIPTION , fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_ACC') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ORDER BY fes_dev_pt_temp_def.SEQ_NO; - - SET @incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_ANA')) - 1; - SET @incVarFesDev2 = @incVarFesDev1; - - INSERT INTO fes_analog( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, RTU_NO, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, IS_FILTER, PERCENT, DEADBAND_TYPE, DEADBAND, ZEROBAND, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME , PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8) SELECT - concat(NEW.RTU_TAG, '.' , @incVarFesDev1 := @incVarFesDev1 + 1), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, NEW.RTU_TAG, fes_rtu_para.RTU_NO , @incVarFesDev2 := @incVarFesDev2 + 1, '', '', '', fes_dev_pt_temp_def.IS_FILTER, fes_dev_pt_temp_def.PERCENT, '0', '0', '0', fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, '99999999', '-99999999', fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.DESCRIPTION , fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_ANA') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ORDER BY fes_dev_pt_temp_def.SEQ_NO; - - SET @incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_DIG')) - 1; - SET @incVarFesDev2 = @incVarFesDev1; - - INSERT INTO fes_digital( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, FILTER_ERR, FILTER_DISTURB, DISTURB_TIME, REVERS, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,ASS_DIG) SELECT - concat(NEW.RTU_TAG, '.' , @incVarFesDev1 := @incVarFesDev1 + 1), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, NEW.RTU_TAG, @incVarFesDev2 := @incVarFesDev2 + 1, '', '', '', fes_dev_pt_temp_def.FILTER_ERR, fes_dev_pt_temp_def.FILTER_DISTURB, fes_dev_pt_temp_def.DISTURB_TIME, fes_dev_pt_temp_def.REVERS, fes_rtu_para.RTU_NO , fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.DESCRIPTION , fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,ASS_DIG - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_DIG') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ORDER BY fes_dev_pt_temp_def.SEQ_NO; - - SET @incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_MIX')) - 1; - SET @incVarFesDev2 = @incVarFesDev1; - - INSERT INTO fes_mix( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, FES_POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 )SELECT - concat(NEW.RTU_TAG, '.' , @incVarFesDev1 := @incVarFesDev1 + 1),fes_dev_pt_temp_def.DESCRIPTION,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , NEW.RTU_TAG,fes_rtu_para.RTU_NO, @incVarFesDev2 := @incVarFesDev2 + 1, NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, '', '', '', fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, '99999999', '-99999999', fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_MIX') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ORDER BY fes_dev_pt_temp_def.SEQ_NO; - - SET @incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_ANA_CTRL')) - 1; - SET @incVarFesDev2 = @incVarFesDev1; - - INSERT INTO fes_analog_ctrl( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, BASE, COEFF, MAX_RANGE, MIN_RANGE, RTU_NO, DEV_TAG, DOT_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, SEQ_NO, RTU_TAG, DESCRIPTION, POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8)SELECT - concat(NEW.RTU_TAG, '.' , @incVarFesDev1 := @incVarFesDev1 + 1),fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM ,fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, '99999999', '-99999999', fes_rtu_para.RTU_NO,NEW.TAG_NAME, @incVarFesDev2 := @incVarFesDev2 + 1,fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.SEQ_NO,NEW.RTU_TAG,fes_dev_pt_temp_def.DESCRIPTION, fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_ANA_CTRL') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ORDER BY fes_dev_pt_temp_def.SEQ_NO; - - SET @incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_DIG_CTRL')) - 1; - SET @incVarFesDev2 = @incVarFesDev1; - - INSERT INTO fes_digital_ctrl( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, DESCRIPTION, REVERS, POINT_TP_NAME, SEQ_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, PATH61850,POSITION61850, YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,CTRL_TYPE)SELECT - concat(NEW.RTU_TAG, '.' , @incVarFesDev1 := @incVarFesDev1 + 1),fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , NEW.RTU_TAG,fes_rtu_para.RTU_NO, @incVarFesDev2 := @incVarFesDev2 + 1, NEW.TAG_NAME,fes_dev_pt_temp_def.DESCRIPTION, fes_dev_pt_temp_def.REVERS, fes_dev_pt_temp_def.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4,PATH61850,POSITION61850,YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,CTRL_TYPE - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_DIG_CTRL') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ORDER BY fes_dev_pt_temp_def.SEQ_NO; - - SET @incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_MIX_CTRL')) - 1; - SET @incVarFesDev2 = @incVarFesDev1; - - INSERT INTO fes_mix_ctrl( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, BASE, DESCRIPTION, DOT_NO, COEFF, MIN_RANGE, MAX_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, SEQ_NO, POINT_TP_NAME, DEV_TAG, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 )SELECT - concat(NEW.RTU_TAG, '.' , @incVarFesDev1 := @incVarFesDev1 + 1),fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , NEW.RTU_TAG,fes_rtu_para.RTU_NO,fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.DESCRIPTION, @incVarFesDev2 := @incVarFesDev2 + 1,fes_dev_pt_temp_def.RATIO, '-99999999', '99999999', fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4,fes_dev_pt_temp_def.SEQ_NO, fes_dev_pt_temp_def.TAG_NAME,NEW.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_MIX_CTRL') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ORDER BY fes_dev_pt_temp_def.SEQ_NO; - - - INSERT INTO fes_data_block( - TAG_NAME, BLOCK_ID, RTU_TAG, RTU_NO, FUNC_CODE, STAR_ADDR, DATA_LEN, DATA_FARME_TYPE, REF_CYCLE, IS_CREATE_SOE, PARA_INT1, PARA_INT2, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, LD, CALL_MODE, DATA_SET, DATA_SET_TYPE, DATA_SET_CALL_TIME, REPORT_CTRL, FES_POINT_TP_NAME, DEV_TAG, PARA_INT3,PARA_INT4,IS_ENABLE) SELECT - concat(NEW.TAG_NAME,'.',getAfterLastDot(fes_data_block_temp.TAG_NAME)), fes_data_block_temp.BLOCK_ID,fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO,fes_data_block_temp.FUNC_CODE,fes_data_block_temp.STAR_ADDR,fes_data_block_temp.DATA_LEN, fes_data_block_temp.DATA_FARME_TYPE,fes_data_block_temp.REF_CYCLE,fes_data_block_temp.IS_CREATE_SOE,fes_data_block_temp.PARA_INT1, fes_data_block_temp.PARA_INT2, fes_data_block_temp.DESCRIPTION,fes_rtu_para.LOCATION_ID,fes_rtu_para.SUB_SYSTEM,fes_data_block_temp.LD, fes_data_block_temp.CALL_MODE, fes_data_block_temp.DATA_SET, fes_data_block_temp.DATA_SET_TYPE,fes_data_block_temp.DATA_SET_CALL_TIME, fes_data_block_temp.REPORT_CTRL,fes_data_block_temp.TAG_NAME, NEW.TAG_NAME,PARA_INT3,PARA_INT4,IS_ENABLE - FROM fes_data_block_temp, fes_rtu_para WHERE fes_data_block_temp.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ORDER BY fes_data_block_temp.BLOCK_ID; - - SET @incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_CONST')) - 1; - SET @incVarFesDev2 = @incVarFesDev1; - - INSERT INTO fes_const( - TAG_NAME, DESCRIPTION, GROUP_NO, RTU_TAG, RTU_NO, DOT_NO, SEQ_NO, SUB_SYSTEM, LOCATION_ID, DEV_TAG, VALUE, VALUE_TYPE, UNIT_ID, VALUE_TEXT, VALUE_RATIO, VALUE_ADDED, VALUE_MAX, VALUE_MIN, VALUE_DEFAULT, VALUE_VERIFY, EX_INFO, FES_POINT_TP_NAME, PATH61850, POSITION61850,RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,DZ_SEQ) SELECT - concat(NEW.RTU_TAG, '.' , @incVarFesDev1 := @incVarFesDev1 + 1), fes_const_temp.DESCRIPTION,fes_const_temp.GROUP_NO,NEW.RTU_TAG,fes_rtu_para.RTU_NO,@incVarFesDev2 := @incVarFesDev2 + 1,fes_const_temp.SEQ_NO,NEW.SUB_SYSTEM,NEW.LOCATION_ID,NEW.TAG_NAME,fes_const_temp.VALUE,fes_const_temp.VALUE_TYPE,fes_const_temp.UNIT_ID,fes_const_temp.VALUE_TEXT, fes_const_temp.VALUE_RATIO,fes_const_temp.VALUE_ADDED,fes_const_temp.VALUE_MAX,fes_const_temp.VALUE_MIN,fes_const_temp.VALUE_DEFAULT,fes_const_temp.VALUE_VERIFY,fes_const_temp.EX_INFO,fes_const_temp.TAG_NAME,PATH61850, POSITION61850,fes_const_temp.RES_PARA_INT1,fes_const_temp.RES_PARA_INT2,fes_const_temp.RES_PARA_INT3,fes_const_temp.RES_PARA_INT4,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,DZ_SEQ - FROM fes_const_temp, fes_rtu_para WHERE fes_const_temp.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ORDER BY fes_const_temp.SEQ_NO; - - END; - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_dev_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TUB_FES_DEV_INFO -BEFORE UPDATE ON FES_DEV_INFO -FOR EACH ROW -BEGIN - - IF NEW.DEV_NAME <> OLD.DEV_NAME THEN - SET NEW.TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DEV_NAME); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_DEV_INFO -AFTER UPDATE -ON fes_dev_info FOR EACH ROW -BEGIN - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.RTU_TAG <> OLD.RTU_TAG OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM <> OLD.SUB_SYSTEM - OR NEW.RTU_NO <> OLD.RTU_NO - THEN - BEGIN - - UPDATE fes_accuml INNER JOIN fes_rtu_para - ON fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_accuml.DEV_TAG = OLD.TAG_NAME SET - fes_accuml.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_accuml.DOT_NO), - fes_accuml.LOCATION_ID = fes_rtu_para.LOCATION_ID, - fes_accuml.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, - fes_accuml.RTU_TAG = NEW.RTU_TAG, - fes_accuml.DEV_TAG = NEW.TAG_NAME, - fes_accuml.RTU_NO = fes_rtu_para.RTU_NO; - - - UPDATE fes_analog INNER JOIN fes_rtu_para - ON fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_analog.DEV_TAG = OLD.TAG_NAME SET - fes_analog.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_analog.DOT_NO), - fes_analog.LOCATION_ID = fes_rtu_para.LOCATION_ID, - fes_analog.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, - fes_analog.RTU_TAG = NEW.RTU_TAG, - fes_analog.DEV_TAG = NEW.TAG_NAME, - fes_analog.RTU_NO = fes_rtu_para.RTU_NO; - - - UPDATE fes_digital INNER JOIN fes_rtu_para - ON fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_digital.DEV_TAG = OLD.TAG_NAME SET - fes_digital.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_digital.DOT_NO ), - fes_digital.LOCATION_ID = fes_rtu_para.LOCATION_ID, - fes_digital.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, - fes_digital.RTU_TAG = NEW.RTU_TAG, - fes_digital.DEV_TAG = NEW.TAG_NAME, - fes_digital.RTU_NO = fes_rtu_para.RTU_NO; - - - UPDATE fes_mix INNER JOIN fes_rtu_para - ON fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_mix.DEV_TAG = OLD.TAG_NAME SET - fes_mix.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_mix.DOT_NO), - fes_mix.LOCATION_ID = fes_rtu_para.LOCATION_ID, - fes_mix.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, - fes_mix.RTU_TAG = NEW.RTU_TAG, - fes_mix.DEV_TAG = NEW.TAG_NAME, - fes_mix.RTU_NO = fes_rtu_para.RTU_NO; - - - UPDATE fes_analog_ctrl INNER JOIN fes_rtu_para - ON fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_analog_ctrl.DEV_TAG = OLD.TAG_NAME SET - fes_analog_ctrl.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_analog_ctrl.DOT_NO), - fes_analog_ctrl.LOCATION_ID = fes_rtu_para.LOCATION_ID, - fes_analog_ctrl.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, - fes_analog_ctrl.RTU_TAG = NEW.RTU_TAG, - fes_analog_ctrl.DEV_TAG = NEW.TAG_NAME, - fes_analog_ctrl.RTU_NO = fes_rtu_para.RTU_NO; - - - UPDATE fes_digital_ctrl INNER JOIN fes_rtu_para - ON fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_digital_ctrl.DEV_TAG = OLD.TAG_NAME SET - fes_digital_ctrl.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_digital_ctrl.DOT_NO), - fes_digital_ctrl.LOCATION_ID = fes_rtu_para.LOCATION_ID, - fes_digital_ctrl.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, - fes_digital_ctrl.RTU_TAG = NEW.RTU_TAG, - fes_digital_ctrl.DEV_TAG = NEW.TAG_NAME, - fes_digital_ctrl.RTU_NO = fes_rtu_para.RTU_NO; - - - UPDATE fes_mix_ctrl INNER JOIN fes_rtu_para - ON fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_mix_ctrl.DEV_TAG = OLD.TAG_NAME SET - fes_mix_ctrl.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_mix_ctrl.DOT_NO), - fes_mix_ctrl.LOCATION_ID = fes_rtu_para.LOCATION_ID, - fes_mix_ctrl.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, - fes_mix_ctrl.RTU_TAG = NEW.RTU_TAG, - fes_mix_ctrl.DEV_TAG = NEW.TAG_NAME, - fes_mix_ctrl.RTU_NO = fes_rtu_para.RTU_NO; - - UPDATE fes_data_block INNER JOIN fes_rtu_para - ON fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_data_block.DEV_TAG = OLD.TAG_NAME - SET - fes_data_block.LOCATION_ID = NEW.LOCATION_ID, - fes_data_block.SUB_SYSTEM = NEW.SUB_SYSTEM, - fes_data_block.DEV_TAG = NEW.TAG_NAME, - fes_data_block.RTU_TAG = NEW.RTU_TAG, - fes_data_block.TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(fes_data_block.TAG_NAME)), - fes_data_block.RTU_NO = fes_rtu_para.RTU_NO; - - UPDATE fes_const INNER JOIN fes_rtu_para - ON fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_const.DEV_TAG = OLD.TAG_NAME - SET - fes_const.LOCATION_ID = NEW.LOCATION_ID, - fes_const.SUB_SYSTEM = NEW.SUB_SYSTEM, - fes_const.DEV_TAG = NEW.TAG_NAME, - fes_const.RTU_TAG = NEW.RTU_TAG, - fes_const.RTU_NO = fes_rtu_para.RTU_NO, - fes_const.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_const.DOT_NO); - - - END; - END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_dev_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_DEV_INFO -BEFORE DELETE -ON fes_dev_info FOR EACH ROW -BEGIN -DELETE FROM fes_accuml WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_analog WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_digital WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_mix WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_analog_ctrl WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_digital_ctrl WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_mix_ctrl WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_data_block WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_const WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_FES_DEV_INFO` AFTER DELETE ON `fes_dev_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_dev_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_FES_DEV_PT_TEMP_DEF -AFTER INSERT -ON fes_dev_pt_temp_def FOR EACH ROW -body:BEGIN - - /* - IF NEW.POINT_TYPE = getFesPointType('FES_ACC') THEN - INSERT INTO fes_accuml( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DOT_NO, RTU_TAG, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ACC'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM ,getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ACC')), fes_dev_info.RTU_TAG,fes_dev_info.TAG_NAME,NEW.SEQ_NO,'', '', '', '0', '1', fes_rtu_para.RTU_NO ,NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.DESCRIPTION ,NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA') THEN - INSERT INTO fes_analog( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, RTU_NO, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, IS_FILTER, PERCENT, DEADBAND_TYPE, DEADBAND, ZEROBAND, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850, POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_dev_info.TAG_NAME,NEW.SEQ_NO, fes_dev_info.RTU_TAG,fes_rtu_para.RTU_NO , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA')),'', '', '', 0, 0, '0', '0', '0', '0', '1', 99999999, -32727, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.DESCRIPTION , NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG') THEN - INSERT INTO fes_digital( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, FILTER_ERR, FILTER_DISTURB, DISTURB_TIME, REVERS, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_dev_info.TAG_NAME,NEW.SEQ_NO, fes_dev_info.RTU_TAG,getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG')), '', '', '', 0, 0, 0, 0, fes_rtu_para.RTU_NO , NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.DESCRIPTION , NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX') THEN - INSERT INTO fes_mix( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX'))), NEW.DESCRIPTION ,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX')), fes_dev_info.TAG_NAME, NEW.SEQ_NO, '', '', '', '0', '1', 99999999, 0, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - INSERT INTO fes_analog_ctrl( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, BASE, COEFF, MAX_RANGE, MIN_RANGE, POINT_TP_NAME,RES_PARA_INT1,RES_PARA_INT2,RES_PARA_INT3,RES_PARA_INT4,PATH61850,POSITION61850)SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA_CTRL'))),NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA_CTRL')), fes_dev_info.TAG_NAME,NEW.SEQ_NO, '0', '1', 99999999, 0, NEW.TAG_NAME ,NEW.RES_PARA_INT1,NEW.RES_PARA_INT2,NEW.RES_PARA_INT3,NEW.RES_PARA_INT4,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - INSERT INTO fes_digital_ctrl( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, REVERS, POINT_TP_NAME,RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, PATH61850, POSITION61850, YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME)SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG_CTRL'))),NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG_CTRL')), fes_dev_info.TAG_NAME,NEW.SEQ_NO, 0, NEW.TAG_NAME, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4,NEW.PATH61850,NEW.POSITION61850,NEW.YK_SELECT61850, NEW.YK_EXE61850, NEW.YK_CANCLE61850, NEW.YK_DOUBLE_SELECT61850, NEW.YK_DOUBLE_EXE61850, NEW.YK_DOUBLE_CANCLE61850, NEW.PULSE_TIME - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - INSERT INTO fes_mix_ctrl( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, BASE, COEFF, MIN_RANGE, MAX_RANGE, POINT_TP_NAME,RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4,PATH61850,POSITION61850)SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX_CTRL'))),NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX_CTRL')), fes_dev_info.TAG_NAME,NEW.SEQ_NO,'0', '1', 0, 99999999, NEW.TAG_NAME, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - */ -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_pt_temp_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_dev_pt_temp_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_DEV_PT_TEMP_DEF -AFTER UPDATE -ON fes_dev_pt_temp_def FOR EACH ROW -BEGIN - - /* - IF NEW.POINT_TYPE = getFesPointType('FES_ACC') THEN - UPDATE fes_accuml SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA') THEN - UPDATE fes_analog SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG') THEN - UPDATE fes_digital SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX') THEN - UPDATE fes_mix SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - UPDATE fes_analog_ctrl SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - UPDATE fes_digital_ctrl SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850, - YK_SELECT61850 = NEW.YK_SELECT61850, - YK_EXE61850 = NEW.YK_EXE61850, - YK_CANCLE61850 = NEW.YK_CANCLE61850, - YK_DOUBLE_SELECT61850 = NEW.YK_DOUBLE_SELECT61850, - YK_DOUBLE_EXE61850 = NEW.YK_DOUBLE_EXE61850, - YK_DOUBLE_CANCLE61850 = NEW.YK_DOUBLE_CANCLE61850, - PULSE_TIME = NEW.PULSE_TIME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - UPDATE fes_mix_ctrl SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ - #更新套件内容 - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - BEGIN - IF NEW.POINT_TYPE = getFesPointType('FES_ACC') THEN - UPDATE temp_plugin_point_map_acc SET FES_TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_ANA') THEN - UPDATE temp_plugin_point_map_ana SET FES_TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_MIX') THEN - UPDATE temp_plugin_point_map_mix SET FES_TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_DIG') THEN - UPDATE temp_plugin_point_map_dig SET - FES_TEMP_POINT_NAME1 = IF(FES_TEMP_POINT_NAME1 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME1), - FES_TEMP_POINT_NAME2 = IF(FES_TEMP_POINT_NAME2 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME2), - FES_TEMP_POINT_NAME3 = IF(FES_TEMP_POINT_NAME3 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME3), - FES_TEMP_POINT_NAME4 = IF(FES_TEMP_POINT_NAME4 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME4), - FES_TEMP_POINT_NAME5 = IF(FES_TEMP_POINT_NAME5 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME5) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME; - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - UPDATE temp_plugin_point_map_ana SET FES_TEMP_OUT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_OUT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - UPDATE temp_plugin_point_map_mix SET FES_TEMP_OUT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_OUT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - UPDATE temp_plugin_point_map_dig SET - FES_TEMP_OUT_NAME1 = IF(FES_TEMP_OUT_NAME1 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME1), - FES_TEMP_OUT_NAME2 = IF(FES_TEMP_OUT_NAME2 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME2), - FES_TEMP_OUT_NAME3 = IF(FES_TEMP_OUT_NAME3 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME3), - FES_TEMP_OUT_NAME4 = IF(FES_TEMP_OUT_NAME4 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME4), - FES_TEMP_OUT_NAME5 = IF(FES_TEMP_OUT_NAME5 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME5) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME; - END IF; - END; - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_pt_temp_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_dev_pt_temp_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_DEV_PT_TEMP_DEF -BEFORE DELETE -ON fes_dev_pt_temp_def FOR EACH ROW -BEGIN - - /* - IF OLD.POINT_TYPE = getFesPointType('FES_ACC') THEN - DELETE FROM fes_accuml WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF OLD.POINT_TYPE = getFesPointType('FES_ANA') THEN - DELETE FROM fes_analog WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF OLD.POINT_TYPE = getFesPointType('FES_DIG') THEN - DELETE FROM fes_digital WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_MIX') THEN - DELETE FROM fes_mix WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - DELETE FROM fes_analog_ctrl WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - DELETE FROM fes_digital_ctrl WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - DELETE FROM fes_mix_ctrl WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_FES_DEV_PT_TEMP_DEF` AFTER DELETE ON `fes_dev_pt_temp_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_pt_temp_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_dev_pt_temp_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_FES_DEV_TEMP_DEF` AFTER INSERT ON `fes_dev_temp_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_temp_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_dev_temp_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_DEV_TEMP_DEF -AFTER UPDATE -ON fes_dev_temp_def FOR EACH ROW -BEGIN - - UPDATE fes_dev_pt_temp_def SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)), - DEV_TP_NAME = NEW.TAG_NAME - WHERE DEV_TP_NAME = OLD.TAG_NAME; - - UPDATE fes_const_temp SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)), - DEV_TP_NAME = NEW.TAG_NAME - WHERE DEV_TP_NAME = OLD.TAG_NAME; - - UPDATE fes_data_block_temp SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)), - DEV_TP_NAME = NEW.TAG_NAME - WHERE DEV_TP_NAME = OLD.TAG_NAME; - - /* - UPDATE fes_dev_info SET - DEV_TP_NAME = NEW.TAG_NAME, - DEV_TYPE_ID = NEW.DEV_TYPE_ID - WHERE DEV_TP_NAME = OLD.TAG_NAME; - */ - - #更新套件 - IF OLD.TAG_NAME != NEW.TAG_NAME THEN - BEGIN - UPDATE temp_plugin_fes_dev_map SET FES_TEMP_NAME = NEW.TAG_NAME WHERE FES_TEMP_NAME = OLD.TAG_NAME; - END; - END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_temp_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_dev_temp_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_DEV_TEMP_DEF -BEFORE DELETE -ON fes_dev_temp_def FOR EACH ROW -BEGIN - - DELETE FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = OLD.TAG_NAME; - DELETE FROM fes_const_temp WHERE DEV_TP_NAME = OLD.TAG_NAME; - DELETE FROM fes_data_block_temp WHERE DEV_TP_NAME = OLD.TAG_NAME; - #套件的处理 - DELETE FROM temp_plugin_fes_dev_map WHERE FES_TEMP_NAME = OLD.TAG_NAME; - /* - DELETE FROM fes_dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME; - */ - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_FES_DEV_TEMP_DEF` AFTER DELETE ON `fes_dev_temp_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_temp_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_dev_temp_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_FES_DEV_TYPE_DEF` AFTER INSERT ON `fes_dev_type_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_type_def', 'dev_type_id', '', NEW.DEV_TYPE_ID, getTableSubSystem('fes_dev_type_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_FES_DEV_TYPE_DEF` BEFORE UPDATE ON `fes_dev_type_def` FOR EACH ROW body:BEGIN - IF NEW.DEV_TYPE_ID <> OLD.DEV_TYPE_ID THEN - BEGIN - UPDATE fes_dev_temp_def SET - DEV_TYPE_ID = NEW.DEV_TYPE_ID - WHERE DEV_TYPE_ID = OLD.DEV_TYPE_ID; - END; - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_FES_DEV_TYPE_DEF` AFTER UPDATE ON `fes_dev_type_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_type_def', 'dev_type_id', OLD.DEV_TYPE_ID, NEW.DEV_TYPE_ID, getTableSubSystem('fes_dev_type_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_FES_DEV_TYPE_DEF` AFTER DELETE ON `fes_dev_type_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_type_def', 'dev_type_id', OLD.DEV_TYPE_ID, '', getTableSubSystem('fes_dev_type_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_FES_DIGITAL` AFTER INSERT ON `fes_digital` FOR EACH ROW BEGIN - CALL kbdDebugInfo('DIGITAL_MAP_TO_FES update','In TI_FES_DIGITAL'); - #首先禁止MAP_TO_FES触发器动作 - SET @disableDigitalMapToFesTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableFesDigitalTrigger,0) = 0 THEN - BEGIN - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value1' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO1 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value2' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO2 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value3' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO3 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value4' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO4 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value5' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO5 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET @disableDigitalMapToFesTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_digital', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_digital')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_DIGITAL -BEFORE UPDATE -ON fes_digital FOR EACH ROW -body:BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN LEAVE body; - END IF; - - CALL kbdDebugInfo('DIGITAL_MAP_TO_FES update','In TU_FES_DIGITAL'); - #首先禁止MAP_TO_FES触发器动作 - SET @disableDigitalMapToFesTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableFesDigitalTrigger,0) = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value1' THEN - UPDATE digital_map_to_fes SET - DOT_NO1 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value2' THEN - UPDATE digital_map_to_fes SET - DOT_NO2 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value3' THEN - UPDATE digital_map_to_fes SET - DOT_NO3 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value4' THEN - UPDATE digital_map_to_fes SET - DOT_NO4 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value5' THEN - UPDATE digital_map_to_fes SET - DOT_NO5 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value1' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO1 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value2' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO2 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value3' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO3 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value4' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO4 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value5' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO5 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET @disableDigitalMapToFesTrigger = 0; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_FES_DIGITAL` AFTER UPDATE ON `fes_digital` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_digital', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_digital')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_DIGITAL -AFTER DELETE -ON fes_digital FOR EACH ROW -BEGIN - CALL kbdDebugInfo('DIGITAL_MAP_TO_FES update','In TD_FES_DIGITAL'); - #首先禁止MAP_TO_FES触发器动作 - SET @disableDigitalMapToFesTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableFesDigitalTrigger,0) = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value1' THEN - UPDATE digital_map_to_fes SET - DOT_NO1 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value2' THEN - UPDATE digital_map_to_fes SET - DOT_NO2 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value3' THEN - UPDATE digital_map_to_fes SET - DOT_NO3 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value4' THEN - UPDATE digital_map_to_fes SET - DOT_NO4 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value5' THEN - UPDATE digital_map_to_fes SET - DOT_NO5 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET @disableDigitalMapToFesTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_digital', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_digital')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_FES_DIGITAL_CTRL` AFTER INSERT ON `fes_digital_ctrl` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_digital_ctrl', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_digital_ctrl')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_FES_DIGITAL_CTRL` AFTER UPDATE ON `fes_digital_ctrl` FOR EACH ROW body:BEGIN - #更新关联了此点的遥控点 - - IF NEW.RTU_TAG <> OLD.RTU_TAG OR NEW.DOT_NO<> OLD.DOT_NO - THEN - BEGIN - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO1 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO1 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO2 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO2 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO3 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO3 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO4 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO4 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO5 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO5 = cast(OLD.DOT_NO AS char); - - END; - END IF; - - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_digital_ctrl', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_digital_ctrl')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_DIGITAL_CTRL -AFTER DELETE -ON fes_digital_ctrl FOR EACH ROW -BEGIN - UPDATE digital_control SET - OFFSET_NO1 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO1 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO2 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO2 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO3 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO3 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO4 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO4 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO5 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO5 = cast(OLD.DOT_NO AS char); - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_digital_ctrl', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_digital_ctrl')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_FES_MIX` AFTER INSERT ON `fes_mix` FOR EACH ROW BEGIN - CALL kbdDebugInfo('MIX_MAP_TO_FES update','In TI_FES_MIX'); - #首先禁止MAP_TO_FES触发器动作 - SET @disableMixMapToFesTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableFesMixTrigger,0) = 0 THEN - BEGIN - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE mix_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET @disableMixMapToFesTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_mix', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_mix')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_MIX -BEFORE UPDATE -ON fes_mix FOR EACH ROW -body:BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN LEAVE body; - END IF; - - CALL kbdDebugInfo('MIX_MAP_TO_FES update','In TU_FES_MIX'); - #首先禁止MAP_TO_FES触发器动作 - SET @disableMixMapToFesTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableFesMixTrigger,0) = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE mix_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE mix_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET @disableMixMapToFesTrigger = 0; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_FES_MIX` AFTER UPDATE ON `fes_mix` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_mix', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_mix')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_MIX -AFTER DELETE -ON fes_mix FOR EACH ROW -BEGIN - CALL kbdDebugInfo('MIX_MAP_TO_FES update','In TD_FES_MIX'); - #首先禁止MAP_TO_FES触发器动作 - SET @disableMixMapToFesTrigger = 1; - #然后询问自己是否已经被禁止 - IF COALESCE(@disableFesMixTrigger,0) = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE mix_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET @disableMixMapToFesTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_mix', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_mix')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_FES_MIX_CTRL` AFTER INSERT ON `fes_mix_ctrl` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_mix_ctrl', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_mix_ctrl')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_FES_MIX_CTRL` AFTER UPDATE ON `fes_mix_ctrl` FOR EACH ROW body:BEGIN - #更新关联了此点的遥控点 - - IF NEW.RTU_TAG = OLD.RTU_TAG AND NEW.DOT_NO= OLD.DOT_NO - THEN - BEGIN - UPDATE mix_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - END; - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_mix_ctrl', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_mix_ctrl')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_MIX_CTRL -AFTER DELETE -ON fes_mix_ctrl FOR EACH ROW -BEGIN - UPDATE mix_control SET - OFFSET_NO = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_mix_ctrl', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_mix_ctrl')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_FES_PROTOCOL` AFTER INSERT ON `fes_protocol` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_protocol', 'protocol_id', '', NEW.PROTOCOL_ID, getTableSubSystem('fes_protocol')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_FES_PROTOCOL` BEFORE UPDATE ON `fes_protocol` FOR EACH ROW body:BEGIN - IF NEW.PROTOCOL_ID <> OLD.PROTOCOL_ID THEN - BEGIN - UPDATE fes_channel_para SET - PROTO_TYPE = NEW.PROTOCOL_ID - WHERE PROTO_TYPE = OLD.PROTOCOL_ID; - END; - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_FES_PROTOCOL` AFTER UPDATE ON `fes_protocol` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_protocol', 'protocol_id', OLD.PROTOCOL_ID, NEW.PROTOCOL_ID, getTableSubSystem('fes_protocol')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_FES_PROTOCOL` AFTER DELETE ON `fes_protocol` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_protocol', 'protocol_id', OLD.PROTOCOL_ID, '', getTableSubSystem('fes_protocol')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TIB_FES_RTU_PARA -BEFORE INSERT -ON fes_rtu_para FOR EACH ROW -BEGIN - - DECLARE chNo decimal(10,0) DEFAULT 0; - - SET NEW.TAG_NAME = concat(NEW.CHAN_TAG,'.',NEW.RTU_NAME); - - SELECT CHAN_NO INTO chNo FROM fes_channel_para WHERE TAG_NAME = NEW.CHAN_TAG; - - SET NEW.CHAN_NO = chNo; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_FES_RTU_PARA -AFTER INSERT -ON fes_rtu_para FOR EACH ROW -BEGIN - /* - * 不再产生默认设备 -INSERT INTO fes_dev_info -(TAG_NAME, DEV_NAME, LOCATION_ID, SUB_SYSTEM, DEV_ID, DEV_TYPE_ID, RTU_TAG, DEV_DESC, RTU_NO, DEV_TP_NAME) VALUES -(concat(NEW.TAG_NAME, '.', 'defaultDev' ),'defaultDev',NEW.LOCATION_ID,NEW.SUB_SYSTEM,'-1', '-1' ,NEW.TAG_NAME,'默认设备',NEW.RTU_NO ,'' ); -*/ -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_rtu_para', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_rtu_para')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TUB_FES_RTU_PARA -BEFORE UPDATE -ON fes_rtu_para FOR EACH ROW -BEGIN - - DECLARE chNo decimal(10,0) DEFAULT 0; - - IF NEW.RTU_NAME <> OLD.RTU_NAME OR NEW.CHAN_TAG <> OLD.CHAN_TAG THEN - SET NEW.TAG_NAME = concat(NEW.CHAN_TAG,'.',NEW.RTU_NAME); - END IF; - - IF NEW.CHAN_TAG <> OLD.CHAN_TAG THEN - BEGIN - SELECT CHAN_NO INTO chNo FROM fes_channel_para WHERE TAG_NAME = NEW.CHAN_TAG; - SET NEW.CHAN_NO = chNo; - END; - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_FES_RTU_PARA -AFTER UPDATE -ON fes_rtu_para FOR EACH ROW -BEGIN - -IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.RTU_NO <> OLD.RTU_NO OR NEW.DESCRIPTION <> OLD.DESCRIPTION -THEN -BEGIN - - - UPDATE fes_dev_info SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)) , - DEV_DESC = DEV_DESC, - RTU_TAG = NEW.TAG_NAME, - RTU_NO = NEW.RTU_NO, - LOCATION_ID = NEW.LOCATION_ID, - SUB_SYSTEM = NEW.SUB_SYSTEM - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE fes_data_block SET - RTU_NO = NEW.RTU_NO, - LOCATION_ID = NEW.LOCATION_ID, - SUB_SYSTEM = NEW.SUB_SYSTEM - WHERE RTU_NO = OLD.RTU_NO; - - IF NEW.RTU_NO <> OLD.RTU_NO THEN - BEGIN - UPDATE dev_group SET - RTU_NO = NEW.RTU_NO - WHERE RTU_NO = OLD.RTU_NO; - END; - END IF; - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - BEGIN - #更新关联的后台测点 - UPDATE accuml SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE analog SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE digital SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE mix SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - - END; - END IF; - -END; -END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_rtu_para', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_rtu_para')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_FES_RTU_PARA -BEFORE DELETE -ON fes_rtu_para FOR EACH ROW -BEGIN -DELETE FROM fes_dev_info WHERE RTU_TAG = OLD.TAG_NAME; -DELETE FROM fes_data_block WHERE RTU_NO = OLD.RTU_NO; -#更新关联的后台测点 -UPDATE accuml SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -UPDATE analog SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -UPDATE digital SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -UPDATE mix SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_FES_RTU_PARA` AFTER DELETE ON `fes_rtu_para` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_rtu_para', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_rtu_para')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_LINKAGE_ACTION` BEFORE INSERT ON `linkage_action` FOR EACH ROW body:BEGIN - #仅仅修改时标 - - SET NEW.TIMEFLAG = unix_timestamp(now()); - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_LINKAGE_ACTION` AFTER INSERT ON `linkage_action` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_action', 'name', '', NEW.NAME, getTableSubSystem('linkage_action')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_LINKAGE_ACTION` BEFORE UPDATE ON `linkage_action` FOR EACH ROW body:BEGIN - #修改对应功能 - SET NEW.TIMEFLAG = unix_timestamp(now()); - UPDATE linkage_function SET - TIMEFLAG = NEW.TIMEFLAG, - ACTION_NAME = NEW.NAME - WHERE ACTION_NAME = OLD.NAME; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_LINKAGE_ACTION` AFTER UPDATE ON `linkage_action` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_action', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('linkage_action')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_LINKAGE_ACTION` AFTER DELETE ON `linkage_action` FOR EACH ROW body:BEGIN - #删除关联了此动作的功能 - DELETE FROM linkage_function WHERE ACTION_NAME = OLD.NAME; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_action', 'name', OLD.NAME, '', getTableSubSystem('linkage_action')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_LINKAGE_DEFINE` BEFORE INSERT ON `linkage_define` FOR EACH ROW body:BEGIN - #仅仅修改时标 - #避免触发器循环 - SET @disableLinkageSettingTrigger = 1; - - CALL kbdDebugInfo('linkage_define Insert','linkage_define Insert'); - - IF COALESCE(@disableLinkageDefineTrigger,0) = 0 THEN - BEGIN - SET NEW.TIMEFLAG = unix_timestamp(now()); - UPDATE linkage_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = NEW.LINKAGE_NAME; - END; - END IF; - - SET @disableLinkageSettingTrigger = 0; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_LINKAGE_DEFINE` AFTER INSERT ON `linkage_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_define', 'linkage_name,func_name', '', concat(NEW.LINKAGE_NAME,',',NEW.FUNC_NAME), getTableSubSystem('linkage_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_LINKAGE_DEFINE` BEFORE UPDATE ON `linkage_define` FOR EACH ROW body:BEGIN - #修改对应联动功能关系表 - #避免触发器循环 - SET @disableLinkageSettingTrigger = 1; - - CALL kbdDebugInfo('linkage_define update','linkage_define update'); - - IF COALESCE(@disableLinkageDefineTrigger,0) = 0 THEN - BEGIN - SET NEW.TIMEFLAG = unix_timestamp(now()); - UPDATE linkage_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = OLD.LINKAGE_NAME; - END; - END IF; - - SET @disableLinkageSettingTrigger = 0; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_LINKAGE_DEFINE` AFTER UPDATE ON `linkage_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_define', 'linkage_name,func_name', concat(OLD.LINKAGE_NAME,',',OLD.FUNC_NAME), concat(NEW.LINKAGE_NAME,',',NEW.FUNC_NAME), getTableSubSystem('linkage_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_LINKAGE_DEFINE` AFTER DELETE ON `linkage_define` FOR EACH ROW body:BEGIN - #仅仅修改时标 - #避免触发器循环 - SET @disableLinkageSettingTrigger = 1; - - CALL kbdDebugInfo('linkage_define delete','linkage_define delete'); - - IF COALESCE(@disableLinkageDefineTrigger,0) = 0 THEN - BEGIN - UPDATE linkage_setting SET - TIMEFLAG = unix_timestamp(now()) - WHERE NAME = OLD.LINKAGE_NAME; - END; - END IF; - - SET @disableLinkageSettingTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_define', 'linkage_name,func_name', concat(OLD.LINKAGE_NAME,',',OLD.FUNC_NAME), '', getTableSubSystem('linkage_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_LINKAGE_FUNCTION` BEFORE INSERT ON `linkage_function` FOR EACH ROW body:BEGIN - #仅仅修改时标 - SET NEW.TIMEFLAG = unix_timestamp(now()); - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_LINKAGE_FUNCTION` AFTER INSERT ON `linkage_function` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_function', 'name,action_name', '', concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('linkage_function')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_LINKAGE_FUNCTION` BEFORE UPDATE ON `linkage_function` FOR EACH ROW body:BEGIN - #修改对应联动功能关系表 - SET NEW.TIMEFLAG = unix_timestamp(now()); - UPDATE linkage_define SET - TIMEFLAG = NEW.TIMEFLAG, - FUNC_NAME = NEW.NAME - WHERE FUNC_NAME = OLD.NAME; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_LINKAGE_FUNCTION` AFTER UPDATE ON `linkage_function` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('linkage_function')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_LINKAGE_FUNCTION` AFTER DELETE ON `linkage_function` FOR EACH ROW body:BEGIN - #删除关联了此功能的联动定义 - #检查功能是否被删除 - IF NOT EXISTS (SELECT * FROM linkage_function WHERE NAME = OLD.NAME) THEN - BEGIN - DELETE FROM linkage_define WHERE FUNC_NAME = OLD.NAME; - END; - ELSE - BEGIN - #修改时标 - UPDATE linkage_define SET - TIMEFLAG = unix_timestamp(now()) - WHERE FUNC_NAME = OLD.NAME; - END; - END IF; - - - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), '', getTableSubSystem('linkage_function')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_LINKAGE_SETTING` BEFORE INSERT ON `linkage_setting` FOR EACH ROW body:BEGIN - #仅仅修改时标 - #避免触发器循环 - SET @disableLinkageDefineTrigger = 1; - - CALL kbdDebugInfo('linkage_setting insert','linkage_setting insert'); - - IF COALESCE(@disableLinkageSettingTrigger,0) = 0 THEN - BEGIN - SET NEW.TIMEFLAG = unix_timestamp(now()); - END; - END IF; - - SET @disableLinkageDefineTrigger = 0; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_LINKAGE_SETTING` AFTER INSERT ON `linkage_setting` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_setting', 'name', '', NEW.NAME, getTableSubSystem('linkage_setting')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_LINKAGE_SETTING` BEFORE UPDATE ON `linkage_setting` FOR EACH ROW body:BEGIN - #修改对应联动功能关系表 - #避免触发器循环 - SET @disableLinkageDefineTrigger = 1; - - CALL kbdDebugInfo('linkage_setting update','linkage_setting update'); - - IF COALESCE(@disableLinkageSettingTrigger,0) = 0 THEN - BEGIN - SET NEW.TIMEFLAG = unix_timestamp(now()); - IF NEW.NAME<>OLD.NAME THEN - UPDATE linkage_define SET - LINKAGE_NAME = NEW.NAME - WHERE LINKAGE_NAME = OLD.NAME; - END IF; - END; - END IF; - - SET @disableLinkageDefineTrigger = 0; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_LINKAGE_SETTING` AFTER UPDATE ON `linkage_setting` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_setting', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('linkage_setting')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_LINKAGE_SETTING` AFTER DELETE ON `linkage_setting` FOR EACH ROW body:BEGIN - #删除关联了此联动的功能关联 - #避免触发器循环 - SET @disableLinkageDefineTrigger = 1; - - CALL kbdDebugInfo('linkage_setting delete','linkage_setting delete'); - - IF COALESCE(@disableLinkageSettingTrigger,0) = 0 THEN - BEGIN - DELETE FROM linkage_define WHERE LINKAGE_NAME = OLD.NAME; - END; - END IF; - - SET @disableLinkageDefineTrigger = 0; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_setting', 'name', OLD.NAME, '', getTableSubSystem('linkage_setting')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_MIX_CONTROL` AFTER INSERT ON `mix_control` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'mix_control', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('mix_control')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_MIX_CONTROL -BEFORE UPDATE -ON mix_control FOR EACH ROW -body:BEGIN - - #修改功能名称 - IF COALESCE(NEW.RTU_TAG,'') = '' THEN - BEGIN - SET NEW.OFFSET_NO = '-1'; - END; - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_MIX_CONTROL` AFTER UPDATE ON `mix_control` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'mix_control', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('mix_control')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_MIX_CONTROL` AFTER DELETE ON `mix_control` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'mix_control', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('mix_control')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_MIX_MAP_TO_FES -AFTER INSERT -ON mix_map_to_fes FOR EACH ROW -BEGIN - - CALL kbdDebugInfo('FES MIX update','In TI_MIX_MAP_TO_FES'); - - SET @disableFesMixTrigger = 1; - - IF COALESCE(@disableMixMapToFesTrigger,0) = 0 THEN - BEGIN - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - SET @disableFesMixTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'mix_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('mix_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_MIX_MAP_TO_FES -BEFORE UPDATE -ON mix_map_to_fes FOR EACH ROW -body_label:BEGIN - - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO = OLD.DOT_NO AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN LEAVE body_label; - END IF; - - - SET @disableFesMixTrigger = 1; - - IF COALESCE(@disableMixMapToFesTrigger,0) = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - - - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - ELSE SET NEW.DOT_NO = '-1'; - END IF; - END; - END IF; - - SET @disableFesMixTrigger = 0; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_MIX_MAP_TO_FES` AFTER UPDATE ON `mix_map_to_fes` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'mix_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('mix_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_MIX_MAP_TO_FES -BEFORE DELETE -ON mix_map_to_fes FOR EACH ROW -BEGIN - - CALL kbdDebugInfo('FES MIX update','In TD_MIX_MAP_TO_FES'); - - SET @disableFesMixTrigger = 1; - - IF COALESCE(@disableMixMapToFesTrigger,0) = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET @disableFesMixTrigger = 0; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_MIX_MAP_TO_FES` AFTER DELETE ON `mix_map_to_fes` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'mix_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('mix_map_to_fes')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TI_MIX_TEMP_DEFINE -AFTER INSERT -ON mix_temp_define FOR EACH ROW -BEGIN - /* - INSERT INTO mix( - TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, IS_CONTROL, STATE_TEXT_NAME, GRAY, CONTRAST, QCOLOR, RAW_VALUE, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, METHOD, ALARM_PRIORITY, PIC_NAME, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, CAMERA_TAG, PRESET_ID) SELECT - concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)),NEW.DESCRIPTION,TAG_NAME,NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, '', NEW.IS_CONTROL, NEW.STATE_TEXT_NAME,GRAY, CONTRAST, QCOLOR, '0', VALUE, STATUS, '0', '0', '', NEW.ALARM_PRIORITY, '', '', '', '', NEW.ALARM_DELAY_TIME,NEW.IS_WATER_ALM,NEW.IS_ACK_ON_RTN,NEW.DEL_ACT_ON_ACK,NEW.IS_NEVER_ALM_ON_RTN,REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS,NEW.SAMPLE_PERIOD,NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT,'', '' - FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - - INSERT INTO temp_plugin_point_map_mix - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME, FES_TEMP_OUT_NAME) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'','','' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'mix_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('mix_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TU_MIX_TEMP_DEFINE -AFTER UPDATE -ON mix_temp_define FOR EACH ROW -BEGIN - /* - UPDATE mix SET - TAG_NAME = concat(DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - DESCRIPTION = NEW.DESCRIPTION, - SEQ_NO = NEW.SEQ_NO, - IS_CONTROL = NEW.IS_CONTROL, - STATE_TEXT_NAME = NEW.STATE_TEXT_NAME, - ALARM_PRIORITY = NEW.ALARM_PRIORITY, - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME, - IS_WATER_ALM = NEW.IS_WATER_ALM, - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN, - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK, - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - POINT_TP_NAME = NEW.TAG_NAME, - IS_SAMPLE = NEW.IS_SAMPLE, - IS_STATISTICS = NEW.IS_STATISTICS, - SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - POINT_TYPE = NEW.POINT_TYPE, - POINT_CLASS = NEW.POINT_CLASS, - POINT_PROPERTY = NEW.POINT_PROPERTY, - POINT_SORT = NEW.POINT_SORT - WHERE POINT_TP_NAME=OLD.TAG_NAME; - - UPDATE mix_control SET - CTRL_ACT_NAME = NEW.CTRL_ACT_NAME, - CTRL_TYPE = NEW.CTRL_TYPE, - IS_TAGT_STATE = NEW.IS_TAGT_STATE, - CTRL_TIMEOUT = NEW.CTRL_TIMEOUT, - RESV_TIMEOUT = NEW.RESV_TIMEOUT, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - CTRL_TOLERANCE = NEW.CTRL_TOLERANCE, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - - UPDATE mix_map_to_fes SET - POINT_TP_NAME = NEW.TAG_NAME, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - IS_FILTER_ERROR = NEW.IS_FILTER_ERROR, - IS_FILTER_DISTURB = NEW.IS_FILTER_DISTURB, - DISTURB_TIME = NEW.DISTURB_TIME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_mix - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'mix_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('mix_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TD_MIX_TEMP_DEFINE -BEFORE DELETE -ON mix_temp_define FOR EACH ROW -BEGIN - DELETE FROM temp_plugin_point_map_mix WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - /* - DELETE FROM mix WHERE POINT_TP_NAME = OLD.TAG_NAME; - */ -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_MIX_TEMP_DEFINE` AFTER DELETE ON `mix_temp_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'mix_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('mix_temp_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_OPC_CONFIG_DEFINE` AFTER INSERT ON `opc_config_define` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'opc_config_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('opc_config_define')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_OPC_CONFIG_DEFINE` AFTER UPDATE ON `opc_config_define` FOR EACH ROW BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'opc_config_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('opc_config_define')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_OPC_CONFIG_DEFINE` AFTER DELETE ON `opc_config_define` FOR EACH ROW BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'opc_config_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('opc_config_define')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_OPC_CONFIG_VERSION` AFTER INSERT ON `opc_config_version` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'opc_config_version', 'domain_id,sub_system', '', concat(NEW.DOMAIN_ID,',',NEW.SUB_SYSTEM), getTableSubSystem('opc_config_version')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_OPC_CONFIG_VERSION` AFTER UPDATE ON `opc_config_version` FOR EACH ROW BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'opc_config_version', 'domain_id,sub_system', concat(OLD.DOMAIN_ID,',',OLD.SUB_SYSTEM), concat(NEW.DOMAIN_ID,',',NEW.SUB_SYSTEM), getTableSubSystem('opc_config_version')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_OPC_CONFIG_VERSION` AFTER DELETE ON `opc_config_version` FOR EACH ROW BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'opc_config_version', 'domain_id,sub_system', concat(OLD.DOMAIN_ID,',',OLD.SUB_SYSTEM), '', getTableSubSystem('opc_config_version')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PA_AREA_INFO` AFTER INSERT ON `pa_area_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_area_info', 'id', '', NEW.ID, getTableSubSystem('pa_area_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PA_AREA_INFO` AFTER UPDATE ON `pa_area_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_area_info', 'id', OLD.ID, NEW.ID, getTableSubSystem('pa_area_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PA_AREA_INFO` AFTER DELETE ON `pa_area_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_area_info', 'id', OLD.ID, '', getTableSubSystem('pa_area_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PA_AUDIO_INFO` AFTER INSERT ON `pa_audio_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_audio_info', 'id', '', NEW.ID, getTableSubSystem('pa_audio_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PA_AUDIO_INFO` AFTER UPDATE ON `pa_audio_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_audio_info', 'id', OLD.ID, NEW.ID, getTableSubSystem('pa_audio_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PA_AUDIO_INFO` AFTER DELETE ON `pa_audio_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_audio_info', 'id', OLD.ID, '', getTableSubSystem('pa_audio_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PA_BROADCAST_GROUP` AFTER INSERT ON `pa_broadcast_group` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_broadcast_group', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_broadcast_group')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PA_BROADCAST_GROUP` AFTER UPDATE ON `pa_broadcast_group` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_broadcast_group', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_broadcast_group')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PA_BROADCAST_GROUP` AFTER DELETE ON `pa_broadcast_group` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_broadcast_group', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pa_broadcast_group')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PA_CTRL_PARAM` AFTER INSERT ON `pa_ctrl_param` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_ctrl_param', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('pa_ctrl_param')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PA_CTRL_PARAM` AFTER UPDATE ON `pa_ctrl_param` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_ctrl_param', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('pa_ctrl_param')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PA_CTRL_PARAM` AFTER DELETE ON `pa_ctrl_param` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_ctrl_param', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('pa_ctrl_param')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PA_LOCATION_AREA_DEF` AFTER INSERT ON `pa_location_area_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_location_area_def', 'location_id,area_id', '', concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pa_location_area_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PA_LOCATION_AREA_DEF` AFTER UPDATE ON `pa_location_area_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pa_location_area_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PA_LOCATION_AREA_DEF` AFTER DELETE ON `pa_location_area_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), '', getTableSubSystem('pa_location_area_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PA_LOCATION_SEQ_DEF` AFTER INSERT ON `pa_location_seq_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_location_seq_def', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('pa_location_seq_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PA_LOCATION_SEQ_DEF` AFTER UPDATE ON `pa_location_seq_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_location_seq_def', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('pa_location_seq_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PA_LOCATION_SEQ_DEF` AFTER DELETE ON `pa_location_seq_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_location_seq_def', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('pa_location_seq_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PA_OPERATOR_DEF` AFTER INSERT ON `pa_operator_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_operator_def', 'id', '', NEW.ID, getTableSubSystem('pa_operator_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PA_OPERATOR_DEF` AFTER UPDATE ON `pa_operator_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_operator_def', 'id', OLD.ID, NEW.ID, getTableSubSystem('pa_operator_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PA_OPERATOR_DEF` AFTER DELETE ON `pa_operator_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_operator_def', 'id', OLD.ID, '', getTableSubSystem('pa_operator_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PA_OPERATOR_MAP` AFTER INSERT ON `pa_operator_map` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_operator_map', 'user_grp_id', '', NEW.USER_GRP_ID, getTableSubSystem('pa_operator_map')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PA_OPERATOR_MAP` AFTER UPDATE ON `pa_operator_map` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_operator_map', 'user_grp_id', OLD.USER_GRP_ID, NEW.USER_GRP_ID, getTableSubSystem('pa_operator_map')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PA_OPERATOR_MAP` AFTER DELETE ON `pa_operator_map` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_operator_map', 'user_grp_id', OLD.USER_GRP_ID, '', getTableSubSystem('pa_operator_map')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PA_TIMED_AUDIO` AFTER INSERT ON `pa_timed_audio` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_timed_audio', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_timed_audio')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PA_TIMED_AUDIO` AFTER UPDATE ON `pa_timed_audio` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_timed_audio', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_timed_audio')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PA_TIMED_AUDIO` AFTER DELETE ON `pa_timed_audio` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_timed_audio', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pa_timed_audio')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PIS_AREA_INFO` AFTER INSERT ON `pis_area_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_area_info', 'id', '', NEW.ID, getTableSubSystem('pis_area_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PIS_AREA_INFO` AFTER UPDATE ON `pis_area_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_area_info', 'id', OLD.ID, NEW.ID, getTableSubSystem('pis_area_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PIS_AREA_INFO` AFTER DELETE ON `pis_area_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_area_info', 'id', OLD.ID, '', getTableSubSystem('pis_area_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PIS_CTRL_PARAM` AFTER INSERT ON `pis_ctrl_param` FOR EACH ROW BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'pis_ctrl_param', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('pis_ctrl_param')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PIS_CTRL_PARAM` AFTER UPDATE ON `pis_ctrl_param` FOR EACH ROW BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'pis_ctrl_param', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('pis_ctrl_param')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PIS_CTRL_PARAM` AFTER DELETE ON `pis_ctrl_param` FOR EACH ROW BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'pis_ctrl_param', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('pis_ctrl_param')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PIS_DISPLAY_INFO` AFTER INSERT ON `pis_display_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_display_info', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_display_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PIS_DISPLAY_INFO` AFTER UPDATE ON `pis_display_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_display_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_display_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PIS_DISPLAY_INFO` AFTER DELETE ON `pis_display_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_display_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pis_display_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PIS_FES_LOCATION_INFO` AFTER INSERT ON `pis_fes_location_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_fes_location_info', 'pis_station_id', '', NEW.PIS_STATION_ID, getTableSubSystem('pis_fes_location_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PIS_FES_LOCATION_INFO` AFTER UPDATE ON `pis_fes_location_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_fes_location_info', 'pis_station_id', OLD.PIS_STATION_ID, NEW.PIS_STATION_ID, getTableSubSystem('pis_fes_location_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PIS_FES_LOCATION_INFO` AFTER DELETE ON `pis_fes_location_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_fes_location_info', 'pis_station_id', OLD.PIS_STATION_ID, '', getTableSubSystem('pis_fes_location_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PIS_LOCATION_AREA_DEF` AFTER INSERT ON `pis_location_area_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_location_area_def', 'location_id,area_id', '', concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pis_location_area_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PIS_LOCATION_AREA_DEF` AFTER UPDATE ON `pis_location_area_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pis_location_area_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PIS_LOCATION_AREA_DEF` AFTER DELETE ON `pis_location_area_def` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), '', getTableSubSystem('pis_location_area_def')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_PIS_MESSAGE_INFO` AFTER INSERT ON `pis_message_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_message_info', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_message_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_PIS_MESSAGE_INFO` AFTER UPDATE ON `pis_message_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_message_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_message_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_PIS_MESSAGE_INFO` AFTER DELETE ON `pis_message_info` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_message_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pis_message_info')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_SCL_DATASET` AFTER INSERT ON `scl_dataset` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_dataset', 'id', '', NEW.id, getTableSubSystem('scl_dataset')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_SCL_DATASET` AFTER UPDATE ON `scl_dataset` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_dataset', 'id', OLD.id, NEW.id, getTableSubSystem('scl_dataset')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_SCL_DATASET` AFTER DELETE ON `scl_dataset` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_dataset', 'id', OLD.id, '', getTableSubSystem('scl_dataset')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_SCL_FCDA` AFTER INSERT ON `scl_fcda` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_fcda', 'id', '', NEW.id, getTableSubSystem('scl_fcda')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_SCL_FCDA` AFTER UPDATE ON `scl_fcda` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_fcda', 'id', OLD.id, NEW.id, getTableSubSystem('scl_fcda')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_SCL_FCDA` AFTER DELETE ON `scl_fcda` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_fcda', 'id', OLD.id, '', getTableSubSystem('scl_fcda')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_SCL_LCB` AFTER INSERT ON `scl_lcb` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_lcb', 'id', '', NEW.id, getTableSubSystem('scl_lcb')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_SCL_LCB` AFTER UPDATE ON `scl_lcb` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_lcb', 'id', OLD.id, NEW.id, getTableSubSystem('scl_lcb')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_SCL_LCB` AFTER DELETE ON `scl_lcb` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_lcb', 'id', OLD.id, '', getTableSubSystem('scl_lcb')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_SCL_RCB` AFTER INSERT ON `scl_rcb` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_rcb', 'id', '', NEW.id, getTableSubSystem('scl_rcb')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_SCL_RCB` AFTER UPDATE ON `scl_rcb` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_rcb', 'id', OLD.id, NEW.id, getTableSubSystem('scl_rcb')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_SCL_RCB` AFTER DELETE ON `scl_rcb` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_rcb', 'id', OLD.id, '', getTableSubSystem('scl_rcb')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_SCL_RUNTIME` AFTER INSERT ON `scl_runtime` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_runtime', 'id', '', NEW.id, getTableSubSystem('scl_runtime')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_SCL_RUNTIME` AFTER UPDATE ON `scl_runtime` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_runtime', 'id', OLD.id, NEW.id, getTableSubSystem('scl_runtime')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_SCL_RUNTIME` AFTER DELETE ON `scl_runtime` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_runtime', 'id', OLD.id, '', getTableSubSystem('scl_runtime')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_SCL_SGCB` AFTER INSERT ON `scl_sgcb` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_sgcb', 'id', '', NEW.id, getTableSubSystem('scl_sgcb')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_SCL_SGCB` AFTER UPDATE ON `scl_sgcb` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_sgcb', 'id', OLD.id, NEW.id, getTableSubSystem('scl_sgcb')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_SCL_SGCB` AFTER DELETE ON `scl_sgcb` -FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_sgcb', 'id', OLD.id, '', getTableSubSystem('scl_sgcb')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_SEQUENCE_ACTION` BEFORE INSERT ON `sequence_action` FOR EACH ROW body:BEGIN - SET NEW.TIMEFLAG = unix_timestamp(now()); -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_SEQUENCE_ACTION` AFTER INSERT ON `sequence_action` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_action', 'name', '', NEW.NAME, getTableSubSystem('sequence_action')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_SEQUENCE_ACTION` BEFORE UPDATE ON `sequence_action` FOR EACH ROW body:BEGIN - #修改对应功能 - SET NEW.TIMEFLAG = unix_timestamp(now()); - UPDATE sequence_function SET - TIMEFLAG = NEW.TIMEFLAG, - ACTION_NAME = NEW.NAME - WHERE ACTION_NAME = OLD.NAME; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_SEQUENCE_ACTION` AFTER UPDATE ON `sequence_action` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_action', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('sequence_action')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_SEQUENCE_ACTION` AFTER DELETE ON `sequence_action` FOR EACH ROW body:BEGIN - #删除关联了此动作的功能 - DELETE FROM sequence_function WHERE ACTION_NAME = OLD.NAME; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_action', 'name', OLD.NAME, '', getTableSubSystem('sequence_action')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_SEQUENCE_DEFINE` BEFORE INSERT ON `sequence_define` FOR EACH ROW body:BEGIN - #仅仅修改时标 - #避免触发器循环 - SET @disableSequenceSettingTrigger = 1; - - CALL kbdDebugInfo('sequence_define Insert','sequence_define Insert'); - - IF COALESCE(@disableSequenceDefineTrigger,0) = 0 THEN - BEGIN - SET NEW.TIMEFLAG = unix_timestamp(now()); - UPDATE sequence_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = NEW.SEQ_NAME; - END; - END IF; - - SET @disableSequenceSettingTrigger = 0; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_SEQUENCE_DEFINE` AFTER INSERT ON `sequence_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_define', 'seq_name,func_name', '', concat(NEW.SEQ_NAME,',',NEW.FUNC_NAME), getTableSubSystem('sequence_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_SEQUENCE_DEFINE` BEFORE UPDATE ON `sequence_define` FOR EACH ROW body:BEGIN - - #修改对应联动功能关系表 - #避免触发器循环 - SET @disableSequenceSettingTrigger = 1; - - CALL kbdDebugInfo('sequence_define update','sequence_define update'); - - IF COALESCE(@disableSequenceDefineTrigger,0) = 0 THEN - BEGIN - SET NEW.TIMEFLAG = unix_timestamp(now()); - UPDATE sequence_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = OLD.SEQ_NAME; - END; - END IF; - - SET @disableSequenceSettingTrigger = 0; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_SEQUENCE_DEFINE` AFTER UPDATE ON `sequence_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_define', 'seq_name,func_name', concat(OLD.SEQ_NAME,',',OLD.FUNC_NAME), concat(NEW.SEQ_NAME,',',NEW.FUNC_NAME), getTableSubSystem('sequence_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_SEQUENCE_DEFINE` AFTER DELETE ON `sequence_define` FOR EACH ROW body:BEGIN - #仅仅修改时标 - #避免触发器循环 - SET @disableSequenceSettingTrigger = 1; - - CALL kbdDebugInfo('sequence_define delete','sequence_define delete'); - - IF COALESCE(@disableSequenceDefineTrigger,0) = 0 THEN - BEGIN - UPDATE sequence_setting SET - TIMEFLAG = unix_timestamp(now()) - WHERE NAME = OLD.SEQ_NAME; - END; - END IF; - - SET @disableSequenceSettingTrigger = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_define', 'seq_name,func_name', concat(OLD.SEQ_NAME,',',OLD.FUNC_NAME), '', getTableSubSystem('sequence_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_SEQUENCE_FUNCTION` BEFORE INSERT ON `sequence_function` FOR EACH ROW body:BEGIN - #仅仅修改时标 - SET NEW.TIMEFLAG = unix_timestamp(now()); - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TIA_SEQUENCE_FUNCTION -AFTER INSERT -ON sequence_function FOR EACH ROW -BEGIN - UPDATE sequence_define SET - TIMEFLAG = NEW.TIMEFLAG - WHERE FUNC_NAME = NEW.NAME; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_function', 'name,action_name', '', concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('sequence_function')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_SEQUENCE_FUNCTION` BEFORE UPDATE ON `sequence_function` FOR EACH ROW body:BEGIN - #修改对应联动功能关系表 - SET NEW.TIMEFLAG = unix_timestamp(now()); - UPDATE sequence_define SET - TIMEFLAG = NEW.TIMEFLAG, - FUNC_NAME = NEW.NAME - WHERE FUNC_NAME = OLD.NAME; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_SEQUENCE_FUNCTION` AFTER UPDATE ON `sequence_function` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('sequence_function')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_SEQUENCE_FUNCTION` AFTER DELETE ON `sequence_function` FOR EACH ROW body:BEGIN - #删除关联了此功能的联动定义 - #检查功能是否被删除 - IF NOT EXISTS (SELECT * FROM sequence_function WHERE NAME = OLD.NAME) THEN - BEGIN - DELETE FROM sequence_define WHERE FUNC_NAME = OLD.NAME; - END; - ELSE - BEGIN - #修改时标 - UPDATE sequence_define SET - TIMEFLAG = unix_timestamp(now()) - WHERE FUNC_NAME = OLD.NAME; - END; - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), '', getTableSubSystem('sequence_function')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TI_SEQUENCE_SETTING` BEFORE INSERT ON `sequence_setting` FOR EACH ROW body:BEGIN - #仅仅修改时标 - #避免触发器循环 - SET @disableSequenceDefineTrigger = 1; - - CALL kbdDebugInfo('sequence_setting insert','sequence_setting insert'); - - IF COALESCE(@disableSequenceSettingTrigger,0) = 0 THEN - BEGIN - SET NEW.TIMEFLAG = unix_timestamp(now()); - END; - END IF; - - SET @disableSequenceDefineTrigger = 0; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_SEQUENCE_SETTING` AFTER INSERT ON `sequence_setting` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_setting', 'name', '', NEW.NAME, getTableSubSystem('sequence_setting')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TU_SEQUENCE_SETTING` BEFORE UPDATE ON `sequence_setting` FOR EACH ROW body:BEGIN - #修改对应联动功能关系表 - #避免触发器循环 - SET @disableSequenceDefineTrigger = 1; - - CALL kbdDebugInfo('sequence_setting update','sequence_setting update'); - - IF COALESCE(@disableSequenceSettingTrigger,0) = 0 THEN - BEGIN - SET NEW.TIMEFLAG = unix_timestamp(now()); - IF NEW.NAME<>OLD.NAME THEN - UPDATE sequence_define SET - SEQ_NAME = NEW.NAME - WHERE SEQ_NAME = OLD.NAME; - END IF; - END; - END IF; - - SET @disableSequenceDefineTrigger = 0; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_SEQUENCE_SETTING` AFTER UPDATE ON `sequence_setting` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_setting', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('sequence_setting')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TD_SEQUENCE_SETTING` AFTER DELETE ON `sequence_setting` FOR EACH ROW body:BEGIN - #删除关联了此联动的功能关联 - #避免触发器循环 - SET @disableSequenceDefineTrigger = 1; - - CALL kbdDebugInfo('sequence_setting delete','sequence_setting delete'); - - IF COALESCE(@disableSequenceSettingTrigger,0) = 0 THEN - BEGIN - DELETE FROM sequence_define WHERE SEQ_NAME = OLD.NAME; - END; - END IF; - - SET @disableSequenceDefineTrigger = 0; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_setting', 'name', OLD.NAME, '', getTableSubSystem('sequence_setting')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_STAT_INST_DEF` AFTER INSERT ON `stat_inst_def` FOR EACH ROW BEGIN - - #插入测点分组表 - #插入测点表 - #插入时间测点变 - #插入返回分组表 - #插入返回参数表 - INSERT INTO stat_inst_para_grp - (PARA_GRP_TAG, DESCRIPTION, INST_TAG, SORT,LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)) , DESCRIPTION, NEW.INST_TAG, SORT,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_para WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 1; - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, `RANK`, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG, LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)),DESCRIPTION, 1, '', SORT, '', NEW.INST_TAG,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_para WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 0 AND COALESCE(`TYPE`,0) = 1; - - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, `RANK`, `TIMESTAMP`, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)),DESCRIPTION, 1, unix_timestamp(now()),SORT, '', NEW.INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_para WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 0 AND COALESCE(`TYPE`,0) = 2; - - INSERT INTO stat_inst_ret_grp - (RET_GRP_TAG, DESCRIPTION, INST_TAG, SORT,LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(RET_TAG)),DESCRIPTION, NEW.INST_TAG,SORT,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_ret WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 1; - - INSERT INTO stat_inst_ret_para - (RET_TAG, DESCRIPTION, `RANK`, POINT_TAG, SORT, PARA_GRP_TAG, VALUE, IS_BIND, INST_TAG, LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(RET_TAG)),DESCRIPTION, 1, '', SORT, '', 0, 0, NEW.INST_TAG,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_ret WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 0; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_def', 'inst_tag', '', NEW.INST_TAG, getTableSubSystem('stat_inst_def')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TUA_STAT_INST_DEF -AFTER UPDATE -ON stat_inst_def FOR EACH ROW -BEGIN - IF NEW.INST_TAG <> OLD.INST_TAG THEN - BEGIN - UPDATE stat_inst_para_grp - SET INST_TAG = NEW.INST_TAG, - PARA_GRP_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_GRP_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_para_point - SET INST_TAG = NEW.INST_TAG, - PARA_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_para_time - SET INST_TAG = NEW.INST_TAG, - PARA_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_ret_grp - SET INST_TAG = NEW.INST_TAG, - RET_GRP_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(RET_GRP_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_ret_para - SET INST_TAG = NEW.INST_TAG, - RET_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(RET_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - END; - END IF; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_def', 'inst_tag', OLD.INST_TAG, NEW.INST_TAG, getTableSubSystem('stat_inst_def')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_STAT_INST_DEF` AFTER DELETE ON `stat_inst_def` FOR EACH ROW BEGIN - DELETE FROM stat_inst_para_grp WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_para_point WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_para_time WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_ret_grp WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_ret_para WHERE INST_TAG = OLD.INST_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_def', 'inst_tag', OLD.INST_TAG, '', getTableSubSystem('stat_inst_def')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_STAT_INST_PARA_GRP` AFTER INSERT ON `stat_inst_para_grp` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_para_grp', 'para_grp_tag', '', NEW.PARA_GRP_TAG, getTableSubSystem('stat_inst_para_grp')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_STAT_INST_PARA_GRP` AFTER UPDATE ON `stat_inst_para_grp` FOR EACH ROW body:BEGIN - IF NEW.PARA_GRP_TAG = OLD.PARA_GRP_TAG - THEN LEAVE body; - END IF; - - UPDATE stat_inst_para_point - SET PARA_GRP_TAG = NEW.PARA_GRP_TAG - WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - - UPDATE stat_inst_para_time - SET PARA_GRP_TAG = NEW.PARA_GRP_TAG - WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_para_grp', 'para_grp_tag', OLD.PARA_GRP_TAG, NEW.PARA_GRP_TAG, getTableSubSystem('stat_inst_para_grp')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_STAT_INST_PARA_GRP` AFTER DELETE ON `stat_inst_para_grp` FOR EACH ROW BEGIN - DELETE FROM stat_inst_para_point WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - DELETE FROM stat_inst_para_time WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_para_grp', 'para_grp_tag', OLD.PARA_GRP_TAG, '', getTableSubSystem('stat_inst_para_grp')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TIA_STAT_INST_PARA_POINT -AFTER INSERT -ON stat_inst_para_point FOR EACH ROW -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_para_point', 'para_tag', '', NEW.PARA_TAG, getTableSubSystem('stat_inst_para_point')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TUA_STAT_INST_PARA_POINT -AFTER UPDATE -ON stat_inst_para_point FOR EACH ROW -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_para_point', 'para_tag', OLD.PARA_TAG, NEW.PARA_TAG, getTableSubSystem('stat_inst_para_point')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TDA_STAT_INST_PARA_POINT -AFTER DELETE -ON stat_inst_para_point FOR EACH ROW -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_para_point', 'para_tag', OLD.PARA_TAG, '', getTableSubSystem('stat_inst_para_point')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TIA_STAT_INST_PARA_TIME -AFTER INSERT -ON stat_inst_para_time FOR EACH ROW -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_para_time', 'para_tag', '', NEW.PARA_TAG, getTableSubSystem('stat_inst_para_time')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TUA_STAT_INST_PARA_TIME -AFTER UPDATE -ON stat_inst_para_time FOR EACH ROW -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_para_time', 'para_tag', OLD.PARA_TAG, NEW.PARA_TAG, getTableSubSystem('stat_inst_para_time')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TDA_STAT_INST_PARA_TIME -AFTER DELETE -ON stat_inst_para_time FOR EACH ROW -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_para_time', 'para_tag', OLD.PARA_TAG, '', getTableSubSystem('stat_inst_para_time')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_STAT_INST_RET_GRP` AFTER INSERT ON `stat_inst_ret_grp` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_ret_grp', 'ret_grp_tag', '', NEW.RET_GRP_TAG, getTableSubSystem('stat_inst_ret_grp')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_STAT_INST_RET_GRP` AFTER UPDATE ON `stat_inst_ret_grp` FOR EACH ROW body:BEGIN - - IF NEW.RET_GRP_TAG = OLD.RET_GRP_TAG - THEN LEAVE body; - END IF; - - UPDATE stat_inst_ret_para - SET PARA_GRP_TAG = NEW.RET_GRP_TAG - WHERE PARA_GRP_TAG = OLD.RET_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_ret_grp', 'ret_grp_tag', OLD.RET_GRP_TAG, NEW.RET_GRP_TAG, getTableSubSystem('stat_inst_ret_grp')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_STAT_INST_RET_GRP` AFTER DELETE ON `stat_inst_ret_grp` FOR EACH ROW BEGIN - DELETE FROM stat_inst_ret_para WHERE PARA_GRP_TAG = OLD.RET_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_ret_grp', 'ret_grp_tag', OLD.RET_GRP_TAG, '', getTableSubSystem('stat_inst_ret_grp')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TIA_STAT_INST_RET_PARA -AFTER INSERT -ON stat_inst_ret_para FOR EACH ROW -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_ret_para', 'ret_tag', '', NEW.RET_TAG, getTableSubSystem('stat_inst_ret_para')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TUA_STAT_INST_RET_PARA -AFTER UPDATE -ON stat_inst_ret_para FOR EACH ROW -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_ret_para', 'ret_tag', OLD.RET_TAG, NEW.RET_TAG, getTableSubSystem('stat_inst_ret_para')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TDA_STAT_INST_RET_PARA -AFTER DELETE -ON stat_inst_ret_para FOR EACH ROW -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_ret_para', 'ret_tag', OLD.RET_TAG, '', getTableSubSystem('stat_inst_ret_para')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_STAT_LINK_DEF` AFTER INSERT ON `STAT_LINK_DEF` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_link_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('STAT_LINK_DEF')); - END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_STAT_LINK_DEF` AFTER UPDATE ON `stat_link_def` -FOR EACH ROW BEGIN - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - BEGIN - UPDATE stat_link_para - SET LINK_TAG = NEW.TAG_NAME, - TAG_NAME = concat(NEW.TAG_NAME,'.',getAfterLastDot(TAG_NAME)) - WHERE LINK_TAG = OLD.TAG_NAME; - UPDATE stat_link_ret - SET LINK_TAG = NEW.TAG_NAME, - TAG_NAME = concat(NEW.TAG_NAME,'.',getAfterLastDot(TAG_NAME)) - WHERE LINK_TAG = OLD.TAG_NAME; - - END; - END IF; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_link_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('stat_link_def')); - END IF; - UPDATE stat_link_para - SET STAT_PARA_TAG = concat(NEW.STAT_TEMP_TAG,'.',getAfterLastDot(STAT_PARA_TAG)) - WHERE LINK_TAG = OLD.TAG_NAME; - UPDATE stat_link_ret - SET STAT_RET_TAG = concat(NEW.STAT_TEMP_TAG,'.',getAfterLastDot(STAT_RET_TAG)) - WHERE LINK_TAG = OLD.TAG_NAME; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_STAT_LINK_DEF` AFTER DELETE ON `stat_link_def` -FOR EACH ROW BEGIN - #删除对应的模板点 - DELETE FROM stat_link_para WHERE LINK_TAG= OLD.TAG_NAME; - DELETE FROM stat_link_ret WHERE LINK_TAG = OLD.TAG_NAME; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_link_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('stat_link_def')); - END IF; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_STAT_LINK_PARA` AFTER INSERT ON `stat_link_para` -FOR EACH ROW BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_link_para', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('stat_link_para')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_STAT_LINK_PARA` AFTER UPDATE ON `stat_link_para` -FOR EACH ROW BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_link_para', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('stat_link_para')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_STAT_LINK_PARA` AFTER DELETE ON `stat_link_para` -FOR EACH ROW BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_link_para', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('stat_link_para')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_STAT_LINK_RET` AFTER INSERT ON `stat_link_ret` -FOR EACH ROW BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_link_ret', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('stat_link_ret')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_STAT_LINK_RET` AFTER UPDATE ON `stat_link_ret` -FOR EACH ROW BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_link_ret', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('stat_link_ret')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_STAT_LINK_RET` AFTER DELETE ON `stat_link_ret` -FOR EACH ROW BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_link_ret', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('stat_link_ret')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_STAT_TEMPLATE_DEF` AFTER INSERT ON `stat_template_def` FOR EACH ROW BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_template_def', 'template_tag', '', NEW.TEMPLATE_TAG, getTableSubSystem('stat_template_def')); - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TUA_STAT_TEMPLATE_DEF -AFTER UPDATE -ON stat_template_def FOR EACH ROW -BEGIN - UPDATE stat_template_para - SET TEMPLATE_TAG = NEW.TEMPLATE_TAG, - PARA_TAG = concat(NEW.TEMPLATE_TAG,'.',getAfterLastDot(PARA_TAG)) - WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - UPDATE stat_template_ret - SET TEMPLATE_TAG = NEW.TEMPLATE_TAG, - RET_TAG = concat(NEW.TEMPLATE_TAG,'.',getAfterLastDot(RET_TAG)) - WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - UPDATE stat_inst_def - SET TEMPLATE_TAG = NEW.TEMPLATE_TAG - WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - UPDATE stat_link_def - SET STAT_TEMP_TAG = NEW.TEMPLATE_TAG - WHERE STAT_TEMP_TAG = OLD.TEMPLATE_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_template_def', 'template_tag', OLD.TEMPLATE_TAG, NEW.TEMPLATE_TAG, getTableSubSystem('stat_template_def')); - END IF; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_STAT_TEMPLATE_DEF` AFTER DELETE ON `stat_template_def` FOR EACH ROW BEGIN - #删除对应关联 - DELETE FROM stat_link_def WHERE STAT_TEMP_TAG = OLD.TEMPLATE_TAG; - - #删除对应实例 - DELETE FROM stat_inst_def WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - #删除对应的模板点 - DELETE FROM stat_template_para WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - DELETE FROM stat_template_ret WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_template_def', 'template_tag', OLD.TEMPLATE_TAG, '', getTableSubSystem('stat_template_def')); - END IF; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TIA_STAT_TEMPLATE_PARA -AFTER INSERT -ON stat_template_para FOR EACH ROW -BEGIN - #插入对应的实例 - INSERT INTO stat_inst_para_grp - (PARA_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, `RANK`, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, '', NEW.SORT, '', INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.`TYPE`,0) = 1; - - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, `RANK`, `TIMESTAMP`, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, unix_timestamp(now()),NEW.SORT, '', INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.`TYPE`,0) = 2; - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_template_para', 'para_tag', '', NEW.PARA_TAG, getTableSubSystem('stat_template_para')); - END IF; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TUA_STAT_TEMPLATE_PARA -AFTER UPDATE -ON stat_template_para FOR EACH ROW -body:BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_template_para', 'para_tag', OLD.PARA_TAG, NEW.PARA_TAG, getTableSubSystem('stat_template_para')); - END IF; - - UPDATE stat_link_para - SET STAT_PARA_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(NEW.PARA_TAG)) - WHERE STAT_PARA_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(OLD.PARA_TAG)); - - IF OLD.PARA_TAG = NEW.PARA_TAG AND OLD.DESCRIPTION = NEW.DESCRIPTION AND OLD.ISGRP = NEW.ISGRP AND OLD.`TYPE` = NEW.`TYPE` - AND OLD.SORT = NEW.SORT - THEN LEAVE body; - END IF; - - - #更新对应的实例点 - #考虑从分组到不分组,从测点类型到时间类型,需删除旧的数据 - IF OLD.ISGRP = 1 AND NEW.ISGRP = 0 THEN - BEGIN - DELETE stat_inst_para_grp FROM stat_inst_def,stat_inst_para_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG); - - IF NEW.`TYPE` = 1 THEN - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, `RANK`, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, '', NEW.SORT, '', INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.`TYPE`,0) = 1; - ELSEIF NEW.`TYPE` = 2 THEN - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, `RANK`, `TIMESTAMP`, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, unix_timestamp(now()),NEW.SORT, '', INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.`TYPE`,0) = 2; - END IF; - END; - ELSEIF OLD.ISGRP = 0 AND NEW.ISGRP = 1 THEN - BEGIN - IF OLD.`TYPE` = 1 THEN - DELETE stat_inst_para_point FROM stat_inst_def,stat_inst_para_point - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_point.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_point.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - ELSEIF OLD.`TYPE` = 2 THEN - DELETE stat_inst_para_time FROM stat_inst_def,stat_inst_para_time - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_time.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_time.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - END IF; - - INSERT INTO stat_inst_para_grp - (PARA_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 0 THEN - BEGIN - IF OLD.`TYPE` = 1 AND NEW.`TYPE` = 2 THEN - BEGIN - DELETE stat_inst_para_point FROM stat_inst_def,stat_inst_para_point - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_point.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_point.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, `RANK`, `TIMESTAMP`, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, unix_timestamp(now()),NEW.SORT, '', INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.`TYPE`,0) = 2; - END; - ELSEIF OLD.`TYPE` = 2 AND NEW.`TYPE` = 1 THEN - BEGIN - DELETE stat_inst_para_time FROM stat_inst_def,stat_inst_para_time - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_time.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_time.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, `RANK`, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, '', NEW.SORT, '', INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.`TYPE`,0) = 1; - END; - ELSEIF OLD.`TYPE` = NEW.`TYPE` AND OLD.`TYPE` = 1 THEN - UPDATE stat_inst_para_point INNER JOIN stat_inst_def - ON stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_para_point.INST_TAG - AND `RANK` = 1 AND getAfterLastDot(PARA_TAG) = getAfterLastDot(OLD.PARA_TAG) - SET stat_inst_para_point.PARA_TAG = concat(stat_inst_para_point.INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)), - stat_inst_para_point.DESCRIPTION = NEW.DESCRIPTION, - stat_inst_para_point.SORT = NEW.SORT; - ELSEIF OLD.`TYPE` = NEW.`TYPE` AND OLD.`TYPE` = 2 THEN - UPDATE stat_inst_para_time INNER JOIN stat_inst_def - ON stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_para_time.INST_TAG - AND `RANK` = 1 AND getAfterLastDot(PARA_TAG) = getAfterLastDot(OLD.PARA_TAG) - SET stat_inst_para_time.PARA_TAG = concat(stat_inst_para_time.INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)), - stat_inst_para_time.DESCRIPTION = NEW.DESCRIPTION, - stat_inst_para_time.SORT = NEW.SORT; - END IF; - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 1 THEN - BEGIN - IF OLD.`TYPE` = 1 AND NEW.`TYPE` = 2 THEN - BEGIN - DELETE stat_inst_para_point FROM stat_inst_def,stat_inst_para_grp,stat_inst_para_point - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_def.INST_TAG = stat_inst_para_grp.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG) - AND stat_inst_para_point.PARA_GRP_TAG = stat_inst_para_grp.PARA_GRP_TAG; - END; - ELSEIF OLD.`TYPE` = 2 AND NEW.`TYPE` = 1 THEN - BEGIN - DELETE stat_inst_para_time FROM stat_inst_def,stat_inst_para_grp,stat_inst_para_time - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_def.INST_TAG = stat_inst_para_grp.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG) - AND stat_inst_para_time.PARA_GRP_TAG = stat_inst_para_grp.PARA_GRP_TAG; - END; - END IF; - - - UPDATE stat_inst_para_grp INNER JOIN stat_inst_def - ON stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_para_grp.INST_TAG - AND getAfterLastDot(PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG) - SET stat_inst_para_grp.PARA_GRP_TAG = concat(stat_inst_para_grp.INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)), - stat_inst_para_grp.DESCRIPTION = NEW.DESCRIPTION, - stat_inst_para_grp.SORT = NEW.SORT; - END; - END IF; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TDA_STAT_TEMPLATE_PARA -AFTER DELETE -ON stat_template_para FOR EACH ROW -BEGIN - #删除相应的实例点 - DELETE stat_inst_para_grp FROM stat_inst_def,stat_inst_para_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG); - - DELETE stat_inst_para_point FROM stat_inst_def,stat_inst_para_point - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_point.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_point.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - DELETE stat_inst_para_time FROM stat_inst_def,stat_inst_para_time - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_time.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_time.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - DELETE FROM stat_link_para - WHERE STAT_PARA_TAG = OLD.PARA_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_template_para', 'para_tag', OLD.PARA_TAG, '', getTableSubSystem('stat_template_para')); - END IF; - - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TIA_STAT_TEMPLATE_RET -AFTER INSERT -ON stat_template_ret FOR EACH ROW -BEGIN - #插入相应实例点 - INSERT INTO stat_inst_ret_grp - (RET_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - - INSERT INTO stat_inst_ret_para - (RET_TAG, DESCRIPTION, `RANK`, POINT_TAG, SORT, PARA_GRP_TAG, VALUE, IS_BIND, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) ,NEW.DESCRIPTION, 1, '', NEW.SORT,'', 0, 0, INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_template_ret', 'ret_tag', '', NEW.RET_TAG, getTableSubSystem('stat_template_ret')); - END IF; - - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TUA_STAT_TEMPLATE_RET -AFTER UPDATE -ON stat_template_ret FOR EACH ROW -body:BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_template_ret', 'ret_tag', OLD.RET_TAG, NEW.RET_TAG, getTableSubSystem('stat_template_ret')); - END IF; - - UPDATE stat_link_ret - SET STAT_RET_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(NEW.RET_TAG)) - WHERE STAT_RET_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(OLD.RET_TAG)); - - IF OLD.RET_TAG = NEW.RET_TAG AND OLD.DESCRIPTION = NEW.DESCRIPTION AND OLD.ISGRP = NEW.ISGRP AND OLD.SORT = NEW.SORT - THEN LEAVE body; - END IF; - - #更新相应的实例点 - IF OLD.ISGRP = 1 AND NEW.ISGRP = 0 THEN - BEGIN - DELETE stat_inst_ret_grp FROM stat_inst_def,stat_inst_ret_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_grp.RET_GRP_TAG) = getAfterLastDot(OLD.RET_TAG); - - INSERT INTO stat_inst_ret_para - (RET_TAG, DESCRIPTION, `RANK`, POINT_TAG, SORT, PARA_GRP_TAG, VALUE, IS_BIND, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) ,NEW.DESCRIPTION, 1, '', NEW.SORT,'', 0, 0, INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0; - END; - ELSEIF OLD.ISGRP = 0 AND NEW.ISGRP = 1 THEN - BEGIN - DELETE stat_inst_ret_para FROM stat_inst_def,stat_inst_ret_para - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_para.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_para.RET_TAG) = getAfterLastDot(OLD.RET_TAG); - - INSERT INTO stat_inst_ret_grp - (RET_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 0 THEN - BEGIN - UPDATE stat_inst_ret_para INNER JOIN stat_inst_def - ON stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_ret_para.INST_TAG - AND `RANK` = 1 AND getAfterLastDot(RET_TAG) = getAfterLastDot(OLD.RET_TAG) - SET stat_inst_ret_para.RET_TAG = concat(stat_inst_ret_para.INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)), - stat_inst_ret_para.DESCRIPTION = NEW.DESCRIPTION, - stat_inst_ret_para.SORT = NEW.SORT; - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 1 THEN - BEGIN - UPDATE stat_inst_ret_grp INNER JOIN stat_inst_def - ON stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_ret_grp.INST_TAG - AND getAfterLastDot(RET_GRP_TAG) = getAfterLastDot(OLD.RET_TAG) - SET stat_inst_ret_grp.RET_GRP_TAG = concat(stat_inst_ret_grp.INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)), - stat_inst_ret_grp.DESCRIPTION = NEW.DESCRIPTION, - stat_inst_ret_grp.SORT = NEW.SORT; - END; - END IF; - - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER TDA_STAT_TEMPLATE_RET -AFTER DELETE -ON stat_template_ret FOR EACH ROW -BEGIN - #删除相应的实例点 - DELETE stat_inst_ret_grp FROM stat_inst_def,stat_inst_ret_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_grp.RET_GRP_TAG) = getAfterLastDot(OLD.RET_TAG); - - DELETE stat_inst_ret_para FROM stat_inst_def,stat_inst_ret_para - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_para.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_para.RET_TAG) = getAfterLastDot(OLD.RET_TAG); - DELETE FROM stat_link_ret - WHERE STAT_RET_TAG = OLD.RET_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_template_ret', 'ret_tag', OLD.RET_TAG, '', getTableSubSystem('stat_template_ret')); - END IF; - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_TRIGGER_CONDITION_DEFINE` AFTER INSERT ON `trigger_condition_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_condition_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('trigger_condition_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_TRIGGER_CONDITION_DEFINE` AFTER UPDATE ON `trigger_condition_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_condition_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('trigger_condition_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_TRIGGER_CONDITION_DEFINE` AFTER DELETE ON `trigger_condition_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_condition_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('trigger_condition_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_TRIGGER_FUNCTION_DEFINE` AFTER INSERT ON `trigger_function_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_function_define', 'func_name', '', NEW.FUNC_NAME, getTableSubSystem('trigger_function_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_TRIGGER_FUNCTION_DEFINE` AFTER UPDATE ON `trigger_function_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_function_define', 'func_name', OLD.FUNC_NAME, NEW.FUNC_NAME, getTableSubSystem('trigger_function_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_TRIGGER_FUNCTION_DEFINE` AFTER DELETE ON `trigger_function_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_function_define', 'func_name', OLD.FUNC_NAME, '', getTableSubSystem('trigger_function_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_TRIGGER_PERIOD_DEFINE` AFTER INSERT ON `trigger_period_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_period_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('trigger_period_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_TRIGGER_PERIOD_DEFINE` AFTER UPDATE ON `trigger_period_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_period_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('trigger_period_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_TRIGGER_PERIOD_DEFINE` AFTER DELETE ON `trigger_period_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_period_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('trigger_period_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TIA_TRIGGER_TIMER_DEFINE` AFTER INSERT ON `trigger_timer_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_timer_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('trigger_timer_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TUA_TRIGGER_TIMER_DEFINE` AFTER UPDATE ON `trigger_timer_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_timer_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('trigger_timer_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DELIMITER $$ -CREATE TRIGGER `TDA_TRIGGER_TIMER_DEFINE` AFTER DELETE ON `trigger_timer_define` FOR EACH ROW BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_timer_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('trigger_timer_define')); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DROP FUNCTION IF EXISTS `splitList`; -DELIMITER $$ -CREATE DEFINER=`root`@`%` FUNCTION `splitList`( strList varchar(100), split_char varchar(1) , strCount int) RETURNS varchar(64) CHARSET utf8 -BEGIN - #分割字符串,返回第strCount个子串 - DECLARE splitCount int; - DECLARE splitIndex int DEFAULT 1; - DECLARE str1 varchar(100) DEFAULT ''; - DECLARE str2 varchar(100) DEFAULT ''; - - SET splitCount = char_length(strList)-char_length(replace(strList,split_char,'')) + 1; - IF strCount > splitCount OR strCount <=0 THEN RETURN ''; - END IF; - - IF strCount = 1 THEN RETURN substring_index(strList,split_char,strCount); - ELSE - BEGIN - SET str1 = substring_index(strList,split_char,strCount-1); - SET str2 = substring_index(strList,split_char,strCount); - RETURN right(str2,LENGTH(str2) - LENGTH(str1) - 1); - END; - END IF; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DROP PROCEDURE IF EXISTS `clearTempRelation`; -DELIMITER $$ -CREATE DEFINER=`root`@`%` PROCEDURE `clearTempRelation`(devTempName varchar(64)) -body:BEGIN - /* - * 清除指定模板的所有测点与前置模板的关系 - */ - - UPDATE accuml_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO = -1 - WHERE DEV_TP_NAME = devTempName; - - UPDATE analog_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO = -1, - OUT_SEC_SEQ_NO = -1 - WHERE DEV_TP_NAME = devTempName; - - UPDATE digital_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO1 = -1, - SEC_SEQ_NO2 = -1, - SEC_SEQ_NO3 = -1, - SEC_SEQ_NO4 = -1, - SEC_SEQ_NO5 = -1, - OUT_SEC_SEQ_NO1 = -1, - OUT_SEC_SEQ_NO2 = -1, - OUT_SEC_SEQ_NO3 = -1, - OUT_SEC_SEQ_NO4 = -1, - OUT_SEC_SEQ_NO5 = -1 - WHERE DEV_TP_NAME = devTempName; - - UPDATE mix_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO = -1, - OUT_SEC_SEQ_NO = -1 - WHERE DEV_TP_NAME = devTempName; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DROP PROCEDURE IF EXISTS `updateFesResPara`; -DELIMITER $$ -CREATE DEFINER=`root`@`%` PROCEDURE `updateFesResPara`(tableName varchar(64),startNum decimal(10,0)) -body:BEGIN - /* - * 批量修改设备的规约参数1,要批量修改的设备在export_seq中 - * tableName 表名 - * startNum 修改的起始数字 - */ - - SET @fesResPara := startNum - 1; - - #创建临时表 - CREATE TEMPORARY TABLE IF NOT EXISTS tmpUpdateFesResParaTbl( - TAG_NAME varchar(64) NOT NULL, - RES_PARA decimal(10,0) NOT NULL - ); - DELETE FROM tmpUpdateFesResParaTbl; - - IF lower(tableName) = 'fes_accuml' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_accuml,export_seq WHERE fes_accuml.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.`NO`,fes_accuml.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (@fesResPara := @fesResPara + 1); - - UPDATE fes_accuml INNER JOIN tmpUpdateFesResParaTbl ON fes_accuml.TAG_NAME = tmpUpdateFesResParaTbl.TAG_NAME - SET fes_accuml.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA; - END; - ELSEIF lower(tableName) = 'fes_analog' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_analog,export_seq WHERE fes_analog.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.`NO`,fes_analog.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (@fesResPara := @fesResPara + 1); - - UPDATE fes_analog INNER JOIN tmpUpdateFesResParaTbl ON fes_analog.TAG_NAME = tmpUpdateFesResParaTbl.TAG_NAME - SET fes_analog.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA; - END; - ELSEIF lower(tableName) = 'fes_analog_ctrl' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_analog_ctrl,export_seq WHERE fes_analog_ctrl.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.`NO`,fes_analog_ctrl.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (@fesResPara := @fesResPara + 1); - - UPDATE fes_analog_ctrl INNER JOIN tmpUpdateFesResParaTbl ON fes_analog_ctrl.TAG_NAME = tmpUpdateFesResParaTbl.TAG_NAME - SET fes_analog_ctrl.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA; - END; - ELSEIF lower(tableName) = 'fes_digital' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_digital,export_seq WHERE fes_digital.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.`NO`,fes_digital.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (@fesResPara := @fesResPara + 1); - - UPDATE fes_digital INNER JOIN tmpUpdateFesResParaTbl ON fes_digital.TAG_NAME = tmpUpdateFesResParaTbl.TAG_NAME - SET fes_digital.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA; - END; - ELSEIF lower(tableName) = 'fes_digital_ctrl' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_digital_ctrl,export_seq WHERE fes_digital_ctrl.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.`NO`,fes_digital_ctrl.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (@fesResPara := @fesResPara + 1); - - UPDATE fes_digital_ctrl INNER JOIN tmpUpdateFesResParaTbl ON fes_digital_ctrl.TAG_NAME = tmpUpdateFesResParaTbl.TAG_NAME - SET fes_digital_ctrl.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA; - END; - ELSEIF lower(tableName) = 'fes_mix' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_mix,export_seq WHERE fes_mix.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.`NO`,fes_mix.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (@fesResPara := @fesResPara + 1); - - UPDATE fes_mix INNER JOIN tmpUpdateFesResParaTbl ON fes_mix.TAG_NAME = tmpUpdateFesResParaTbl.TAG_NAME - SET fes_mix.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA; - END; - ELSEIF lower(tableName) = 'fes_mix_ctrl' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_mix_ctrl,export_seq WHERE fes_mix_ctrl.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.`NO`,fes_mix_ctrl.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (@fesResPara := @fesResPara + 1); - - UPDATE fes_mix_ctrl INNER JOIN tmpUpdateFesResParaTbl ON fes_mix_ctrl.TAG_NAME = tmpUpdateFesResParaTbl.TAG_NAME - SET fes_mix_ctrl.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA; - END; - END IF; - - - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DROP PROCEDURE IF EXISTS `bindStatDev`; -DELIMITER $$ -CREATE DEFINER=`root`@`%` PROCEDURE `bindStatDev`(statTag varchar(64),devTag varchar(64)) -body:BEGIN - /* - * 绑定统计分析中的实例,使用对应的后台设备 - * statTag 统计分析实例 - * devTag 后台设备 - */ - - #清空 - UPDATE stat_inst_para_point SET POINT_TAG = '' WHERE INST_TAG = statTag; - - UPDATE stat_inst_ret_para SET POINT_TAG = '' WHERE INST_TAG = statTag; - - #填写 - CREATE TEMPORARY TABLE IF NOT EXISTS tmpBinStatDevTbl( - PARA_TAG varchar(64) NOT NULL, - POINT_TAG varchar(64) NOT NULL - ); - DELETE FROM tmpBinStatDevTbl; - - #查找对应的测点 - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('analog.',analog.TAG_NAME) AS A - FROM stat_inst_para_point,analog - WHERE INST_TAG = statTag AND analog.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(analog.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('accuml.',accuml.TAG_NAME) AS A - FROM stat_inst_para_point,accuml - WHERE INST_TAG = statTag AND accuml.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(accuml.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('digital.',digital.TAG_NAME) AS A - FROM stat_inst_para_point,digital - WHERE INST_TAG = statTag AND digital.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(digital.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('mix.',mix.TAG_NAME) AS A - FROM stat_inst_para_point,mix - WHERE INST_TAG = statTag AND mix.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(mix.TAG_NAME); - - UPDATE stat_inst_para_point INNER JOIN tmpBinStatDevTbl ON stat_inst_para_point.PARA_TAG = tmpBinStatDevTbl.PARA_TAG - SET stat_inst_para_point.POINT_TAG = tmpBinStatDevTbl.POINT_TAG; - - DELETE FROM tmpBinStatDevTbl; - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('analog.',analog.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,analog - WHERE INST_TAG = statTag AND analog.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(analog.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('digital.',digital.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,digital - WHERE INST_TAG = statTag AND digital.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(digital.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('accuml.',accuml.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,accuml - WHERE INST_TAG = statTag AND accuml.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(accuml.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('mix.',mix.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,mix - WHERE INST_TAG = statTag AND mix.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(mix.TAG_NAME); - - UPDATE stat_inst_ret_para INNER JOIN tmpBinStatDevTbl ON stat_inst_ret_para.RET_TAG = tmpBinStatDevTbl.PARA_TAG - SET stat_inst_ret_para.POINT_TAG = tmpBinStatDevTbl.POINT_TAG, - stat_inst_ret_para.IS_BIND = '1' - ; - -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DROP PROCEDURE IF EXISTS `kbdDebugInfo`; -DELIMITER $$ -CREATE DEFINER=`root`@`%` PROCEDURE `kbdDebugInfo`(info1 varchar(100), info2 varchar(100) ) -BEGIN -DECLARE enableDebug int DEFAULT 1; -SET enableDebug = (SELECT PRINT_DEBUG_INFO_FLAG FROM kbd_debug_flag LIMIT 1); -IF enableDebug=1 THEN -INSERT INTO kbd_debug(col1,col2,col3) VALUES (info1,info2,now()); -END IF; -END $$ -DELIMITER ; - --- ------------------------------------------------------ -DROP PROCEDURE IF EXISTS `relationByTempPointName`; -DELIMITER $$ -CREATE DEFINER=`root`@`%` PROCEDURE `relationByTempPointName`(devTempName varchar(64),fesDevTempName varchar(64)) -body:BEGIN - /* - * 按照模板下的测点名称进行,后台模板与前置模板的关联 - */ - #获取设备测点名称 - - CALL clearTempRelation(devTempName); - #创建临时表, - CREATE TEMPORARY TABLE IF NOT EXISTS tmpRelationNameTbl( - TAG_NAME varchar(64) NOT NULL, - FES_SEQ_NO decimal(10,0) NOT NULL - ); - - #accuml - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM accuml_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_ACC')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - #进行关联 - UPDATE accuml_temp_define INNER JOIN tmpRelationNameTbl ON - accuml_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME - SET - SEC_DEVTP_NAME = fesDevTempName, - SEC_SEQ_NO = tmpRelationNameTbl.FES_SEQ_NO; - - #analog - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM analog_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_ANA')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - #进行关联 - UPDATE analog_temp_define INNER JOIN tmpRelationNameTbl ON - analog_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME - SET - SEC_DEVTP_NAME = fesDevTempName, - SEC_SEQ_NO = tmpRelationNameTbl.FES_SEQ_NO; - - #digital只判断第一个分量 - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM digital_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_DIG')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - #进行关联 - UPDATE digital_temp_define INNER JOIN tmpRelationNameTbl ON - digital_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME - SET - SEC_DEVTP_NAME = fesDevTempName, - SEC_SEQ_NO1 = tmpRelationNameTbl.FES_SEQ_NO; - - #mix - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM mix_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_MIX')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - #进行关联 - UPDATE mix_temp_define INNER JOIN tmpRelationNameTbl ON - mix_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME - SET - SEC_DEVTP_NAME = fesDevTempName, - SEC_SEQ_NO = tmpRelationNameTbl.FES_SEQ_NO; - -END $$ -DELIMITER ; diff --git a/PSCADA/电子行业模板/common/database/initscript/iscs6000_func_openGauss.sql b/PSCADA/电子行业模板/common/database/initscript/iscs6000_func_openGauss.sql deleted file mode 100644 index 97df4b6..0000000 --- a/PSCADA/电子行业模板/common/database/initscript/iscs6000_func_openGauss.sql +++ /dev/null @@ -1,8644 +0,0 @@ - - -CREATE OR REPLACE FUNCTION kbdDebugInfo(info1 varchar(100), info2 varchar(100) ) -RETURNS VOID -AS $$ -DECLARE enableDebug int DEFAULT 1; -BEGIN -enableDebug = (SELECT PRINT_DEBUG_INFO_FLAG FROM kbd_debug_flag LIMIT 1); -IF enableDebug=1 THEN -INSERT INTO kbd_debug(col1,col2,col3) VALUES (info1,info2,now()); -END IF; -END; -$$LANGUAGE PLPGSQL; - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ACCUML_LIMIT_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'accuml_limit_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('accuml_limit_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ACCUML_LIMIT_INFO ON accuml_limit_info; -CREATE TRIGGER TIA_ACCUML_LIMIT_INFO AFTER INSERT ON accuml_limit_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ACCUML_LIMIT_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ACCUML_LIMIT_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'accuml_limit_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('accuml_limit_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ACCUML_LIMIT_INFO ON accuml_limit_info; -CREATE TRIGGER TUA_ACCUML_LIMIT_INFO AFTER UPDATE ON accuml_limit_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ACCUML_LIMIT_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ACCUML_LIMIT_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'accuml_limit_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('accuml_limit_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ACCUML_LIMIT_INFO ON accuml_limit_info; -CREATE TRIGGER TDA_ACCUML_LIMIT_INFO AFTER DELETE ON accuml_limit_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ACCUML_LIMIT_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_ACCUML_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - --首先禁止FES触发器动作 - SET SESSION "disable.FesAccumlTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.AccumlMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesAccumlTrigger" = 0; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'accuml_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('accuml_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_ACCUML_MAP_TO_FES ON accuml_map_to_fes; -CREATE TRIGGER TI_ACCUML_MAP_TO_FES AFTER INSERT ON accuml_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_ACCUML_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_ACCUML_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO = OLD.DOT_NO AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN RETURN NEW; - END IF; - - - --首先禁止FES触发器动作 - SET SESSION "disable.FesAccumlTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.AccumlMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - --清除旧的 - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - - --添加新的 - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - ELSE NEW.DOT_NO = '-1'; - END IF; - END; - END IF; - - SET SESSION "disable.FesAccumlTrigger" = 0; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_ACCUML_MAP_TO_FES ON accuml_map_to_fes; -CREATE TRIGGER TU_ACCUML_MAP_TO_FES BEFORE UPDATE ON accuml_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_ACCUML_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ACCUML_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'accuml_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('accuml_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ACCUML_MAP_TO_FES ON accuml_map_to_fes; -CREATE TRIGGER TUA_ACCUML_MAP_TO_FES AFTER UPDATE ON accuml_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ACCUML_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_ACCUML_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - - --首先禁止FES触发器动作 - SET SESSION "disable.FesAccumlTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.AccumlMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_accuml SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesAccumlTrigger" = 0; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_ACCUML_MAP_TO_FES ON accuml_map_to_fes; -CREATE TRIGGER TD_ACCUML_MAP_TO_FES BEFORE DELETE ON accuml_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_ACCUML_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ACCUML_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'accuml_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('accuml_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ACCUML_MAP_TO_FES ON accuml_map_to_fes; -CREATE TRIGGER TDA_ACCUML_MAP_TO_FES AFTER DELETE ON accuml_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ACCUML_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_ACCUML_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* -INSERT INTO accuml( -TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, GRAY, CONTRAST, QCOLOR, RAW_VALUE, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, UNIT_ID, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, REGION_ID, OPT_HANDOVER_GROUP, IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, CAMERA_TAG, PRESET_ID) -SELECT -concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)), NEW.DESCRIPTION,TAG_NAME, NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, '', GRAY, CONTRAST, QCOLOR, '0', VALUE, STATUS, 0, 0, NEW.UNIT_ID, '', '', '', REGION_ID, OPT_HANDOVER_GROUP, NEW.IS_LIMIT, NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT,DEV_TYPE, NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS, NEW.SAMPLE_PERIOD,NEW.SAMPLE_DEADBAND, '', '' -FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - INSERT INTO temp_plugin_point_map_acc - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'','' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'accuml_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('accuml_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_ACCUML_TEMP_DEFINE ON accuml_temp_define; -CREATE TRIGGER TI_ACCUML_TEMP_DEFINE AFTER INSERT ON accuml_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_ACCUML_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_ACCUML_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.DESCRIPTION <> OLD.DESCRIPTION OR NEW.UNIT_ID <> OLD.UNIT_ID OR NEW.IS_LIMIT <> OLD.IS_LIMIT OR NEW.POINT_CLASS <> OLD.POINT_CLASS OR - NEW.IS_SAMPLE <> OLD.IS_SAMPLE OR NEW.SAMPLE_DEADBAND <> OLD.SAMPLE_DEADBAND OR NEW.POINT_TYPE <> OLD.POINT_TYPE OR NEW.SEQ_NO <> OLD.SEQ_NO OR - NEW.IS_STATISTICS <> OLD.IS_STATISTICS OR NEW.SAMPLE_PERIOD <> OLD.SAMPLE_PERIOD OR NEW.POINT_PROPERTY <> OLD.POINT_PROPERTY OR NEW.POINT_SORT <> OLD.POINT_SORT - THEN - UPDATE accuml SET - accuml.TAG_NAME = concat(accuml.DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - accuml.DESCRIPTION = NEW.DESCRIPTION, - accuml.UNIT_ID = NEW.UNIT_ID, - accuml.IS_LIMIT = NEW.IS_LIMIT, - accuml.POINT_CLASS = NEW.POINT_CLASS, - accuml.POINT_TP_NAME = NEW.TAG_NAME, - accuml.IS_SAMPLE = NEW.IS_SAMPLE, - accuml.SAMPLE_DEADBAND = NEW.SAMPLE_DEADBAND, - accuml.POINT_TYPE = NEW.POINT_TYPE, - accuml.SEQ_NO = NEW.SEQ_NO, - accuml.IS_STATISTICS = NEW.IS_STATISTICS, - accuml.SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - accuml.POINT_PROPERTY = NEW.POINT_PROPERTY, - accuml.POINT_SORT = NEW.POINT_SORT - WHERE accuml.POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.LIMIT_TYPE <> OLD.LIMIT_TYPE OR NEW.LIMIT_NUM <> OLD.LIMIT_NUM OR NEW.LIMIT_UP1 <> OLD.LIMIT_UP1 OR NEW.LIMIT_LOW1 <> OLD.LIMIT_LOW1 OR NEW.LIMIT_UP2 <> OLD.LIMIT_UP2 OR - NEW.LIMIT_LOW2 <> OLD.LIMIT_LOW2 OR NEW.LIMIT_UP3 <> OLD.LIMIT_UP3 OR NEW.LIMIT_LOW3 <> OLD.LIMIT_LOW3 OR NEW.CROSS_PERCENT <> OLD.CROSS_PERCENT OR - NEW.RETURN_PERCENT <> OLD.RETURN_PERCENT OR NEW.ALARM_PRIORITY <> OLD.ALARM_PRIORITY OR NEW.ALARM_DELAY_TIME <> OLD.ALARM_DELAY_TIME OR NEW.IS_WATER_ALM <> OLD.IS_WATER_ALM OR - NEW.IS_ACK_ON_RTN <> OLD.IS_ACK_ON_RTN OR NEW.DEL_ACT_ON_ACK <> OLD.DEL_ACT_ON_ACK OR NEW.IS_NEVER_ALM_ON_RTN <> OLD.IS_NEVER_ALM_ON_RTN OR NEW.TAG_NAME <> OLD.TAG_NAME - THEN - UPDATE accuml_limit_info SET - LIMIT_TYPE = NEW.LIMIT_TYPE, - LIMIT_NUM = NEW.LIMIT_NUM, - LIMIT_UP1 = NEW.LIMIT_UP1, - LIMIT_LOW1 = NEW.LIMIT_LOW1, - LIMIT_UP2 = NEW.LIMIT_UP2, - LIMIT_LOW2 = NEW.LIMIT_LOW2, - LIMIT_UP3 = NEW.LIMIT_UP3, - LIMIT_LOW3 = NEW.LIMIT_LOW3, - CROSS_PERCENT = NEW.CROSS_PERCENT, - RETURN_PERCENT = NEW.RETURN_PERCENT, - ALARM_PRIORITY = NEW.ALARM_PRIORITY, - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME, - IS_WATER_ALM = NEW.IS_WATER_ALM, - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN, - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK, - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - IF NEW.RANGE_UP <> OLD.RANGE_UP OR NEW.RANGE_LOW <> OLD.RANGE_LOW OR NEW.IS_FILTER <> OLD.IS_FILTER OR NEW.PERCENT <> OLD.PERCENT OR - NEW.BASE <> OLD.BASE OR NEW.COEFF <> OLD.COEFF - THEN - UPDATE accuml_map_to_fes SET - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - IS_FILTER = NEW.IS_FILTER, - PERCENT = NEW.PERCENT, - BASE = NEW.BASE, - COEFF = NEW.COEFF - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_acc - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'accuml_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('accuml_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_ACCUML_TEMP_DEFINE ON accuml_temp_define; -CREATE TRIGGER TU_ACCUML_TEMP_DEFINE AFTER UPDATE ON accuml_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_ACCUML_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_ACCUML_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - - DELETE FROM temp_plugin_point_map_acc WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); -/* -DELETE FROM accuml WHERE POINT_TP_NAME = OLD.TAG_NAME; -*/ -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_ACCUML_TEMP_DEFINE ON accuml_temp_define; -CREATE TRIGGER TD_ACCUML_TEMP_DEFINE BEFORE DELETE ON accuml_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_ACCUML_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ACCUML_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'accuml_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('accuml_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ACCUML_TEMP_DEFINE ON accuml_temp_define; -CREATE TRIGGER TDA_ACCUML_TEMP_DEFINE AFTER DELETE ON accuml_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ACCUML_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ALARM_LINK_ENABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_link_enable_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('alarm_link_enable_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ALARM_LINK_ENABLE_INFO ON alarm_link_enable_info; -CREATE TRIGGER TIA_ALARM_LINK_ENABLE_INFO AFTER INSERT ON alarm_link_enable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ALARM_LINK_ENABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ALARM_LINK_ENABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_link_enable_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('alarm_link_enable_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ALARM_LINK_ENABLE_INFO ON alarm_link_enable_info; -CREATE TRIGGER TUA_ALARM_LINK_ENABLE_INFO AFTER UPDATE ON alarm_link_enable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ALARM_LINK_ENABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ALARM_LINK_ENABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_link_enable_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('alarm_link_enable_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ALARM_LINK_ENABLE_INFO ON alarm_link_enable_info; -CREATE TRIGGER TDA_ALARM_LINK_ENABLE_INFO AFTER DELETE ON alarm_link_enable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ALARM_LINK_ENABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ALARM_SMS_CONFIG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_sms_config', 'NO', '', NEW.NO, getTableSubSystem('alarm_sms_config')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ALARM_SMS_CONFIG ON alarm_sms_config; -CREATE TRIGGER TIA_ALARM_SMS_CONFIG AFTER INSERT ON alarm_sms_config FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ALARM_SMS_CONFIG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ALARM_SMS_CONFIG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_sms_config', 'NO', OLD.NO, NEW.NO, getTableSubSystem('alarm_sms_config')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ALARM_SMS_CONFIG ON alarm_sms_config; -CREATE TRIGGER TUA_ALARM_SMS_CONFIG AFTER UPDATE ON alarm_sms_config FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ALARM_SMS_CONFIG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ALARM_SMS_CONFIG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_sms_config', 'NO', OLD.NO, '', getTableSubSystem('alarm_sms_config')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ALARM_SMS_CONFIG ON alarm_sms_config; -CREATE TRIGGER TDA_ALARM_SMS_CONFIG AFTER DELETE ON alarm_sms_config FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ALARM_SMS_CONFIG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ALARM_SMS_DEVICE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_sms_device', 'DEVICE_ID', '', NEW.DEVICE_ID, getTableSubSystem('alarm_sms_device')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ALARM_SMS_DEVICE ON alarm_sms_device; -CREATE TRIGGER TIA_ALARM_SMS_DEVICE AFTER INSERT ON alarm_sms_device FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ALARM_SMS_DEVICE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ALARM_SMS_DEVICE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_sms_device', 'DEVICE_ID', OLD.DEVICE_ID, NEW.DEVICE_ID, getTableSubSystem('alarm_sms_device')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ALARM_SMS_DEVICE ON alarm_sms_device; -CREATE TRIGGER TUA_ALARM_SMS_DEVICE AFTER UPDATE ON alarm_sms_device FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ALARM_SMS_DEVICE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ALARM_SMS_DEVICE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_sms_device', 'DEVICE_ID', OLD.DEVICE_ID, '', getTableSubSystem('alarm_sms_device')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ALARM_SMS_DEVICE ON alarm_sms_device; -CREATE TRIGGER TDA_ALARM_SMS_DEVICE AFTER DELETE ON alarm_sms_device FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ALARM_SMS_DEVICE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ALARM_SMS_RULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_sms_rule', 'RULE_ID', '', NEW.RULE_ID, getTableSubSystem('alarm_sms_rule')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ALARM_SMS_RULE ON alarm_sms_rule; -CREATE TRIGGER TIA_ALARM_SMS_RULE AFTER INSERT ON alarm_sms_rule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ALARM_SMS_RULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ALARM_SMS_RULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'alarm_sms_rule', 'RULE_ID', OLD.RULE_ID, NEW.RULE_ID, getTableSubSystem('alarm_sms_rule')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ALARM_SMS_RULE ON alarm_sms_rule; -CREATE TRIGGER TUA_ALARM_SMS_RULE AFTER UPDATE ON alarm_sms_rule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ALARM_SMS_RULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ALARM_SMS_RULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_sms_rule', 'RULE_ID', OLD.RULE_ID, '', getTableSubSystem('alarm_sms_rule')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ALARM_SMS_RULE ON alarm_sms_rule; -CREATE TRIGGER TDA_ALARM_SMS_RULE AFTER DELETE ON alarm_sms_rule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ALARM_SMS_RULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ANALOG_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_control', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('analog_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ANALOG_CONTROL ON analog_control; -CREATE TRIGGER TIA_ANALOG_CONTROL AFTER INSERT ON analog_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ANALOG_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_ANALOG_CONTROL() RETURNS TRIGGER AS $$ -BEGIN - - --修改功能名称 - IF COALESCE(NEW.RTU_TAG,'') = '' THEN - BEGIN - NEW.OFFSET_NO = '-1'; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_ANALOG_CONTROL ON analog_control; -CREATE TRIGGER TU_ANALOG_CONTROL BEFORE UPDATE ON analog_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_ANALOG_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ANALOG_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_control', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('analog_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ANALOG_CONTROL ON analog_control; -CREATE TRIGGER TUA_ANALOG_CONTROL AFTER UPDATE ON analog_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ANALOG_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ANALOG_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_control', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('analog_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ANALOG_CONTROL ON analog_control; -CREATE TRIGGER TDA_ANALOG_CONTROL AFTER DELETE ON analog_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ANALOG_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ANALOG_LIMIT_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_limit_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('analog_limit_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ANALOG_LIMIT_INFO ON analog_limit_info; -CREATE TRIGGER TIA_ANALOG_LIMIT_INFO AFTER INSERT ON analog_limit_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ANALOG_LIMIT_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ANALOG_LIMIT_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_limit_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('analog_limit_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ANALOG_LIMIT_INFO ON analog_limit_info; -CREATE TRIGGER TUA_ANALOG_LIMIT_INFO AFTER UPDATE ON analog_limit_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ANALOG_LIMIT_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ANALOG_LIMIT_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_limit_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('analog_limit_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ANALOG_LIMIT_INFO ON analog_limit_info; -CREATE TRIGGER TDA_ANALOG_LIMIT_INFO AFTER DELETE ON analog_limit_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ANALOG_LIMIT_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_ANALOG_MAP_TO_FES() RETURNS TRIGGER AS $$ - DECLARE flag int; -BEGIN - SET SESSION "disable.FesAnalogTrigger" = 1; - - SELECT CURRENT_SETTING('disable.AnalogMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesAnalogTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('analog_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_ANALOG_MAP_TO_FES ON analog_map_to_fes; -CREATE TRIGGER TI_ANALOG_MAP_TO_FES AFTER INSERT ON analog_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_ANALOG_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_ANALOG_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO = OLD.DOT_NO AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('FES analog update','In TU_ANALOG_MAP_TO_FES'); - - SET SESSION "disable.FesAnalogTrigger" = 1; - - SELECT CURRENT_SETTING('disable.AnalogMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - - - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - ELSE NEW.DOT_NO = '-1'; - END IF; - END; - END IF; - - SET SESSION "disable.FesAnalogTrigger" = 0; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_ANALOG_MAP_TO_FES ON analog_map_to_fes; -CREATE TRIGGER TU_ANALOG_MAP_TO_FES BEFORE UPDATE ON analog_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_ANALOG_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ANALOG_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('analog_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ANALOG_MAP_TO_FES ON analog_map_to_fes; -CREATE TRIGGER TUA_ANALOG_MAP_TO_FES AFTER UPDATE ON analog_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ANALOG_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_ANALOG_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - CALL kbdDebugInfo('FES analog update','In TD_ANALOG_MAP_TO_FES'); - - SET SESSION "disable.FesAnalogTrigger" = 1; - - SELECT CURRENT_SETTING('disable.AnalogMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_analog SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesAnalogTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_ANALOG_MAP_TO_FES ON analog_map_to_fes; -CREATE TRIGGER TD_ANALOG_MAP_TO_FES BEFORE DELETE ON analog_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_ANALOG_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ANALOG_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('analog_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ANALOG_MAP_TO_FES ON analog_map_to_fes; -CREATE TRIGGER TDA_ANALOG_MAP_TO_FES AFTER DELETE ON analog_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ANALOG_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_ANALOG_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - -/* -INSERT INTO analog( -TAG_NAME, DESCRIPTION, RTU_TAG, DEV_TYPE, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, IS_CONTROL, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, UNIT_ID, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, REGION_ID, OPT_HANDOVER_GROUP, IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, CAMERA_TAG, PRESET_ID) -SELECT -concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)) , NEW.DESCRIPTION ,'', DEV_TYPE, TAG_NAME,NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, NEW.IS_CONTROL,GRAY, CONTRAST, QCOLOR, VALUE, STATUS, 0, 0, NEW.UNIT_ID, '', '', '', REGION_ID, OPT_HANDOVER_GROUP,NEW.IS_LIMIT,NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT,NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS,NEW.SAMPLE_PERIOD,NEW.SAMPLE_DEADBAND, '', '' -FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - - INSERT INTO temp_plugin_point_map_ana - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME, FES_TEMP_OUT_NAME) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'','','' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'analog_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('analog_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_ANALOG_TEMP_DEFINE ON analog_temp_define; -CREATE TRIGGER TI_ANALOG_TEMP_DEFINE AFTER INSERT ON analog_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_ANALOG_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_ANALOG_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.DESCRIPTION <> OLD.DESCRIPTION OR NEW.SEQ_NO <> OLD.SEQ_NO OR NEW.IS_CONTROL <> OLD.IS_CONTROL OR NEW.UNIT_ID <> OLD.UNIT_ID OR - NEW.IS_LIMIT <> OLD.IS_LIMIT OR NEW.POINT_TYPE <> OLD.POINT_TYPE OR NEW.POINT_CLASS <> OLD.POINT_CLASS OR NEW.POINT_PROPERTY <> OLD.POINT_PROPERTY OR NEW.POINT_SORT <> OLD.POINT_SORT OR - NEW.IS_SAMPLE <> OLD.IS_SAMPLE OR NEW.IS_STATISTICS <> OLD.IS_STATISTICS OR NEW.SAMPLE_PERIOD <> OLD.SAMPLE_PERIOD OR NEW.SAMPLE_DEADBAND <> OLD.SAMPLE_DEADBAND - THEN - UPDATE analog SET - TAG_NAME = concat(DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - DESCRIPTION = NEW.DESCRIPTION, - SEQ_NO = NEW.SEQ_NO, - IS_CONTROL = NEW.IS_CONTROL, - UNIT_ID = NEW.UNIT_ID, - IS_LIMIT = NEW.IS_LIMIT, - POINT_TYPE = NEW.POINT_TYPE, - POINT_CLASS = NEW.POINT_CLASS, - POINT_PROPERTY = NEW.POINT_PROPERTY, - POINT_SORT = NEW.POINT_SORT, - POINT_TP_NAME = NEW.TAG_NAME, - IS_SAMPLE = NEW.IS_SAMPLE, - IS_STATISTICS = NEW.IS_STATISTICS, - SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - SAMPLE_DEADBAND = NEW.SAMPLE_DEADBAND - WHERE POINT_TP_NAME=OLD.TAG_NAME; - END IF; - - IF NEW.IS_TAGT_STATE <> OLD.IS_TAGT_STATE OR NEW.CTRL_TIMEOUT <> OLD.CTRL_TIMEOUT OR NEW.RESV_TIMEOUT <> OLD.RESV_TIMEOUT OR NEW.BASE <> OLD.BASE OR NEW.COEFF <> OLD.COEFF OR - NEW.RANGE_UP <> OLD.RANGE_UP OR NEW.RANGE_LOW <> OLD.RANGE_LOW OR NEW.CTRL_TOLERANCE <> OLD.CTRL_TOLERANCE OR NEW.TAG_NAME <> OLD.TAG_NAME - THEN - UPDATE analog_control SET - IS_TAGT_STATE = NEW.IS_TAGT_STATE, - CTRL_TIMEOUT = NEW.CTRL_TIMEOUT, - RESV_TIMEOUT = NEW.RESV_TIMEOUT, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - CTRL_TOLERANCE = NEW.CTRL_TOLERANCE, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.LIMIT_TYPE <> OLD.LIMIT_TYPE OR NEW.LIMIT_NUM <> OLD.LIMIT_NUM OR NEW.LIMIT_UP1 <> OLD.LIMIT_UP1 OR NEW.LIMIT_LOW1 <> OLD.LIMIT_LOW1 OR NEW.LIMIT_UP2 <> OLD.LIMIT_UP2 OR - NEW.LIMIT_LOW2 <> OLD.LIMIT_LOW2 OR NEW.LIMIT_UP3 <> OLD.LIMIT_UP3 OR NEW.LIMIT_LOW3 <> OLD.LIMIT_LOW3 OR NEW.CROSS_PERCENT <> OLD.CROSS_PERCENT OR NEW.RETURN_PERCENT <> OLD.RETURN_PERCENT OR - NEW.ALARM_PRIORITY <> OLD.ALARM_PRIORITY OR NEW.ALARM_DELAY_TIME <> OLD.ALARM_DELAY_TIME OR NEW.IS_WATER_ALM <> OLD.IS_WATER_ALM OR NEW.IS_ACK_ON_RTN <> OLD.IS_ACK_ON_RTN OR - NEW.DEL_ACT_ON_ACK <> OLD.DEL_ACT_ON_ACK OR NEW.IS_NEVER_ALM_ON_RTN <> OLD.IS_NEVER_ALM_ON_RTN OR NEW.TAG_NAME <> OLD.TAG_NAME - THEN - UPDATE analog_limit_info SET - LIMIT_TYPE = NEW.LIMIT_TYPE , - LIMIT_NUM = NEW.LIMIT_NUM , - LIMIT_UP1 = NEW.LIMIT_UP1 , - LIMIT_LOW1 = NEW.LIMIT_LOW1 , - LIMIT_UP2 = NEW.LIMIT_UP2 , - LIMIT_LOW2 = NEW.LIMIT_LOW2 , - LIMIT_UP3 = NEW.LIMIT_UP3 , - LIMIT_LOW3 = NEW.LIMIT_LOW3 , - CROSS_PERCENT = NEW.CROSS_PERCENT , - RETURN_PERCENT = NEW.RETURN_PERCENT , - ALARM_PRIORITY = NEW.ALARM_PRIORITY , - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME , - IS_WATER_ALM = NEW.IS_WATER_ALM , - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN , - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK , - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.IS_FILTER <> OLD.IS_FILTER OR NEW.PERCENT <> OLD.PERCENT OR NEW.IS_VALID <> OLD.IS_VALID OR NEW.DEADBAND <> OLD.DEADBAND OR - NEW.ZEROBAND <> OLD.ZEROBAND OR NEW.BASE <> OLD.BASE OR NEW.COEFF <> OLD.COEFF OR NEW.RANGE_UP <> OLD.RANGE_UP OR NEW.RANGE_LOW <> OLD.RANGE_LOW - THEN - UPDATE analog_map_to_fes SET - POINT_TP_NAME = NEW.TAG_NAME, - IS_FILTER = NEW.IS_FILTER, - PERCENT = NEW.PERCENT, - IS_VALID = NEW.IS_VALID, - DEADBAND = NEW.DEADBAND, - ZEROBAND = NEW.ZEROBAND, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_ana - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'analog_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('analog_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_ANALOG_TEMP_DEFINE ON analog_temp_define; -CREATE TRIGGER TU_ANALOG_TEMP_DEFINE AFTER UPDATE ON analog_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_ANALOG_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_ANALOG_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM temp_plugin_point_map_ana WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); -/* - DELETE FROM analog WHERE POINT_TP_NAME = OLD.TAG_NAME; -*/ -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_ANALOG_TEMP_DEFINE ON analog_temp_define; -CREATE TRIGGER TD_ANALOG_TEMP_DEFINE BEFORE DELETE ON analog_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_ANALOG_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ANALOG_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'analog_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('analog_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ANALOG_TEMP_DEFINE ON analog_temp_define; -CREATE TRIGGER TDA_ANALOG_TEMP_DEFINE AFTER DELETE ON analog_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ANALOG_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_ANALOG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_analog', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('apc_analog')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_ANALOG ON APC_ANALOG; -CREATE TRIGGER TIA_APC_ANALOG AFTER INSERT ON APC_ANALOG FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUB_APC_ANALOG() RETURNS TRIGGER AS $$ -BEGIN -IF NEW.VALUE_FROM_SELF IS NOT NULL THEN - NEW.VALUE = NEW.VALUE_FROM_SELF; - NEW.VALUE_FROM_SELF = NULL; -ELSEIF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_analog', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('apc_analog')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUB_APC_ANALOG ON APC_ANALOG; -CREATE TRIGGER TUB_APC_ANALOG BEFORE UPDATE ON APC_ANALOG FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUB_APC_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_ANALOG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_analog', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('apc_analog')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_ANALOG ON APC_ANALOG; -CREATE TRIGGER TDA_APC_ANALOG AFTER DELETE ON APC_ANALOG FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_apc_curve() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('apc_curve')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_apc_curve ON apc_curve; -CREATE TRIGGER TIA_apc_curve AFTER INSERT ON apc_curve FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_apc_curve(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_apc_curve() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('apc_curve')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_apc_curve ON apc_curve; -CREATE TRIGGER TUA_apc_curve AFTER UPDATE ON apc_curve FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_apc_curve(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_apc_curve() RETURNS TRIGGER AS $$ -BEGIN -delete from apc_curve_day_index where curve_key_id_tag = old.key_id_tag; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('apc_curve')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_apc_curve ON apc_curve; -CREATE TRIGGER TDA_apc_curve AFTER DELETE ON apc_curve FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_apc_curve(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_CURVE_DAY_INDEX() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_day_index', 'curve_key_id_tag,year_rule_id,week_rule_id', '', concat(NEW.CURVE_KEY_ID_TAG,',',NEW.YEAR_RULE_ID,',',NEW.WEEK_RULE_ID), getTableSubSystem('apc_curve_day_index')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_CURVE_DAY_INDEX ON apc_curve_day_index; -CREATE TRIGGER TIA_APC_CURVE_DAY_INDEX AFTER INSERT ON apc_curve_day_index FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_CURVE_DAY_INDEX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_APC_CURVE_DAY_INDEX() RETURNS TRIGGER AS $$ -BEGIN -IF((select count(*) from apc_curve_day_index where day_rule_id = old.day_rule_id)<1) THEN -delete from apc_curve_day_value where day_rule_id = old.day_rule_id; -END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_day_index', 'curve_key_id_tag,year_rule_id,week_rule_id', concat(OLD.CURVE_KEY_ID_TAG,',',OLD.YEAR_RULE_ID,',',OLD.WEEK_RULE_ID), concat(NEW.CURVE_KEY_ID_TAG,',',NEW.YEAR_RULE_ID,',',NEW.WEEK_RULE_ID), getTableSubSystem('apc_curve_day_index')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_APC_CURVE_DAY_INDEX ON apc_curve_day_index; -CREATE TRIGGER TUA_APC_CURVE_DAY_INDEX AFTER UPDATE ON apc_curve_day_index FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_APC_CURVE_DAY_INDEX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_CURVE_DAY_INDEX() RETURNS TRIGGER AS $$ -BEGIN -delete from apc_curve_day_value where day_rule_id = old.day_rule_id; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_day_index', 'curve_key_id_tag,year_rule_id,week_rule_id',concat(OLD.CURVE_KEY_ID_TAG,',',OLD.YEAR_RULE_ID,',',OLD.WEEK_RULE_ID), '', getTableSubSystem('apc_curve_day_index')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_CURVE_DAY_INDEX ON apc_curve_day_index; -CREATE TRIGGER TDA_APC_CURVE_DAY_INDEX AFTER DELETE ON apc_curve_day_index FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_CURVE_DAY_INDEX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_CURVE_DAY_VALUE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_day_value', 'day_rule_id,start_sec,end_sec', '', concat(NEW.DAY_RULE_ID,',',NEW.START_SEC,',',NEW.END_SEC), getTableSubSystem('apc_curve_day_value')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_CURVE_DAY_VALUE ON apc_curve_day_value; -CREATE TRIGGER TIA_APC_CURVE_DAY_VALUE AFTER INSERT ON apc_curve_day_value FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_CURVE_DAY_VALUE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_APC_CURVE_DAY_VALUE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_day_value', 'day_rule_id,start_sec,end_sec', concat(OLD.DAY_RULE_ID,',',OLD.START_SEC,',',OLD.END_SEC), concat(NEW.DAY_RULE_ID,',',NEW.START_SEC,',',NEW.END_SEC), getTableSubSystem('apc_curve_day_value')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_APC_CURVE_DAY_VALUE ON apc_curve_day_value; -CREATE TRIGGER TUA_APC_CURVE_DAY_VALUE AFTER UPDATE ON apc_curve_day_value FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_APC_CURVE_DAY_VALUE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_CURVE_DAY_VALUE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_day_value', 'day_rule_id,start_sec,end_sec', concat(OLD.DAY_RULE_ID,',',OLD.START_SEC,',',OLD.END_SEC), '', getTableSubSystem('apc_curve_day_value')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_CURVE_DAY_VALUE ON apc_curve_day_value; -CREATE TRIGGER TDA_APC_CURVE_DAY_VALUE AFTER DELETE ON apc_curve_day_value FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_CURVE_DAY_VALUE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_CURVE_WEEK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_week', 'type_id,week_day', '', concat(NEW.TYPE_ID,',',NEW.WEEK_DAY), getTableSubSystem('apc_curve_week')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_CURVE_WEEK ON apc_curve_week; -CREATE TRIGGER TIA_APC_CURVE_WEEK AFTER INSERT ON apc_curve_week FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_CURVE_WEEK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_APC_CURVE_WEEK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_week', 'type_id,week_day', concat(OLD.TYPE_ID,',',OLD.WEEK_DAY), concat(NEW.TYPE_ID,',',NEW.WEEK_DAY), getTableSubSystem('apc_curve_week')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_APC_CURVE_WEEK ON apc_curve_week; -CREATE TRIGGER TUA_APC_CURVE_WEEK AFTER UPDATE ON apc_curve_week FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_APC_CURVE_WEEK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_CURVE_WEEK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_week', 'type_id,week_day', concat(OLD.TYPE_ID,',',OLD.WEEK_DAY), '', getTableSubSystem('apc_curve_week')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_CURVE_WEEK ON apc_curve_week; -CREATE TRIGGER TDA_APC_CURVE_WEEK AFTER DELETE ON apc_curve_week FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_CURVE_WEEK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_CURVE_YEAR() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_curve_year', 'type_id,month_begin,day_begin,month_end,day_end', '', concat(NEW.TYPE_ID,',',NEW.MONTH_BEGIN,',',NEW.DAY_BEGIN,',',NEW.MONTH_END,',',NEW.DAY_END), getTableSubSystem('apc_curve_year')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_CURVE_YEAR ON apc_curve_year; -CREATE TRIGGER TIA_APC_CURVE_YEAR AFTER INSERT ON apc_curve_year FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_CURVE_YEAR(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_APC_CURVE_YEAR() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_curve_year', 'type_id,month_begin,day_begin,month_end,day_end', concat(OLD.TYPE_ID,',',OLD.MONTH_BEGIN,',',OLD.DAY_BEGIN,',',OLD.MONTH_END,',',OLD.DAY_END), concat(NEW.TYPE_ID,',',NEW.MONTH_BEGIN,',',NEW.DAY_BEGIN,',',NEW.MONTH_END,',',NEW.DAY_END), getTableSubSystem('apc_curve_year')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_APC_CURVE_YEAR ON apc_curve_year; -CREATE TRIGGER TUA_APC_CURVE_YEAR AFTER UPDATE ON apc_curve_year FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_APC_CURVE_YEAR(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_CURVE_YEAR() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_curve_year', 'type_id,month_begin,day_begin,month_end,day_end', concat(OLD.TYPE_ID,',',OLD.MONTH_BEGIN,',',OLD.DAY_BEGIN,',',OLD.MONTH_END,',',OLD.DAY_END), '', getTableSubSystem('apc_curve_year')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_CURVE_YEAR ON apc_curve_year; -CREATE TRIGGER TDA_APC_CURVE_YEAR AFTER DELETE ON apc_curve_year FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_CURVE_YEAR(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_APC_DIGITAL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'apc_digital', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('apc_digital')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_APC_DIGITAL ON apc_digital; -CREATE TRIGGER TIA_APC_DIGITAL AFTER INSERT ON apc_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_APC_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUB_APC_DIGITAL() RETURNS TRIGGER AS $$ -BEGIN -IF NEW.VALUE_FROM_SELF IS NOT NULL THEN - NEW.VALUE = NEW.VALUE_FROM_SELF; - NEW.VALUE_FROM_SELF = NULL; -ELSEIF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'apc_digital', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('apc_digital')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUB_APC_DIGITAL ON apc_digital; -CREATE TRIGGER TUB_APC_DIGITAL BEFORE UPDATE ON apc_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUB_APC_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_APC_DIGITAL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'apc_digital', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('apc_digital')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_APC_DIGITAL ON apc_digital; -CREATE TRIGGER TDA_APC_DIGITAL AFTER DELETE ON apc_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_APC_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ATS_CASCO_PLANNED_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_casco_planned_train_data', 'zdate,location_id,platform_id,table_id,train_id', '', concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_planned_train_data')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ATS_CASCO_PLANNED_TRAIN_DATA ON ats_casco_planned_train_data; -CREATE TRIGGER TIA_ATS_CASCO_PLANNED_TRAIN_DATA AFTER INSERT ON ats_casco_planned_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ATS_CASCO_PLANNED_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ATS_CASCO_PLANNED_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_casco_planned_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_planned_train_data')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ATS_CASCO_PLANNED_TRAIN_DATA ON ats_casco_planned_train_data; -CREATE TRIGGER TUA_ATS_CASCO_PLANNED_TRAIN_DATA AFTER UPDATE ON ats_casco_planned_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ATS_CASCO_PLANNED_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ATS_CASCO_PLANNED_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_casco_planned_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), '', getTableSubSystem('ats_casco_planned_train_data')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ATS_CASCO_PLANNED_TRAIN_DATA ON ats_casco_planned_train_data; -CREATE TRIGGER TDA_ATS_CASCO_PLANNED_TRAIN_DATA AFTER DELETE ON ats_casco_planned_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ATS_CASCO_PLANNED_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ATS_CASCO_PRACTICAL_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_casco_practical_train_data', 'zdate,location_id,platform_id,table_id,train_id', '', concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_practical_train_data')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ATS_CASCO_PRACTICAL_TRAIN_DATA ON ats_casco_practical_train_data; -CREATE TRIGGER TIA_ATS_CASCO_PRACTICAL_TRAIN_DATA AFTER INSERT ON ats_casco_practical_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ATS_CASCO_PRACTICAL_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ATS_CASCO_PRACTICAL_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_casco_practical_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), concat(NEW.ZDATE,',',NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.TABLE_ID,',',NEW.TRAIN_ID), getTableSubSystem('ats_casco_practical_train_data')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ATS_CASCO_PRACTICAL_TRAIN_DATA ON ats_casco_practical_train_data; -CREATE TRIGGER TUA_ATS_CASCO_PRACTICAL_TRAIN_DATA AFTER UPDATE ON ats_casco_practical_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ATS_CASCO_PRACTICAL_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ATS_CASCO_PRACTICAL_TRAIN_DATA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_casco_practical_train_data', 'zdate,location_id,platform_id,table_id,train_id', concat(OLD.ZDATE,',',OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.TABLE_ID,',',OLD.TRAIN_ID), '', getTableSubSystem('ats_casco_practical_train_data')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ATS_CASCO_PRACTICAL_TRAIN_DATA ON ats_casco_practical_train_data; -CREATE TRIGGER TDA_ATS_CASCO_PRACTICAL_TRAIN_DATA AFTER DELETE ON ats_casco_practical_train_data FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ATS_CASCO_PRACTICAL_TRAIN_DATA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ATS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_fes_location_info', 'ats_location_id', '', NEW.ATS_LOCATION_ID, getTableSubSystem('ats_fes_location_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ATS_FES_LOCATION_INFO ON ats_fes_location_info; -CREATE TRIGGER TIA_ATS_FES_LOCATION_INFO AFTER INSERT ON ats_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ATS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ATS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_fes_location_info', 'ats_location_id', OLD.ATS_LOCATION_ID, NEW.ATS_LOCATION_ID, getTableSubSystem('ats_fes_location_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ATS_FES_LOCATION_INFO ON ats_fes_location_info; -CREATE TRIGGER TUA_ATS_FES_LOCATION_INFO AFTER UPDATE ON ats_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ATS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ATS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_fes_location_info', 'ats_location_id', OLD.ATS_LOCATION_ID, '', getTableSubSystem('ats_fes_location_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ATS_FES_LOCATION_INFO ON ats_fes_location_info; -CREATE TRIGGER TDA_ATS_FES_LOCATION_INFO AFTER DELETE ON ats_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ATS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_ATS_FES_PLATFORM_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'ats_fes_platform_info', 'location_id,platform_id,platform_des', '', concat(NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.PLATFORM_DES), getTableSubSystem('ats_fes_platform_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_ATS_FES_PLATFORM_INFO ON ats_fes_platform_info; -CREATE TRIGGER TIA_ATS_FES_PLATFORM_INFO AFTER INSERT ON ats_fes_platform_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_ATS_FES_PLATFORM_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_ATS_FES_PLATFORM_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'ats_fes_platform_info', 'location_id,platform_id,platform_des', concat(OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.PLATFORM_DES), concat(NEW.LOCATION_ID,',',NEW.PLATFORM_ID,',',NEW.PLATFORM_DES), getTableSubSystem('ats_fes_platform_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_ATS_FES_PLATFORM_INFO ON ats_fes_platform_info; -CREATE TRIGGER TUA_ATS_FES_PLATFORM_INFO AFTER UPDATE ON ats_fes_platform_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_ATS_FES_PLATFORM_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_ATS_FES_PLATFORM_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'ats_fes_platform_info', 'location_id,platform_id,platform_des', concat(OLD.LOCATION_ID,',',OLD.PLATFORM_ID,',',OLD.PLATFORM_DES), '', getTableSubSystem('ats_fes_platform_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_ATS_FES_PLATFORM_INFO ON ats_fes_platform_info; -CREATE TRIGGER TDA_ATS_FES_PLATFORM_INFO AFTER DELETE ON ats_fes_platform_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_ATS_FES_PLATFORM_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_BAS_TIMETABLE_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_ctrl_param', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('bas_timetable_ctrl_param')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_BAS_TIMETABLE_CTRL_PARAM ON bas_timetable_ctrl_param; -CREATE TRIGGER TIA_BAS_TIMETABLE_CTRL_PARAM AFTER INSERT ON bas_timetable_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_BAS_TIMETABLE_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_BAS_TIMETABLE_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_ctrl_param', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('bas_timetable_ctrl_param')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_BAS_TIMETABLE_CTRL_PARAM ON bas_timetable_ctrl_param; -CREATE TRIGGER TUA_BAS_TIMETABLE_CTRL_PARAM AFTER UPDATE ON bas_timetable_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_BAS_TIMETABLE_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_BAS_TIMETABLE_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_ctrl_param', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('bas_timetable_ctrl_param')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_BAS_TIMETABLE_CTRL_PARAM ON bas_timetable_ctrl_param; -CREATE TRIGGER TDA_BAS_TIMETABLE_CTRL_PARAM AFTER DELETE ON bas_timetable_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_BAS_TIMETABLE_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_BAS_TIMETABLE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_def', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_BAS_TIMETABLE_DEF ON bas_timetable_def; -CREATE TRIGGER TIA_BAS_TIMETABLE_DEF AFTER INSERT ON bas_timetable_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_BAS_TIMETABLE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_BAS_TIMETABLE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_def', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_BAS_TIMETABLE_DEF ON bas_timetable_def; -CREATE TRIGGER TUA_BAS_TIMETABLE_DEF AFTER UPDATE ON bas_timetable_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_BAS_TIMETABLE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_BAS_TIMETABLE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_def', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('bas_timetable_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_BAS_TIMETABLE_DEF ON bas_timetable_def; -CREATE TRIGGER TDA_BAS_TIMETABLE_DEF AFTER DELETE ON bas_timetable_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_BAS_TIMETABLE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_BAS_TIMETABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_info', 'location_id,timetable_id,begin_time', '', concat(NEW.LOCATION_ID,',',NEW.TIMETABLE_ID,',',NEW.BEGIN_TIME), getTableSubSystem('bas_timetable_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_BAS_TIMETABLE_INFO ON bas_timetable_info; -CREATE TRIGGER TIA_BAS_TIMETABLE_INFO AFTER INSERT ON bas_timetable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_BAS_TIMETABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_BAS_TIMETABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_info', 'location_id,timetable_id,begin_time', concat(OLD.LOCATION_ID,',',OLD.TIMETABLE_ID,',',OLD.BEGIN_TIME), concat(NEW.LOCATION_ID,',',NEW.TIMETABLE_ID,',',NEW.BEGIN_TIME), getTableSubSystem('bas_timetable_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_BAS_TIMETABLE_INFO ON bas_timetable_info; -CREATE TRIGGER TUA_BAS_TIMETABLE_INFO AFTER UPDATE ON bas_timetable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_BAS_TIMETABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_BAS_TIMETABLE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_info', 'location_id,timetable_id,begin_time', concat(OLD.LOCATION_ID,',',OLD.TIMETABLE_ID,',',OLD.BEGIN_TIME), '', getTableSubSystem('bas_timetable_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_BAS_TIMETABLE_INFO ON bas_timetable_info; -CREATE TRIGGER TDA_BAS_TIMETABLE_INFO AFTER DELETE ON bas_timetable_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_BAS_TIMETABLE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_BAS_TIMETABLE_SCHEDULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'bas_timetable_schedule', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_schedule')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_BAS_TIMETABLE_SCHEDULE ON bas_timetable_schedule; -CREATE TRIGGER TIA_BAS_TIMETABLE_SCHEDULE AFTER INSERT ON bas_timetable_schedule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_BAS_TIMETABLE_SCHEDULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_BAS_TIMETABLE_SCHEDULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'bas_timetable_schedule', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('bas_timetable_schedule')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_BAS_TIMETABLE_SCHEDULE ON bas_timetable_schedule; -CREATE TRIGGER TUA_BAS_TIMETABLE_SCHEDULE AFTER UPDATE ON bas_timetable_schedule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_BAS_TIMETABLE_SCHEDULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_BAS_TIMETABLE_SCHEDULE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'bas_timetable_schedule', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('bas_timetable_schedule')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_BAS_TIMETABLE_SCHEDULE ON bas_timetable_schedule; -CREATE TRIGGER TDA_BAS_TIMETABLE_SCHEDULE AFTER DELETE ON bas_timetable_schedule FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_BAS_TIMETABLE_SCHEDULE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_CALC_FUNC_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_func_def', 'func_name', '', NEW.FUNC_NAME, getTableSubSystem('calc_func_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_CALC_FUNC_DEF ON calc_func_def; -CREATE TRIGGER TI_CALC_FUNC_DEF AFTER INSERT ON calc_func_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_CALC_FUNC_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_CALC_FUNC_DEF() RETURNS TRIGGER AS $$ -BEGIN - - UPDATE calc_out_para SET - FUNC_NAME = NEW.FUNC_NAME, - CALC_FLAG = '1' - WHERE FUNC_NAME = OLD.FUNC_NAME; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_func_def', 'func_name', OLD.FUNC_NAME, NEW.FUNC_NAME, getTableSubSystem('calc_func_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_CALC_FUNC_DEF ON calc_func_def; -CREATE TRIGGER TU_CALC_FUNC_DEF AFTER UPDATE ON calc_func_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_CALC_FUNC_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_CALC_FUNC_DEF() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM calc_out_para WHERE FUNC_NAME = OLD.FUNC_NAME; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_func_def', 'func_name', OLD.FUNC_NAME, '', getTableSubSystem('calc_func_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_CALC_FUNC_DEF ON calc_func_def; -CREATE TRIGGER TD_CALC_FUNC_DEF AFTER DELETE ON calc_func_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_CALC_FUNC_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_CALC_GROUP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_group_def', 'group_id', '', NEW.GROUP_ID, getTableSubSystem('calc_group_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_CALC_GROUP_DEF ON calc_group_def; -CREATE TRIGGER TI_CALC_GROUP_DEF AFTER INSERT ON calc_group_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_CALC_GROUP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_CALC_GROUP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF NEW.GROUP_ID <> OLD.GROUP_ID THEN - UPDATE calc_func_def SET GROUP_ID = NEW.GROUP_ID WHERE GROUP_ID = OLD.GROUP_ID; - END IF; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_group_def', 'group_id', OLD.GROUP_ID, NEW.GROUP_ID, getTableSubSystem('calc_group_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_CALC_GROUP_DEF ON calc_group_def; -CREATE TRIGGER TU_CALC_GROUP_DEF AFTER UPDATE ON calc_group_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_CALC_GROUP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_CALC_GROUP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_group_def', 'group_id', OLD.GROUP_ID, '', getTableSubSystem('calc_group_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_CALC_GROUP_DEF ON calc_group_def; -CREATE TRIGGER TD_CALC_GROUP_DEF AFTER DELETE ON calc_group_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_CALC_GROUP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_CALC_IN_PARA() RETURNS TRIGGER AS $$ -BEGIN - - UPDATE calc_out_para SET CALC_FLAG = '1' WHERE KEY_ID_TAG = NEW.KEY_ID_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_in_para', 'key_id_tag,para_seq_no', '', concat(NEW.KEY_ID_TAG,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_in_para')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_CALC_IN_PARA ON calc_in_para; -CREATE TRIGGER TI_CALC_IN_PARA AFTER INSERT ON calc_in_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_CALC_IN_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_CALC_IN_PARA() RETURNS TRIGGER AS $$ -BEGIN - - UPDATE calc_out_para SET CALC_FLAG = '1' WHERE KEY_ID_TAG = NEW.KEY_ID_TAG; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_in_para', 'key_id_tag,para_seq_no', concat(OLD.KEY_ID_TAG,',',OLD.PARA_SEQ_NO), concat(NEW.KEY_ID_TAG,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_in_para')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_CALC_IN_PARA ON calc_in_para; -CREATE TRIGGER TU_CALC_IN_PARA AFTER UPDATE ON calc_in_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_CALC_IN_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_CALC_IN_PARA() RETURNS TRIGGER AS $$ -BEGIN - - UPDATE calc_out_para SET CALC_FLAG = '1' WHERE KEY_ID_TAG = OLD.KEY_ID_TAG; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_in_para', 'key_id_tag,para_seq_no', concat(OLD.KEY_ID_TAG,',',OLD.PARA_SEQ_NO), '', getTableSubSystem('calc_in_para')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_CALC_IN_PARA ON calc_in_para; -CREATE TRIGGER TD_CALC_IN_PARA AFTER DELETE ON calc_in_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_CALC_IN_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_CALC_OUT_PARA() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_out_para', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('calc_out_para')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_CALC_OUT_PARA ON calc_out_para; -CREATE TRIGGER TI_CALC_OUT_PARA AFTER INSERT ON calc_out_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_CALC_OUT_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_CALC_OUT_PARA() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_out_para', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('calc_out_para')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_CALC_OUT_PARA ON calc_out_para; -CREATE TRIGGER TU_CALC_OUT_PARA AFTER UPDATE ON calc_out_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_CALC_OUT_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_CALC_OUT_PARA() RETURNS TRIGGER AS $$ -BEGIN - - --这里不能触发删除本输出的输入,因为输入的删除触发器中调用了本表 - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_out_para', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('calc_out_para')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_CALC_OUT_PARA ON calc_out_para; -CREATE TRIGGER TD_CALC_OUT_PARA AFTER DELETE ON calc_out_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_CALC_OUT_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_CALC_PARA_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'calc_para_def', 'func_name,para_seq_no', '', concat(NEW.FUNC_NAME,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_para_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_CALC_PARA_DEF ON calc_para_def; -CREATE TRIGGER TI_CALC_PARA_DEF AFTER INSERT ON calc_para_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_CALC_PARA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_CALC_PARA_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'calc_para_def', 'func_name,para_seq_no', concat(OLD.FUNC_NAME,',',OLD.PARA_SEQ_NO), concat(NEW.FUNC_NAME,',',NEW.PARA_SEQ_NO), getTableSubSystem('calc_para_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_CALC_PARA_DEF ON calc_para_def; -CREATE TRIGGER TU_CALC_PARA_DEF AFTER UPDATE ON calc_para_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_CALC_PARA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_CALC_PARA_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'calc_para_def', 'func_name,para_seq_no', concat(OLD.FUNC_NAME,',',OLD.PARA_SEQ_NO), '', getTableSubSystem('calc_para_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_CALC_PARA_DEF ON calc_para_def; -CREATE TRIGGER TD_CALC_PARA_DEF AFTER DELETE ON calc_para_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_CALC_PARA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_CFG_DEVICE_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'cfg_device_inst', 'id', '', NEW.id, getTableSubSystem('cfg_device_inst')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_CFG_DEVICE_INST ON cfg_device_inst; -CREATE TRIGGER TIA_CFG_DEVICE_INST AFTER INSERT ON cfg_device_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_CFG_DEVICE_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_CFG_DEVICE_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'cfg_device_inst', 'id', OLD.id, NEW.id, getTableSubSystem('cfg_device_inst')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_CFG_DEVICE_INST ON cfg_device_inst; -CREATE TRIGGER TUA_CFG_DEVICE_INST AFTER UPDATE ON cfg_device_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_CFG_DEVICE_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_CFG_DEVICE_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'cfg_device_inst', 'id', OLD.id, '', getTableSubSystem('cfg_device_inst')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_CFG_DEVICE_INST ON cfg_device_inst; -CREATE TRIGGER TDA_CFG_DEVICE_INST AFTER DELETE ON cfg_device_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_CFG_DEVICE_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_CFG_SIGNAL_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'cfg_signal_inst', 'id', '', NEW.id, getTableSubSystem('cfg_signal_inst')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_CFG_SIGNAL_INST ON cfg_signal_inst; -CREATE TRIGGER TIA_CFG_SIGNAL_INST AFTER INSERT ON cfg_signal_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_CFG_SIGNAL_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_CFG_SIGNAL_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'cfg_signal_inst', 'id', OLD.id, NEW.id, getTableSubSystem('cfg_signal_inst')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_CFG_SIGNAL_INST ON cfg_signal_inst; -CREATE TRIGGER TUA_CFG_SIGNAL_INST AFTER UPDATE ON cfg_signal_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_CFG_SIGNAL_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_CFG_SIGNAL_INST() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'cfg_signal_inst', 'id', OLD.id, '', getTableSubSystem('cfg_signal_inst')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_CFG_SIGNAL_INST ON cfg_signal_inst; -CREATE TRIGGER TDA_CFG_SIGNAL_INST AFTER DELETE ON cfg_signal_inst FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_CFG_SIGNAL_INST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'dev_temp_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('dev_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_DEV_TEMP_DEF ON dev_temp_def; -CREATE TRIGGER TIA_DEV_TEMP_DEF AFTER INSERT ON dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF OLD.TAG_NAME != NEW.TAG_NAME THEN -BEGIN - UPDATE accuml set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); - UPDATE analog set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); - UPDATE digital set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); - UPDATE mix set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -END; -END IF; - -IF OLD.TAG_NAME != NEW.TAG_NAME OR OLD.DESCRIPTION != NEW.DESCRIPTION THEN -BEGIN - UPDATE accuml_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - - UPDATE analog_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - - - UPDATE digital_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - - UPDATE mix_temp_define SET - DEV_TP_NAME=NEW.TAG_NAME , - TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)) - WHERE DEV_TP_NAME=OLD.TAG_NAME ; - --更新对应的套件 - IF OLD.TAG_NAME != NEW.TAG_NAME THEN - BEGIN - UPDATE temp_plugin_dev_map SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_fes_dev_map SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_acc SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_ana SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_dig SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - UPDATE temp_plugin_point_map_mix SET TEMP_NAME = NEW.TAG_NAME WHERE TEMP_NAME = OLD.TAG_NAME; - END; - END IF; -END; -END IF; -/* -IF OLD.TAG_NAME != NEW.TAG_NAME OR OLD.DEV_TYPE_ID != NEW.DEV_TYPE_ID OR OLD.SUB_SYSTEM != NEW.SUB_SYSTEM -THEN -UPDATE dev_info SET -DEV_TP_NAME=NEW.TAG_NAME, -DEV_TYPE=NEW.DEV_TYPE_ID, -SUB_SYSTEM = NEW.SUB_SYSTEM -WHERE DEV_TP_NAME=OLD.TAG_NAME ; -END IF; -*/ -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'dev_temp_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('dev_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_DEV_TEMP_DEF ON dev_temp_def; -CREATE TRIGGER TU_DEV_TEMP_DEF AFTER UPDATE ON dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - -/* -DELETE FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME; -*/ -DELETE FROM accuml_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; -DELETE FROM analog_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; -DELETE FROM digital_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; -DELETE FROM mix_temp_define WHERE DEV_TP_NAME = OLD.TAG_NAME; ---套件的处理 -DELETE FROM temp_plugin_dev_map WHERE TEMP_NAME = OLD.TAG_NAME; -UPDATE accuml set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -UPDATE analog set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -UPDATE digital set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -UPDATE mix set POINT_TP_NAME = '' WHERE DEVICE IN (SELECT dev_info.TAG_NAME FROM dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME); -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_DEV_TEMP_DEF ON dev_temp_def; -CREATE TRIGGER TD_DEV_TEMP_DEF BEFORE DELETE ON dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'dev_temp_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('dev_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_DEV_TEMP_DEF ON dev_temp_def; -CREATE TRIGGER TDA_DEV_TEMP_DEF AFTER DELETE ON dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_DEV_TEMP_GROUP() RETURNS TRIGGER AS $$ -BEGIN - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE dev_temp_def SET DEV_TEMP_GRP = NEW.TAG_NAME WHERE DEV_TEMP_GRP = OLD.TAG_NAME; - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_DEV_TEMP_GROUP ON dev_temp_group; -CREATE TRIGGER TU_DEV_TEMP_GROUP AFTER UPDATE ON dev_temp_group FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_DEV_TEMP_GROUP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_DEV_TEMP_GROUP() RETURNS TRIGGER AS $$ -BEGIN - - DELETE FROM dev_temp_def WHERE DEV_TEMP_GRP = OLD.TAG_NAME; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_DEV_TEMP_GROUP ON dev_temp_group; -CREATE TRIGGER TD_DEV_TEMP_GROUP AFTER DELETE ON dev_temp_group FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_DEV_TEMP_GROUP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_DIGITAL_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'digital_control', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('digital_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_DIGITAL_CONTROL ON digital_control; -CREATE TRIGGER TIA_DIGITAL_CONTROL AFTER INSERT ON digital_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_DIGITAL_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_DIGITAL_CONTROL() RETURNS TRIGGER AS $$ -BEGIN - - --修改功能名称 - IF COALESCE(NEW.RTU_TAG,'') = '' THEN - BEGIN - NEW.OFFSET_NO1 = '-1'; - NEW.OFFSET_NO2 = '-1'; - NEW.OFFSET_NO3 = '-1'; - NEW.OFFSET_NO4 = '-1'; - NEW.OFFSET_NO5 = '-1'; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_DIGITAL_CONTROL ON digital_control; -CREATE TRIGGER TU_DIGITAL_CONTROL BEFORE UPDATE ON digital_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_DIGITAL_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_DIGITAL_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'digital_control', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('digital_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_DIGITAL_CONTROL ON digital_control; -CREATE TRIGGER TUA_DIGITAL_CONTROL AFTER UPDATE ON digital_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_DIGITAL_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_DIGITAL_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'digital_control', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('digital_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_DIGITAL_CONTROL ON digital_control; -CREATE TRIGGER TDA_DIGITAL_CONTROL AFTER DELETE ON digital_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_DIGITAL_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_DIGITAL_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('FES digtal update','In TI_DIGTAL_MAP_TO_FES'); - - SET SESSION "disable.FesDigitalTrigger" = 1; - - SELECT CURRENT_SETTING('disable.DigitalMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value1' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO1); - END IF; - - IF COALESCE(NEW.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value2' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO2); - END IF; - - IF COALESCE(NEW.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value3' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO3); - END IF; - - IF COALESCE(NEW.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value4' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO4); - END IF; - - IF COALESCE(NEW.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value5' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO5); - END IF; - - END; - END IF; - END; - END IF; - SET SESSION "disable.FesDigitalTrigger" = 0; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'digital_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('digital_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_DIGITAL_MAP_TO_FES ON digital_map_to_fes; -CREATE TRIGGER TI_DIGITAL_MAP_TO_FES AFTER INSERT ON digital_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_DIGITAL_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_DIGITAL_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO1 = OLD.DOT_NO1 AND - NEW.DOT_NO2 = OLD.DOT_NO2 AND - NEW.DOT_NO3 = OLD.DOT_NO3 AND - NEW.DOT_NO4 = OLD.DOT_NO4 AND - NEW.DOT_NO5 = OLD.DOT_NO5 AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('FES digtal update','In TU_DIGTAL_MAP_TO_FES'); - - SET SESSION "disable.FesDigitalTrigger" = 1; - - SELECT CURRENT_SETTING('disable.DigitalMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO1); - END IF; - - IF COALESCE(OLD.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO2); - END IF; - - IF COALESCE(OLD.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO3); - END IF; - - IF COALESCE(OLD.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO4); - END IF; - - IF COALESCE(OLD.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO5); - END IF; - - END; - END IF; - - - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value1' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO1); - END IF; - - IF COALESCE(NEW.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value2' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO2); - END IF; - - IF COALESCE(NEW.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value3' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO3); - END IF; - - IF COALESCE(NEW.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value4' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO4); - END IF; - - IF COALESCE(NEW.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value5' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO5); - END IF; - - END; - ELSE - BEGIN - NEW.DOT_NO1 = '-1'; - NEW.DOT_NO2 = '-1'; - NEW.DOT_NO3 = '-1'; - NEW.DOT_NO4 = '-1'; - NEW.DOT_NO5 = '-1'; - END; - END IF; - END; - END IF; - SET SESSION "disable.FesDigitalTrigger" = 0; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_DIGITAL_MAP_TO_FES ON digital_map_to_fes; -CREATE TRIGGER TU_DIGITAL_MAP_TO_FES BEFORE UPDATE ON digital_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_DIGITAL_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_DIGITAL_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'digital_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('digital_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_DIGITAL_MAP_TO_FES ON digital_map_to_fes; -CREATE TRIGGER TUA_DIGITAL_MAP_TO_FES AFTER UPDATE ON digital_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_DIGITAL_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_DIGITAL_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('FES digtal update','In TD_DIGTAL_MAP_TO_FES'); - - SET SESSION "disable.FesDigitalTrigger" = 1; - - SELECT CURRENT_SETTING('disable.DigitalMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO1,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO1); - END IF; - - IF COALESCE(OLD.DOT_NO2,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO2); - END IF; - - IF COALESCE(OLD.DOT_NO3,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO3); - END IF; - - IF COALESCE(OLD.DOT_NO4,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO4); - END IF; - - IF COALESCE(OLD.DOT_NO5,'') <> '' THEN - UPDATE fes_digital SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO5); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesDigitalTrigger" = 0; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_DIGITAL_MAP_TO_FES ON digital_map_to_fes; -CREATE TRIGGER TD_DIGITAL_MAP_TO_FES BEFORE DELETE ON digital_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_DIGITAL_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_DIGITAL_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'digital_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('digital_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_DIGITAL_MAP_TO_FES ON digital_map_to_fes; -CREATE TRIGGER TDA_DIGITAL_MAP_TO_FES AFTER DELETE ON digital_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_DIGITAL_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_DIGITAL_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - -/* -INSERT INTO digital( -TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, IS_CONTROL, STATE_TEXT_NAME, VALUE_NUM, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, LAST_UPDATE_TIME, VALUE1, STATUS1, LAST_CHANGE_TIME1, VALUE2, STATUS2, LAST_CHANGE_TIME2, VALUE3, STATUS3, LAST_CHANGE_TIME3, VALUE4, STATUS4, LAST_CHANGE_TIME4, VALUE5, STATUS5, LAST_CHANGE_TIME5, ALARM_PRIORITY, PIC_NAME, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, ALARM_DELAY_TIME, INPUT_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, IS_ALARM_FREQ, ALARM_FREQ, ALARM_FREQ_DESC, IS_ALARM_TIME, ALARM_TIME, ALARM_TIME_DESC, ALARM_FREQ_RANGE, INFER_NAME, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, CAMERA_TAG, PRESET_ID ) -SELECT -concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)),NEW.DESCRIPTION,TAG_NAME,NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, "", NEW.IS_CONTROL, NEW.STATE_TEXT_NAME,NEW.VALUE_NUM,GRAY, CONTRAST, QCOLOR, VALUE, STATUS, '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', NEW.ALARM_PRIORITY, '', '', '', '', NEW.ALARM_DELAY_TIME,NEW.INPUT_DELAY_TIME,NEW.IS_WATER_ALM,NEW.IS_ACK_ON_RTN,NEW.DEL_ACT_ON_ACK,NEW.IS_NEVER_ALM_ON_RTN,REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS,NEW.SAMPLE_PERIOD,NEW.IS_ALARM_FREQ,NEW.ALARM_FREQ,NEW.ALARM_FREQ_DESC,NEW.IS_ALARM_TIME,NEW.ALARM_TIME,NEW.ALARM_TIME_DESC,NEW.ALARM_FREQ_RANGE,'', NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT, '', '' -FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - INSERT INTO temp_plugin_point_map_dig - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME1, FES_TEMP_POINT_NAME2, FES_TEMP_POINT_NAME3, FES_TEMP_POINT_NAME4, FES_TEMP_POINT_NAME5, FES_TEMP_OUT_NAME1, FES_TEMP_OUT_NAME2, FES_TEMP_OUT_NAME3, FES_TEMP_OUT_NAME4, FES_TEMP_OUT_NAME5) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'', '', '', '', '', '', '', '', '', '', '' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'digital_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('digital_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_DIGITAL_TEMP_DEFINE ON digital_temp_define; -CREATE TRIGGER TI_DIGITAL_TEMP_DEFINE AFTER INSERT ON digital_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_DIGITAL_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_DIGITAL_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* - UPDATE digital SET - TAG_NAME = concat(DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - DESCRIPTION = NEW.DESCRIPTION, - SEQ_NO = NEW.SEQ_NO, - IS_CONTROL = NEW.IS_CONTROL, - STATE_TEXT_NAME = NEW.STATE_TEXT_NAME, - VALUE_NUM = NEW.VALUE_NUM, - ALARM_PRIORITY = NEW.ALARM_PRIORITY, - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME, - INPUT_DELAY_TIME = NEW.INPUT_DELAY_TIME, - IS_WATER_ALM = NEW.IS_WATER_ALM, - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN, - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK, - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - IS_SUMMARY = NEW.IS_SUMMARY, - POINT_TP_NAME = NEW.TAG_NAME, - IS_SAMPLE = NEW.IS_SAMPLE, - IS_STATISTICS = NEW.IS_STATISTICS, - SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - IS_ALARM_FREQ = NEW.IS_ALARM_FREQ, - ALARM_FREQ = NEW.ALARM_FREQ, - ALARM_FREQ_DESC = NEW.ALARM_FREQ_DESC, - IS_ALARM_TIME = NEW.IS_ALARM_TIME, - ALARM_TIME = NEW.ALARM_TIME, - ALARM_TIME_DESC = NEW.ALARM_TIME_DESC, - ALARM_FREQ_RANGE = NEW.ALARM_FREQ_RANGE, - POINT_TYPE = NEW.POINT_TYPE, - POINT_CLASS = NEW.POINT_CLASS, - POINT_PROPERTY = NEW.POINT_PROPERTY, - POINT_SORT = NEW.POINT_SORT - WHERE POINT_TP_NAME=OLD.TAG_NAME ; - UPDATE digital_control SET - CTRL_ACT_NAME = NEW.CTRL_ACT_NAME, - IS_TAGT_STATE = NEW.IS_TAGT_STATE, - CTRL_TIMEOUT = NEW.CTRL_TIMEOUT, - RESV_TIMEOUT = NEW.RESV_TIMEOUT, - PULSE_DURATION = NEW.PULSE_DURATION, - OFFSET_NUM = NEW.OFFSET_NUM, - IS_CHECK_PREVENTION = NEW.IS_CHECK_PREVENTION, - CTRL_TYPE = NEW.CTRL_TYPE, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_dig - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'digital_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('digital_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_DIGITAL_TEMP_DEFINE ON digital_temp_define; -CREATE TRIGGER TU_DIGITAL_TEMP_DEFINE AFTER UPDATE ON digital_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_DIGITAL_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_DIGITAL_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM temp_plugin_point_map_dig WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); -/* -DELETE FROM digital WHERE POINT_TP_NAME = OLD.TAG_NAME; -*/ -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_DIGITAL_TEMP_DEFINE ON digital_temp_define; -CREATE TRIGGER TD_DIGITAL_TEMP_DEFINE BEFORE DELETE ON digital_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_DIGITAL_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_DIGITAL_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'digital_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('digital_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_DIGITAL_TEMP_DEFINE ON digital_temp_define; -CREATE TRIGGER TDA_DIGITAL_TEMP_DEFINE AFTER DELETE ON digital_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_DIGITAL_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FAULT_RECALL_COND_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fault_recall_cond_def', 'location_id,trigger_tag_name', '', concat(NEW.LOCATION_ID,',',NEW.TRIGGER_TAG_NAME), getTableSubSystem('fault_recall_cond_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FAULT_RECALL_COND_DEF ON fault_recall_cond_def; -CREATE TRIGGER TIA_FAULT_RECALL_COND_DEF AFTER INSERT ON fault_recall_cond_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FAULT_RECALL_COND_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FAULT_RECALL_COND_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fault_recall_cond_def', 'location_id,trigger_tag_name', concat(OLD.LOCATION_ID,',',OLD.TRIGGER_TAG_NAME), concat(NEW.LOCATION_ID,',',NEW.TRIGGER_TAG_NAME), getTableSubSystem('fault_recall_cond_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FAULT_RECALL_COND_DEF ON fault_recall_cond_def; -CREATE TRIGGER TUA_FAULT_RECALL_COND_DEF AFTER UPDATE ON fault_recall_cond_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FAULT_RECALL_COND_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FAULT_RECALL_COND_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fault_recall_cond_def', 'location_id,trigger_tag_name', concat(OLD.LOCATION_ID,',',OLD.TRIGGER_TAG_NAME), '', getTableSubSystem('fault_recall_cond_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FAULT_RECALL_COND_DEF ON fault_recall_cond_def; -CREATE TRIGGER TDA_FAULT_RECALL_COND_DEF AFTER DELETE ON fault_recall_cond_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FAULT_RECALL_COND_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_ACCUML() RETURNS TRIGGER AS $$ - DECLARE flag INT; -BEGIN - CALL kbdDebugInfo('ACCUML_MAP_TO_FES update','In TI_FES_ACCUML'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.AccumlMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.FesAccumlTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE accuml_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - - END; - END IF; - - SET SESSION "disable.AccumlMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_accuml', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_accuml')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_ACCUML ON fes_accuml; -CREATE TRIGGER TI_FES_ACCUML AFTER INSERT ON fes_accuml FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_ACCUML(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_ACCUML() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('ACCUML_MAP_TO_FES update','In TU_FES_ACCUML'); - - SET SESSION "disable.AccumlMapToFesTrigger" = 1; - - SELECT CURRENT_SETTING('disable.FesAccumlTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - --删除旧关联 - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE accuml_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - --建立新关联 - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE accuml_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - END; - END IF; - - SET SESSION "disable.AccumlMapToFesTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_ACCUML ON fes_accuml; -CREATE TRIGGER TU_FES_ACCUML BEFORE UPDATE ON fes_accuml FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_ACCUML(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_ACCUML() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_accuml', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_accuml')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_ACCUML ON fes_accuml; -CREATE TRIGGER TUA_FES_ACCUML AFTER UPDATE ON fes_accuml FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_ACCUML(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_ACCUML() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('ACCUML_MAP_TO_FES update','In TD_FES_ACCUML'); - - SET SESSION "disable.AccumlMapToFesTrigger" = 1; - - SELECT CURRENT_SETTING('disable.FesAccumlTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE accuml_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET SESSION "disable.AccumlMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_accuml', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_accuml')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_ACCUML ON fes_accuml; -CREATE TRIGGER TD_FES_ACCUML AFTER DELETE ON fes_accuml FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_ACCUML(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_ANALOG() RETURNS TRIGGER AS $$ - DECLARE flag int; -BEGIN - CALL kbdDebugInfo('ANALOG_MAP_TO_FES update','In TI_FES_ANALOG'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.AnalogMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.FesAnalogTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE analog_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.AnalogMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_analog', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_analog')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_ANALOG ON fes_analog; -CREATE TRIGGER TI_FES_ANALOG AFTER INSERT ON fes_analog FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_ANALOG() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('ANALOG_MAP_TO_FES update','In TU_FES_ANALOG'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.AnalogMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.FesAnalogTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - - --不管是ana还是const都是放在analog_map_to_fes表 - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE analog_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE analog_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.AnalogMapToFesTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_ANALOG ON fes_analog; -CREATE TRIGGER TU_FES_ANALOG BEFORE UPDATE ON fes_analog FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_ANALOG() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_analog', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_analog')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_ANALOG ON fes_analog; -CREATE TRIGGER TUA_FES_ANALOG AFTER UPDATE ON fes_analog FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_ANALOG() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('ANALOG_MAP_TO_FES update','In TD_FES_ANALOG'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.AnalogMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.FesAnalogTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - --不管是ana还是const都是放在analog_map_to_fes表 - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE analog_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET SESSION "disable.AnalogMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_analog', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_analog')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_ANALOG ON fes_analog; -CREATE TRIGGER TD_FES_ANALOG AFTER DELETE ON fes_analog FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_ANALOG(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_ANALOG_CTRL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_analog_ctrl', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_analog_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_ANALOG_CTRL ON fes_analog_ctrl; -CREATE TRIGGER TIA_FES_ANALOG_CTRL AFTER INSERT ON fes_analog_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_ANALOG_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_ANALOG_CTRL() RETURNS TRIGGER AS $$ -BEGIN - --更新关联了此点的遥控点 - - IF NEW.RTU_TAG <> OLD.RTU_TAG OR NEW.DOT_NO<> OLD.DOT_NO - THEN - BEGIN - UPDATE analog_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - END; - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_analog_ctrl', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_analog_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_ANALOG_CTRL ON fes_analog_ctrl; -CREATE TRIGGER TU_FES_ANALOG_CTRL AFTER UPDATE ON fes_analog_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_ANALOG_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_ANALOG_CTRL() RETURNS TRIGGER AS $$ -BEGIN - UPDATE analog_control SET - OFFSET_NO = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_analog_ctrl', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_analog_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_ANALOG_CTRL ON fes_analog_ctrl; -CREATE TRIGGER TD_FES_ANALOG_CTRL AFTER DELETE ON fes_analog_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_ANALOG_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_CHANNEL_PARA() RETURNS TRIGGER AS $$ - DECLARE locationTag varchar(64) DEFAULT ''; - DECLARE subsystemTag varchar(64) DEFAULT ''; -BEGIN - SELECT TAG_NAME INTO locationTag FROM sys_model_location_info WHERE LOCATION_ID = NEW.LOCATION_ID; - SELECT TAG_NAME INTO subsystemTag FROM sys_model_sub_system_info WHERE SUB_SYSTEM_ID = NEW.SUB_SYSTEM; - NEW.TAG_NAME = concat(locationTag,'.',subsystemTag,'.',NEW.CHAN_NAME); -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_CHANNEL_PARA ON FES_CHANNEL_PARA; -CREATE TRIGGER TI_FES_CHANNEL_PARA BEFORE INSERT ON FES_CHANNEL_PARA FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_CHANNEL_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_CHANNEL_PARA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_channel_para', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_channel_para')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_CHANNEL_PARA ON fes_channel_para; -CREATE TRIGGER TIA_FES_CHANNEL_PARA AFTER INSERT ON fes_channel_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_CHANNEL_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_CHANNEL_PARA() RETURNS TRIGGER AS $$ - DECLARE locationTag varchar(64) DEFAULT ''; - DECLARE subsystemTag varchar(64) DEFAULT ''; -BEGIN - IF NEW.CHAN_NAME <> OLD.CHAN_NAME THEN - BEGIN - SELECT TAG_NAME INTO locationTag FROM sys_model_location_info WHERE LOCATION_ID = NEW.LOCATION_ID; - SELECT TAG_NAME INTO subsystemTag FROM sys_model_sub_system_info WHERE SUB_SYSTEM_ID = NEW.SUB_SYSTEM; - NEW.TAG_NAME = concat(locationTag,'.',subsystemTag,'.',NEW.CHAN_NAME); - END; - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_CHANNEL_PARA ON fes_channel_para; -CREATE TRIGGER TU_FES_CHANNEL_PARA BEFORE UPDATE ON fes_channel_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_CHANNEL_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_CHANNEL_PARA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_channel_para', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_channel_para')); -END IF; -IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.CHAN_NO <> OLD.CHAN_NO OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM <> OLD.SUB_SYSTEM THEN -BEGIN - UPDATE fes_rtu_para SET - TAG_NAME = concat(NEW.TAG_NAME,'.',RTU_NAME), - CHAN_TAG = NEW.TAG_NAME, - CHAN_NO = NEW.CHAN_NO, - LOCATION_ID = NEW.LOCATION_ID, - SUB_SYSTEM = NEW.SUB_SYSTEM - WHERE CHAN_TAG = OLD.TAG_NAME; -END; -END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_CHANNEL_PARA ON fes_channel_para; -CREATE TRIGGER TUA_FES_CHANNEL_PARA AFTER UPDATE ON fes_channel_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_CHANNEL_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_CHANNEL_PARA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_channel_para', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_channel_para')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_CHANNEL_PARA ON fes_channel_para; -CREATE TRIGGER TDA_FES_CHANNEL_PARA AFTER DELETE ON fes_channel_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_CHANNEL_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_CONST() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'fes_const', 'tag_name', '',NEW.TAG_NAME, getTableSubSystem('fes_const')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_CONST ON fes_const; -CREATE TRIGGER TI_FES_CONST AFTER INSERT ON fes_const FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_CONST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_CONST() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'fes_const', 'tag_name', OLD.TAG_NAME,NEW.TAG_NAME, getTableSubSystem('fes_const')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_CONST ON fes_const; -CREATE TRIGGER TU_FES_CONST AFTER UPDATE ON fes_const FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_CONST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_CONST() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'fes_const', 'tag_name', OLD.TAG_NAME,'', getTableSubSystem('fes_const')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_CONST ON fes_const; -CREATE TRIGGER TD_FES_CONST AFTER DELETE ON fes_const FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_CONST(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_CONST_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - INSERT INTO fes_const( - TAG_NAME, DESCRIPTION, GROUP_NO, RTU_TAG, RTU_NO, DOT_NO, SEQ_NO, SUB_SYSTEM, LOCATION_ID, DEV_TAG, VALUE, VALUE_TYPE, UNIT_ID, VALUE_TEXT, VALUE_RATIO, VALUE_ADDED, VALUE_MAX, VALUE_MIN, VALUE_DEFAULT, VALUE_VERIFY, EX_INFO, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_CONST'))), NEW.DESCRIPTION,NEW.GROUP_NO,fes_dev_info.RTU_TAG,fes_rtu_para.RTU_NO,getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_CONST')),NEW.SEQ_NO,fes_rtu_para.SUB_SYSTEM,fes_rtu_para.LOCATION_ID,fes_dev_info.TAG_NAME,NEW.VALUE,NEW.VALUE_TYPE,NEW.UNIT_ID,NEW.VALUE_TEXT, NEW.VALUE_RATIO,NEW.VALUE_ADDED,NEW.VALUE_MAX,NEW.VALUE_MIN,NEW.VALUE_DEFAULT,NEW.VALUE_VERIFY,NEW.EX_INFO,NEW.TAG_NAME, NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'fes_const_temp', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_const_temp')); - END IF; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_CONST_TEMP ON fes_const_temp; -CREATE TRIGGER TI_FES_CONST_TEMP AFTER INSERT ON fes_const_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_CONST_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_CONST_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - UPDATE fes_const SET - DESCRIPTION = NEW.DESCRIPTION, - GROUP_NO = NEW.GROUP_NO, - SEQ_NO = NEW.SEQ_NO, - VALUE = NEW.VALUE, - VALUE_TYPE = NEW.VALUE_TYPE, - UNIT_ID = NEW.UNIT_ID, - VALUE_TEXT = NEW.VALUE_TEXT, - VALUE_RATIO = NEW.VALUE_RATIO, - VALUE_ADDED = NEW.VALUE_ADDED, - VALUE_MAX = NEW.VALUE_MAX, - VALUE_MIN = NEW.VALUE_MIN, - VALUE_DEFAULT = NEW.VALUE_DEFAULT, - VALUE_VERIFY = NEW.VALUE_VERIFY, - EX_INFO = NEW.EX_INFO, - FES_POINT_TP_NAME = NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'fes_const_temp', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_const_temp')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_CONST_TEMP ON fes_const_temp; -CREATE TRIGGER TU_FES_CONST_TEMP AFTER UPDATE ON fes_const_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_CONST_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_CONST_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - DELETE FROM fes_const WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'fes_const_temp', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_const_temp')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_CONST_TEMP ON fes_const_temp; -CREATE TRIGGER TD_FES_CONST_TEMP AFTER DELETE ON fes_const_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_CONST_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_DATA_BLOCK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_data_block', 'tag_name,block_id,rtu_no,func_code', '', concat(NEW.TAG_NAME,',', NEW.BLOCK_ID,',',NEW.RTU_NO,',',NEW.FUNC_CODE), getTableSubSystem('fes_data_block')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_DATA_BLOCK ON fes_data_block; -CREATE TRIGGER TIA_FES_DATA_BLOCK AFTER INSERT ON fes_data_block FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_DATA_BLOCK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_DATA_BLOCK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE, SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_data_block', 'tag_name,block_id,rtu_no,func_code', concat(OLD.TAG_NAME,',', OLD.BLOCK_ID,',',OLD.RTU_NO,',',OLD.FUNC_CODE), concat(NEW.TAG_NAME,',',NEW.BLOCK_ID,',',NEW.RTU_NO,',',NEW.FUNC_CODE), getTableSubSystem('fes_data_block')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_DATA_BLOCK ON fes_data_block; -CREATE TRIGGER TUA_FES_DATA_BLOCK AFTER UPDATE ON fes_data_block FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_DATA_BLOCK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_DATA_BLOCK() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME, KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_data_block', 'tag_name,block_id,rtu_no,func_code', concat(OLD.TAG_NAME,OLD.BLOCK_ID,',',OLD.RTU_NO,',',OLD.FUNC_CODE), '', getTableSubSystem('fes_data_block')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_DATA_BLOCK ON fes_data_block; -CREATE TRIGGER TDA_FES_DATA_BLOCK AFTER DELETE ON fes_data_block FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_DATA_BLOCK(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_DATA_BLOCK_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - INSERT INTO fes_data_block( - TAG_NAME, BLOCK_ID, RTU_NO, FUNC_CODE, STAR_ADDR, DATA_LEN, DATA_FARME_TYPE, REF_CYCLE, IS_CREATE_SOE, PARA_INT1, PARA_INT2, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, LD, CALL_MODE, DATA_SET, DATA_SET_TYPE, DATA_SET_CALL_TIME, REPORT_CTRL, FES_POINT_TP_NAME, DEV_TAG) SELECT - concat(fes_dev_info.TAG_NAME,'.',getAfterLastDot(NEW.TAG_NAME)), NEW.BLOCK_ID,fes_rtu_para.RTU_NO,NEW.FUNC_CODE,NEW.STAR_ADDR,NEW.DATA_LEN, NEW.DATA_FARME_TYPE, NEW.REF_CYCLE, NEW.IS_CREATE_SOE, NEW.PARA_INT1, NEW.PARA_INT2, NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID,fes_rtu_para.SUB_SYSTEM,NEW.LD, NEW.CALL_MODE, NEW.DATA_SET,NEW.DATA_SET_TYPE,NEW.DATA_SET_CALL_TIME,NEW.REPORT_CTRL,NEW.TAG_NAME, fes_dev_info.TAG_NAME - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'fes_data_block_temp', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_data_block_temp')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_DATA_BLOCK_TEMP ON fes_data_block_temp; -CREATE TRIGGER TI_FES_DATA_BLOCK_TEMP AFTER INSERT ON fes_data_block_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_DATA_BLOCK_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DATA_BLOCK_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - UPDATE fes_data_block SET - TAG_NAME = concat(getBeforeLastDot(fes_data_block.TAG_NAME),'.',getAfterLastDot(NEW.TAG_NAME)), - BLOCK_ID = NEW.BLOCK_ID, - FUNC_CODE = NEW.FUNC_CODE, - STAR_ADDR = NEW.STAR_ADDR, - DATA_LEN = NEW.DATA_LEN, - DATA_FARME_TYPE = NEW.DATA_FARME_TYPE, - REF_CYCLE = NEW.REF_CYCLE, - IS_CREATE_SOE = NEW.IS_CREATE_SOE, - PARA_INT1 = NEW.PARA_INT1, - PARA_INT2 = NEW.PARA_INT2, - DESCRIPTION = NEW.DESCRIPTION, - LD = NEW.LD, - CALL_MODE = NEW.CALL_MODE, - DATA_SET = NEW.DATA_SET, - DATA_SET_TYPE = NEW.DATA_SET_TYPE, - DATA_SET_CALL_TIME = NEW.DATA_SET_CALL_TIME, - REPORT_CTRL = NEW.REPORT_CTRL, - FES_POINT_TP_NAME = NEW.TAG_NAME - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'fes_data_block_temp', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_data_block_temp')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DATA_BLOCK_TEMP ON fes_data_block_temp; -CREATE TRIGGER TU_FES_DATA_BLOCK_TEMP AFTER UPDATE ON fes_data_block_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DATA_BLOCK_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DATA_BLOCK_TEMP() RETURNS TRIGGER AS $$ -BEGIN - /* - DELETE FROM fes_data_block WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - */ - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'fes_data_block_temp', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_data_block_temp')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DATA_BLOCK_TEMP ON fes_data_block_temp; -CREATE TRIGGER TD_FES_DATA_BLOCK_TEMP AFTER DELETE ON fes_data_block_temp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DATA_BLOCK_TEMP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIB_FES_DEV_INFO() RETURNS TRIGGER AS $$ -BEGIN - - NEW.TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DEV_NAME); - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIB_FES_DEV_INFO ON FES_DEV_INFO; -CREATE TRIGGER TIB_FES_DEV_INFO BEFORE INSERT ON FES_DEV_INFO FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIB_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_DEV_INFO() RETURNS TRIGGER AS $$ -DECLARE incVarFesDev1 int; -DECLARE incVarFesDev2 int; -BEGIN - - IF COALESCE(NEW.DEV_TP_NAME,'') <> '' THEN - BEGIN - - --获取最大的点号时已经自动加1,这里减掉 - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_ACC')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_accuml( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DOT_NO, RTU_TAG, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8) SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , - row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+ incVarFesDev2, NEW.RTU_TAG,NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO,'', '', '', fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, fes_rtu_para.RTU_NO , fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4,fes_dev_pt_temp_def.DESCRIPTION , fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_ACC') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_ANA')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_analog( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, RTU_NO, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, IS_FILTER, PERCENT, DEADBAND_TYPE, DEADBAND, ZEROBAND, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME , PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8) SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , - NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, NEW.RTU_TAG, fes_rtu_para.RTU_NO , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2, '', '', '', fes_dev_pt_temp_def.IS_FILTER, fes_dev_pt_temp_def.PERCENT, '0', '0', '0', fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, '99999999', '-32767', fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.DESCRIPTION , fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_ANA') - AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_DIG')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_digital( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, FILTER_ERR, FILTER_DISTURB, DISTURB_TIME, REVERS, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,ASS_DIG) SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , - NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, NEW.RTU_TAG, row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2 , '', '', '', fes_dev_pt_temp_def.FILTER_ERR, fes_dev_pt_temp_def.FILTER_DISTURB, fes_dev_pt_temp_def.DISTURB_TIME, fes_dev_pt_temp_def.REVERS, fes_rtu_para.RTU_NO , fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.DESCRIPTION , fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,ASS_DIG - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_DIG') - AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_MIX')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_mix( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, FES_POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 )SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1),fes_dev_pt_temp_def.DESCRIPTION,fes_rtu_para.LOCATION_ID , - fes_rtu_para.SUB_SYSTEM , NEW.RTU_TAG,fes_rtu_para.RTU_NO, row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2 , NEW.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, '', '', '', fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, '99999999', '-32768', fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME - AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_MIX') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_ANA_CTRL')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_analog_ctrl( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, BASE, COEFF, MAX_RANGE, MIN_RANGE, RTU_NO, DEV_TAG, DOT_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, SEQ_NO, RTU_TAG, DESCRIPTION, POINT_TP_NAME, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8)SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1),fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , - fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.RATIO, '99999999', '-32768', fes_rtu_para.RTU_NO,NEW.TAG_NAME, - row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2,fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4, fes_dev_pt_temp_def.SEQ_NO,NEW.RTU_TAG,fes_dev_pt_temp_def.DESCRIPTION, fes_dev_pt_temp_def.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_ANA_CTRL') - AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_DIG_CTRL')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_digital_ctrl( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, DESCRIPTION, REVERS, POINT_TP_NAME, SEQ_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, PATH61850,POSITION61850, YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,CTRL_TYPE)SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1),fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , NEW.RTU_TAG, - fes_rtu_para.RTU_NO, row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2, NEW.TAG_NAME,fes_dev_pt_temp_def.DESCRIPTION, fes_dev_pt_temp_def.REVERS, fes_dev_pt_temp_def.TAG_NAME,fes_dev_pt_temp_def.SEQ_NO, fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4,PATH61850,POSITION61850,YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,ATTR,CTRL_TYPE - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_DIG_CTRL') - AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_MIX_CTRL')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_mix_ctrl( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, BASE, DESCRIPTION, DOT_NO, COEFF, MIN_RANGE, MAX_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, SEQ_NO, POINT_TP_NAME, DEV_TAG, PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 )SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev1),fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , - NEW.RTU_TAG,fes_rtu_para.RTU_NO,fes_dev_pt_temp_def.REVISE, fes_dev_pt_temp_def.DESCRIPTION, - row_number() over (ORDER BY fes_dev_pt_temp_def.SEQ_NO)+incVarFesDev2,fes_dev_pt_temp_def.RATIO, '-32768', '99999999', fes_dev_pt_temp_def.RES_PARA_INT1, fes_dev_pt_temp_def.RES_PARA_INT2,fes_dev_pt_temp_def.RES_PARA_INT3,fes_dev_pt_temp_def.RES_PARA_INT4,fes_dev_pt_temp_def.SEQ_NO, fes_dev_pt_temp_def.TAG_NAME,NEW.TAG_NAME,PATH61850,POSITION61850,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8 - FROM fes_dev_pt_temp_def, fes_rtu_para WHERE fes_dev_pt_temp_def.DEV_TP_NAME=NEW.DEV_TP_NAME - AND fes_dev_pt_temp_def.POINT_TYPE=getFesPointType('FES_MIX_CTRL') AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - - INSERT INTO fes_data_block( - TAG_NAME, BLOCK_ID, RTU_TAG, RTU_NO, FUNC_CODE, STAR_ADDR, DATA_LEN, DATA_FARME_TYPE, REF_CYCLE, IS_CREATE_SOE, PARA_INT1, PARA_INT2, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, LD, CALL_MODE, DATA_SET, DATA_SET_TYPE, DATA_SET_CALL_TIME, REPORT_CTRL, FES_POINT_TP_NAME, DEV_TAG, PARA_INT3,PARA_INT4,IS_ENABLE) SELECT - concat(NEW.TAG_NAME,'.',getAfterLastDot(fes_data_block_temp.TAG_NAME)), fes_data_block_temp.BLOCK_ID,fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO,fes_data_block_temp.FUNC_CODE,fes_data_block_temp.STAR_ADDR,fes_data_block_temp.DATA_LEN, fes_data_block_temp.DATA_FARME_TYPE,fes_data_block_temp.REF_CYCLE,fes_data_block_temp.IS_CREATE_SOE,fes_data_block_temp.PARA_INT1, fes_data_block_temp.PARA_INT2, fes_data_block_temp.DESCRIPTION,fes_rtu_para.LOCATION_ID,fes_rtu_para.SUB_SYSTEM,fes_data_block_temp.LD, fes_data_block_temp.CALL_MODE, fes_data_block_temp.DATA_SET, fes_data_block_temp.DATA_SET_TYPE,fes_data_block_temp.DATA_SET_CALL_TIME, fes_data_block_temp.REPORT_CTRL,fes_data_block_temp.TAG_NAME, NEW.TAG_NAME,PARA_INT3,PARA_INT4,IS_ENABLE - FROM fes_data_block_temp, fes_rtu_para WHERE fes_data_block_temp.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ORDER BY fes_data_block_temp.BLOCK_ID; - - incVarFesDev1 = getMaxRtuDotNo(NEW.RTU_TAG,getFesPointType('FES_CONST')) - 1; - incVarFesDev2 = incVarFesDev1; - - INSERT INTO fes_const( - TAG_NAME, DESCRIPTION, GROUP_NO, RTU_TAG, RTU_NO, DOT_NO, SEQ_NO, SUB_SYSTEM, LOCATION_ID, DEV_TAG, VALUE, VALUE_TYPE, UNIT_ID, VALUE_TEXT, VALUE_RATIO, VALUE_ADDED, VALUE_MAX, VALUE_MIN, VALUE_DEFAULT, VALUE_VERIFY, EX_INFO, FES_POINT_TP_NAME, PATH61850, POSITION61850,RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,DZ_SEQ) SELECT - concat(NEW.RTU_TAG, '.' , row_number() over (ORDER BY fes_const_temp.SEQ_NO)+incVarFesDev1), fes_const_temp.DESCRIPTION,fes_const_temp.GROUP_NO,NEW.RTU_TAG, - fes_rtu_para.RTU_NO,row_number() over (ORDER BY fes_const_temp.SEQ_NO)+incVarFesDev2,fes_const_temp.SEQ_NO,NEW.SUB_SYSTEM,NEW.LOCATION_ID,NEW.TAG_NAME,fes_const_temp.VALUE,fes_const_temp.VALUE_TYPE,fes_const_temp.UNIT_ID,fes_const_temp.VALUE_TEXT, fes_const_temp.VALUE_RATIO,fes_const_temp.VALUE_ADDED,fes_const_temp.VALUE_MAX,fes_const_temp.VALUE_MIN,fes_const_temp.VALUE_DEFAULT,fes_const_temp.VALUE_VERIFY,fes_const_temp.EX_INFO,fes_const_temp.TAG_NAME,PATH61850, POSITION61850,fes_const_temp.RES_PARA_INT1,fes_const_temp.RES_PARA_INT2,fes_const_temp.RES_PARA_INT3,fes_const_temp.RES_PARA_INT4,RES_PARA_INT5,RES_PARA_INT6,RES_PARA_INT7,RES_PARA_INT8,DZ_SEQ - FROM fes_const_temp, fes_rtu_para WHERE fes_const_temp.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=NEW.RTU_TAG ; - - END; - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_dev_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_DEV_INFO ON fes_dev_info; -CREATE TRIGGER TI_FES_DEV_INFO AFTER INSERT ON fes_dev_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUB_FES_DEV_INFO() RETURNS TRIGGER AS $$ -BEGIN - - IF NEW.DEV_NAME <> OLD.DEV_NAME THEN - NEW.TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DEV_NAME); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUB_FES_DEV_INFO ON FES_DEV_INFO; -CREATE TRIGGER TUB_FES_DEV_INFO BEFORE UPDATE ON FES_DEV_INFO FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUB_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DEV_INFO() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.RTU_TAG <> OLD.RTU_TAG OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM <> OLD.SUB_SYSTEM - OR NEW.RTU_NO <> OLD.RTU_NO - THEN - BEGIN - - update fes_accuml - SET fes_accuml.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_accuml.DOT_NO), fes_accuml.LOCATION_ID = fes_rtu_para.LOCATION_ID, fes_accuml.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, fes_accuml.RTU_TAG = NEW.RTU_TAG, fes_accuml.DEV_TAG = NEW.TAG_NAME, fes_accuml.RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_accuml.DEV_TAG = OLD.TAG_NAME; - - - - update fes_analog - SET fes_analog.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_analog.DOT_NO), fes_analog.LOCATION_ID = fes_rtu_para.LOCATION_ID, fes_analog.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, fes_analog.RTU_TAG = NEW.RTU_TAG, fes_analog.DEV_TAG = NEW.TAG_NAME, fes_analog.RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_analog.DEV_TAG = OLD.TAG_NAME; - - - - update fes_digital - SET fes_digital.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_digital.DOT_NO ), fes_digital.LOCATION_ID = fes_rtu_para.LOCATION_ID, fes_digital.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, fes_digital.RTU_TAG = NEW.RTU_TAG, fes_digital.DEV_TAG = NEW.TAG_NAME, fes_digital.RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_digital.DEV_TAG = OLD.TAG_NAME; - - - - update fes_mix - SET fes_mix.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_mix.DOT_NO), fes_mix.LOCATION_ID = fes_rtu_para.LOCATION_ID, fes_mix.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, fes_mix.RTU_TAG = NEW.RTU_TAG, fes_mix.DEV_TAG = NEW.TAG_NAME, fes_mix.RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_mix.DEV_TAG = OLD.TAG_NAME; - - - - update fes_analog_ctrl - SET fes_analog_ctrl.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_analog_ctrl.DOT_NO), fes_analog_ctrl.LOCATION_ID = fes_rtu_para.LOCATION_ID, fes_analog_ctrl.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, fes_analog_ctrl.RTU_TAG = NEW.RTU_TAG, fes_analog_ctrl.DEV_TAG = NEW.TAG_NAME, fes_analog_ctrl.RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_analog_ctrl.DEV_TAG = OLD.TAG_NAME; - - - - update fes_digital_ctrl - SET fes_digital_ctrl.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_digital_ctrl.DOT_NO), fes_digital_ctrl.LOCATION_ID = fes_rtu_para.LOCATION_ID, fes_digital_ctrl.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, fes_digital_ctrl.RTU_TAG = NEW.RTU_TAG, fes_digital_ctrl.DEV_TAG = NEW.TAG_NAME, fes_digital_ctrl.RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_digital_ctrl.DEV_TAG = OLD.TAG_NAME; - - - - update fes_mix_ctrl - SET fes_mix_ctrl.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_mix_ctrl.DOT_NO), fes_mix_ctrl.LOCATION_ID = fes_rtu_para.LOCATION_ID, fes_mix_ctrl.SUB_SYSTEM = fes_rtu_para.SUB_SYSTEM, fes_mix_ctrl.RTU_TAG = NEW.RTU_TAG, fes_mix_ctrl.DEV_TAG = NEW.TAG_NAME, fes_mix_ctrl.RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_mix_ctrl.DEV_TAG = OLD.TAG_NAME; - - - update fes_data_block - SET fes_data_block.LOCATION_ID = NEW.LOCATION_ID, fes_data_block.SUB_SYSTEM = NEW.SUB_SYSTEM, fes_data_block.DEV_TAG = NEW.TAG_NAME, fes_data_block.RTU_TAG = NEW.RTU_TAG, fes_data_block.TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(fes_data_block.TAG_NAME)), fes_data_block.RTU_NO = fes_rtu_para.RTU_NO - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_data_block.DEV_TAG = OLD.TAG_NAME; - - - update fes_const - SET fes_const.LOCATION_ID = NEW.LOCATION_ID, fes_const.SUB_SYSTEM = NEW.SUB_SYSTEM, fes_const.DEV_TAG = NEW.TAG_NAME, fes_const.RTU_TAG = NEW.RTU_TAG, fes_const.RTU_NO = fes_rtu_para.RTU_NO, fes_const.TAG_NAME = concat(NEW.RTU_TAG, '.' , fes_const.DOT_NO) - from fes_rtu_para - WHERE fes_rtu_para.TAG_NAME= NEW.RTU_TAG AND fes_const.DEV_TAG = OLD.TAG_NAME; - - - - END; - END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_dev_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DEV_INFO ON fes_dev_info; -CREATE TRIGGER TU_FES_DEV_INFO AFTER UPDATE ON fes_dev_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DEV_INFO() RETURNS TRIGGER AS $$ -BEGIN -DELETE FROM fes_accuml WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_analog WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_digital WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_mix WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_analog_ctrl WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_digital_ctrl WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_mix_ctrl WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_data_block WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -DELETE FROM fes_const WHERE TAG_NAME LIKE concat(OLD.RTU_TAG,'%') AND DEV_TAG = OLD.TAG_NAME; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DEV_INFO ON fes_dev_info; -CREATE TRIGGER TD_FES_DEV_INFO BEFORE DELETE ON fes_dev_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_DEV_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_dev_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_DEV_INFO ON fes_dev_info; -CREATE TRIGGER TDA_FES_DEV_INFO AFTER DELETE ON fes_dev_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_DEV_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_DEV_PT_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - /* - IF NEW.POINT_TYPE = getFesPointType('FES_ACC') THEN - INSERT INTO fes_accuml( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DOT_NO, RTU_TAG, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ACC'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM ,getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ACC')), fes_dev_info.RTU_TAG,fes_dev_info.TAG_NAME,NEW.SEQ_NO,'', '', '', '0', '1', fes_rtu_para.RTU_NO ,NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.DESCRIPTION ,NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA') THEN - INSERT INTO fes_analog( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, RTU_NO, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, IS_FILTER, PERCENT, DEADBAND_TYPE, DEADBAND, ZEROBAND, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850, POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_dev_info.TAG_NAME,NEW.SEQ_NO, fes_dev_info.RTU_TAG,fes_rtu_para.RTU_NO , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA')),'', '', '', 0, 0, '0', '0', '0', '0', '1', 65536, 0, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.DESCRIPTION , NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG') THEN - INSERT INTO fes_digital( - TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, FILTER_ERR, FILTER_DISTURB, DISTURB_TIME, REVERS, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_dev_info.TAG_NAME,NEW.SEQ_NO, fes_dev_info.RTU_TAG,getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG')), '', '', '', 0, 0, 0, 0, fes_rtu_para.RTU_NO , NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.DESCRIPTION , NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX') THEN - INSERT INTO fes_mix( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, FES_POINT_TP_NAME,PATH61850,POSITION61850) SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX'))), NEW.DESCRIPTION ,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX')), fes_dev_info.TAG_NAME, NEW.SEQ_NO, '', '', '', '0', '1', 65536, 0, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4, NEW.TAG_NAME ,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - INSERT INTO fes_analog_ctrl( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, BASE, COEFF, MAX_RANGE, MIN_RANGE, POINT_TP_NAME,RES_PARA_INT1,RES_PARA_INT2,RES_PARA_INT3,RES_PARA_INT4,PATH61850,POSITION61850)SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA_CTRL'))),NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_ANA_CTRL')), fes_dev_info.TAG_NAME,NEW.SEQ_NO, '0', '1', 65536, 0, NEW.TAG_NAME ,NEW.RES_PARA_INT1,NEW.RES_PARA_INT2,NEW.RES_PARA_INT3,NEW.RES_PARA_INT4,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - INSERT INTO fes_digital_ctrl( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, REVERS, POINT_TP_NAME,RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, PATH61850, POSITION61850, YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME)SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG_CTRL'))),NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_DIG_CTRL')), fes_dev_info.TAG_NAME,NEW.SEQ_NO, 0, NEW.TAG_NAME, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4,NEW.PATH61850,NEW.POSITION61850,NEW.YK_SELECT61850, NEW.YK_EXE61850, NEW.YK_CANCLE61850, NEW.YK_DOUBLE_SELECT61850, NEW.YK_DOUBLE_EXE61850, NEW.YK_DOUBLE_CANCLE61850, NEW.PULSE_TIME - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - INSERT INTO fes_mix_ctrl( - TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, BASE, COEFF, MIN_RANGE, MAX_RANGE, POINT_TP_NAME,RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4,PATH61850,POSITION61850)SELECT - concat(fes_dev_info.RTU_TAG, '.' , getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX_CTRL'))),NEW.DESCRIPTION,fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , fes_rtu_para.TAG_NAME,fes_rtu_para.RTU_NO, getMaxRtuDotNo(fes_dev_info.RTU_TAG,getFesPointType('FES_MIX_CTRL')), fes_dev_info.TAG_NAME,NEW.SEQ_NO,'0', '1', 0, 65536, NEW.TAG_NAME, NEW.RES_PARA_INT1, NEW.RES_PARA_INT2, NEW.RES_PARA_INT3, NEW.RES_PARA_INT4,NEW.PATH61850,NEW.POSITION61850 - FROM fes_dev_info, fes_rtu_para WHERE fes_dev_info.DEV_TP_NAME=NEW.DEV_TP_NAME AND fes_rtu_para.TAG_NAME=fes_dev_info.RTU_TAG; - END IF; - */ -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_pt_temp_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_dev_pt_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_DEV_PT_TEMP_DEF ON fes_dev_pt_temp_def; -CREATE TRIGGER TI_FES_DEV_PT_TEMP_DEF AFTER INSERT ON fes_dev_pt_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_DEV_PT_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DEV_PT_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - /* - IF NEW.POINT_TYPE = getFesPointType('FES_ACC') THEN - UPDATE fes_accuml SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA') THEN - UPDATE fes_analog SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG') THEN - UPDATE fes_digital SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX') THEN - UPDATE fes_mix SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - FES_POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - UPDATE fes_analog_ctrl SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - UPDATE fes_digital_ctrl SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850, - YK_SELECT61850 = NEW.YK_SELECT61850, - YK_EXE61850 = NEW.YK_EXE61850, - YK_CANCLE61850 = NEW.YK_CANCLE61850, - YK_DOUBLE_SELECT61850 = NEW.YK_DOUBLE_SELECT61850, - YK_DOUBLE_EXE61850 = NEW.YK_DOUBLE_EXE61850, - YK_DOUBLE_CANCLE61850 = NEW.YK_DOUBLE_CANCLE61850, - PULSE_TIME = NEW.PULSE_TIME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF NEW.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - UPDATE fes_mix_ctrl SET - SEQ_NO = NEW.SEQ_NO, - DESCRIPTION = NEW.DESCRIPTION, - POINT_TP_NAME= NEW.TAG_NAME, - PATH61850 = NEW.PATH61850, - POSITION61850 = NEW.POSITION61850 - WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ - --更新套件内容 - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - BEGIN - IF NEW.POINT_TYPE = getFesPointType('FES_ACC') THEN - UPDATE temp_plugin_point_map_acc SET FES_TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_ANA') THEN - UPDATE temp_plugin_point_map_ana SET FES_TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_MIX') THEN - UPDATE temp_plugin_point_map_mix SET FES_TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_DIG') THEN - UPDATE temp_plugin_point_map_dig SET - FES_TEMP_POINT_NAME1 = IF(FES_TEMP_POINT_NAME1 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME1), - FES_TEMP_POINT_NAME2 = IF(FES_TEMP_POINT_NAME2 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME2), - FES_TEMP_POINT_NAME3 = IF(FES_TEMP_POINT_NAME3 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME3), - FES_TEMP_POINT_NAME4 = IF(FES_TEMP_POINT_NAME4 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME4), - FES_TEMP_POINT_NAME5 = IF(FES_TEMP_POINT_NAME5 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_POINT_NAME5) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME; - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - UPDATE temp_plugin_point_map_ana SET FES_TEMP_OUT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_OUT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - UPDATE temp_plugin_point_map_mix SET FES_TEMP_OUT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME AND FES_TEMP_OUT_NAME = getAfterLastDot(OLD.TAG_NAME); - ELSEIF NEW.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - UPDATE temp_plugin_point_map_dig SET - FES_TEMP_OUT_NAME1 = IF(FES_TEMP_OUT_NAME1 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME1), - FES_TEMP_OUT_NAME2 = IF(FES_TEMP_OUT_NAME2 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME2), - FES_TEMP_OUT_NAME3 = IF(FES_TEMP_OUT_NAME3 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME3), - FES_TEMP_OUT_NAME4 = IF(FES_TEMP_OUT_NAME4 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME4), - FES_TEMP_OUT_NAME5 = IF(FES_TEMP_OUT_NAME5 = getAfterLastDot(OLD.TAG_NAME),getAfterLastDot(NEW.TAG_NAME),FES_TEMP_OUT_NAME5) - WHERE FES_TEMP_NAME = OLD.DEV_TP_NAME; - END IF; - END; - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_pt_temp_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_dev_pt_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DEV_PT_TEMP_DEF ON fes_dev_pt_temp_def; -CREATE TRIGGER TU_FES_DEV_PT_TEMP_DEF AFTER UPDATE ON fes_dev_pt_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DEV_PT_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DEV_PT_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - /* - IF OLD.POINT_TYPE = getFesPointType('FES_ACC') THEN - DELETE FROM fes_accuml WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF OLD.POINT_TYPE = getFesPointType('FES_ANA') THEN - DELETE FROM fes_analog WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - IF OLD.POINT_TYPE = getFesPointType('FES_DIG') THEN - DELETE FROM fes_digital WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_MIX') THEN - DELETE FROM fes_mix WHERE FES_POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_ANA_CTRL') THEN - DELETE FROM fes_analog_ctrl WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_DIG_CTRL') THEN - DELETE FROM fes_digital_ctrl WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - - - IF OLD.POINT_TYPE = getFesPointType('FES_MIX_CTRL') THEN - DELETE FROM fes_mix_ctrl WHERE POINT_TP_NAME = OLD.TAG_NAME; - END IF; - */ -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DEV_PT_TEMP_DEF ON fes_dev_pt_temp_def; -CREATE TRIGGER TD_FES_DEV_PT_TEMP_DEF BEFORE DELETE ON fes_dev_pt_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DEV_PT_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_DEV_PT_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_pt_temp_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_dev_pt_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_DEV_PT_TEMP_DEF ON fes_dev_pt_temp_def; -CREATE TRIGGER TDA_FES_DEV_PT_TEMP_DEF AFTER DELETE ON fes_dev_pt_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_DEV_PT_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_temp_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_dev_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_DEV_TEMP_DEF ON fes_dev_temp_def; -CREATE TRIGGER TIA_FES_DEV_TEMP_DEF AFTER INSERT ON fes_dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - UPDATE fes_dev_pt_temp_def SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)), - DEV_TP_NAME = NEW.TAG_NAME - WHERE DEV_TP_NAME = OLD.TAG_NAME; - - UPDATE fes_const_temp SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)), - DEV_TP_NAME = NEW.TAG_NAME - WHERE DEV_TP_NAME = OLD.TAG_NAME; - - UPDATE fes_data_block_temp SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)), - DEV_TP_NAME = NEW.TAG_NAME - WHERE DEV_TP_NAME = OLD.TAG_NAME; - - /* - UPDATE fes_dev_info SET - DEV_TP_NAME = NEW.TAG_NAME, - DEV_TYPE_ID = NEW.DEV_TYPE_ID - WHERE DEV_TP_NAME = OLD.TAG_NAME; - */ - - --更新套件 - IF OLD.TAG_NAME != NEW.TAG_NAME THEN - BEGIN - UPDATE temp_plugin_fes_dev_map SET FES_TEMP_NAME = NEW.TAG_NAME WHERE FES_TEMP_NAME = OLD.TAG_NAME; - END; - END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_temp_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_dev_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DEV_TEMP_DEF ON fes_dev_temp_def; -CREATE TRIGGER TU_FES_DEV_TEMP_DEF AFTER UPDATE ON fes_dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN - - DELETE FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = OLD.TAG_NAME; - DELETE FROM fes_const_temp WHERE DEV_TP_NAME = OLD.TAG_NAME; - DELETE FROM fes_data_block_temp WHERE DEV_TP_NAME = OLD.TAG_NAME; - --套件的处理 - DELETE FROM temp_plugin_fes_dev_map WHERE FES_TEMP_NAME = OLD.TAG_NAME; - /* - DELETE FROM fes_dev_info WHERE DEV_TP_NAME = OLD.TAG_NAME; - */ - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DEV_TEMP_DEF ON fes_dev_temp_def; -CREATE TRIGGER TD_FES_DEV_TEMP_DEF BEFORE DELETE ON fes_dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_DEV_TEMP_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_temp_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_dev_temp_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_DEV_TEMP_DEF ON fes_dev_temp_def; -CREATE TRIGGER TDA_FES_DEV_TEMP_DEF AFTER DELETE ON fes_dev_temp_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_DEV_TEMP_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_DEV_TYPE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_dev_type_def', 'dev_type_id', '', NEW.DEV_TYPE_ID, getTableSubSystem('fes_dev_type_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_DEV_TYPE_DEF ON fes_dev_type_def; -CREATE TRIGGER TIA_FES_DEV_TYPE_DEF AFTER INSERT ON fes_dev_type_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_DEV_TYPE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DEV_TYPE_DEF() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.DEV_TYPE_ID <> OLD.DEV_TYPE_ID THEN - BEGIN - UPDATE fes_dev_temp_def SET - DEV_TYPE_ID = NEW.DEV_TYPE_ID - WHERE DEV_TYPE_ID = OLD.DEV_TYPE_ID; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DEV_TYPE_DEF ON fes_dev_type_def; -CREATE TRIGGER TU_FES_DEV_TYPE_DEF BEFORE UPDATE ON fes_dev_type_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DEV_TYPE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_DEV_TYPE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_dev_type_def', 'dev_type_id', OLD.DEV_TYPE_ID, NEW.DEV_TYPE_ID, getTableSubSystem('fes_dev_type_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_DEV_TYPE_DEF ON fes_dev_type_def; -CREATE TRIGGER TUA_FES_DEV_TYPE_DEF AFTER UPDATE ON fes_dev_type_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_DEV_TYPE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_DEV_TYPE_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_dev_type_def', 'dev_type_id', OLD.DEV_TYPE_ID, '', getTableSubSystem('fes_dev_type_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_DEV_TYPE_DEF ON fes_dev_type_def; -CREATE TRIGGER TDA_FES_DEV_TYPE_DEF AFTER DELETE ON fes_dev_type_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_DEV_TYPE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_DIGITAL() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('DIGITAL_MAP_TO_FES update','In TI_FES_DIGITAL'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.DigitalMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.FesDigitalTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value1' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO1 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value2' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO2 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value3' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO3 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value4' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO4 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value5' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO5 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.DigitalMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_digital', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_digital')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_DIGITAL ON fes_digital; -CREATE TRIGGER TI_FES_DIGITAL AFTER INSERT ON fes_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DIGITAL() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('DIGITAL_MAP_TO_FES update','In TU_FES_DIGITAL'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.DigitalMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.FesDigitalTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value1' THEN - UPDATE digital_map_to_fes SET - DOT_NO1 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value2' THEN - UPDATE digital_map_to_fes SET - DOT_NO2 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value3' THEN - UPDATE digital_map_to_fes SET - DOT_NO3 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value4' THEN - UPDATE digital_map_to_fes SET - DOT_NO4 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value5' THEN - UPDATE digital_map_to_fes SET - DOT_NO5 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value1' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO1 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value2' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO2 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value3' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO3 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value4' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO4 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')='value5' THEN - BEGIN - UPDATE digital_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO5 = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.DigitalMapToFesTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DIGITAL ON fes_digital; -CREATE TRIGGER TU_FES_DIGITAL BEFORE UPDATE ON fes_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_DIGITAL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_digital', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_digital')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_DIGITAL ON fes_digital; -CREATE TRIGGER TUA_FES_DIGITAL AFTER UPDATE ON fes_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DIGITAL() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('DIGITAL_MAP_TO_FES update','In TD_FES_DIGITAL'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.DigitalMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.FesDigitalTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value1' THEN - UPDATE digital_map_to_fes SET - DOT_NO1 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value2' THEN - UPDATE digital_map_to_fes SET - DOT_NO2 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value3' THEN - UPDATE digital_map_to_fes SET - DOT_NO3 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value4' THEN - UPDATE digital_map_to_fes SET - DOT_NO4 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')='value5' THEN - UPDATE digital_map_to_fes SET - DOT_NO5 = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET SESSION "disable.DigitalMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_digital', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_digital')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DIGITAL ON fes_digital; -CREATE TRIGGER TD_FES_DIGITAL AFTER DELETE ON fes_digital FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DIGITAL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_DIGITAL_CTRL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_digital_ctrl', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_digital_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_DIGITAL_CTRL ON fes_digital_ctrl; -CREATE TRIGGER TIA_FES_DIGITAL_CTRL AFTER INSERT ON fes_digital_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_DIGITAL_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_DIGITAL_CTRL() RETURNS TRIGGER AS $$ -BEGIN - --更新关联了此点的遥控点 - - IF NEW.RTU_TAG <> OLD.RTU_TAG OR NEW.DOT_NO<> OLD.DOT_NO - THEN - BEGIN - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO1 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO1 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO2 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO2 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO3 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO3 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO4 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO4 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO5 = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO5 = cast(OLD.DOT_NO AS char); - - END; - END IF; - - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_digital_ctrl', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_digital_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_DIGITAL_CTRL ON fes_digital_ctrl; -CREATE TRIGGER TU_FES_DIGITAL_CTRL AFTER UPDATE ON fes_digital_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_DIGITAL_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_DIGITAL_CTRL() RETURNS TRIGGER AS $$ -BEGIN - UPDATE digital_control SET - OFFSET_NO1 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO1 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO2 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO2 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO3 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO3 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO4 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO4 = cast(OLD.DOT_NO AS char); - - UPDATE digital_control SET - OFFSET_NO5 = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO5 = cast(OLD.DOT_NO AS char); - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_digital_ctrl', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_digital_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_DIGITAL_CTRL ON fes_digital_ctrl; -CREATE TRIGGER TD_FES_DIGITAL_CTRL AFTER DELETE ON fes_digital_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_DIGITAL_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_MIX() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('MIX_MAP_TO_FES update','In TI_FES_MIX'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.MixMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.FesMixTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE mix_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.MixMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_mix', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_mix')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_MIX ON fes_mix; -CREATE TRIGGER TI_FES_MIX AFTER INSERT ON fes_mix FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_MIX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_MIX() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - IF OLD.APP_TABLE_NAME=NEW.APP_TABLE_NAME AND OLD.APP_TAG_NAME = NEW.APP_TAG_NAME AND OLD.APP_COLUMN_NAME = NEW.APP_COLUMN_NAME - AND OLD.RTU_TAG = NEW.RTU_TAG AND OLD.DOT_NO = NEW.DOT_NO - THEN RETURN NEW; - END IF; - - CALL kbdDebugInfo('MIX_MAP_TO_FES update','In TU_FES_MIX'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.MixMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.FesMixTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE mix_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - IF COALESCE(NEW.APP_TABLE_NAME,'')<>'' AND COALESCE(NEW.APP_TAG_NAME,'')<>'' AND COALESCE(NEW.APP_COLUMN_NAME,'')<>'' THEN - BEGIN - UPDATE mix_map_to_fes SET - RTU_TAG = NEW.RTU_TAG, - DOT_NO = NEW.DOT_NO - WHERE KEY_ID_TAG = concat(NEW.APP_TABLE_NAME,'.', NEW.APP_TAG_NAME); - END; - END IF; - - END; - END IF; - - SET SESSION "disable.MixMapToFesTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_MIX ON fes_mix; -CREATE TRIGGER TU_FES_MIX BEFORE UPDATE ON fes_mix FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_MIX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_MIX() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_mix', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_mix')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_MIX ON fes_mix; -CREATE TRIGGER TUA_FES_MIX AFTER UPDATE ON fes_mix FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_MIX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_MIX() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - CALL kbdDebugInfo('MIX_MAP_TO_FES update','In TD_FES_MIX'); - --首先禁止MAP_TO_FES触发器动作 - SET SESSION "disable.MixMapToFesTrigger" = 1; - --然后询问自己是否已经被禁止 - SELECT CURRENT_SETTING('disable.FesMixTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(OLD.APP_TABLE_NAME,'')<>'' AND COALESCE(OLD.APP_TAG_NAME,'')<>'' AND COALESCE(OLD.APP_COLUMN_NAME,'')<>'' THEN - UPDATE mix_map_to_fes SET - DOT_NO = '-1' - WHERE KEY_ID_TAG = concat(OLD.APP_TABLE_NAME,'.', OLD.APP_TAG_NAME); - END IF; - - END; - END IF; - - SET SESSION "disable.MixMapToFesTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_mix', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_mix')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_MIX ON fes_mix; -CREATE TRIGGER TD_FES_MIX AFTER DELETE ON fes_mix FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_MIX(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_MIX_CTRL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_mix_ctrl', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_mix_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_MIX_CTRL ON fes_mix_ctrl; -CREATE TRIGGER TIA_FES_MIX_CTRL AFTER INSERT ON fes_mix_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_MIX_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_MIX_CTRL() RETURNS TRIGGER AS $$ -BEGIN - --更新关联了此点的遥控点 - - IF NEW.RTU_TAG = OLD.RTU_TAG AND NEW.DOT_NO= OLD.DOT_NO - THEN - BEGIN - UPDATE mix_control SET - RTU_TAG = NEW.RTU_TAG, - OFFSET_NO = NEW.DOT_NO - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - END; - END IF; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_mix_ctrl', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_mix_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_MIX_CTRL ON fes_mix_ctrl; -CREATE TRIGGER TU_FES_MIX_CTRL AFTER UPDATE ON fes_mix_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_MIX_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_MIX_CTRL() RETURNS TRIGGER AS $$ -BEGIN - UPDATE mix_control SET - OFFSET_NO = '-1' - WHERE RTU_TAG = OLD.RTU_TAG AND OFFSET_NO = cast(OLD.DOT_NO AS char); - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_mix_ctrl', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_mix_ctrl')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_MIX_CTRL ON fes_mix_ctrl; -CREATE TRIGGER TD_FES_MIX_CTRL AFTER DELETE ON fes_mix_ctrl FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_MIX_CTRL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_FES_PROTOCOL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_protocol', 'protocol_id', '', NEW.PROTOCOL_ID, getTableSubSystem('fes_protocol')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_FES_PROTOCOL ON fes_protocol; -CREATE TRIGGER TIA_FES_PROTOCOL AFTER INSERT ON fes_protocol FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_FES_PROTOCOL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_PROTOCOL() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.PROTOCOL_ID <> OLD.PROTOCOL_ID THEN - BEGIN - UPDATE fes_channel_para SET - PROTO_TYPE = NEW.PROTOCOL_ID - WHERE PROTO_TYPE = OLD.PROTOCOL_ID; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_PROTOCOL ON fes_protocol; -CREATE TRIGGER TU_FES_PROTOCOL BEFORE UPDATE ON fes_protocol FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_PROTOCOL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_FES_PROTOCOL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_protocol', 'protocol_id', OLD.PROTOCOL_ID, NEW.PROTOCOL_ID, getTableSubSystem('fes_protocol')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_FES_PROTOCOL ON fes_protocol; -CREATE TRIGGER TUA_FES_PROTOCOL AFTER UPDATE ON fes_protocol FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_FES_PROTOCOL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_PROTOCOL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_protocol', 'protocol_id', OLD.PROTOCOL_ID, '', getTableSubSystem('fes_protocol')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_PROTOCOL ON fes_protocol; -CREATE TRIGGER TDA_FES_PROTOCOL AFTER DELETE ON fes_protocol FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_PROTOCOL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIB_FES_RTU_PARA() RETURNS TRIGGER AS $$ - DECLARE chNo decimal(10,0) DEFAULT 0; -BEGIN - NEW.TAG_NAME = concat(NEW.CHAN_TAG,'.',NEW.RTU_NAME); - - SELECT CHAN_NO INTO chNo FROM fes_channel_para WHERE TAG_NAME = NEW.CHAN_TAG; - - NEW.CHAN_NO = chNo; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIB_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TIB_FES_RTU_PARA BEFORE INSERT ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIB_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_FES_RTU_PARA() RETURNS TRIGGER AS $$ -BEGIN - /* - * 不再产生默认设备 -INSERT INTO fes_dev_info -(TAG_NAME, DEV_NAME, LOCATION_ID, SUB_SYSTEM, DEV_ID, DEV_TYPE_ID, RTU_TAG, DEV_DESC, RTU_NO, DEV_TP_NAME) VALUES -(concat(NEW.TAG_NAME, '.', 'defaultDev' ),'defaultDev',NEW.LOCATION_ID,NEW.SUB_SYSTEM,'-1', '-1' ,NEW.TAG_NAME,'默认设备',NEW.RTU_NO ,'' ); -*/ -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'fes_rtu_para', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('fes_rtu_para')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TI_FES_RTU_PARA AFTER INSERT ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUB_FES_RTU_PARA() RETURNS TRIGGER AS $$ - DECLARE chNo decimal(10,0) DEFAULT 0; -BEGIN - IF NEW.RTU_NAME <> OLD.RTU_NAME OR NEW.CHAN_TAG <> OLD.CHAN_TAG THEN - NEW.TAG_NAME = concat(NEW.CHAN_TAG,'.',NEW.RTU_NAME); - END IF; - - IF NEW.CHAN_TAG <> OLD.CHAN_TAG THEN - BEGIN - SELECT CHAN_NO INTO chNo FROM fes_channel_para WHERE TAG_NAME = NEW.CHAN_TAG; - NEW.CHAN_NO = chNo; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUB_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TUB_FES_RTU_PARA BEFORE UPDATE ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUB_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_FES_RTU_PARA() RETURNS TRIGGER AS $$ -BEGIN - -IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.RTU_NO <> OLD.RTU_NO OR NEW.DESCRIPTION <> OLD.DESCRIPTION -THEN -BEGIN - - - UPDATE fes_dev_info SET - TAG_NAME = concat(NEW.TAG_NAME, '.', getAfterLastDot(TAG_NAME)) , - DEV_DESC = DEV_DESC, - RTU_TAG = NEW.TAG_NAME, - RTU_NO = NEW.RTU_NO, - LOCATION_ID = NEW.LOCATION_ID, - SUB_SYSTEM = NEW.SUB_SYSTEM - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE fes_data_block SET - RTU_NO = NEW.RTU_NO, - LOCATION_ID = NEW.LOCATION_ID, - SUB_SYSTEM = NEW.SUB_SYSTEM - WHERE RTU_NO = OLD.RTU_NO; - - IF NEW.RTU_NO <> OLD.RTU_NO THEN - BEGIN - UPDATE dev_group SET - RTU_NO = NEW.RTU_NO - WHERE RTU_NO = OLD.RTU_NO; - END; - END IF; - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - BEGIN - --更新关联的后台测点 - UPDATE accuml SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE analog SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE digital SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - UPDATE mix SET - RTU_TAG = NEW.TAG_NAME - WHERE RTU_TAG = OLD.TAG_NAME; - - - END; - END IF; - -END; -END IF; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'fes_rtu_para', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('fes_rtu_para')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TU_FES_RTU_PARA AFTER UPDATE ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_FES_RTU_PARA() RETURNS TRIGGER AS $$ -BEGIN -DELETE FROM fes_dev_info WHERE RTU_TAG = OLD.TAG_NAME; -DELETE FROM fes_data_block WHERE RTU_NO = OLD.RTU_NO; ---更新关联的后台测点 -UPDATE accuml SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -UPDATE analog SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -UPDATE digital SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -UPDATE mix SET -RTU_TAG = '' -WHERE RTU_TAG = OLD.TAG_NAME; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TD_FES_RTU_PARA BEFORE DELETE ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_FES_RTU_PARA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'fes_rtu_para', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('fes_rtu_para')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_FES_RTU_PARA ON fes_rtu_para; -CREATE TRIGGER TDA_FES_RTU_PARA AFTER DELETE ON fes_rtu_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_FES_RTU_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_LINKAGE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - --仅仅修改时标 - - NEW.TIMEFLAG = floor(extract(epoch from now())); - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_LINKAGE_ACTION ON linkage_action; -CREATE TRIGGER TI_LINKAGE_ACTION BEFORE INSERT ON linkage_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_LINKAGE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_LINKAGE_ACTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_action', 'name', '', NEW.NAME, getTableSubSystem('linkage_action')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_LINKAGE_ACTION ON linkage_action; -CREATE TRIGGER TIA_LINKAGE_ACTION AFTER INSERT ON linkage_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_LINKAGE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_LINKAGE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - --修改对应功能 - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE linkage_function SET - TIMEFLAG = NEW.TIMEFLAG, - ACTION_NAME = NEW.NAME - WHERE ACTION_NAME = OLD.NAME; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_LINKAGE_ACTION ON linkage_action; -CREATE TRIGGER TU_LINKAGE_ACTION BEFORE UPDATE ON linkage_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_LINKAGE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_LINKAGE_ACTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_action', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('linkage_action')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_LINKAGE_ACTION ON linkage_action; -CREATE TRIGGER TUA_LINKAGE_ACTION AFTER UPDATE ON linkage_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_LINKAGE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_LINKAGE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - --删除关联了此动作的功能 - DELETE FROM linkage_function WHERE ACTION_NAME = OLD.NAME; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_action', 'name', OLD.NAME, '', getTableSubSystem('linkage_action')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_LINKAGE_ACTION ON linkage_action; -CREATE TRIGGER TD_LINKAGE_ACTION AFTER DELETE ON linkage_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_LINKAGE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_LINKAGE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.LinkageSettingTrigger" = 1; - - CALL kbdDebugInfo('linkage_define Insert','linkage_define Insert'); - - SELECT CURRENT_SETTING('disable.LinkageDefineTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE linkage_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = NEW.LINKAGE_NAME; - END; - END IF; - - SET SESSION "disable.LinkageSettingTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_LINKAGE_DEFINE ON linkage_define; -CREATE TRIGGER TI_LINKAGE_DEFINE BEFORE INSERT ON linkage_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_LINKAGE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_LINKAGE_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_define', 'linkage_name,func_name', '', concat(NEW.LINKAGE_NAME,',',NEW.FUNC_NAME), getTableSubSystem('linkage_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_LINKAGE_DEFINE ON linkage_define; -CREATE TRIGGER TIA_LINKAGE_DEFINE AFTER INSERT ON linkage_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_LINKAGE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_LINKAGE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --修改对应联动功能关系表 - --避免触发器循环 - SET SESSION "disable.LinkageSettingTrigger" = 1; - - CALL kbdDebugInfo('linkage_define update','linkage_define update'); - - SELECT CURRENT_SETTING('disable.LinkageDefineTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE linkage_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = OLD.LINKAGE_NAME; - END; - END IF; - - SET SESSION "disable.LinkageSettingTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_LINKAGE_DEFINE ON linkage_define; -CREATE TRIGGER TU_LINKAGE_DEFINE BEFORE UPDATE ON linkage_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_LINKAGE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_LINKAGE_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_define', 'linkage_name,func_name', concat(OLD.LINKAGE_NAME,',',OLD.FUNC_NAME), concat(NEW.LINKAGE_NAME,',',NEW.FUNC_NAME), getTableSubSystem('linkage_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_LINKAGE_DEFINE ON linkage_define; -CREATE TRIGGER TUA_LINKAGE_DEFINE AFTER UPDATE ON linkage_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_LINKAGE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_LINKAGE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.LinkageSettingTrigger" = 1; - - CALL kbdDebugInfo('linkage_define delete','linkage_define delete'); - - SELECT CURRENT_SETTING('disable.LinkageDefineTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - UPDATE linkage_setting SET - TIMEFLAG = floor(extract(epoch from now())) - WHERE NAME = OLD.LINKAGE_NAME; - END; - END IF; - - SET SESSION "disable.LinkageSettingTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_define', 'linkage_name,func_name', concat(OLD.LINKAGE_NAME,',',OLD.FUNC_NAME), '', getTableSubSystem('linkage_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_LINKAGE_DEFINE ON linkage_define; -CREATE TRIGGER TD_LINKAGE_DEFINE AFTER DELETE ON linkage_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_LINKAGE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_LINKAGE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --仅仅修改时标 - NEW.TIMEFLAG = floor(extract(epoch from now())); - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_LINKAGE_FUNCTION ON linkage_function; -CREATE TRIGGER TI_LINKAGE_FUNCTION BEFORE INSERT ON linkage_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_LINKAGE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_LINKAGE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_function', 'name,action_name', '', concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('linkage_function')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_LINKAGE_FUNCTION ON linkage_function; -CREATE TRIGGER TIA_LINKAGE_FUNCTION AFTER INSERT ON linkage_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_LINKAGE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_LINKAGE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --修改对应联动功能关系表 - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE linkage_define SET - TIMEFLAG = NEW.TIMEFLAG, - FUNC_NAME = NEW.NAME - WHERE FUNC_NAME = OLD.NAME; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_LINKAGE_FUNCTION ON linkage_function; -CREATE TRIGGER TU_LINKAGE_FUNCTION BEFORE UPDATE ON linkage_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_LINKAGE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_LINKAGE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('linkage_function')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_LINKAGE_FUNCTION ON linkage_function; -CREATE TRIGGER TUA_LINKAGE_FUNCTION AFTER UPDATE ON linkage_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_LINKAGE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_LINKAGE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --删除关联了此功能的联动定义 - --检查功能是否被删除 - IF NOT EXISTS (SELECT * FROM linkage_function WHERE NAME = OLD.NAME) THEN - BEGIN - DELETE FROM linkage_define WHERE FUNC_NAME = OLD.NAME; - END; - ELSE - BEGIN - --修改时标 - UPDATE linkage_define SET - TIMEFLAG = floor(extract(epoch from now())) - WHERE FUNC_NAME = OLD.NAME; - END; - END IF; - - - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), '', getTableSubSystem('linkage_function')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_LINKAGE_FUNCTION ON linkage_function; -CREATE TRIGGER TD_LINKAGE_FUNCTION AFTER DELETE ON linkage_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_LINKAGE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_LINKAGE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.LinkageDefineTrigger" = 1; - - CALL kbdDebugInfo('linkage_setting insert','linkage_setting insert'); - - SELECT CURRENT_SETTING('disable.LinkageSettingTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - END; - END IF; - - SET SESSION "disable.LinkageDefineTrigger" = 0; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_LINKAGE_SETTING ON linkage_setting; -CREATE TRIGGER TI_LINKAGE_SETTING BEFORE INSERT ON linkage_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_LINKAGE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_LINKAGE_SETTING() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'linkage_setting', 'name', '', NEW.NAME, getTableSubSystem('linkage_setting')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_LINKAGE_SETTING ON linkage_setting; -CREATE TRIGGER TIA_LINKAGE_SETTING AFTER INSERT ON linkage_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_LINKAGE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_LINKAGE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --修改对应联动功能关系表 - --避免触发器循环 - SET SESSION "disable.LinkageDefineTrigger" = 1; - - CALL kbdDebugInfo('linkage_setting update','linkage_setting update'); - - SELECT CURRENT_SETTING('disable.LinkageSettingTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - IF NEW.NAME<>OLD.NAME THEN - UPDATE linkage_define SET - LINKAGE_NAME = NEW.NAME - WHERE LINKAGE_NAME = OLD.NAME; - END IF; - END; - END IF; - - SET SESSION "disable.LinkageDefineTrigger" = 0; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_LINKAGE_SETTING ON linkage_setting; -CREATE TRIGGER TU_LINKAGE_SETTING BEFORE UPDATE ON linkage_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_LINKAGE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_LINKAGE_SETTING() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'linkage_setting', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('linkage_setting')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_LINKAGE_SETTING ON linkage_setting; -CREATE TRIGGER TUA_LINKAGE_SETTING AFTER UPDATE ON linkage_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_LINKAGE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_LINKAGE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --删除关联了此联动的功能关联 - --避免触发器循环 - SET SESSION "disable.LinkageDefineTrigger" = 1; - - CALL kbdDebugInfo('linkage_setting delete','linkage_setting delete'); - - SELECT CURRENT_SETTING('disable.LinkageSettingTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - DELETE FROM linkage_define WHERE LINKAGE_NAME = OLD.NAME; - END; - END IF; - - SET SESSION "disable.LinkageDefineTrigger" = 0; - - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'linkage_setting', 'name', OLD.NAME, '', getTableSubSystem('linkage_setting')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_LINKAGE_SETTING ON linkage_setting; -CREATE TRIGGER TD_LINKAGE_SETTING AFTER DELETE ON linkage_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_LINKAGE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_MIX_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'mix_control', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('mix_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_MIX_CONTROL ON mix_control; -CREATE TRIGGER TIA_MIX_CONTROL AFTER INSERT ON mix_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_MIX_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_MIX_CONTROL() RETURNS TRIGGER AS $$ -BEGIN - - --修改功能名称 - IF COALESCE(NEW.RTU_TAG,'') = '' THEN - BEGIN - NEW.OFFSET_NO = '-1'; - END; - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_MIX_CONTROL ON mix_control; -CREATE TRIGGER TU_MIX_CONTROL BEFORE UPDATE ON mix_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_MIX_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_MIX_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'mix_control', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('mix_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_MIX_CONTROL ON mix_control; -CREATE TRIGGER TUA_MIX_CONTROL AFTER UPDATE ON mix_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_MIX_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_MIX_CONTROL() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'mix_control', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('mix_control')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_MIX_CONTROL ON mix_control; -CREATE TRIGGER TDA_MIX_CONTROL AFTER DELETE ON mix_control FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_MIX_CONTROL(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_MIX_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - CALL kbdDebugInfo('FES MIX update','In TI_MIX_MAP_TO_FES'); - - SET SESSION "disable.FesMixTrigger" = 1; - - SELECT CURRENT_SETTING('disable.MixMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME = concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - SET SESSION "disable.FesMixTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'mix_map_to_fes', 'key_id_tag', '', NEW.KEY_ID_TAG, getTableSubSystem('mix_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_MIX_MAP_TO_FES ON mix_map_to_fes; -CREATE TRIGGER TI_MIX_MAP_TO_FES AFTER INSERT ON mix_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_MIX_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_MIX_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - IF NEW.RTU_TAG = OLD.RTU_TAG AND - NEW.DOT_NO = OLD.DOT_NO AND - NEW.KEY_ID_TAG = OLD.KEY_ID_TAG - THEN RETURN NEW; - END IF; - - - SET SESSION "disable.FesMixTrigger" = 1; - - SELECT CURRENT_SETTING('disable.MixMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME=concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - - - IF COALESCE(NEW.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(NEW.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME=getBeforeFirstDot(NEW.KEY_ID_TAG), - APP_TAG_NAME=getAfterFirstDot(NEW.KEY_ID_TAG), - APP_COLUMN_NAME='value' - WHERE TAG_NAME=concat(NEW.RTU_TAG,'.',NEW.DOT_NO); - END IF; - - END; - ELSE NEW.DOT_NO = '-1'; - END IF; - END; - END IF; - - SET SESSION "disable.FesMixTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_MIX_MAP_TO_FES ON mix_map_to_fes; -CREATE TRIGGER TU_MIX_MAP_TO_FES BEFORE UPDATE ON mix_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_MIX_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_MIX_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'mix_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('mix_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_MIX_MAP_TO_FES ON mix_map_to_fes; -CREATE TRIGGER TUA_MIX_MAP_TO_FES AFTER UPDATE ON mix_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_MIX_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_MIX_MAP_TO_FES() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - CALL kbdDebugInfo('FES MIX update','In TD_MIX_MAP_TO_FES'); - - SET SESSION "disable.FesMixTrigger" = 1; - - SELECT CURRENT_SETTING('disable.MixMapToFesTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - - IF COALESCE(OLD.RTU_TAG,'') <> '' THEN - BEGIN - IF COALESCE(OLD.DOT_NO,'') <> '' THEN - UPDATE fes_mix SET - APP_TABLE_NAME='', - APP_TAG_NAME='', - APP_COLUMN_NAME='' - WHERE TAG_NAME = concat(OLD.RTU_TAG,'.',OLD.DOT_NO); - END IF; - - END; - END IF; - END; - END IF; - - SET SESSION "disable.FesMixTrigger" = 0; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_MIX_MAP_TO_FES ON mix_map_to_fes; -CREATE TRIGGER TD_MIX_MAP_TO_FES BEFORE DELETE ON mix_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_MIX_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_MIX_MAP_TO_FES() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'mix_map_to_fes', 'key_id_tag', OLD.KEY_ID_TAG, '', getTableSubSystem('mix_map_to_fes')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_MIX_MAP_TO_FES ON mix_map_to_fes; -CREATE TRIGGER TDA_MIX_MAP_TO_FES AFTER DELETE ON mix_map_to_fes FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_MIX_MAP_TO_FES(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_MIX_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* - INSERT INTO mix( - TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, IS_CONTROL, STATE_TEXT_NAME, GRAY, CONTRAST, QCOLOR, RAW_VALUE, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, METHOD, ALARM_PRIORITY, PIC_NAME, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, CAMERA_TAG, PRESET_ID) SELECT - concat(TAG_NAME, '.' , getAfterLastDot(NEW.TAG_NAME)),NEW.DESCRIPTION,TAG_NAME,NEW.SEQ_NO,LOCATION_ID, SUB_SYSTEM, '', NEW.IS_CONTROL, NEW.STATE_TEXT_NAME,GRAY, CONTRAST, QCOLOR, '0', VALUE, STATUS, '0', '0', '', NEW.ALARM_PRIORITY, '', '', '', '', NEW.ALARM_DELAY_TIME,NEW.IS_WATER_ALM,NEW.IS_ACK_ON_RTN,NEW.DEL_ACT_ON_ACK,NEW.IS_NEVER_ALM_ON_RTN,REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, NEW.TAG_NAME, NEW.IS_SAMPLE,NEW.IS_STATISTICS,NEW.SAMPLE_PERIOD,NEW.POINT_TYPE,NEW.POINT_CLASS,NEW.POINT_PROPERTY,NEW.POINT_SORT,'', '' - FROM dev_info WHERE DEV_TP_NAME = NEW.DEV_TP_NAME; -*/ - - INSERT INTO temp_plugin_point_map_mix - (PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME, FES_TEMP_OUT_NAME) - SELECT - PLUGIN_NAME, TEMP_NAME, getAfterLastDot(NEW.TAG_NAME),'','','' - FROM temp_plugin_dev_map WHERE TEMP_NAME = NEW.DEV_TP_NAME; -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'mix_temp_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('mix_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_MIX_TEMP_DEFINE ON mix_temp_define; -CREATE TRIGGER TI_MIX_TEMP_DEFINE AFTER INSERT ON mix_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_MIX_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_MIX_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - /* - UPDATE mix SET - TAG_NAME = concat(DEVICE, '.', getAfterLastDot(NEW.TAG_NAME)), - DESCRIPTION = NEW.DESCRIPTION, - SEQ_NO = NEW.SEQ_NO, - IS_CONTROL = NEW.IS_CONTROL, - STATE_TEXT_NAME = NEW.STATE_TEXT_NAME, - ALARM_PRIORITY = NEW.ALARM_PRIORITY, - ALARM_DELAY_TIME = NEW.ALARM_DELAY_TIME, - IS_WATER_ALM = NEW.IS_WATER_ALM, - IS_ACK_ON_RTN = NEW.IS_ACK_ON_RTN, - DEL_ACT_ON_ACK = NEW.DEL_ACT_ON_ACK, - IS_NEVER_ALM_ON_RTN = NEW.IS_NEVER_ALM_ON_RTN, - POINT_TP_NAME = NEW.TAG_NAME, - IS_SAMPLE = NEW.IS_SAMPLE, - IS_STATISTICS = NEW.IS_STATISTICS, - SAMPLE_PERIOD = NEW.SAMPLE_PERIOD, - POINT_TYPE = NEW.POINT_TYPE, - POINT_CLASS = NEW.POINT_CLASS, - POINT_PROPERTY = NEW.POINT_PROPERTY, - POINT_SORT = NEW.POINT_SORT - WHERE POINT_TP_NAME=OLD.TAG_NAME; - - UPDATE mix_control SET - CTRL_ACT_NAME = NEW.CTRL_ACT_NAME, - CTRL_TYPE = NEW.CTRL_TYPE, - IS_TAGT_STATE = NEW.IS_TAGT_STATE, - CTRL_TIMEOUT = NEW.CTRL_TIMEOUT, - RESV_TIMEOUT = NEW.RESV_TIMEOUT, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - CTRL_TOLERANCE = NEW.CTRL_TOLERANCE, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - POINT_TP_NAME = NEW.TAG_NAME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - - UPDATE mix_map_to_fes SET - POINT_TP_NAME = NEW.TAG_NAME, - BASE = NEW.BASE, - COEFF = NEW.COEFF, - RANGE_UP = NEW.RANGE_UP, - RANGE_LOW = NEW.RANGE_LOW, - IS_FILTER_ERROR = NEW.IS_FILTER_ERROR, - IS_FILTER_DISTURB = NEW.IS_FILTER_DISTURB, - DISTURB_TIME = NEW.DISTURB_TIME - WHERE POINT_TP_NAME = OLD.TAG_NAME; - */ - - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - UPDATE temp_plugin_point_map_mix - SET TEMP_POINT_NAME = getAfterLastDot(NEW.TAG_NAME) - WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'mix_temp_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('mix_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_MIX_TEMP_DEFINE ON mix_temp_define; -CREATE TRIGGER TU_MIX_TEMP_DEFINE AFTER UPDATE ON mix_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_MIX_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_MIX_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM temp_plugin_point_map_mix WHERE TEMP_NAME = OLD.DEV_TP_NAME AND TEMP_POINT_NAME = getAfterLastDot(OLD.TAG_NAME); - /* - DELETE FROM mix WHERE POINT_TP_NAME = OLD.TAG_NAME; - */ -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_MIX_TEMP_DEFINE ON mix_temp_define; -CREATE TRIGGER TD_MIX_TEMP_DEFINE BEFORE DELETE ON mix_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_MIX_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_MIX_TEMP_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'mix_temp_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('mix_temp_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_MIX_TEMP_DEFINE ON mix_temp_define; -CREATE TRIGGER TDA_MIX_TEMP_DEFINE AFTER DELETE ON mix_temp_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_MIX_TEMP_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_OPC_CONFIG_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'opc_config_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('opc_config_define')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_OPC_CONFIG_DEFINE ON opc_config_define; -CREATE TRIGGER TIA_OPC_CONFIG_DEFINE AFTER INSERT ON opc_config_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_OPC_CONFIG_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_OPC_CONFIG_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'opc_config_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('opc_config_define')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_OPC_CONFIG_DEFINE ON opc_config_define; -CREATE TRIGGER TUA_OPC_CONFIG_DEFINE AFTER UPDATE ON opc_config_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_OPC_CONFIG_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_OPC_CONFIG_DEFINE() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'opc_config_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('opc_config_define')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_OPC_CONFIG_DEFINE ON opc_config_define; -CREATE TRIGGER TDA_OPC_CONFIG_DEFINE AFTER DELETE ON opc_config_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_OPC_CONFIG_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_OPC_CONFIG_VERSION() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'opc_config_version', 'domain_id,sub_system', '', concat(NEW.DOMAIN_ID,',',NEW.SUB_SYSTEM), getTableSubSystem('opc_config_version')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_OPC_CONFIG_VERSION ON opc_config_version; -CREATE TRIGGER TIA_OPC_CONFIG_VERSION AFTER INSERT ON opc_config_version FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_OPC_CONFIG_VERSION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_OPC_CONFIG_VERSION() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'opc_config_version', 'domain_id,sub_system', concat(OLD.DOMAIN_ID,',',OLD.SUB_SYSTEM), concat(NEW.DOMAIN_ID,',',NEW.SUB_SYSTEM), getTableSubSystem('opc_config_version')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_OPC_CONFIG_VERSION ON opc_config_version; -CREATE TRIGGER TUA_OPC_CONFIG_VERSION AFTER UPDATE ON opc_config_version FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_OPC_CONFIG_VERSION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_OPC_CONFIG_VERSION() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'opc_config_version', 'domain_id,sub_system', concat(OLD.DOMAIN_ID,',',OLD.SUB_SYSTEM), '', getTableSubSystem('opc_config_version')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_OPC_CONFIG_VERSION ON opc_config_version; -CREATE TRIGGER TDA_OPC_CONFIG_VERSION AFTER DELETE ON opc_config_version FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_OPC_CONFIG_VERSION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_area_info', 'id', '', NEW.ID, getTableSubSystem('pa_area_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_AREA_INFO ON pa_area_info; -CREATE TRIGGER TIA_PA_AREA_INFO AFTER INSERT ON pa_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_area_info', 'id', OLD.ID, NEW.ID, getTableSubSystem('pa_area_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_AREA_INFO ON pa_area_info; -CREATE TRIGGER TUA_PA_AREA_INFO AFTER UPDATE ON pa_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_area_info', 'id', OLD.ID, '', getTableSubSystem('pa_area_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_AREA_INFO ON pa_area_info; -CREATE TRIGGER TDA_PA_AREA_INFO AFTER DELETE ON pa_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_AUDIO_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_audio_info', 'id', '', NEW.ID, getTableSubSystem('pa_audio_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_AUDIO_INFO ON pa_audio_info; -CREATE TRIGGER TIA_PA_AUDIO_INFO AFTER INSERT ON pa_audio_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_AUDIO_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_AUDIO_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_audio_info', 'id', OLD.ID, NEW.ID, getTableSubSystem('pa_audio_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_AUDIO_INFO ON pa_audio_info; -CREATE TRIGGER TUA_PA_AUDIO_INFO AFTER UPDATE ON pa_audio_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_AUDIO_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_AUDIO_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_audio_info', 'id', OLD.ID, '', getTableSubSystem('pa_audio_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_AUDIO_INFO ON pa_audio_info; -CREATE TRIGGER TDA_PA_AUDIO_INFO AFTER DELETE ON pa_audio_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_AUDIO_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_BROADCAST_GROUP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_broadcast_group', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_broadcast_group')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_BROADCAST_GROUP ON pa_broadcast_group; -CREATE TRIGGER TIA_PA_BROADCAST_GROUP AFTER INSERT ON pa_broadcast_group FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_BROADCAST_GROUP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_BROADCAST_GROUP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_broadcast_group', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_broadcast_group')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_BROADCAST_GROUP ON pa_broadcast_group; -CREATE TRIGGER TUA_PA_BROADCAST_GROUP AFTER UPDATE ON pa_broadcast_group FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_BROADCAST_GROUP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_BROADCAST_GROUP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_broadcast_group', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pa_broadcast_group')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_BROADCAST_GROUP ON pa_broadcast_group; -CREATE TRIGGER TDA_PA_BROADCAST_GROUP AFTER DELETE ON pa_broadcast_group FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_BROADCAST_GROUP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_ctrl_param', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('pa_ctrl_param')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_CTRL_PARAM ON pa_ctrl_param; -CREATE TRIGGER TIA_PA_CTRL_PARAM AFTER INSERT ON pa_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_ctrl_param', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('pa_ctrl_param')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_CTRL_PARAM ON pa_ctrl_param; -CREATE TRIGGER TUA_PA_CTRL_PARAM AFTER UPDATE ON pa_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_ctrl_param', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('pa_ctrl_param')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_CTRL_PARAM ON pa_ctrl_param; -CREATE TRIGGER TDA_PA_CTRL_PARAM AFTER DELETE ON pa_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_location_area_def', 'location_id,area_id', '', concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pa_location_area_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_LOCATION_AREA_DEF ON pa_location_area_def; -CREATE TRIGGER TIA_PA_LOCATION_AREA_DEF AFTER INSERT ON pa_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pa_location_area_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_LOCATION_AREA_DEF ON pa_location_area_def; -CREATE TRIGGER TUA_PA_LOCATION_AREA_DEF AFTER UPDATE ON pa_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), '', getTableSubSystem('pa_location_area_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_LOCATION_AREA_DEF ON pa_location_area_def; -CREATE TRIGGER TDA_PA_LOCATION_AREA_DEF AFTER DELETE ON pa_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_LOCATION_SEQ_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_location_seq_def', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('pa_location_seq_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_LOCATION_SEQ_DEF ON pa_location_seq_def; -CREATE TRIGGER TIA_PA_LOCATION_SEQ_DEF AFTER INSERT ON pa_location_seq_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_LOCATION_SEQ_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_LOCATION_SEQ_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_location_seq_def', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('pa_location_seq_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_LOCATION_SEQ_DEF ON pa_location_seq_def; -CREATE TRIGGER TUA_PA_LOCATION_SEQ_DEF AFTER UPDATE ON pa_location_seq_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_LOCATION_SEQ_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_LOCATION_SEQ_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_location_seq_def', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('pa_location_seq_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_LOCATION_SEQ_DEF ON pa_location_seq_def; -CREATE TRIGGER TDA_PA_LOCATION_SEQ_DEF AFTER DELETE ON pa_location_seq_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_LOCATION_SEQ_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_OPERATOR_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_operator_def', 'id', '', NEW.ID, getTableSubSystem('pa_operator_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_OPERATOR_DEF ON pa_operator_def; -CREATE TRIGGER TIA_PA_OPERATOR_DEF AFTER INSERT ON pa_operator_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_OPERATOR_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_OPERATOR_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_operator_def', 'id', OLD.ID, NEW.ID, getTableSubSystem('pa_operator_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_OPERATOR_DEF ON pa_operator_def; -CREATE TRIGGER TUA_PA_OPERATOR_DEF AFTER UPDATE ON pa_operator_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_OPERATOR_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_OPERATOR_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_operator_def', 'id', OLD.ID, '', getTableSubSystem('pa_operator_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_OPERATOR_DEF ON pa_operator_def; -CREATE TRIGGER TDA_PA_OPERATOR_DEF AFTER DELETE ON pa_operator_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_OPERATOR_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_OPERATOR_MAP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_operator_map', 'user_grp_id', '', NEW.USER_GRP_ID, getTableSubSystem('pa_operator_map')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_OPERATOR_MAP ON pa_operator_map; -CREATE TRIGGER TIA_PA_OPERATOR_MAP AFTER INSERT ON pa_operator_map FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_OPERATOR_MAP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_OPERATOR_MAP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_operator_map', 'user_grp_id', OLD.USER_GRP_ID, NEW.USER_GRP_ID, getTableSubSystem('pa_operator_map')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_OPERATOR_MAP ON pa_operator_map; -CREATE TRIGGER TUA_PA_OPERATOR_MAP AFTER UPDATE ON pa_operator_map FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_OPERATOR_MAP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_OPERATOR_MAP() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_operator_map', 'user_grp_id', OLD.USER_GRP_ID, '', getTableSubSystem('pa_operator_map')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_OPERATOR_MAP ON pa_operator_map; -CREATE TRIGGER TDA_PA_OPERATOR_MAP AFTER DELETE ON pa_operator_map FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_OPERATOR_MAP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PA_TIMED_AUDIO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pa_timed_audio', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_timed_audio')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PA_TIMED_AUDIO ON pa_timed_audio; -CREATE TRIGGER TIA_PA_TIMED_AUDIO AFTER INSERT ON pa_timed_audio FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PA_TIMED_AUDIO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PA_TIMED_AUDIO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pa_timed_audio', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pa_timed_audio')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PA_TIMED_AUDIO ON pa_timed_audio; -CREATE TRIGGER TUA_PA_TIMED_AUDIO AFTER UPDATE ON pa_timed_audio FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PA_TIMED_AUDIO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PA_TIMED_AUDIO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pa_timed_audio', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pa_timed_audio')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PA_TIMED_AUDIO ON pa_timed_audio; -CREATE TRIGGER TDA_PA_TIMED_AUDIO AFTER DELETE ON pa_timed_audio FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PA_TIMED_AUDIO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_area_info', 'id', '', NEW.ID, getTableSubSystem('pis_area_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_AREA_INFO ON pis_area_info; -CREATE TRIGGER TIA_PIS_AREA_INFO AFTER INSERT ON pis_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_area_info', 'id', OLD.ID, NEW.ID, getTableSubSystem('pis_area_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_AREA_INFO ON pis_area_info; -CREATE TRIGGER TUA_PIS_AREA_INFO AFTER UPDATE ON pis_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_AREA_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_area_info', 'id', OLD.ID, '', getTableSubSystem('pis_area_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_AREA_INFO ON pis_area_info; -CREATE TRIGGER TDA_PIS_AREA_INFO AFTER DELETE ON pis_area_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_AREA_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'pis_ctrl_param', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('pis_ctrl_param')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_CTRL_PARAM ON pis_ctrl_param; -CREATE TRIGGER TIA_PIS_CTRL_PARAM AFTER INSERT ON pis_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'pis_ctrl_param', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('pis_ctrl_param')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_CTRL_PARAM ON pis_ctrl_param; -CREATE TRIGGER TUA_PIS_CTRL_PARAM AFTER UPDATE ON pis_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_CTRL_PARAM() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'pis_ctrl_param', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('pis_ctrl_param')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_CTRL_PARAM ON pis_ctrl_param; -CREATE TRIGGER TDA_PIS_CTRL_PARAM AFTER DELETE ON pis_ctrl_param FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_CTRL_PARAM(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_DISPLAY_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_display_info', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_display_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_DISPLAY_INFO ON pis_display_info; -CREATE TRIGGER TIA_PIS_DISPLAY_INFO AFTER INSERT ON pis_display_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_DISPLAY_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_DISPLAY_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_display_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_display_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_DISPLAY_INFO ON pis_display_info; -CREATE TRIGGER TUA_PIS_DISPLAY_INFO AFTER UPDATE ON pis_display_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_DISPLAY_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_DISPLAY_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_display_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pis_display_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_DISPLAY_INFO ON pis_display_info; -CREATE TRIGGER TDA_PIS_DISPLAY_INFO AFTER DELETE ON pis_display_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_DISPLAY_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_fes_location_info', 'pis_station_id', '', NEW.PIS_STATION_ID, getTableSubSystem('pis_fes_location_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_FES_LOCATION_INFO ON pis_fes_location_info; -CREATE TRIGGER TIA_PIS_FES_LOCATION_INFO AFTER INSERT ON pis_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_fes_location_info', 'pis_station_id', OLD.PIS_STATION_ID, NEW.PIS_STATION_ID, getTableSubSystem('pis_fes_location_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_FES_LOCATION_INFO ON pis_fes_location_info; -CREATE TRIGGER TUA_PIS_FES_LOCATION_INFO AFTER UPDATE ON pis_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_FES_LOCATION_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_fes_location_info', 'pis_station_id', OLD.PIS_STATION_ID, '', getTableSubSystem('pis_fes_location_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_FES_LOCATION_INFO ON pis_fes_location_info; -CREATE TRIGGER TDA_PIS_FES_LOCATION_INFO AFTER DELETE ON pis_fes_location_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_FES_LOCATION_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_location_area_def', 'location_id,area_id', '', concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pis_location_area_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_LOCATION_AREA_DEF ON pis_location_area_def; -CREATE TRIGGER TIA_PIS_LOCATION_AREA_DEF AFTER INSERT ON pis_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), concat(NEW.LOCATION_ID,',',NEW.AREA_ID), getTableSubSystem('pis_location_area_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_LOCATION_AREA_DEF ON pis_location_area_def; -CREATE TRIGGER TUA_PIS_LOCATION_AREA_DEF AFTER UPDATE ON pis_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_LOCATION_AREA_DEF() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_location_area_def', 'location_id,area_id', concat(OLD.LOCATION_ID,',',OLD.AREA_ID), '', getTableSubSystem('pis_location_area_def')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_LOCATION_AREA_DEF ON pis_location_area_def; -CREATE TRIGGER TDA_PIS_LOCATION_AREA_DEF AFTER DELETE ON pis_location_area_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_LOCATION_AREA_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_PIS_MESSAGE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'pis_message_info', 'id,location_id', '', concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_message_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_PIS_MESSAGE_INFO ON pis_message_info; -CREATE TRIGGER TIA_PIS_MESSAGE_INFO AFTER INSERT ON pis_message_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_PIS_MESSAGE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_PIS_MESSAGE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'pis_message_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), concat(NEW.ID,',',NEW.LOCATION_ID), getTableSubSystem('pis_message_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_PIS_MESSAGE_INFO ON pis_message_info; -CREATE TRIGGER TUA_PIS_MESSAGE_INFO AFTER UPDATE ON pis_message_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_PIS_MESSAGE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_PIS_MESSAGE_INFO() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'pis_message_info', 'id,location_id', concat(OLD.ID,',',OLD.LOCATION_ID), '', getTableSubSystem('pis_message_info')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_PIS_MESSAGE_INFO ON pis_message_info; -CREATE TRIGGER TDA_PIS_MESSAGE_INFO AFTER DELETE ON pis_message_info FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_PIS_MESSAGE_INFO(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_DATASET() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_dataset', 'id', '', NEW.id, getTableSubSystem('scl_dataset')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_DATASET ON scl_dataset; -CREATE TRIGGER TIA_SCL_DATASET AFTER INSERT ON scl_dataset FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_DATASET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_DATASET() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_dataset', 'id', OLD.id, NEW.id, getTableSubSystem('scl_dataset')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_DATASET ON scl_dataset; -CREATE TRIGGER TUA_SCL_DATASET AFTER UPDATE ON scl_dataset FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_DATASET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_DATASET() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_dataset', 'id', OLD.id, '', getTableSubSystem('scl_dataset')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_DATASET ON scl_dataset; -CREATE TRIGGER TDA_SCL_DATASET AFTER DELETE ON scl_dataset FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_DATASET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_FCDA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_fcda', 'id', '', NEW.id, getTableSubSystem('scl_fcda')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_FCDA ON scl_fcda; -CREATE TRIGGER TIA_SCL_FCDA AFTER INSERT ON scl_fcda FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_FCDA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_FCDA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_fcda', 'id', OLD.id, NEW.id, getTableSubSystem('scl_fcda')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_FCDA ON scl_fcda; -CREATE TRIGGER TUA_SCL_FCDA AFTER UPDATE ON scl_fcda FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_FCDA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_FCDA() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_fcda', 'id', OLD.id, '', getTableSubSystem('scl_fcda')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_FCDA ON scl_fcda; -CREATE TRIGGER TDA_SCL_FCDA AFTER DELETE ON scl_fcda FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_FCDA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_LCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_lcb', 'id', '', NEW.id, getTableSubSystem('scl_lcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_LCB ON scl_lcb; -CREATE TRIGGER TIA_SCL_LCB AFTER INSERT ON scl_lcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_LCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_LCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_lcb', 'id', OLD.id, NEW.id, getTableSubSystem('scl_lcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_LCB ON scl_lcb; -CREATE TRIGGER TUA_SCL_LCB AFTER UPDATE ON scl_lcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_LCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_LCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_lcb', 'id', OLD.id, '', getTableSubSystem('scl_lcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_LCB ON scl_lcb; -CREATE TRIGGER TDA_SCL_LCB AFTER DELETE ON scl_lcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_LCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_RCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_rcb', 'id', '', NEW.id, getTableSubSystem('scl_rcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_RCB ON scl_rcb; -CREATE TRIGGER TIA_SCL_RCB AFTER INSERT ON scl_rcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_RCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_RCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_rcb', 'id', OLD.id, NEW.id, getTableSubSystem('scl_rcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_RCB ON scl_rcb; -CREATE TRIGGER TUA_SCL_RCB AFTER UPDATE ON scl_rcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_RCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_RCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_rcb', 'id', OLD.id, '', getTableSubSystem('scl_rcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_RCB ON scl_rcb; -CREATE TRIGGER TDA_SCL_RCB AFTER DELETE ON scl_rcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_RCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_RUNTIME() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_runtime', 'id', '', NEW.id, getTableSubSystem('scl_runtime')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_RUNTIME ON scl_runtime; -CREATE TRIGGER TIA_SCL_RUNTIME AFTER INSERT ON scl_runtime FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_RUNTIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_RUNTIME() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_runtime', 'id', OLD.id, NEW.id, getTableSubSystem('scl_runtime')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_RUNTIME ON scl_runtime; -CREATE TRIGGER TUA_SCL_RUNTIME AFTER UPDATE ON scl_runtime FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_RUNTIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_RUNTIME() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_runtime', 'id', OLD.id, '', getTableSubSystem('scl_runtime')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_RUNTIME ON scl_runtime; -CREATE TRIGGER TDA_SCL_RUNTIME AFTER DELETE ON scl_runtime FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_RUNTIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SCL_SGCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'scl_sgcb', 'id', '', NEW.id, getTableSubSystem('scl_sgcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SCL_SGCB ON scl_sgcb; -CREATE TRIGGER TIA_SCL_SGCB AFTER INSERT ON scl_sgcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SCL_SGCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SCL_SGCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'scl_sgcb', 'id', OLD.id, NEW.id, getTableSubSystem('scl_sgcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SCL_SGCB ON scl_sgcb; -CREATE TRIGGER TUA_SCL_SGCB AFTER UPDATE ON scl_sgcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SCL_SGCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_SCL_SGCB() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'scl_sgcb', 'id', OLD.id, '', getTableSubSystem('scl_sgcb')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_SCL_SGCB ON scl_sgcb; -CREATE TRIGGER TDA_SCL_SGCB AFTER DELETE ON scl_sgcb FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_SCL_SGCB(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_SEQUENCE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_SEQUENCE_ACTION ON sequence_action; -CREATE TRIGGER TI_SEQUENCE_ACTION BEFORE INSERT ON sequence_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_SEQUENCE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SEQUENCE_ACTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_action', 'name', '', NEW.NAME, getTableSubSystem('sequence_action')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SEQUENCE_ACTION ON sequence_action; -CREATE TRIGGER TIA_SEQUENCE_ACTION AFTER INSERT ON sequence_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SEQUENCE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_SEQUENCE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - --修改对应功能 - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE sequence_function SET - TIMEFLAG = NEW.TIMEFLAG, - ACTION_NAME = NEW.NAME - WHERE ACTION_NAME = OLD.NAME; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_SEQUENCE_ACTION ON sequence_action; -CREATE TRIGGER TU_SEQUENCE_ACTION BEFORE UPDATE ON sequence_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_SEQUENCE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SEQUENCE_ACTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_action', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('sequence_action')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SEQUENCE_ACTION ON sequence_action; -CREATE TRIGGER TUA_SEQUENCE_ACTION AFTER UPDATE ON sequence_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SEQUENCE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_SEQUENCE_ACTION() RETURNS TRIGGER AS $$ -BEGIN - --删除关联了此动作的功能 - DELETE FROM sequence_function WHERE ACTION_NAME = OLD.NAME; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_action', 'name', OLD.NAME, '', getTableSubSystem('sequence_action')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_SEQUENCE_ACTION ON sequence_action; -CREATE TRIGGER TD_SEQUENCE_ACTION AFTER DELETE ON sequence_action FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_SEQUENCE_ACTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_SEQUENCE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.SequenceSettingTrigger" = 1; - - CALL kbdDebugInfo('sequence_define Insert','sequence_define Insert'); - - SELECT CURRENT_SETTING('disable.SequenceDefineTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE sequence_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = NEW.SEQ_NAME; - END; - END IF; - - SET SESSION "disable.SequenceSettingTrigger" = 0; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_SEQUENCE_DEFINE ON sequence_define; -CREATE TRIGGER TI_SEQUENCE_DEFINE BEFORE INSERT ON sequence_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_SEQUENCE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SEQUENCE_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_define', 'seq_name,func_name', '', concat(NEW.SEQ_NAME,',',NEW.FUNC_NAME), getTableSubSystem('sequence_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SEQUENCE_DEFINE ON sequence_define; -CREATE TRIGGER TIA_SEQUENCE_DEFINE AFTER INSERT ON sequence_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SEQUENCE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_SEQUENCE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - - --修改对应联动功能关系表 - --避免触发器循环 - SET SESSION "disable.SequenceSettingTrigger" = 1; - - CALL kbdDebugInfo('sequence_define update','sequence_define update'); - - SELECT CURRENT_SETTING('disable.SequenceDefineTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE sequence_setting SET - TIMEFLAG = NEW.TIMEFLAG - WHERE NAME = OLD.SEQ_NAME; - END; - END IF; - - SET SESSION "disable.SequenceSettingTrigger" = 0; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_SEQUENCE_DEFINE ON sequence_define; -CREATE TRIGGER TU_SEQUENCE_DEFINE BEFORE UPDATE ON sequence_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_SEQUENCE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SEQUENCE_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_define', 'seq_name,func_name', concat(OLD.SEQ_NAME,',',OLD.FUNC_NAME), concat(NEW.SEQ_NAME,',',NEW.FUNC_NAME), getTableSubSystem('sequence_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SEQUENCE_DEFINE ON sequence_define; -CREATE TRIGGER TUA_SEQUENCE_DEFINE AFTER UPDATE ON sequence_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SEQUENCE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_SEQUENCE_DEFINE() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.SequenceSettingTrigger" = 1; - - CALL kbdDebugInfo('sequence_define delete','sequence_define delete'); - - SELECT CURRENT_SETTING('disable.SequenceDefineTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - UPDATE sequence_setting SET - TIMEFLAG = floor(extract(epoch from now())) - WHERE NAME = OLD.SEQ_NAME; - END; - END IF; - - SET SESSION "disable.SequenceSettingTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_define', 'seq_name,func_name', concat(OLD.SEQ_NAME,',',OLD.FUNC_NAME), '', getTableSubSystem('sequence_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_SEQUENCE_DEFINE ON sequence_define; -CREATE TRIGGER TD_SEQUENCE_DEFINE AFTER DELETE ON sequence_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_SEQUENCE_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_SEQUENCE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --仅仅修改时标 - NEW.TIMEFLAG = floor(extract(epoch from now())); - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_SEQUENCE_FUNCTION ON sequence_function; -CREATE TRIGGER TI_SEQUENCE_FUNCTION BEFORE INSERT ON sequence_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_SEQUENCE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SEQUENCE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - UPDATE sequence_define SET - TIMEFLAG = NEW.TIMEFLAG - WHERE FUNC_NAME = NEW.NAME; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_function', 'name,action_name', '', concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('sequence_function')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SEQUENCE_FUNCTION ON sequence_function; -CREATE TRIGGER TIA_SEQUENCE_FUNCTION AFTER INSERT ON sequence_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SEQUENCE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_SEQUENCE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --修改对应联动功能关系表 - NEW.TIMEFLAG = floor(extract(epoch from now())); - UPDATE sequence_define SET - TIMEFLAG = NEW.TIMEFLAG, - FUNC_NAME = NEW.NAME - WHERE FUNC_NAME = OLD.NAME; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_SEQUENCE_FUNCTION ON sequence_function; -CREATE TRIGGER TU_SEQUENCE_FUNCTION BEFORE UPDATE ON sequence_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_SEQUENCE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SEQUENCE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), concat(NEW.NAME,',',NEW.ACTION_NAME), getTableSubSystem('sequence_function')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SEQUENCE_FUNCTION ON sequence_function; -CREATE TRIGGER TUA_SEQUENCE_FUNCTION AFTER UPDATE ON sequence_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SEQUENCE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_SEQUENCE_FUNCTION() RETURNS TRIGGER AS $$ -BEGIN - --删除关联了此功能的联动定义 - --检查功能是否被删除 - IF NOT EXISTS (SELECT * FROM sequence_function WHERE NAME = OLD.NAME) THEN - BEGIN - DELETE FROM sequence_define WHERE FUNC_NAME = OLD.NAME; - END; - ELSE - BEGIN - --修改时标 - UPDATE sequence_define SET - TIMEFLAG = floor(extract(epoch from now())) - WHERE FUNC_NAME = OLD.NAME; - END; - END IF; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_function', 'name,action_name', concat(OLD.NAME,',',OLD.ACTION_NAME), '', getTableSubSystem('sequence_function')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_SEQUENCE_FUNCTION ON sequence_function; -CREATE TRIGGER TD_SEQUENCE_FUNCTION AFTER DELETE ON sequence_function FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_SEQUENCE_FUNCTION(); - - - -CREATE OR REPLACE FUNCTION FUNC_TI_SEQUENCE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --仅仅修改时标 - --避免触发器循环 - SET SESSION "disable.SequenceDefineTrigger" = 1; - - CALL kbdDebugInfo('sequence_setting insert','sequence_setting insert'); - - SELECT CURRENT_SETTING('disable.SequenceSettingTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - END; - END IF; - - SET SESSION "disable.SequenceDefineTrigger" = 0; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TI_SEQUENCE_SETTING ON sequence_setting; -CREATE TRIGGER TI_SEQUENCE_SETTING BEFORE INSERT ON sequence_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TI_SEQUENCE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_SEQUENCE_SETTING() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'sequence_setting', 'name', '', NEW.NAME, getTableSubSystem('sequence_setting')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_SEQUENCE_SETTING ON sequence_setting; -CREATE TRIGGER TIA_SEQUENCE_SETTING AFTER INSERT ON sequence_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_SEQUENCE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TU_SEQUENCE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --修改对应联动功能关系表 - --避免触发器循环 - SET SESSION "disable.SequenceDefineTrigger" = 1; - - CALL kbdDebugInfo('sequence_setting update','sequence_setting update'); - - SELECT CURRENT_SETTING('disable.SequenceSettingTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - NEW.TIMEFLAG = floor(extract(epoch from now())); - IF NEW.NAME<>OLD.NAME THEN - UPDATE sequence_define SET - SEQ_NAME = NEW.NAME - WHERE SEQ_NAME = OLD.NAME; - END IF; - END; - END IF; - - SET SESSION "disable.SequenceDefineTrigger" = 0; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TU_SEQUENCE_SETTING ON sequence_setting; -CREATE TRIGGER TU_SEQUENCE_SETTING BEFORE UPDATE ON sequence_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TU_SEQUENCE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_SEQUENCE_SETTING() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'sequence_setting', 'name', OLD.NAME, NEW.NAME, getTableSubSystem('sequence_setting')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_SEQUENCE_SETTING ON sequence_setting; -CREATE TRIGGER TUA_SEQUENCE_SETTING AFTER UPDATE ON sequence_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_SEQUENCE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TD_SEQUENCE_SETTING() RETURNS TRIGGER AS $$ -DECLARE flag int; -BEGIN - --删除关联了此联动的功能关联 - --避免触发器循环 - SET SESSION "disable.SequenceDefineTrigger" = 1; - - CALL kbdDebugInfo('sequence_setting delete','sequence_setting delete'); - - SELECT CURRENT_SETTING('disable.SequenceSettingTrigger') INTO flag; - IF flag = 0 THEN - BEGIN - DELETE FROM sequence_define WHERE SEQ_NAME = OLD.NAME; - END; - END IF; - - SET SESSION "disable.SequenceDefineTrigger" = 0; - -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'sequence_setting', 'name', OLD.NAME, '', getTableSubSystem('sequence_setting')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TD_SEQUENCE_SETTING ON sequence_setting; -CREATE TRIGGER TD_SEQUENCE_SETTING AFTER DELETE ON sequence_setting FOR EACH ROW -EXECUTE PROCEDURE FUNC_TD_SEQUENCE_SETTING(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_DEF() RETURNS TRIGGER AS $$ -BEGIN - - --插入测点分组表 - --插入测点表 - --插入时间测点变 - --插入返回分组表 - --插入返回参数表 - INSERT INTO stat_inst_para_grp - (PARA_GRP_TAG, DESCRIPTION, INST_TAG, SORT,LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)) , DESCRIPTION, NEW.INST_TAG, SORT,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_para WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 1; - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG, LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)),DESCRIPTION, 1, '', SORT, '', NEW.INST_TAG,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_para WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 0 AND COALESCE(TYPE,0) = 1; - - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, RANK, TIMESTAMP, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)),DESCRIPTION, 1, floor(extract(epoch from now())),SORT, '', NEW.INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_para WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 0 AND COALESCE(TYPE,0) = 2; - - INSERT INTO stat_inst_ret_grp - (RET_GRP_TAG, DESCRIPTION, INST_TAG, SORT,LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(RET_TAG)),DESCRIPTION, NEW.INST_TAG,SORT,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_ret WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 1; - - INSERT INTO stat_inst_ret_para - (RET_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, VALUE, IS_BIND, INST_TAG, LOCATION_ID, SUB_SYSTEM) - SELECT - concat(NEW.INST_TAG,'.',getAfterLastDot(RET_TAG)),DESCRIPTION, 1, '', SORT, '', 0, 0, NEW.INST_TAG,NEW.LOCATION_ID,NEW.SUB_SYSTEM - FROM stat_template_ret WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(ISGRP,0) = 0; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_def', 'inst_tag', '', NEW.INST_TAG, getTableSubSystem('stat_inst_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_DEF ON stat_inst_def; -CREATE TRIGGER TIA_STAT_INST_DEF AFTER INSERT ON stat_inst_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_DEF() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.INST_TAG <> OLD.INST_TAG THEN - BEGIN - UPDATE stat_inst_para_grp - SET INST_TAG = NEW.INST_TAG, - PARA_GRP_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_GRP_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_para_point - SET INST_TAG = NEW.INST_TAG, - PARA_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_para_time - SET INST_TAG = NEW.INST_TAG, - PARA_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(PARA_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_ret_grp - SET INST_TAG = NEW.INST_TAG, - RET_GRP_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(RET_GRP_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - UPDATE stat_inst_ret_para - SET INST_TAG = NEW.INST_TAG, - RET_TAG = concat(NEW.INST_TAG,'.',getAfterLastDot(RET_TAG)) - WHERE INST_TAG = OLD.INST_TAG; - - END; - END IF; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_def', 'inst_tag', OLD.INST_TAG, NEW.INST_TAG, getTableSubSystem('stat_inst_def')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_DEF ON stat_inst_def; -CREATE TRIGGER TUA_STAT_INST_DEF AFTER UPDATE ON stat_inst_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_DEF() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM stat_inst_para_grp WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_para_point WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_para_time WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_ret_grp WHERE INST_TAG = OLD.INST_TAG; - DELETE FROM stat_inst_ret_para WHERE INST_TAG = OLD.INST_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_def', 'inst_tag', OLD.INST_TAG, '', getTableSubSystem('stat_inst_def')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_DEF ON stat_inst_def; -CREATE TRIGGER TDA_STAT_INST_DEF AFTER DELETE ON stat_inst_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_PARA_GRP() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_para_grp', 'para_grp_tag', '', NEW.PARA_GRP_TAG, getTableSubSystem('stat_inst_para_grp')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_PARA_GRP ON stat_inst_para_grp; -CREATE TRIGGER TIA_STAT_INST_PARA_GRP AFTER INSERT ON stat_inst_para_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_PARA_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_PARA_GRP() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.PARA_GRP_TAG = OLD.PARA_GRP_TAG - THEN RETURN NEW; - END IF; - - UPDATE stat_inst_para_point - SET PARA_GRP_TAG = NEW.PARA_GRP_TAG - WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - - UPDATE stat_inst_para_time - SET PARA_GRP_TAG = NEW.PARA_GRP_TAG - WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_para_grp', 'para_grp_tag', OLD.PARA_GRP_TAG, NEW.PARA_GRP_TAG, getTableSubSystem('stat_inst_para_grp')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_PARA_GRP ON stat_inst_para_grp; -CREATE TRIGGER TUA_STAT_INST_PARA_GRP AFTER UPDATE ON stat_inst_para_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_PARA_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_PARA_GRP() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM stat_inst_para_point WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - DELETE FROM stat_inst_para_time WHERE PARA_GRP_TAG = OLD.PARA_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_para_grp', 'para_grp_tag', OLD.PARA_GRP_TAG, '', getTableSubSystem('stat_inst_para_grp')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_PARA_GRP ON stat_inst_para_grp; -CREATE TRIGGER TDA_STAT_INST_PARA_GRP AFTER DELETE ON stat_inst_para_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_PARA_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_PARA_POINT() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_para_point', 'para_tag', '', NEW.PARA_TAG, getTableSubSystem('stat_inst_para_point')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_PARA_POINT ON stat_inst_para_point; -CREATE TRIGGER TIA_STAT_INST_PARA_POINT AFTER INSERT ON stat_inst_para_point FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_PARA_POINT(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_PARA_POINT() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_para_point', 'para_tag', OLD.PARA_TAG, NEW.PARA_TAG, getTableSubSystem('stat_inst_para_point')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_PARA_POINT ON stat_inst_para_point; -CREATE TRIGGER TUA_STAT_INST_PARA_POINT AFTER UPDATE ON stat_inst_para_point FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_PARA_POINT(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_PARA_POINT() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_para_point', 'para_tag', OLD.PARA_TAG, '', getTableSubSystem('stat_inst_para_point')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_PARA_POINT ON stat_inst_para_point; -CREATE TRIGGER TDA_STAT_INST_PARA_POINT AFTER DELETE ON stat_inst_para_point FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_PARA_POINT(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_PARA_TIME() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_para_time', 'para_tag', '', NEW.PARA_TAG, getTableSubSystem('stat_inst_para_time')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_PARA_TIME ON stat_inst_para_time; -CREATE TRIGGER TIA_STAT_INST_PARA_TIME AFTER INSERT ON stat_inst_para_time FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_PARA_TIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_PARA_TIME() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_para_time', 'para_tag', OLD.PARA_TAG, NEW.PARA_TAG, getTableSubSystem('stat_inst_para_time')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_PARA_TIME ON stat_inst_para_time; -CREATE TRIGGER TUA_STAT_INST_PARA_TIME AFTER UPDATE ON stat_inst_para_time FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_PARA_TIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_PARA_TIME() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_para_time', 'para_tag', OLD.PARA_TAG, '', getTableSubSystem('stat_inst_para_time')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_PARA_TIME ON stat_inst_para_time; -CREATE TRIGGER TDA_STAT_INST_PARA_TIME AFTER DELETE ON stat_inst_para_time FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_PARA_TIME(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_RET_GRP() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_ret_grp', 'ret_grp_tag', '', NEW.RET_GRP_TAG, getTableSubSystem('stat_inst_ret_grp')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_RET_GRP ON stat_inst_ret_grp; -CREATE TRIGGER TIA_STAT_INST_RET_GRP AFTER INSERT ON stat_inst_ret_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_RET_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_RET_GRP() RETURNS TRIGGER AS $$ -BEGIN - - IF NEW.RET_GRP_TAG = OLD.RET_GRP_TAG - THEN RETURN NEW; - END IF; - - UPDATE stat_inst_ret_para - SET PARA_GRP_TAG = NEW.RET_GRP_TAG - WHERE PARA_GRP_TAG = OLD.RET_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_ret_grp', 'ret_grp_tag', OLD.RET_GRP_TAG, NEW.RET_GRP_TAG, getTableSubSystem('stat_inst_ret_grp')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_RET_GRP ON stat_inst_ret_grp; -CREATE TRIGGER TUA_STAT_INST_RET_GRP AFTER UPDATE ON stat_inst_ret_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_RET_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_RET_GRP() RETURNS TRIGGER AS $$ -BEGIN - DELETE FROM stat_inst_ret_para WHERE PARA_GRP_TAG = OLD.RET_GRP_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_ret_grp', 'ret_grp_tag', OLD.RET_GRP_TAG, '', getTableSubSystem('stat_inst_ret_grp')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_RET_GRP ON stat_inst_ret_grp; -CREATE TRIGGER TDA_STAT_INST_RET_GRP AFTER DELETE ON stat_inst_ret_grp FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_RET_GRP(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_INST_RET_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_inst_ret_para', 'ret_tag', '', NEW.RET_TAG, getTableSubSystem('stat_inst_ret_para')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_INST_RET_PARA ON stat_inst_ret_para; -CREATE TRIGGER TIA_STAT_INST_RET_PARA AFTER INSERT ON stat_inst_ret_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_INST_RET_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_INST_RET_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_inst_ret_para', 'ret_tag', OLD.RET_TAG, NEW.RET_TAG, getTableSubSystem('stat_inst_ret_para')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_INST_RET_PARA ON stat_inst_ret_para; -CREATE TRIGGER TUA_STAT_INST_RET_PARA AFTER UPDATE ON stat_inst_ret_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_INST_RET_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_INST_RET_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_inst_ret_para', 'ret_tag', OLD.RET_TAG, '', getTableSubSystem('stat_inst_ret_para')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_INST_RET_PARA ON stat_inst_ret_para; -CREATE TRIGGER TDA_STAT_INST_RET_PARA AFTER DELETE ON stat_inst_ret_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_INST_RET_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_LINK_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_link_def', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('STAT_LINK_DEF')); - END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_LINK_DEF ON STAT_LINK_DEF; -CREATE TRIGGER TIA_STAT_LINK_DEF AFTER INSERT ON STAT_LINK_DEF FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_LINK_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_LINK_DEF() RETURNS TRIGGER AS $$ -BEGIN - IF NEW.TAG_NAME <> OLD.TAG_NAME THEN - BEGIN - UPDATE stat_link_para - SET LINK_TAG = NEW.TAG_NAME, - TAG_NAME = concat(NEW.TAG_NAME,'.',getAfterLastDot(TAG_NAME)) - WHERE LINK_TAG = OLD.TAG_NAME; - UPDATE stat_link_ret - SET LINK_TAG = NEW.TAG_NAME, - TAG_NAME = concat(NEW.TAG_NAME,'.',getAfterLastDot(TAG_NAME)) - WHERE LINK_TAG = OLD.TAG_NAME; - - END; - END IF; - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_link_def', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('stat_link_def')); - END IF; - UPDATE stat_link_para - SET STAT_PARA_TAG = concat(NEW.STAT_TEMP_TAG,'.',getAfterLastDot(STAT_PARA_TAG)) - WHERE LINK_TAG = OLD.TAG_NAME; - UPDATE stat_link_ret - SET STAT_RET_TAG = concat(NEW.STAT_TEMP_TAG,'.',getAfterLastDot(STAT_RET_TAG)) - WHERE LINK_TAG = OLD.TAG_NAME; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_LINK_DEF ON stat_link_def; -CREATE TRIGGER TUA_STAT_LINK_DEF AFTER UPDATE ON stat_link_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_LINK_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_LINK_DEF() RETURNS TRIGGER AS $$ -BEGIN - --删除对应的模板点 - DELETE FROM stat_link_para WHERE LINK_TAG= OLD.TAG_NAME; - DELETE FROM stat_link_ret WHERE LINK_TAG = OLD.TAG_NAME; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_link_def', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('stat_link_def')); - END IF; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_LINK_DEF ON stat_link_def; -CREATE TRIGGER TDA_STAT_LINK_DEF AFTER DELETE ON stat_link_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_LINK_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_LINK_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_link_para', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('stat_link_para')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_LINK_PARA ON stat_link_para; -CREATE TRIGGER TIA_STAT_LINK_PARA AFTER INSERT ON stat_link_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_LINK_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_LINK_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_link_para', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('stat_link_para')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_LINK_PARA ON stat_link_para; -CREATE TRIGGER TUA_STAT_LINK_PARA AFTER UPDATE ON stat_link_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_LINK_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_LINK_PARA() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_link_para', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('stat_link_para')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_LINK_PARA ON stat_link_para; -CREATE TRIGGER TDA_STAT_LINK_PARA AFTER DELETE ON stat_link_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_LINK_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_LINK_RET() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_link_ret', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('stat_link_ret')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_LINK_RET ON stat_link_ret; -CREATE TRIGGER TIA_STAT_LINK_RET AFTER INSERT ON stat_link_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_LINK_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_LINK_RET() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_link_ret', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('stat_link_ret')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_LINK_RET ON stat_link_ret; -CREATE TRIGGER TUA_STAT_LINK_RET AFTER UPDATE ON stat_link_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_LINK_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_LINK_RET() RETURNS TRIGGER AS $$ -BEGIN - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_link_ret', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('stat_link_ret')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_LINK_RET ON stat_link_ret; -CREATE TRIGGER TDA_STAT_LINK_RET AFTER DELETE ON stat_link_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_LINK_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_TEMPLATE_DEF() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_template_def', 'template_tag', '', NEW.TEMPLATE_TAG, getTableSubSystem('stat_template_def')); - END IF; - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_TEMPLATE_DEF ON stat_template_def; -CREATE TRIGGER TIA_STAT_TEMPLATE_DEF AFTER INSERT ON stat_template_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_TEMPLATE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_TEMPLATE_DEF() RETURNS TRIGGER AS $$ -BEGIN - UPDATE stat_template_para - SET TEMPLATE_TAG = NEW.TEMPLATE_TAG, - PARA_TAG = concat(NEW.TEMPLATE_TAG,'.',getAfterLastDot(PARA_TAG)) - WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - UPDATE stat_template_ret - SET TEMPLATE_TAG = NEW.TEMPLATE_TAG, - RET_TAG = concat(NEW.TEMPLATE_TAG,'.',getAfterLastDot(RET_TAG)) - WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - UPDATE stat_inst_def - SET TEMPLATE_TAG = NEW.TEMPLATE_TAG - WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - UPDATE stat_link_def - SET STAT_TEMP_TAG = NEW.TEMPLATE_TAG - WHERE STAT_TEMP_TAG = OLD.TEMPLATE_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_template_def', 'template_tag', OLD.TEMPLATE_TAG, NEW.TEMPLATE_TAG, getTableSubSystem('stat_template_def')); - END IF; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_TEMPLATE_DEF ON stat_template_def; -CREATE TRIGGER TUA_STAT_TEMPLATE_DEF AFTER UPDATE ON stat_template_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_TEMPLATE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_TEMPLATE_DEF() RETURNS TRIGGER AS $$ -BEGIN - --删除对应关联 - DELETE FROM stat_link_def WHERE STAT_TEMP_TAG = OLD.TEMPLATE_TAG; - - --删除对应实例 - DELETE FROM stat_inst_def WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - --删除对应的模板点 - DELETE FROM stat_template_para WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - DELETE FROM stat_template_ret WHERE TEMPLATE_TAG = OLD.TEMPLATE_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_template_def', 'template_tag', OLD.TEMPLATE_TAG, '', getTableSubSystem('stat_template_def')); - END IF; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_TEMPLATE_DEF ON stat_template_def; -CREATE TRIGGER TDA_STAT_TEMPLATE_DEF AFTER DELETE ON stat_template_def FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_TEMPLATE_DEF(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_TEMPLATE_PARA() RETURNS TRIGGER AS $$ -BEGIN - --插入对应的实例 - INSERT INTO stat_inst_para_grp - (PARA_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, '', NEW.SORT, '', INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 1; - - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, RANK, TIMESTAMP, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, floor(extract(epoch from now())),NEW.SORT, '', INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 2; - - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_template_para', 'para_tag', '', NEW.PARA_TAG, getTableSubSystem('stat_template_para')); - END IF; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_TEMPLATE_PARA ON stat_template_para; -CREATE TRIGGER TIA_STAT_TEMPLATE_PARA AFTER INSERT ON stat_template_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_TEMPLATE_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_TEMPLATE_PARA() RETURNS TRIGGER AS $$ -BEGIN - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_template_para', 'para_tag', OLD.PARA_TAG, NEW.PARA_TAG, getTableSubSystem('stat_template_para')); - END IF; - - UPDATE stat_link_para - SET STAT_PARA_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(NEW.PARA_TAG)) - WHERE STAT_PARA_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(OLD.PARA_TAG)); - - IF OLD.PARA_TAG = NEW.PARA_TAG AND OLD.DESCRIPTION = NEW.DESCRIPTION AND OLD.ISGRP = NEW.ISGRP AND OLD.TYPE = NEW.TYPE - AND OLD.SORT = NEW.SORT - THEN RETURN NEW; - END IF; - - - --更新对应的实例点 - --考虑从分组到不分组,从测点类型到时间类型,需删除旧的数据 - IF OLD.ISGRP = 1 AND NEW.ISGRP = 0 THEN - BEGIN - DELETE FROM stat_inst_para_grp USING stat_inst_def,stat_inst_para_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG); - - IF NEW.TYPE = 1 THEN - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, '', NEW.SORT, '', INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 1; - ELSEIF NEW.TYPE = 2 THEN - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, RANK, TIMESTAMP, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, floor(extract(epoch from now())),NEW.SORT, '', INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 2; - END IF; - END; - ELSEIF OLD.ISGRP = 0 AND NEW.ISGRP = 1 THEN - BEGIN - IF OLD.TYPE = 1 THEN - DELETE FROM stat_inst_para_point USING stat_inst_def,stat_inst_para_point - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_point.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_point.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - ELSEIF OLD.TYPE = 2 THEN - DELETE FROM stat_inst_para_time USING stat_inst_def,stat_inst_para_time - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_time.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_time.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - END IF; - - INSERT INTO stat_inst_para_grp - (PARA_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 0 THEN - BEGIN - IF OLD.TYPE = 1 AND NEW.TYPE = 2 THEN - BEGIN - DELETE FROM stat_inst_para_point USING stat_inst_def,stat_inst_para_point - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_point.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_point.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - INSERT INTO stat_inst_para_time - (PARA_TAG, DESCRIPTION, RANK, TIMESTAMP, SORT, PARA_GRP_TAG, INST_TAG, TIME_MODE, YEAR_R, MONTH_R, DAY_R, WEEKDAY_R, HOUR_R, MINUTE_R, SECOND_R,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, floor(extract(epoch from now())),NEW.SORT, '', INST_TAG, 0, 0, 0, 0, 0, 0, 0, 0, LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 2; - END; - ELSEIF OLD.TYPE = 2 AND NEW.TYPE = 1 THEN - BEGIN - DELETE FROM stat_inst_para_time USING stat_inst_def,stat_inst_para_time - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_time.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_time.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - INSERT INTO stat_inst_para_point - (PARA_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)),NEW.DESCRIPTION, 1, '', NEW.SORT, '', INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0 AND COALESCE(NEW.TYPE,0) = 1; - END; - ELSEIF OLD.TYPE = NEW.TYPE AND OLD.TYPE = 1 THEN - update stat_inst_def - SET stat_inst_para_point.PARA_TAG = concat(stat_inst_para_point.INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)), stat_inst_para_point.DESCRIPTION = NEW.DESCRIPTION, stat_inst_para_point.SORT = NEW.SORT - from stat_inst_para_point - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_para_point.INST_TAG AND RANK = 1 AND getAfterLastDot(PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - ELSEIF OLD.TYPE = NEW.TYPE AND OLD.TYPE = 2 THEN - update stat_inst_def - SET stat_inst_para_time.PARA_TAG = concat(stat_inst_para_time.INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)), stat_inst_para_time.DESCRIPTION = NEW.DESCRIPTION, stat_inst_para_time.SORT = NEW.SORT - from stat_inst_para_time - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_para_time.INST_TAG AND RANK = 1 AND getAfterLastDot(PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - END IF; - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 1 THEN - BEGIN - IF OLD.TYPE = 1 AND NEW.TYPE = 2 THEN - BEGIN - DELETE FROM stat_inst_para_point USING stat_inst_def,stat_inst_para_grp,stat_inst_para_point - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_def.INST_TAG = stat_inst_para_grp.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG) - AND stat_inst_para_point.PARA_GRP_TAG = stat_inst_para_grp.PARA_GRP_TAG; - END; - ELSEIF OLD.TYPE = 2 AND NEW.TYPE = 1 THEN - BEGIN - DELETE FROM stat_inst_para_time USING stat_inst_def,stat_inst_para_grp,stat_inst_para_time - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_def.INST_TAG = stat_inst_para_grp.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG) - AND stat_inst_para_time.PARA_GRP_TAG = stat_inst_para_grp.PARA_GRP_TAG; - END; - END IF; - - - update stat_inst_def - SET stat_inst_para_grp.PARA_GRP_TAG = concat(stat_inst_para_grp.INST_TAG,'.',getAfterLastDot(NEW.PARA_TAG)), stat_inst_para_grp.DESCRIPTION = NEW.DESCRIPTION, stat_inst_para_grp.SORT = NEW.SORT - from stat_inst_para_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_para_grp.INST_TAG AND getAfterLastDot(PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG); - - END; - END IF; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_TEMPLATE_PARA ON stat_template_para; -CREATE TRIGGER TUA_STAT_TEMPLATE_PARA AFTER UPDATE ON stat_template_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_TEMPLATE_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_TEMPLATE_PARA() RETURNS TRIGGER AS $$ -BEGIN - --删除相应的实例点 - DELETE FROM stat_inst_para_grp USING stat_inst_def,stat_inst_para_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_grp.PARA_GRP_TAG) = getAfterLastDot(OLD.PARA_TAG); - - DELETE FROM stat_inst_para_point USING stat_inst_def,stat_inst_para_point - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_point.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_point.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - - DELETE FROM stat_inst_para_time USING stat_inst_def,stat_inst_para_time - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_para_time.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_para_time.PARA_TAG) = getAfterLastDot(OLD.PARA_TAG); - DELETE FROM stat_link_para - WHERE STAT_PARA_TAG = OLD.PARA_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_template_para', 'para_tag', OLD.PARA_TAG, '', getTableSubSystem('stat_template_para')); - END IF; - - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_TEMPLATE_PARA ON stat_template_para; -CREATE TRIGGER TDA_STAT_TEMPLATE_PARA AFTER DELETE ON stat_template_para FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_TEMPLATE_PARA(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_STAT_TEMPLATE_RET() RETURNS TRIGGER AS $$ -BEGIN - --插入相应实例点 - INSERT INTO stat_inst_ret_grp - (RET_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - - INSERT INTO stat_inst_ret_para - (RET_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, VALUE, IS_BIND, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) ,NEW.DESCRIPTION, 1, '', NEW.SORT,'', 0, 0, INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE, SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('insert'),'stat_template_ret', 'ret_tag', '', NEW.RET_TAG, getTableSubSystem('stat_template_ret')); - END IF; - - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_STAT_TEMPLATE_RET ON stat_template_ret; -CREATE TRIGGER TIA_STAT_TEMPLATE_RET AFTER INSERT ON stat_template_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_STAT_TEMPLATE_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_STAT_TEMPLATE_RET() RETURNS TRIGGER AS $$ -BEGIN - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE, KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('update'),'stat_template_ret', 'ret_tag', OLD.RET_TAG, NEW.RET_TAG, getTableSubSystem('stat_template_ret')); - END IF; - - UPDATE stat_link_ret - SET STAT_RET_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(NEW.RET_TAG)) - WHERE STAT_RET_TAG = concat(OLD.TEMPLATE_TAG,'.',getAfterLastDot(OLD.RET_TAG)); - - IF OLD.RET_TAG = NEW.RET_TAG AND OLD.DESCRIPTION = NEW.DESCRIPTION AND OLD.ISGRP = NEW.ISGRP AND OLD.SORT = NEW.SORT - THEN RETURN NEW; - END IF; - - --更新相应的实例点 - IF OLD.ISGRP = 1 AND NEW.ISGRP = 0 THEN - BEGIN - DELETE FROM stat_inst_ret_grp USING stat_inst_def,stat_inst_ret_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_grp.RET_GRP_TAG) = getAfterLastDot(OLD.RET_TAG); - - INSERT INTO stat_inst_ret_para - (RET_TAG, DESCRIPTION, RANK, POINT_TAG, SORT, PARA_GRP_TAG, VALUE, IS_BIND, INST_TAG,LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) ,NEW.DESCRIPTION, 1, '', NEW.SORT,'', 0, 0, INST_TAG,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 0; - END; - ELSEIF OLD.ISGRP = 0 AND NEW.ISGRP = 1 THEN - BEGIN - DELETE FROM stat_inst_ret_para USING stat_inst_def,stat_inst_ret_para - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_para.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_para.RET_TAG) = getAfterLastDot(OLD.RET_TAG); - - INSERT INTO stat_inst_ret_grp - (RET_GRP_TAG, DESCRIPTION, INST_TAG, SORT, LOCATION_ID,SUB_SYSTEM) - SELECT - concat(INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)) , NEW.DESCRIPTION, INST_TAG, NEW.SORT,LOCATION_ID,SUB_SYSTEM - FROM stat_inst_def WHERE TEMPLATE_TAG = NEW.TEMPLATE_TAG AND COALESCE(NEW.ISGRP,0) = 1; - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 0 THEN - BEGIN - update stat_inst_def - SET stat_inst_ret_para.RET_TAG = concat(stat_inst_ret_para.INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)), stat_inst_ret_para.DESCRIPTION = NEW.DESCRIPTION, stat_inst_ret_para.SORT = NEW.SORT - from stat_inst_ret_para - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_ret_para.INST_TAG AND `RANK` = 1 AND getAfterLastDot(RET_TAG) = getAfterLastDot(OLD.RET_TAG); - - END; - ELSEIF OLD.ISGRP = NEW.ISGRP AND OLD.ISGRP = 1 THEN - BEGIN - update stat_inst_def - SET stat_inst_ret_grp.RET_GRP_TAG = concat(stat_inst_ret_grp.INST_TAG,'.',getAfterLastDot(NEW.RET_TAG)), stat_inst_ret_grp.DESCRIPTION = NEW.DESCRIPTION, stat_inst_ret_grp.SORT = NEW.SORT - from stat_inst_ret_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG AND stat_inst_def.INST_TAG = stat_inst_ret_grp.INST_TAG AND getAfterLastDot(RET_GRP_TAG) = getAfterLastDot(OLD.RET_TAG); - - END; - END IF; - - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_STAT_TEMPLATE_RET ON stat_template_ret; -CREATE TRIGGER TUA_STAT_TEMPLATE_RET AFTER UPDATE ON stat_template_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_STAT_TEMPLATE_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_STAT_TEMPLATE_RET() RETURNS TRIGGER AS $$ -BEGIN - --删除相应的实例点 - DELETE FROM stat_inst_ret_grp USING stat_inst_def,stat_inst_ret_grp - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_grp.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_grp.RET_GRP_TAG) = getAfterLastDot(OLD.RET_TAG); - - DELETE FROM stat_inst_ret_para USING stat_inst_def,stat_inst_ret_para - WHERE stat_inst_def.TEMPLATE_TAG = OLD.TEMPLATE_TAG - AND stat_inst_ret_para.INST_TAG = stat_inst_def.INST_TAG - AND getAfterLastDot(stat_inst_ret_para.RET_TAG) = getAfterLastDot(OLD.RET_TAG); - DELETE FROM stat_link_ret - WHERE STAT_RET_TAG = OLD.RET_TAG; - - IF getTriggerFlag() = TRUE THEN - INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME, KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) - VALUES (getMaxTriggerId(),getOpType('delete'),'stat_template_ret', 'ret_tag', OLD.RET_TAG, '', getTableSubSystem('stat_template_ret')); - END IF; - - -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_STAT_TEMPLATE_RET ON stat_template_ret; -CREATE TRIGGER TDA_STAT_TEMPLATE_RET AFTER DELETE ON stat_template_ret FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_STAT_TEMPLATE_RET(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_TRIGGER_CONDITION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_condition_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('trigger_condition_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_TRIGGER_CONDITION_DEFINE ON trigger_condition_define; -CREATE TRIGGER TIA_TRIGGER_CONDITION_DEFINE AFTER INSERT ON trigger_condition_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_TRIGGER_CONDITION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_TRIGGER_CONDITION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_condition_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('trigger_condition_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_TRIGGER_CONDITION_DEFINE ON trigger_condition_define; -CREATE TRIGGER TUA_TRIGGER_CONDITION_DEFINE AFTER UPDATE ON trigger_condition_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_TRIGGER_CONDITION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_TRIGGER_CONDITION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_condition_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('trigger_condition_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_TRIGGER_CONDITION_DEFINE ON trigger_condition_define; -CREATE TRIGGER TDA_TRIGGER_CONDITION_DEFINE AFTER DELETE ON trigger_condition_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_TRIGGER_CONDITION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_TRIGGER_FUNCTION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_function_define', 'func_name', '', NEW.FUNC_NAME, getTableSubSystem('trigger_function_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_TRIGGER_FUNCTION_DEFINE ON trigger_function_define; -CREATE TRIGGER TIA_TRIGGER_FUNCTION_DEFINE AFTER INSERT ON trigger_function_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_TRIGGER_FUNCTION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_TRIGGER_FUNCTION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_function_define', 'func_name', OLD.FUNC_NAME, NEW.FUNC_NAME, getTableSubSystem('trigger_function_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_TRIGGER_FUNCTION_DEFINE ON trigger_function_define; -CREATE TRIGGER TUA_TRIGGER_FUNCTION_DEFINE AFTER UPDATE ON trigger_function_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_TRIGGER_FUNCTION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_TRIGGER_FUNCTION_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_function_define', 'func_name', OLD.FUNC_NAME, '', getTableSubSystem('trigger_function_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_TRIGGER_FUNCTION_DEFINE ON trigger_function_define; -CREATE TRIGGER TDA_TRIGGER_FUNCTION_DEFINE AFTER DELETE ON trigger_function_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_TRIGGER_FUNCTION_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_TRIGGER_PERIOD_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_period_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('trigger_period_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_TRIGGER_PERIOD_DEFINE ON trigger_period_define; -CREATE TRIGGER TIA_TRIGGER_PERIOD_DEFINE AFTER INSERT ON trigger_period_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_TRIGGER_PERIOD_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_TRIGGER_PERIOD_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_period_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('trigger_period_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_TRIGGER_PERIOD_DEFINE ON trigger_period_define; -CREATE TRIGGER TUA_TRIGGER_PERIOD_DEFINE AFTER UPDATE ON trigger_period_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_TRIGGER_PERIOD_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_TRIGGER_PERIOD_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_period_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('trigger_period_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_TRIGGER_PERIOD_DEFINE ON trigger_period_define; -CREATE TRIGGER TDA_TRIGGER_PERIOD_DEFINE AFTER DELETE ON trigger_period_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_TRIGGER_PERIOD_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TIA_TRIGGER_TIMER_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('insert'),'trigger_timer_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('trigger_timer_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TIA_TRIGGER_TIMER_DEFINE ON trigger_timer_define; -CREATE TRIGGER TIA_TRIGGER_TIMER_DEFINE AFTER INSERT ON trigger_timer_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TIA_TRIGGER_TIMER_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TUA_TRIGGER_TIMER_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('update'),'trigger_timer_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('trigger_timer_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TUA_TRIGGER_TIMER_DEFINE ON trigger_timer_define; -CREATE TRIGGER TUA_TRIGGER_TIMER_DEFINE AFTER UPDATE ON trigger_timer_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TUA_TRIGGER_TIMER_DEFINE(); - - - -CREATE OR REPLACE FUNCTION FUNC_TDA_TRIGGER_TIMER_DEFINE() RETURNS TRIGGER AS $$ -BEGIN -IF getTriggerFlag() = TRUE THEN -INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG) -VALUES (getMaxTriggerId(),getOpType('delete'),'trigger_timer_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('trigger_timer_define')); -END IF; -RETURN NEW; -END; -$$LANGUAGE PLPGSQL; -DROP TRIGGER IF EXISTS TDA_TRIGGER_TIMER_DEFINE ON trigger_timer_define; -CREATE TRIGGER TDA_TRIGGER_TIMER_DEFINE AFTER DELETE ON trigger_timer_define FOR EACH ROW -EXECUTE PROCEDURE FUNC_TDA_TRIGGER_TIMER_DEFINE(); - - - - -CREATE OR REPLACE FUNCTION splitList( strList varchar(100), split_char varchar(1) , strCount int) RETURNS varchar(64) -AS $$ - DECLARE splitCount int; - DECLARE splitIndex int DEFAULT 1; - DECLARE str1 varchar(100) DEFAULT ''; - DECLARE str2 varchar(100) DEFAULT ''; -BEGIN - --分割字符串,返回第strCount个子串 - - splitCount = char_length(strList)-char_length(replace(strList,split_char,'')) + 1; - IF strCount > splitCount OR strCount <=0 THEN RETURN ''; - END IF; - - IF strCount = 1 THEN RETURN substring_index(strList,split_char,strCount); - ELSE - BEGIN - str1 = substring_index(strList,split_char,strCount-1); - str2 = substring_index(strList,split_char,strCount); - RETURN right(str2,LENGTH(str2) - LENGTH(str1) - 1); - END; - END IF; - -END; -$$LANGUAGE PLPGSQL; - - - - -CREATE OR REPLACE FUNCTION clearTempRelation(devTempName varchar(64)) -RETURNS VOID -AS $$ -BEGIN - /* - * 清除指定模板的所有测点与前置模板的关系 - */ - - UPDATE accuml_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO = -1 - WHERE DEV_TP_NAME = devTempName; - - UPDATE analog_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO = -1, - OUT_SEC_SEQ_NO = -1 - WHERE DEV_TP_NAME = devTempName; - - UPDATE digital_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO1 = -1, - SEC_SEQ_NO2 = -1, - SEC_SEQ_NO3 = -1, - SEC_SEQ_NO4 = -1, - SEC_SEQ_NO5 = -1, - OUT_SEC_SEQ_NO1 = -1, - OUT_SEC_SEQ_NO2 = -1, - OUT_SEC_SEQ_NO3 = -1, - OUT_SEC_SEQ_NO4 = -1, - OUT_SEC_SEQ_NO5 = -1 - WHERE DEV_TP_NAME = devTempName; - - UPDATE mix_temp_define - SET SEC_DEVTP_NAME = '', - SEC_SEQ_NO = -1, - OUT_SEC_SEQ_NO = -1 - WHERE DEV_TP_NAME = devTempName; - -END; -$$LANGUAGE PLPGSQL; - - - - -CREATE OR REPLACE FUNCTION updateFesResPara(tableName varchar(64),startNum decimal(10,0)) -RETURNS VOID -AS $$ -BEGIN - /* - * 批量修改设备的规约参数1,要批量修改的设备在export_seq中 - * tableName 表名 - * startNum 修改的起始数字 - */ - - --创建临时表 - CREATE TEMPORARY TABLE IF NOT EXISTS tmpUpdateFesResParaTbl( - TAG_NAME varchar(64) NOT NULL, - RES_PARA decimal(10,0) NOT NULL - ); - DELETE FROM tmpUpdateFesResParaTbl; - - IF lower(tableName) = 'fes_accuml' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_accuml,export_seq WHERE fes_accuml.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_accuml.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_accuml - SET fes_accuml.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_accuml.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_analog' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_analog,export_seq WHERE fes_analog.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_analog.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_analog - SET fes_analog.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_analog.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_analog_ctrl' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_analog_ctrl,export_seq WHERE fes_analog_ctrl.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_analog_ctrl.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_analog_ctrl - SET fes_analog_ctrl.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_analog_ctrl.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_digital' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_digital,export_seq WHERE fes_digital.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_digital.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_digital - SET fes_digital.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_digital.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_digital_ctrl' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_digital_ctrl,export_seq WHERE fes_digital_ctrl.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_digital_ctrl.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_digital_ctrl - SET fes_digital_ctrl.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_digital_ctrl.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_mix' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_mix,export_seq WHERE fes_mix.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_mix.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_mix - SET fes_mix.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_mix.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - ELSEIF lower(tableName) = 'fes_mix_ctrl' THEN - BEGIN - INSERT INTO tmpUpdateFesResParaTbl(TAG_NAME,RES_PARA) - SELECT TAG_NAME,1 - FROM fes_mix_ctrl,export_seq WHERE fes_mix_ctrl.DEV_TAG = export_seq.DEV_TAG - ORDER BY export_seq.NO,fes_mix_ctrl.SEQ_NO; - - UPDATE tmpUpdateFesResParaTbl SET RES_PARA = (row_number() over (order by NULL))+startNum; - - update fes_mix_ctrl - SET fes_mix_ctrl.RES_PARA_INT1 = tmpUpdateFesResParaTbl.RES_PARA - from tmpupdatefesresparatbl - where fes_mix_ctrl.tag_name = tmpupdatefesresparatbl.tag_name; - - END; - END IF; - - - -END; -$$LANGUAGE PLPGSQL; - - - - -CREATE OR REPLACE FUNCTION bindStatDev(statTag varchar(64),devTag varchar(64)) -RETURNS VOID -AS $$ -BEGIN - /* - * 绑定统计分析中的实例,使用对应的后台设备 - * statTag 统计分析实例 - * devTag 后台设备 - */ - - --清空 - UPDATE stat_inst_para_point SET POINT_TAG = '' WHERE INST_TAG = statTag; - - UPDATE stat_inst_ret_para SET POINT_TAG = '' WHERE INST_TAG = statTag; - - --填写 - CREATE TEMPORARY TABLE IF NOT EXISTS tmpBinStatDevTbl( - PARA_TAG varchar(64) NOT NULL, - POINT_TAG varchar(64) NOT NULL - ); - DELETE FROM tmpBinStatDevTbl; - - --查找对应的测点 - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('analog.',analog.TAG_NAME) AS A - FROM stat_inst_para_point,analog - WHERE INST_TAG = statTag AND analog.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(analog.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('accuml.',accuml.TAG_NAME) AS A - FROM stat_inst_para_point,accuml - WHERE INST_TAG = statTag AND accuml.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(accuml.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('digital.',digital.TAG_NAME) AS A - FROM stat_inst_para_point,digital - WHERE INST_TAG = statTag AND digital.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(digital.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT PARA_TAG,concat('mix.',mix.TAG_NAME) AS A - FROM stat_inst_para_point,mix - WHERE INST_TAG = statTag AND mix.DEVICE = devTag - AND getAfterLastDot(PARA_TAG) = getAfterLastDot(mix.TAG_NAME); - - update stat_inst_para_point - SET stat_inst_para_point.POINT_TAG = tmpBinStatDevTbl.POINT_TAG - from tmpbinstatdevtbl - where stat_inst_para_point.para_tag = tmpbinstatdevtbl.para_tag; - - - DELETE FROM tmpBinStatDevTbl; - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('analog.',analog.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,analog - WHERE INST_TAG = statTag AND analog.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(analog.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('digital.',digital.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,digital - WHERE INST_TAG = statTag AND digital.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(digital.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('accuml.',accuml.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,accuml - WHERE INST_TAG = statTag AND accuml.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(accuml.TAG_NAME); - - INSERT INTO tmpBinStatDevTbl(PARA_TAG,POINT_TAG) - SELECT RET_TAG,concat('mix.',mix.TAG_NAME,'.value') AS A - FROM stat_inst_ret_para,mix - WHERE INST_TAG = statTag AND mix.DEVICE = devTag - AND getAfterLastDot(RET_TAG) = getAfterLastDot(mix.TAG_NAME); - - update stat_inst_ret_para - SET stat_inst_ret_para.POINT_TAG = tmpBinStatDevTbl.POINT_TAG, stat_inst_ret_para.IS_BIND = '1' - from tmpbinstatdevtbl - where stat_inst_ret_para.ret_tag = tmpbinstatdevtbl.para_tag; - - -END; -$$LANGUAGE PLPGSQL; - - - -CREATE OR REPLACE FUNCTION relationByTempPointName(devTempName varchar(64),fesDevTempName varchar(64)) -RETURNS VOID -AS $$ -BEGIN - /* - * 按照模板下的测点名称进行,后台模板与前置模板的关联 - */ - --获取设备测点名称 - - CALL clearTempRelation(devTempName); - --创建临时表, - CREATE TEMPORARY TABLE IF NOT EXISTS tmpRelationNameTbl( - TAG_NAME varchar(64) NOT NULL, - FES_SEQ_NO decimal(10,0) NOT NULL - ); - - --accuml - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM accuml_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_ACC')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - --进行关联 - update accuml_temp_define - SET SEC_DEVTP_NAME = fesDevTempName, SEC_SEQ_NO = tmpRelationNameTbl.FES_SEQ_NO - from tmprelationnametbl - where accuml_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME; - - - --analog - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM analog_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_ANA')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - --进行关联 - update analog_temp_define - SET SEC_DEVTP_NAME = fesDevTempName, SEC_SEQ_NO = tmpRelationNameTbl.FES_SEQ_NO - from tmprelationnametbl - where analog_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME; - - - --digital只判断第一个分量 - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM digital_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_DIG')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - --进行关联 - update digital_temp_define - SET SEC_DEVTP_NAME = fesDevTempName, SEC_SEQ_NO1 = tmpRelationNameTbl.FES_SEQ_NO - from tmprelationnametbl - where digital_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME; - - - --mix - DELETE FROM tmpRelationNameTbl; - - INSERT INTO tmpRelationNameTbl(TAG_NAME,FES_SEQ_NO) - SELECT A.TAG_NAME,B.SEQ_NO - FROM (SELECT TAG_NAME FROM mix_temp_define WHERE DEV_TP_NAME = devTempName) A - INNER JOIN (SELECT TAG_NAME,SEQ_NO FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = fesDevTempName - AND POINT_TYPE = getFesPointType('FES_MIX')) B - ON getAfterLastDot(A.TAG_NAME) = getAfterLastDot(B.TAG_NAME); - - --进行关联 - update mix_temp_define - SET SEC_DEVTP_NAME = fesDevTempName, SEC_SEQ_NO = tmpRelationNameTbl.FES_SEQ_NO - from tmprelationnametbl - where mix_temp_define.TAG_NAME = tmpRelationNameTbl.TAG_NAME; - - -END; -$$LANGUAGE PLPGSQL; - - - - - diff --git a/PSCADA/电子行业模板/common/database/initscript/iscs6000_table_struct.xml b/PSCADA/电子行业模板/common/database/initscript/iscs6000_table_struct.xml deleted file mode 100644 index b061ce5..0000000 --- a/PSCADA/电子行业模板/common/database/initscript/iscs6000_table_struct.xml +++ /dev/null @@ -1,8286 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - -
    - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - -
    - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - - - - - - - - - - -
    - - - - - - - - -
    - - - - - - - - -
    - - - - - - - - -
    - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - -
    - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - -
    - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - -
    -
    diff --git a/PSCADA/电子行业模板/common/device_model/ABB/REF542.CSV b/PSCADA/电子行业模板/common/device_model/ABB/REF542.CSV deleted file mode 100644 index 315f054..0000000 --- a/PSCADA/电子行业模板/common/device_model/ABB/REF542.CSV +++ /dev/null @@ -1,38 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],2,5,1,REF542,REF542,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,0,12,1,1000,0,0,100,150,1 -,,4,0,30,32,1000,1,0,100,200,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,0.001,0,0,A,1,IA,, -,,0,2,0.001,0,0,B,1,IB,, -,,0,4,0.001,0,0,C,1,IC,, -,,0,6,0.001,0,0,,1,Io,, -,,0,8,1,0,0,,0.001,PF,, -,,0,10,0.001,0,0,й,1,P,, -,,0,12,0.001,0,0,޹,1,Q,, -,,0,14,0.001,0,0,ABߵѹ,0.001,UAB,, -,,0,16,0.001,0,0,BCߵѹ,0.001,UBC,, -,,0,18,0.001,0,0,CAߵѹ,0.001,UCA,, -,,0,20,0.001,0,0,Aѹ,0.001,VA,, -,,0,22,0.001,0,0,Bѹ,0.001,VB,, -,,0,24,0.001,0,0,Cѹ,0.001,VC,, -,,0,26,0.001,0,0,ѹ,0.001,Vo,, -,,0,28,0.1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,0,1,0,·,0,0,Oper,,, -,,2,3,0,ֳ,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,0,·λ,PosOn,0,0,0,,, -,,0,1,·λ,PosOff,0,0,0,,, -,,0,2,ֳλ,RkdIn,0,0,0,,, -,,0,3,ֳλ,RkdOut,0,0,0,,, -,,0,4,Ѵ,CGPos,0,0,0,,, -,,0,5,PTֳλ,PTIn,0,0,0,,, -,,0,6,PTֳλ,PTOut,0,0,0,,, -,,0,7,PTл,PTCH,0,0,0,,, -,,0,8,,BY,0,0,0,,, -,,0,9,΢Ϳտ,CB1Trip,0,0,0,,, -,,0,10,,OC,0,0,0,,, -,,0,11,Զ,LocRem,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/ABB/REF615D(3块板卡)-4.0.CSV b/PSCADA/电子行业模板/common/device_model/ABB/REF615D(3块板卡)-4.0.CSV deleted file mode 100644 index 252d894..0000000 --- a/PSCADA/电子行业模板/common/device_model/ABB/REF615D(3块板卡)-4.0.CSV +++ /dev/null @@ -1,42 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],8,9,1,REF615Dplus,REF615Dplus,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,137,4,16,1000,0,0,14,100,0 -,,2,2767,16,1,1000,0,0,14,100,1 -,,2,3183,52,1,1000,0,0,14,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,137,4,0,0,A,0.1,IA,, -,,0,138,4,0,0,B,0.1,IB,, -,,0,139,4,0,0,C,0.1,IC,, -,,0,140,4,0,0,,0.1,I0,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,2767,բ,OC1,0,0,0,,, -,,0,2768,ٶբ,OC2,0,0,0,,, -,,0,2769,ָʾ3,LED3,0,0,0,,, -,,0,2770,ָʾ4,LED4,0,0,0,,, -,,0,2771,ָʾ5,LED5,0,0,0,,, -,,0,2772,ָʾ6,LED6,0,0,0,,, -,,0,2773,ָʾ7,LED7,0,0,0,,, -,,0,2774,ָʾ8,LED8,0,0,0,,, -,,0,2775,ƻ·,CF,0,0,0,,, -,,0,2776,δ,NCGPos,0,0,0,,, -,,0,2777,ָʾ11,LED11,0,0,0,,, -,,0,3183,6kV񷢽߹բź,DI1,0,0,0,,, -,,0,3185,6kV񷢳߹բź,DI2,0,0,0,,, -,,0,3187,ó߹բź,DI3,0,0,0,,, -,,0,3189,,DI4,0,0,0,,, -,,0,3191,,DI5,0,0,0,,, -,,0,3193,,DI6,0,0,0,,, -,,0,3199,10kV߹ѹź,DI7,0,0,0,,, -,,0,3201,·λ,PosOn,0,0,0,,, -,,0,3203,10kV߹ѹź,DI9,0,0,0,,, -,,0,3205,6kV߹ʧѹ,DI10,0,0,0,,, -,,0,3215,6kV񷢽߹λբ001,DI11,0,0,0,,, -,,0,3217,6kV񷢽߹λբ002,DI12,0,0,0,,, -,,0,3219,6kVϵͳиɻ·բ״̬,DI13,0,0,0,,, -,,0,3221,δ,CGOff,0,0,0,,, -,,0,3223,ֳλ,RkdOut,0,0,0,,, -,,0,3225,ֳλ,RkdIn,0,0,0,,, -,,0,3227,6kV߹բź001,DI17,0,0,0,,, -,,0,3229,6kV߹բź002,DI18,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/ABB/REF615D(4.0).CSV b/PSCADA/电子行业模板/common/device_model/ABB/REF615D(4.0).CSV deleted file mode 100644 index 4691f07..0000000 --- a/PSCADA/电子行业模板/common/device_model/ABB/REF615D(4.0).CSV +++ /dev/null @@ -1,36 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],3,9,1,REF615D,REF615D,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,137,4,16,1000,0,0,14,100,0 -,,2,2767,16,1,1000,0,0,14,100,1 -,,2,3199,32,1,1000,0,0,14,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,137,2,0,0,A,0.1,IA,, -,,0,138,2,0,0,B,0.1,IB,, -,,0,139,2,0,0,C,0.1,IC,, -,,0,140,2,0,0,,0.1,I0,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,2767,բ,OC1,0,0,0,,, -,,0,2768,ٶբ,OC2,0,0,0,,, -,,0,2769,ӵعբ,EOC,0,0,0,,, -,,0,2770,ѹբ,OTT,0,0,0,,, -,,0,2771,ѹ±,HAT,0,0,0,,, -,,0,2772,ָʾ6,LED6,0,0,0,,, -,,0,2773,¼6kV߹,LED7,0,0,0,,, -,,0,2774,10kV߹ʧѹ,LED8,0,0,0,,, -,,0,2775,ƻ·,CF,0,0,0,,, -,,0,2776,δ,NCGPos,0,0,0,,, -,,0,2777,ָʾ11,LED11,0,0,0,,, -,,0,3199,10kV߹ʧѹ,DI1,0,0,0,,, -,,0,3201,·λ,PosOn,0,0,0,,, -,,0,3203,6kVϵͳ񷢽߹բź,DI3,0,0,0,,, -,,0,3205,բź,DI4,0,0,0,,, -,,0,3215,ѹ±,DI5,0,0,0,,, -,,0,3217,001-AEբź,DI6,0,0,0,,, -,,0,3219,¼6kV߹,DI7,0,0,0,,, -,,0,3221,δ,CGOff,0,0,0,,, -,,0,3223,ֳλ,RkdIn,0,0,0,,, -,,0,3225,ѹբ,DI10,0,0,0,,, -,,0,3227,006-BEբź,DI11,0,0,0,,, -,,0,3229,10kV߹ѹź,DI12,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/ABB/REF615K(4.0).CSV b/PSCADA/电子行业模板/common/device_model/ABB/REF615K(4.0).CSV deleted file mode 100644 index 55f802e..0000000 --- a/PSCADA/电子行业模板/common/device_model/ABB/REF615K(4.0).CSV +++ /dev/null @@ -1,56 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,9,1,REF615K,REF615K,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,137,20,16,1000,0,0,14,100,0 -,,3,160,6,32,1000,1,0,14,100,0 -,,3,166,2,16,1000,1,0,14,100,0 -,,2,2767,11,1,1000,0,0,14,100,1 -,,2,3359,32,1,1000,0,0,14,100,1 -,,3,2039,8,32,1000,0,2,14,600000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,137,5,0,0,A,0.1,IA,, -,,0,138,5,0,0,B,0.1,IB,, -,,0,139,5,0,0,C,0.1,IC,, -,,0,140,5,0,0,,0.1,I0,, -,,0,141,1,0,0,ѹ,0.01,U0,, -,,0,151,1,0,0,Aѹ,0.01,VA,, -,,0,152,1,0,0,Bѹ,0.01,VB,, -,,0,153,1,0,0,Cѹ,0.01,VC,, -,,0,154,1,0,0,ABߵѹ,0.01,UAB,, -,,0,155,1,0,0,BCߵѹ,0.01,UBC,, -,,0,156,1,0,0,CAߵѹ,0.01,UCA,, -,,0,160,1,0,0,й,1,P,, -,,0,162,1,0,0,޹,1,Q,, -,,0,164,1,0,0,ڹ,1,S,, -,,0,166,1,0,0,,0.001,PF,, -,,0,167,1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,2039,1,0,й,1,EPr,,, -,,0,2041,1,0,޹,1,EQr,,, -,,0,2043,1,0,й,1,EQd,,, -,,0,2045,1,0,޹,1,EQd,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,2767,բ,OC1,0,0,0,,, -,,0,2768,ٶբ,OC2,0,0,0,,, -,,0,2769,ӵعբ,EOC,0,0,0,,, -,,0,2770,ʧѹբ,UV,0,0,0,,, -,,0,2771,ָʾ5,LED5,0,0,0,,, -,,0,2772,ָʾ6,LED6,0,0,0,,, -,,0,2773,ָʾ7,LED7,0,0,0,,, -,,0,2774,ָʾ8,LED8,0,0,0,,, -,,0,2775,ƻ·,CF,0,0,0,,, -,,0,2776,δ,NCGPos,0,0,0,,, -,,0,2777,ָʾ11,LED11,0,0,0,,, -,,0,3359,PTֳλ,PTRkdIn,0,0,0,,, -,,0,3361,·λ,PosOn,0,0,0,,, -,,0,3363,·λ,PosOff,0,0,0,,, -,,0,3365,1,DI4,0,0,0,,, -,,0,3375,2,DI5,0,0,0,,, -,,0,3377,3,DI6,0,0,0,,, -,,0,3379,4,DI7,0,0,0,,, -,,0,3381,δ,CGoff,0,0,0,,, -,,0,3383,ֳλ,RkdOut,0,0,0,,, -,,0,3385,ֳλ,RkdIn,0,0,0,,, -,,0,3387,5,DI11,0,0,0,,, -,,0,3389,6,DI12,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/ABB/REM615B(4.0).CSV b/PSCADA/电子行业模板/common/device_model/ABB/REM615B(4.0).CSV deleted file mode 100644 index a838cfc..0000000 --- a/PSCADA/电子行业模板/common/device_model/ABB/REM615B(4.0).CSV +++ /dev/null @@ -1,52 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],12,9,1,REM615B,06-AEѹ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,137,20,16,1000,0,0,14,100,0 -,,3,160,6,32,1000,1,0,14,100,0 -,,3,166,2,16,1000,1,0,14,100,0 -,,2,2767,16,1,1000,0,0,14,100,1 -,,2,3215,16,1,1000,0,0,14,100,1 -,,3,2039,8,32,1000,0,2,14,600000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,137,0.75,0,0,A,0.1,IA,, -,,0,138,0.75,0,0,B,0.1,IB,, -,,0,139,0.75,0,0,C,0.1,IC,, -,,0,140,0.5,0,0,,0.1,I0,, -,,0,141,1,0,0,ѹ,0.01,U0,, -,,0,151,1,0,0,Aѹ,0.01,VA,, -,,0,152,1,0,0,Bѹ,0.01,VB,, -,,0,153,1,0,0,Cѹ,0.01,VC,, -,,0,154,1,0,0,ABߵѹ,0.01,UAB,, -,,0,155,1,0,0,BCߵѹ,0.01,UBC,, -,,0,156,1,0,0,CAߵѹ,0.01,UCA,, -,,0,160,1,0,0,й,1,P,, -,,0,162,1,0,0,޹,1,Q,, -,,0,164,1,0,0,ڹ,1,S,, -,,0,166,1,0,0,,0.001,PF,, -,,0,167,1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,2039,1,0,й,1,EPr,,, -,,0,2041,1,0,޹,1,EQr,,, -,,0,2043,1,0,й,1,EPd,,, -,,0,2045,1,0,޹,1,EQd,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,2767,բ,OC1,0,0,0,,, -,,0,2768,ٶբ,OC2,0,0,0,,, -,,0,2769,ӵعբ,EOC,0,0,0,,, -,,0,2770,ʧѹբ,UV,0,0,0,,, -,,0,2771,תբ,ExLocked,0,0,0,,, -,,0,2772,ȹբ,ThOT,0,0,0,,, -,,0,2773,ָʾ7,LED7,0,0,0,,, -,,0,2774,쳣,MorFlt,0,0,0,,, -,,0,2775,ƻ·,CF,0,0,0,,, -,,0,2776,δ,NCGPos,0,0,0,,, -,,0,2777,ָʾ11,LED11,0,0,0,,, -,,0,3215,,DI1,0,0,0,,, -,,0,3217,ֹͣ,DI2,0,0,0,,, -,,0,3219,ÿ,DI3,0,0,0,,, -,,0,3221,δ,CGoff,0,0,0,,, -,,0,3223,ֳλ,RkdOut,0,0,0,,, -,,0,3225,ֳλ,RkdIn,0,0,0,,, -,,0,3227,صբ,ESPosoff,0,0,0,,, -,,0,3229,صբ,ESPos,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/ABB/REM615J(4.0).CSV b/PSCADA/电子行业模板/common/device_model/ABB/REM615J(4.0).CSV deleted file mode 100644 index cd4761a..0000000 --- a/PSCADA/电子行业模板/common/device_model/ABB/REM615J(4.0).CSV +++ /dev/null @@ -1,56 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],15,9,1,REM615J,REM615J,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,137,20,16,1000,0,0,14,100,0 -,,3,160,6,32,1000,1,0,14,100,0 -,,3,166,2,16,1000,1,0,14,100,0 -,,2,2767,16,1,1000,0,0,14,100,1 -,,2,3199,32,1,1000,0,0,14,100,1 -,,3,2039,8,32,1000,0,2,14,600000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,137,1,0,0,A,0.1,IA,, -,,0,138,1,0,0,B,0.1,IB,, -,,0,139,1,0,0,C,0.1,IC,, -,,0,140,0.5,0,0,,0.1,I0,, -,,0,141,1,0,0,ѹ,0.01,U0,, -,,0,151,1,0,0,Aѹ,0.01,VA,, -,,0,152,1,0,0,Bѹ,0.01,VB,, -,,0,153,1,0,0,Cѹ,0.01,VC,, -,,0,154,1,0,0,ABߵѹ,0.01,UAB,, -,,0,155,1,0,0,BCߵѹ,0.01,UBC,, -,,0,156,1,0,0,CAߵѹ,0.01,UCA,, -,,0,160,1,0,0,й,1,P,, -,,0,162,1,0,0,޹,1,Q,, -,,0,164,1,0,0,ڹ,1,S,, -,,0,166,1,0,0,,0.001,PF,, -,,0,167,1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,2039,1,0,й,1,EPr,,, -,,0,2041,1,0,޹,1,EQr,,, -,,0,2043,1,0,й,1,EPd,,, -,,0,2045,1,0,޹,1,EQd,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,2767,բ,OC1,0,0,0,,, -,,0,2768,ٶբ,OC2,0,0,0,,, -,,0,2769,ӵعբ,EOC,0,0,0,,, -,,0,2770,ʧѹբ,UV,0,0,0,,, -,,0,2771,תբ,ExLocked,0,0,0,,, -,,0,2772,ȹբ,ThOT,0,0,0,,, -,,0,2773,ָʾ7,LED7,0,0,0,,, -,,0,2774,쳣,MorFlt,0,0,0,,, -,,0,2775,ƻ·,CF,0,0,0,,, -,,0,2776,δ,NCGPos,0,0,0,,, -,,0,2777,ָʾ11,LED11,0,0,0,,, -,,0,3199,ֳԶ,LocRem,0,0,0,,, -,,0,3201,ֳ͵,Local,0,0,0,,, -,,0,3203,·λ,PosOff,0,0,0,,, -,,0,3205,,DI4,0,0,0,,, -,,0,3215,,DI5,0,0,0,,, -,,0,3217,ֹͣ,DI6,0,0,0,,, -,,0,3219,բź,DI7,0,0,0,,, -,,0,3221,δ,CGOff,0,0,0,,, -,,0,3223,ֳλ,RkdOut,0,0,0,,, -,,0,3225,ֳλ,RkdIn,0,0,0,,, -,,0,3227,SISֹͣ,DI11,0,0,0,,, -,,0,3229,صբ,ESPos,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/ABB/RET615E(4.0)(备注X130板卡默认读不上来).CSV b/PSCADA/电子行业模板/common/device_model/ABB/RET615E(4.0)(备注X130板卡默认读不上来).CSV deleted file mode 100644 index 103efe1..0000000 --- a/PSCADA/电子行业模板/common/device_model/ABB/RET615E(4.0)(备注X130板卡默认读不上来).CSV +++ /dev/null @@ -1,57 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],5,9,1,RET615E,RET615E,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,137,20,16,1000,0,0,14,100,0 -,,3,160,6,32,1000,1,0,14,100,0 -,,3,166,2,16,1000,1,0,14,100,0 -,,2,2767,11,1,1000,0,0,14,100,1 -,,2,3183,48,1,1000,0,0,14,100,1 -,,3,2039,8,32,1000,0,2,14,600000,0 -,,2,3535,8,1,1000,0,0,14,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,133,1,0,0,Aѹ,0.01,UA,, -,,0,134,1,0,0,Bѹ,0.01,UB,, -,,0,135,1,0,0,Cѹ,0.01,UC,, -,,0,136,1,0,0,ѹ,0.01,U0,, -,,0,137,2,0,0,A,0.1,IA,, -,,0,138,2,0,0,B,0.1,IB,, -,,0,139,2,0,0,C,0.1,IC,, -,,0,151,2,0,0,ѹA,0.1,IA2,, -,,0,152,2,0,0,ѹB,0.1,IB2,, -,,0,153,2,0,0,ѹC,0.1,IC2,, -,,0,159,1,0,0,ABߵѹ,0.01,UAB,, -,,0,160,1,0,0,BCߵѹ,0.01,UBC,, -,,0,161,1,0,0,CAߵѹ,0.01,UCA,, -,,0,162,1,0,0,й,1,P,, -,,0,164,1,0,0,޹,1,Q,, -,,0,168,1,0,0,,0.001,PF,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,2039,1,0,й,1,EPr,,, -,,0,2041,1,0,޹,1,EQr,,, -,,0,2043,1,0,й,1,EPd,,, -,,0,2045,1,0,޹,1,EQd,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,2767,բ,OC1,0,0,0,,, -,,0,2768,ٶբ,OC2,0,0,0,,, -,,0,2769,ָʾ3,LED3,0,0,0,,, -,,0,2770,բ,LED4,0,0,0,,, -,,0,2771,ָʾ5,LED5,0,0,0,,, -,,0,2772,ָʾ6,LED6,0,0,0,,, -,,0,2773,ָʾ7,LED7,0,0,0,,, -,,0,2774,ָʾ8,LED8,0,0,0,,, -,,0,2775,ƻ·,CF,0,0,0,,, -,,0,2776,δ,NCGPos,0,0,0,,, -,,0,2777,ָʾ11,LED11,0,0,0,,, -,,0,3215,ÿ1,DI1,0,0,0,,, -,,0,3217,·λ,PosOn,0,0,0,,, -,,0,3219,·λ,PosOff,0,0,0,,, -,,0,3221,ӵص񱨾ź,DI4,0,0,0,,, -,,0,3223,ÿ2,DI5,0,0,0,,, -,,0,3225,ÿ3,DI6,0,0,0,,, -,,0,3227,ÿ4,DI7,0,0,0,,, -,,0,3229,δ,CGOff,0,0,0,,, -,,0,3535,ֳλ,RkdOut,0,0,0,,, -,,0,3537,ֳλ,RkdIn,0,0,0,,, -,,0,3539,ÿ5,DI11,0,0,0,,, -,,0,3541,ÿ6,DI12,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/DLT645-1997(带测量).csv b/PSCADA/电子行业模板/common/device_model/DLT645-1997(带测量).csv deleted file mode 100644 index 2f6595b..0000000 --- a/PSCADA/电子行业模板/common/device_model/DLT645-1997(带测量).csv +++ /dev/null @@ -1,35 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],3,1,12,DTSD341,ʢȱ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,1,31,144,4,4000,0,2,24,200,0 -,,1,47,144,4,4000,0,2,24,200,0 -,,1,31,145,4,4000,0,2,24,200,0 -,,1,47,145,4,4000,0,2,24,200,0 -,,1,31,182,2,4000,0,0,24,200,0 -,,1,47,182,2,4000,0,0,24,200,0 -,,1,63,182,3,4000,0,0,24,200,0 -,,1,79,182,2,4000,0,0,24,200,0 -,,1,95,182,2,4000,0,0,24,200,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,48,182,1,0,0,й,0.0001,P,, -,,64,182,1,0,0,޹,0.01,Q,, -,,80,182,1,0,0,,0.001,PF,, -,,16,182,1,0,0,UA,1,VA,, -,,17,182,1,0,0,UB,1,VB,, -,,18,182,1,0,0,UC,1,VC,, -,,32,182,1,0,0,IA,0.01,IA,, -,,33,182,1,0,0,IB,0.01,IB,, -,,34,182,1,0,0,IC,0.01,IC,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ,д,,, -[Point],YM,16,144,1,0,й,1,EP,,, -,,17,144,1,0,й,1,EPJ,,, -,,18,144,1,0,й,1,EPF,,, -,,19,144,1,0,йƽ,1,EPP,,, -,,20,144,1,0,й,1,EPG,,, -,,16,145,1,0,޹,1,EQ,,, -,,17,145,1,0,޹,1,EQJ,,, -,,18,145,1,0,޹,1,EQF,,, -,,19,145,1,0,޹ƽ,1,EQP,,, -,,20,145,1,0,޹,1,EQG,,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#2,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/DLT645-1997.CSV b/PSCADA/电子行业模板/common/device_model/DLT645-1997.CSV deleted file mode 100644 index 0576320..0000000 --- a/PSCADA/电子行业模板/common/device_model/DLT645-1997.CSV +++ /dev/null @@ -1,20 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],7,1,12,DLT645,1,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,1,31,144,4,4000,0,2,23,100,0 -,,1,47,144,4,4000,0,2,23,100,0 -,,1,31,145,4,4000,0,2,23,100,0 -,,1,47,145,4,4000,0,2,23,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ,д,,, -[Point],YM,16,144,1,0,й,1,EP,,, -,,17,144,1,0,й,1,EPJ,,, -,,18,144,1,0,й,1,EPF,,, -,,19,144,1,0,йƽ,1,EPP,,, -,,20,144,1,0,й,1,EPG,,, -,,16,145,1,0,޹,1,EQ,,, -,,17,145,1,0,޹,1,EQJ,,, -,,18,145,1,0,޹,1,EQF,,, -,,19,145,1,0,޹ƽ,1,EQP,,, -,,20,145,1,0,޹,1,EQG,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/DLT645-2007(带测量).CSV b/PSCADA/电子行业模板/common/device_model/DLT645-2007(带测量).CSV deleted file mode 100644 index b395d7c..0000000 --- a/PSCADA/电子行业模板/common/device_model/DLT645-2007(带测量).CSV +++ /dev/null @@ -1,41 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,12,DLT645,,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,1,65280,0,4,4000,0,2,23,200,0 -,,1,65280,3,4,4000,0,2,23,200,0 -,,1,65280,4,4,4000,0,2,23,200,0 -,,1,65280,513,2,4000,0,0,23,200,0 -,,1,65280,514,3,4000,0,0,23,200,0 -,,1,0,515,3,4000,0,0,23,200,0 -,,1,0,516,3,4000,0,0,23,200,0 -,,1,0,518,2,4000,0,0,23,200,0 -,,1,2,640,2,4000,0,0,23,200,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,513,1,0,0,Uab,0.1,UAB,, -,,1,513,1,0,0,Ubc,0.1,UBC,, -,,2,513,1,0,0,Uca,0.1,UCA,, -,,0,514,1,0,0,IA,0.001,IA,, -,,1,514,1,0,0,IB,0.001,IB,, -,,2,514,1,0,0,IC,0.001,IC,, -,,0,515,1,0,0,й,0.0001,P,, -,,0,516,1,0,0,޹,0.0001,Q,, -,,0,518,1,0,0,,0.001,PF,, -,,0,640,1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,0,1,0,й,1,EP,,, -,,0,3,1,0,޹1,1,Qd1,,, -,,0,4,1,0,޹2,1,Qd2,,, -,,1,0,1,0,й,1,EPJ,,, -,,1,3,1,0,޹1,1,Qd1J,,, -,,1,4,1,0,޹2,1,Qd2J,,, -,,2,0,1,0,й,1,EPF,,, -,,2,3,1,0,޹1,1,Qd1F,,, -,,2,4,1,0,޹2,1,Qd2F,,, -,,3,0,1,0,йƽ,1,EPP,,, -,,3,3,1,0,޹1ƽ,1,Qd1P,,, -,,3,4,1,0,޹2ƽ,1,Qd2P,,, -,,4,0,1,0,й,1,EPG,,, -,,4,3,1,0,޹1,1,Qd1G,,, -,,4,4,1,0,޹2,1,Qd2G,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/GE/F6501#高压馈线.CSV b/PSCADA/电子行业模板/common/device_model/GE/F6501#高压馈线.CSV deleted file mode 100644 index 061dc0d..0000000 --- a/PSCADA/电子行业模板/common/device_model/GE/F6501#高压馈线.CSV +++ /dev/null @@ -1,40 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],254,5,59,F650,1#ѹѹ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,3810,6,32,1000,0,0,0,100,0 -,,3,3844,8,32,1000,0,0,0,100,0 -,,3,135,2,1,1000,0,0,0,100,0 -,,3,209,2,1,1000,0,0,0,100,0 -,,3,3900,8,32,1000,0,2,0,30000,0 -,,3,3882,16,32,1000,0,0,0,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,3810,1,0,0,A,1,IA,, -,,0,3812,1,0,0,B,1,IB,, -,,0,3814,1,0,0,C,1,IC,, -,,0,3844,1,0,0,ߵѹAB,1,UAB,, -,,0,3846,1,0,0,ߵѹBC,1,UBC,, -,,0,3848,1,0,0,ߵѹCA,1,UCA,, -,,0,3882,1,0,0,й,1,P,, -,,0,3884,1,0,0,޹,1,Q,, -,,0,3894,1,0,0,,1,PF,, -,,0,3896,1,0,0,Ƶ,1,F,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,3900,1,0,й,1,Epd,,, -,,0,3902,1,0,й,1,Epd,,, -,,0,3904,1,0,޹,1,Eqr,,, -,,0,3906,1,0,޹,1,Eqr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,135,0,δ,CGPos,0,0,0,,, -,,135,1,صλ,ESPos,0,0,0,,, -,,135,2,ѹź,TrHTA,0,0,0,,, -,,135,3,ѹź,TrOTT,0,0,0,,, -,,135,12,·λ,PosOn,0,0,0,,, -,,135,13,·λ,PosOff,0,0,0,,, -,,135,14,ֳλ,RkdOut,0,0,0,,, -,,135,15,ֳλ,RkdIn,0,0,0,,, -,,209,0,,OC1,0,0,0,,, -,,209,1,,EOC1,0,0,0,,, -,,209,3,ź,HTA,0,0,0,,, -,,209,4,ź,OTT,0,0,0,,, -,,209,15,ٶ϶,OC2,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/C264.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/C264.CSV deleted file mode 100644 index 7c9eed4..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/C264.CSV +++ /dev/null @@ -1,57 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,c264,c264,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,1,1,32,1,1000,0,0,100,1000,1 -,,3,200,1,16,1000,0,0,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,200,1,0,0,YC1,1,YC1,, -,,0,201,1,0,0,YC2,1,YC2,, -,,0,202,1,0,0,YC3,1,YC3,, -,,0,203,1,0,0,YC4,1,YC4,, -,,0,204,1,0,0,YC5,1,YC5,, -,,0,205,1,0,0,YC6,1,YC6,, -,,0,206,1,0,0,YC7,1,YC7,, -,,0,207,1,0,0,YC8,1,YC8,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,100,0,0,yk1,0,0,Null,,, -,,101,0,0,yk2,0,0,Null,,, -,,102,0,0,yk3,0,0,Null,,, -,,103,0,0,yk4,0,0,Null,,, -,,104,0,0,yk5,0,0,Null,,, -,,105,0,0,yk6,0,0,Null,,, -,,106,0,0,yk7,0,0,Null,,, -,,107,0,0,yk8,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,1,1-DI1,DI1,0,0,0,,, -,,0,2,1-DI2,DI2,0,0,0,,, -,,0,3,1-DI3,DI3,0,0,0,,, -,,0,4,1-DI4,DI4,0,0,0,,, -,,0,5,1-DI5,DI5,0,0,0,,, -,,0,6,1-DI6,DI6,0,0,0,,, -,,0,7,1-DI7,DI7,0,0,0,,, -,,0,8,1-DI8,DI8,0,0,0,,, -,,0,9,1-DI9,DI9,0,0,0,,, -,,0,10,1-DI10,DI10,0,0,0,,, -,,0,11,1-DI11,DI11,0,0,0,,, -,,0,12,1-DI12,DI12,0,0,0,,, -,,0,13,1-DI13,DI13,0,0,0,,, -,,0,14,1-DI14,DI14,0,0,0,,, -,,0,15,1-DI15,DI15,0,0,0,,, -,,0,16,1-DI16,DI16,0,0,0,,, -,,0,17,2-DI1,DI17,0,0,0,,, -,,0,18,2-DI2,DI18,0,0,0,,, -,,0,19,2-DI3,DI19,0,0,0,,, -,,0,20,2-DI4,DI20,0,0,0,,, -,,0,21,2-DI5,DI21,0,0,0,,, -,,0,22,2-DI6,DI22,0,0,0,,, -,,0,23,2-DI7,DI23,0,0,0,,, -,,0,24,2-DI8,DI24,0,0,0,,, -,,0,25,2-DI9,DI25,0,0,0,,, -,,0,26,2-DI10,DI26,0,0,0,,, -,,0,27,2-DI11,DI27,0,0,0,,, -,,0,28,2-DI12,DI28,0,0,0,,, -,,0,29,2-DI13,DI29,0,0,0,,, -,,0,30,2-DI14,DI30,0,0,0,,, -,,0,31,2-DI15,DI31,0,0,0,,, -,,0,32,2-DI16,DI32,0,0,0,,, -,,65535,65535,COMM,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P120.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P120.CSV deleted file mode 100644 index cd73846..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P120.CSV +++ /dev/null @@ -1,21 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,P120,P120,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,48,8,32,1000,0,0,22,100,0 -,,3,16,1,1,1000,0,0,22,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,48,1,0,0,,0.01,IA,, -,,0,54,1,0,0,,0.01,I0,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,0,0,0,out4(բ),0,0,n,,, -,,0,0,0,out3(բ),0,0,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,16,0,1,DI1,0,0,0,,, -,,16,1,2,DI2,0,0,0,,, -,,65533,17,1,OC1,0,0,0,,, -,,65533,18,2,OC2,0,0,0,,, -,,65533,19,3,OC3,0,0,0,,, -,,65533,20,1,EOC1,0,0,0,,, -,,65533,21,2,EOC2,0,0,0,,, -,,65533,22,3,EOC3,0,0,0,,, -,,65535,65535,ͨѶ,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P123-V12.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P123-V12.CSV deleted file mode 100644 index 8c95e6a..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P123-V12.CSV +++ /dev/null @@ -1,55 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,P123,P123,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,48,8,32,1000,0,0,22,100,0 -,,3,12,1,1,1000,0,0,22,100,1 -,,3,16,1,1,1000,0,0,22,100,1 -,,3,19,1,1,1000,0,0,22,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,48,1,0,0,A,0.01,IA,, -,,0,50,1,0,0,B,0.01,IB,, -,,0,52,1,0,0,C,0.01,IC,, -,,0,54,1,0,0,,0.01,I0,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,0,0,0,out3(բ),0,0,n,,, -,,0,0,0,out4(բ),0,0,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,12,0,LED1,LED1,0,0,0,,, -,,12,1,LED2,LED2,0,0,0,,, -,,12,2,LED3,LED3,0,0,0,,, -,,12,3,LED4,LED4,0,0,0,,, -,,12,4,LED5,LED5,0,0,0,,, -,,12,5,LED6,LED6,0,0,0,,, -,,12,6,LED7,LED7,0,0,0,,, -,,12,7,,LED8,0,0,0,,, -,,16,0,·,PosOn,0,0,0,,, -,,16,1,ӵص,EsPos,0,0,0,,, -,,16,2,,DI3,0,0,0,,, -,,16,3,,DI4,0,0,0,,, -,,16,4,,DI5,0,0,0,,, -,,16,5,,DI6,0,0,0,,, -,,19,0,¹,DO1,0,0,0,,, -,,19,1,RL2״̬,DO2,0,0,0,,, -,,19,2,RL3״̬,DO3,0,0,0,,, -,,19,3,RL4״̬,DO4,0,0,0,,, -,,19,4,RL0Ź״̬,WatchDog,0,0,0,,, -,,19,5,RL5״̬,DO5,0,0,0,,, -,,19,6,RL6״̬,DO6,0,0,0,,, -,,19,7,RL7״̬,DO7,0,0,0,,, -,,19,8,RL8״̬,DO8,0,0,0,,, -,,65533,15,ȹظ澯,ThOA,0,0,0,,, -,,65533,16,ȹբ,ThOT,0,0,0,,, -,,65533,17,,OC1,0,0,0,,, -,,65533,18,ٶ,OC2,0,0,0,,, -,,65533,19,3α,OC3,0,0,0,,, -,,65533,20,1α,EOC1,0,0,0,,, -,,65533,21,2α,EOC2,0,0,0,,, -,,65533,22,3α,EOC3,0,0,0,,, -,,65533,52,ǰźŸ,LEDR,0,0,0,,, -,,65533,54,ԶźŸ,Rs,0,0,0,,, -,,65533,55,عϸ澯,Lalarm,0,0,0,,, -,,65533,56,΢ϸ澯,Halarm,0,0,0,,, -,,65533,58,1α,UnbOC1,0,0,0,,, -,,65533,62,բ·,HD,0,0,0,,, -,,65533,75,2α,UnbOC2,0,0,0,,, -,,65535,65535,ͨѶ,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P127.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P127.CSV deleted file mode 100644 index a95e117..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P127.CSV +++ /dev/null @@ -1,50 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],3,5,1,P127,P127,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,128,6,32,1000,0,0,22,100,0 -,,3,48,8,32,1000,0,0,22,100,0 -,,3,136,4,16,1000,0,0,22,100,0 -,,3,158,4,32,1000,0,0,22,100,0 -,,3,16,1,1,1000,0,0,22,100,1 -,,3,162,1,16,1000,0,0,22,100,0 -,,3,62,1,16,1000,0,0,22,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,48,1,0,0,IA,0.1,IA,, -,,0,50,1,0,0,IB,0.1,IB,, -,,0,52,1,0,0,IC,0.1,IC,, -,,0,54,1,0,0,Ie,0.1,Ie,, -,,0,62,1,0,0,F,0.01,F,, -,,0,128,0.1,0,0,UA,0.01,VA,, -,,0,130,0.1,0,0,UB,0.01,VB,, -,,0,132,0.1,0,0,UC,0.01,VC,, -,,0,136,0.1,0,0,UAB,0.01,UAB,, -,,0,137,0.1,0,0,UBC,0.01,UBC,, -,,0,138,0.1,0,0,UCA,0.01,UCA,, -,,0,158,0.1,0,0,P,0.01,P,, -,,0,160,0.1,0,0,Q,0.01,Q,, -,,0,162,1,0,0,PF,0.01,PF,, -,,0,171,0.1,0,0,S,0.01,S,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,16386,0,0,reset,0,0,Null,,, -,,16388,16387,0,CBcontrol,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,16,0,IP1,DI1,0,0,0,,, -,,16,1,IP2,DI2,0,0,0,,, -,,16,2,IP3,DI3,0,0,0,,, -,,16,3,IP4,DI4,0,0,0,,, -,,16,4,IP5,DI5,0,0,0,,, -,,16,5,IP6,DI6,0,0,0,,, -,,16,6,IP7,DI7,0,0,0,,, -,,16,7,IP8,DI8,0,0,0,,, -,,16,8,IP9,DI9,0,0,0,,, -,,16,9,IP10,DI10,0,0,0,,, -,,16,10,IP11,DI11,0,0,0,,, -,,16,11,IP12,DI12,0,0,0,,, -,,65533,27,1stUnderVoltageV__Trip,UV1,0,0,0,,, -,,65533,36,1stOverVoltageV_Trip,OV1,0,0,0,,, -,,65533,42,1stOverCurrenttI_Trip,OC1,0,0,0,,, -,,65533,43,2ndOverCurrenttI_Trip,OC2,0,0,0,,, -,,65533,44,3rdOverCurrenttI_Trip,OC3,0,0,0,,, -,,65533,45,1stOverCurrenttIe_Trip,EOC1,0,0,0,,, -,,65533,46,2ndOverCurrenttIe_Trip,EOC2,0,0,0,,, -,,65535,65535,COMM,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P127cn.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P127cn.CSV deleted file mode 100644 index edb70f4..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P127cn.CSV +++ /dev/null @@ -1,54 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,P127,P127,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,16,1,1,1000,0,0,22,100,0 -,,3,162,2,16,1000,0,0,22,100,0 -,,3,136,8,16,1000,0,0,22,100,0 -,,3,158,4,32,1000,0,0,22,100,0 -,,3,19,1,1,1000,0,0,22,100,0 -,,3,48,8,32,1000,0,0,22,100,0 -,,3,91,8,32,1000,0,0,22,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,48,1,0,0,A,0.01,IA,, -,,0,50,1,0,0,B,0.01,IB,, -,,0,52,1,0,0,C,0.01,IC,, -,,0,54,1,0,0,,0.01,I0,, -,,0,136,0.01,0,0,ABѹ,0.1,UAB,, -,,0,137,0.01,0,0,BCѹ,0.1,UBC,, -,,0,138,0.01,0,0,CAѹ,0.1,UCA,, -,,0,158,0.1,0,0,й,0.1,P,, -,,0,160,0.1,0,0,޹,0.1,Q,, -,,0,162,1,0,0,,0.1,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,16387,0,0,out3(բ),0,0,n,,, -,,16388,16387,0,out4(բ),0,0,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,16,0,1״̬,DI1,0,0,0,,, -,,16,1,2״̬,DI2,0,0,0,,, -,,16,2,3״̬,DI3,0,0,0,,, -,,16,3,4״̬,DI4,0,0,0,,, -,,16,4,5״̬,DI5,0,0,0,,, -,,16,5,6״̬,DI6,0,0,0,,, -,,16,6,7״̬,DI7,0,0,0,,, -,,19,0,RL1״̬,DO1,0,0,0,,, -,,19,1,RL2״̬,DO2,0,0,0,,, -,,19,2,RL3״̬,DO3,0,0,0,,, -,,19,3,RL4״̬,DO4,0,0,0,,, -,,19,4,RL0Ź״̬,WatchDog,0,0,0,,, -,,19,5,RL5״̬,DO5,0,0,0,,, -,,19,6,RL6״̬,DO6,0,0,0,,, -,,19,7,RL7״̬,DO7,0,0,0,,, -,,19,8,RL8״̬,DO8,0,0,0,,, -,,65533,5,ֵ޸ź,setChange,0,0,0,,, -,,65533,27,͵ѹ,UV,0,0,0,,, -,,65533,29,ʱ,EPower,0,0,0,,, -,,65533,31,͵,UnbOC1,0,0,0,,, -,,65533,32,,UnbOC,0,0,0,,, -,,65533,35,ȹɱ,ThO,0,0,0,,, -,,65533,36,ѹ,OV,0,0,0,,, -,,65533,38,ѹ,EOV,0,0,0,,, -,,65533,42,1α,OC1,0,0,0,,, -,,65533,43,2α,OC2,0,0,0,,, -,,65533,44,3α,OC3,0,0,0,,, -,,65533,45,,EOC,0,0,0,,, -,,65535,65535,ͨѶ,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P127dz.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P127dz.CSV deleted file mode 100644 index 6016068..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P127dz.CSV +++ /dev/null @@ -1,103 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],2,5,1,P127,P127,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,48,8,32,1000,0,0,22,100,0 -,,3,512,69,1,1000,0,1,22,100,1 -,,3,162,1,16,1000,0,0,22,100,0 -,,3,158,4,32,1000,1,0,22,100,0 -,,3,128,8,32,1000,0,0,22,100,0 -,,3,16,1,1,1000,0,0,22,100,1 -,,3,62,1,16,1000,1,0,22,100,0 -,,3,288,4,1,1000,0,1,22,100,1 -[Title] , , ֵ, ֵ, Ŵϵ, ֵ, ֵ, , װϵ, ֵļ,, -[Point],DZ,288,0,1,0,1,CTһֵ,1,Null,, -,,289,1,1,0,1,CTֵ,1,Null,, -,,290,2,1,0,1,CTһֵ,1,Null,, -,,291,3,1,0,1,CTֵ,1,Null,, -,,512,4,1,0,1,I>Ͷ,1,Ͷ˳.ini,, -,,513,5,1,0,1,I>ֵ,0.01,Null,, -,,514,6,1,0,1,I>ʱ,1,ʱAreva.ini,, -,,515,7,1,0,1,I>ʱʱ,0.01,Null,, -,,516,8,1,0,1,I>ʱ䳣,1,Null,, -,,524,9,1,0,1,I>>Ͷ,1,Ͷ˳.ini,, -,,525,10,1,0,1,I>>ֵ,0.01,Null,, -,,526,11,1,0,1,I>>ʱʱ,0.01,Null,, -,,529,12,1,0,1,I>>>Ͷ,1,Null,, -,,530,13,1,0,1,I>>>ֵ,0.01,Null,, -,,531,14,1,0,1,I>>>ʱʱ,0.01,Null,, -,,534,15,1,0,1,I0>Ͷ,1,Ͷ˳.ini,, -,,535,16,1,0,1,I0>ֵ,0.001,Null,, -,,536,17,1,0,1,I0>ʱ,1,ʱAreva.ini,, -,,537,18,1,0,1,I0>ʱʱ,0.01,Null,, -,,538,19,1,0,1,I0>ʱ䳣,0.01,Null,, -,,539,20,1,0,1,I0>RIʱϵK,0.001,Null,, -,,540,21,1,0,1,I0>ʱʱDMTIDMT,1,Null,, -,,541,22,1,0,1,I0>ʱ޷ʱʱ,0.01,Null,, -,,542,23,1,0,1,I0>ʱ޷ʱϵ,0.001,Null,, -,,547,24,1,0,1,I0>>Ͷ,1,Ͷ˳.ini,, -,,548,25,1,0,1,I0>>ֵ,0.001,Null,, -,,549,26,1,0,1,I0>>ʱʱ,0.01,Null,, -,,553,27,1,0,1,I0>>>Ͷ,1,Ͷ˳.ini,, -,,554,28,1,0,1,I0>>>ֵ,0.001,Null,, -,,555,29,1,0,1,I0>>>ʱʱ,0.01,Null,, -,,569,30,1,0,1,IͶ,1,Ͷ˳.ini,, -,,570,31,1,0,1,Iֵ,0.01,Null,, -,,571,32,1,0,1,Iʱ,1,ʱAreva.ini,, -,,572,33,1,0,1,ʱʱ,0.01,Null,, -,,573,34,1,0,1,Iʱ䳣,1,Null,, -,,578,35,1,0,1,IIͶ,1,Ͷ˳.ini,, -,,579,36,1,0,1,IIֵ,0.01,Null,, -,,580,37,1,0,1,IIʱʱ,0.01,Null,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,48,1,0,0,A(һֵ),0.01,IA,, -,,0,50,1,0,0,B,0.01,IB,, -,,0,52,1,0,0,C,0.01,IC,, -,,0,54,1,0,0,,0.01,I0,, -,,0,62,1,0,0,Ƶ,0.01,F,, -,,0,128,0.01,0,0,Aѹ(һֵ),0.001,VA,, -,,0,130,0.01,0,0,Bѹ,0.001,VB,, -,,0,132,0.01,0,0,Cѹ,0.001,VC,, -,,0,134,0.01,0,0,ѹ,0.001,V0,, -,,0,158,1,0,0,й,0.01,P,, -,,0,160,1,0,0,޹,0.01,Q,, -,,0,162,1,0,0,ڹ,0.01,S,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,16386,0,0,,0,0,n,,, -,,16388,16387,0,·,0,0,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,16,0,·բλ,PosOn,0,0,0,,, -,,16,1,ֳλ,RkdIn,0,0,0,,, -,,16,2,Զλ,LocRem,0,0,0,,, -,,16,3,բ,ThOT,0,0,0,,, -,,16,4,ӵصλ,ESPos,0,0,0,,, -,,16,5,뱸,DI6,0,0,0,,, -,,16,6,ɱ,DI7,0,0,0,,, -,,65533,1,ңغբ,RemoteC,0,0,0,,, -,,65533,2,ңطբ,RemoteT,0,0,0,,, -,,65533,3,¼,LB,0,0,0,,, -,,65533,4,ӵ㣨֣,TDO,0,0,0,,, -,,65533,5,ֵ޸,setChange,0,0,0,,, -,,65533,27,͵ѹ1,UV1,0,0,0,,, -,,65533,28,͵ѹ2,UV2,0,0,0,,, -,,65533,29,1,EPower1,0,0,0,,, -,,65533,30,2,EPower2,0,0,0,,, -,,65533,31,͵,UC,0,0,0,,, -,,65533,32,1,UnbOC1,0,0,0,,, -,,65533,33,2,UnbOC2,0,0,0,,, -,,65533,34,3,UnbOC3,0,0,0,,, -,,65533,35,ȹɱ,ThO,0,0,0,,, -,,65533,36,ѹ1,OV1,0,0,0,,, -,,65533,37,ѹ2,OV2,0,0,0,,, -,,65533,38,ѹ,EOV1,0,0,0,,, -,,65533,42,,OC1,0,0,0,,, -,,65533,43,ٶϱ,OC2,0,0,0,,, -,,65533,44,3,OC3,0,0,0,,, -,,65533,45,,EOC,0,0,0,,, -,,65533,46,2ι,EOC,0,0,0,,, -,,65533,47,3ι,EOC,0,0,0,,, -,,65533,48,ֺڹ϶,LocalC,0,0,0,,, -,,65533,56,̵1,tAux1,0,0,0,,, -,,65533,57,̵2,tAux2,0,0,0,,, -,,65533,105,ǰźŸ,LEDR,0,0,0,,, -,,65533,107,ԶźŸ,Rs,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P127en.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P127en.CSV deleted file mode 100644 index 130501a..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P127en.CSV +++ /dev/null @@ -1,60 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],9,5,1,P127,P127,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,16,1,1,1000,0,0,22,100,1 -,,3,128,6,32,1000,0,0,22,100,0 -,,3,62,2,16,1000,0,0,22,1000,0 -,,3,158,6,32,1000,0,0,22,1000,0 -,,3,48,8,32,1000,0,0,22,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,48,1,0,0,IA,1,IA,, -,,0,50,1,0,0,IB,1,IB,, -,,0,52,1,0,0,IC,1,IC,, -,,0,54,1,0,0,Ie,1,I0,, -,,0,62,1,0,0,F,1,F,, -,,0,128,1,0,0,UA,1,VA,, -,,0,130,1,0,0,UB,1,VB,, -,,0,132,1,0,0,UC,1,VC,, -,,0,158,1,0,0,P,1,P,, -,,0,160,1,0,0,Q,1,Q,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,100,0,0,yk1,0,0,Null,,, -,,101,0,0,yk2,0,0,Null,,, -,,102,0,0,yk3,0,0,Null,,, -,,16388,16387,0,yk4,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,16,0,IP1,DI1,0,0,0,,, -,,16,1,IP2,DI2,0,0,0,,, -,,16,2,IP3,DI3,0,0,0,,, -,,16,3,IP4,DI4,0,0,0,,, -,,16,4,IP5,DI5,0,0,0,,, -,,16,5,IP6,DI6,0,0,0,,, -,,16,6,IP7,DI7,0,0,0,,, -,,65533,17,ThermalAlarm,ThOA,0,0,0,,, -,,65533,27,1stUnderVoltageV__Trip,UV1,0,0,0,,, -,,65533,28,2ndUnderVoltageV__Trip,UV2,0,0,0,,, -,,65533,31,UndercurrentI_Trip,UC,0,0,0,,, -,,65533,32,IstNPSOvercurrentI2_Trip,NPSOC1,0,0,0,,, -,,65533,33,2ndNPSOvercurrentI2_Trip,NPSOC2,0,0,0,,, -,,65533,34,3rdNPSOvercurrentI2_Trip,NPSOC3,0,0,0,,, -,,65533,35,Thermal_Trip,ThOT,0,0,0,,, -,,65533,36,1stOverVoltageV_Trip,OV1,0,0,0,,, -,,65533,37,2ndOverVoltageV_Trip,OV2,0,0,0,,, -,,65533,38,OverVoltageUe_Trip,EOV,0,0,0,,, -,,65533,42,1stOverCurrenttI_Trip,OC1,0,0,0,,, -,,65533,43,2ndOverCurrenttI_Trip,OC2,0,0,0,,, -,,65533,44,3rdOverCurrenttI_Trip,OC3,0,0,0,,, -,,65533,45,1stOverCurrenttIe_Trip,EOC1,0,0,0,,, -,,65533,46,2ndOverCurrenttIe_Trip,EOC2,0,0,0,,, -,,65533,47,3rdOverCurrentttIe_Trip,EOC3,0,0,0,,, -,,65533,123,VTS,VTS,0,0,0,,, -,,65533,132,1stOverPOWERP_Trip,OPower1,0,0,0,,, -,,65533,133,2ndOverPOWERP_Trip,OPower2,0,0,0,,, -,,65533,186,CTS,CTS,0,0,0,,, -,,65533,202,1stUnderPOWERP_Trip,UPower1,0,0,0,,, -,,65533,203,2ndUnderPOWERP_Trip,UPower2,0,0,0,,, -,,65533,208,1stOverPOWERQ_Trip,OVar1,0,0,0,,, -,,65533,209,2ndOverPOWERQ_Trip,OVar2,0,0,0,,, -,,65533,214,1stUnderPOWERQ_Trip,UVar1,0,0,0,,, -,,65533,215,2ndUnderPOWERQ_Trip,UVar2,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P141-46.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P141-46.CSV deleted file mode 100644 index 0d77fef..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P141-46.CSV +++ /dev/null @@ -1,73 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,P14X-46-P141,P141,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,11001,12,32,1000,0,0,20,1000,0 -,,4,11024,2,1,1000,0,0,20,100,1 -,,4,11013,8,16,1000,1,0,20,100,0 -,,4,208,12,16,1000,0,0,20,100,0 -,,4,247,2,32,1000,0,0,20,100,0 -,,4,405,4,32,1000,2,0,20,1000,0 -,,4,411,8,32,1000,2,2,20,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,247,1,0,0,VNDerived,1,UG,, -,,0,405,1,0,0,P,1,P,, -,,0,407,1,0,0,Q,1,Q,, -,,0,11001,1,0,0,IA,1,IA,, -,,0,11003,1,0,0,IB,1,IB,, -,,0,11005,1,0,0,IC,1,IC,, -,,0,11007,1,0,0,UAB,1,UAB,, -,,0,11009,1,0,0,UBC,1,UBC,, -,,0,11011,1,0,0,UCA,1,UCA,, -,,0,11019,1,0,0,COS,1,PF,, -,,0,11020,1,0,0,F,1,F,, -,,2,208,1,0,0,IN1,1,IO1,, -,,2,211,1,0,0,INDerived,1,IG,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,951,952,4,yk1,1,1,Null,,, -,,953,954,4,yk2,1,1,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,411,1,0,EPdel,0.001,EPd,,, -,,0,413,1,0,EPrec,0.001,EPr,,, -,,0,415,1,0,EQdel,0.001,EQd,,, -,,0,417,1,0,EQrec,0.001,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,6,148,VTS,VTS,0,0,0,,, -,,6,149,CTS,CTS,0,0,0,,, -,,6,243,1stOverCurrenttI__Trip,OC1,0,0,0,,, -,,6,247,2ndOverCurrenttI__Trip,OC2,0,0,0,,, -,,6,251,3rdOverCurrenttI__Trip,OC3,0,0,0,,, -,,6,255,4thOverCurrenttI__Trip,OC4,0,0,0,,, -,,6,261,1stOverCurrenttIN_Trip,EOC1,0,0,0,,, -,,6,262,2ndOverCurrenttIN_Trip,EOC2,0,0,0,,, -,,6,263,3rdOverCurrenttIN_Trip,EOC3,0,0,0,,, -,,6,265,1stOverCurrenttIN2_Trip,E2OC1,0,0,0,,, -,,6,266,2ndOverCurrenttIN2_Trip,E2OC2,0,0,0,,, -,,6,267,3rdOverCurrenttIN2_Trip,E2OC3,0,0,0,,, -,,6,269,ISEF_Trip,SEF,0,0,0,,, -,,6,274,1stOverVoltageVN_Trip,EOV1,0,0,0,,, -,,6,275,2ndOverVoltageVN_Trip,EOV2,0,0,0,,, -,,6,277,NPSOverVoltageV2_Trip,NPSOV,0,0,0,,, -,,6,278,1stUnderVoltageV_Trip,UV1,0,0,0,,, -,,6,282,2ndUnderVoltageV_Trip,UV2,0,0,0,,, -,,6,286,1stOverVoltageV_Trip,OV1,0,0,0,,, -,,6,290,2ndOverVoltageV_Trip,OV2,0,0,0,,, -,,6,371,AutoClose,Recloser,0,0,0,,, -,,6,513,1stNEG_Trip,NEG1,0,0,0,,, -,,6,514,2ndNEG_Trip,NEG2,0,0,0,,, -,,11025,0,IP1,DI1,0,0,0,,, -,,11025,1,IP2,DI2,0,0,0,,, -,,11025,2,IP3,DI3,0,0,0,,, -,,11025,3,IP4,DI4,0,0,0,,, -,,11025,4,IP5,DI5,0,0,0,,, -,,11025,5,IP6,DI6,0,0,0,,, -,,11025,6,IP7,DI7,0,0,0,,, -,,11025,7,IP8,DI8,0,0,0,,, -,,11025,8,IP9,DI9,0,0,0,,, -,,11025,9,IP10,DI10,0,0,0,,, -,,11025,10,IP11,DI11,0,0,0,,, -,,11025,11,IP12,DI12,0,0,0,,, -,,11025,12,IP13,DI13,0,0,0,,, -,,11025,13,IP14,DI14,0,0,0,,, -,,11025,14,IP15,DI15,0,0,0,,, -,,11025,15,IP16,DI16,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P142(103).CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P142(103).CSV deleted file mode 100644 index ecb3546..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P142(103).CSV +++ /dev/null @@ -1,38 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],12,13,11,P142,P142,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,160,148,1000,0,0,IA,0.001,IA -,,160,148,1000,0,1,IB,0.001,IB -,,160,148,1000,0,2,IC,0.001,IC -,,160,148,1000,0,3,VA,0.001,VA -,,160,148,1000,0,4,VB,0.001,VB -,,160,148,1000,0,5,VC,0.001,VC -,,160,148,1000,0,6,P,0.001,P -,,160,148,1000,0,7,Q,0.001,Q -,,160,148,1000,0,8,F,0.001,F -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,165,33,0,4#CB/,165,32,1, -,,165,34,0,43ES/,165,35,1, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,160,27,˹բ,LGT,0,0,0, -,,160,28,˹澯,LLGA,0,0,0, -,,160,29,鳬բ,OWA,0,0,0, -,,160,30,¶ȸ澯,HWA,0,0,0, -,,160,38,VT߸澯,VTS,0,0,0, -,,160,85,CBFailAlarm,CBFail,0,0,0, -,,162,36,źųբ,DI1,0,0,0, -,,162,37,ź¶ȸ澯,DI2,0,0,0, -,,162,38,λ߱,OOL,0,0,0, -,,162,39,λͱ,UOL,0,0,0, -,,162,40,ѹͷբ,PR,0,0,0, -,,162,41,43ESλ,DI6,0,0,0, -,,162,42,4#CBλ,DI7,0,0,0, -,,162,43,4#CBλ,DI8,0,0,0, -,,162,149,CT߸澯,CTS,0,0,0, -,,162,168,ǵ澯,NONEA,0,0,0, -,,162,170,IN1>,EOC1,0,0,0, -,,162,171,ɸ澯I>2,OC2,0,0,0, -,,162,172,ǵբ,NONET,0,0,0, -,,162,173,,BY,0,0,0, -,,162,179,ѹI>1,UOC,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P143-46EN.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P143-46EN.CSV deleted file mode 100644 index 37429b2..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P143-46EN.CSV +++ /dev/null @@ -1,73 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,P14X-46-P143,P143,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,11001,12,32,1000,0,0,20,1000,0 -,,4,11024,2,1,1000,0,0,20,100,1 -,,4,11013,8,16,1000,1,0,20,100,0 -,,4,208,12,16,1000,0,0,20,100,0 -,,4,247,2,32,1000,0,0,20,100,0 -,,4,405,4,32,1000,2,0,20,1000,0 -,,4,411,8,32,1000,2,2,20,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,247,1,0,0,VN,1,V0,, -,,0,405,1,0,0,P,1,P,, -,,0,407,1,0,0,Q,1,Q,, -,,0,11001,1,0,0,IA,1,IA,, -,,0,11003,1,0,0,IB,1,IB,, -,,0,11005,1,0,0,IC,1,IC,, -,,0,11007,1,0,0,UAB,1,UAB,, -,,0,11009,1,0,0,UBC,1,UBC,, -,,0,11011,1,0,0,UCA,1,UCA,, -,,0,11019,1,0,0,COS,1,PF,, -,,0,11020,1,0,0,F,1,F,, -,,2,208,1,0,0,IN1,1,I01,, -,,2,211,1,0,0,IN2,1,I02,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,951,952,4,yk1,1,1,Null,,, -,,953,954,4,yk2,1,1,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,411,1,0,EPdel,0.001,EPd,,, -,,0,413,1,0,EPrec,0.001,EPr,,, -,,0,415,1,0,EQdel,0.001,EQd,,, -,,0,417,1,0,EQrec,0.001,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,6,148,VTS,VTS,0,0,0,,, -,,6,149,CTS,CTS,0,0,0,,, -,,6,243,1stOverCurrenttI__Trip,OC1,0,0,0,,, -,,6,247,2ndOverCurrenttI__Trip,OC2,0,0,0,,, -,,6,251,3rdOverCurrenttI__Trip,OC3,0,0,0,,, -,,6,255,4thOverCurrenttI__Trip,OC4,0,0,0,,, -,,6,261,1stOverCurrenttIN_Trip,EOC1,0,0,0,,, -,,6,262,2ndOverCurrenttIN_Trip,EOC2,0,0,0,,, -,,6,263,3rdOverCurrenttIN_Trip,EOC3,0,0,0,,, -,,6,265,1stOverCurrenttIN2_Trip,E2OC1,0,0,0,,, -,,6,266,2ndOverCurrenttIN2_Trip,E2OC2,0,0,0,,, -,,6,267,3rdOverCurrenttIN2_Trip,E2OC3,0,0,0,,, -,,6,269,ISEF_Trip,SEF,0,0,0,,, -,,6,274,1stOverVoltageVN_Trip,EOV1,0,0,0,,, -,,6,275,2ndOverVoltageVN_Trip,EOV2,0,0,0,,, -,,6,277,NPSOverVoltageV2_Trip,NPSOV,0,0,0,,, -,,6,278,1stUnderVoltageV_Trip,UV1,0,0,0,,, -,,6,282,2ndUnderVoltageV_Trip,UV2,0,0,0,,, -,,6,286,1stOverVoltageV_Trip,OV1,0,0,0,,, -,,6,290,2ndOverVoltageV_Trip,OV2,0,0,0,,, -,,6,371,AutoClose,Recloser,0,0,0,,, -,,6,513,1stNPSOvercurrentI2_Trip,NPSOC1,0,0,0,,, -,,6,514,2ndNPSOvercurrentI2_Trip,NPSOC2,0,0,0,,, -,,11025,0,IP1,DI1,0,0,0,,, -,,11025,1,IP2,DI2,0,0,0,,, -,,11025,2,IP3,DI3,0,0,0,,, -,,11025,3,IP4,DI4,0,0,0,,, -,,11025,4,IP5,DI5,0,0,0,,, -,,11025,5,IP6,DI6,0,0,0,,, -,,11025,6,IP7,DI7,0,0,0,,, -,,11025,7,IP8,DI8,0,0,0,,, -,,11025,8,IP9,DI9,0,0,0,,, -,,11025,9,IP10,DI10,0,0,0,,, -,,11025,10,IP11,DI11,0,0,0,,, -,,11025,11,IP12,DI12,0,0,0,,, -,,11025,12,IP13,DI13,0,0,0,,, -,,11025,13,IP14,DI14,0,0,0,,, -,,11025,14,IP15,DI15,0,0,0,,, -,,11025,15,IP16,DI16,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P14X-V46J.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P14X-V46J.CSV deleted file mode 100644 index 05e1540..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P14X-V46J.CSV +++ /dev/null @@ -1,76 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],6,5,1,P142-46,P142,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,11001,12,32,1000,0,0,20,1000,0 -,,4,11025,2,1,1000,0,0,20,100,1 -,,4,208,2,32,1000,0,0,20,1000,0 -,,4,247,2,32,1000,0,0,20,1000,0 -,,4,11013,8,16,1000,1,0,20,1000,0 -,,4,411,8,32,1000,2,2,20,1000,0 -,,4,405,4,32,1000,2,0,20,1000,0 -,,4,211,2,32,1000,0,0,20,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,208,1,0,0,IN1,0.001,I01,, -,,0,211,1,0,0,IN2,0.001,I02,, -,,0,247,1,0,0,VN,0.001,VN,, -,,0,405,1,0,0,P,0.001,P,, -,,0,407,1,0,0,Q,0.001,Q,, -,,0,11001,1,0,0,IA,0.001,IA,, -,,0,11003,1,0,0,IB,0.001,IB,, -,,0,11005,1,0,0,IC,0.001,IC,, -,,0,11007,1,0,0,UAB,0.001,UAB,, -,,0,11009,1,0,0,UBC,0.001,UBC,, -,,0,11011,1,0,0,UCA,0.001,UCA,, -,,0,11019,10,0,0,COS,0.01,PF,, -,,0,11020,1,0,0,F,0.001,F,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,951,952,4,yk1,1,1,Null,,, -,,953,953,0,yk2,0,0,Null,,, -,,954,954,0,yk3,0,0,Null,,, -,,955,955,0,yk4,0,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,411,1,0,EPdel,0.001,EPd,,, -,,0,413,1,0,EPrec,0.001,EPr,,, -,,0,415,1,0,EQdel,0.001,EQd,,, -,,0,417,1,0,EQrec,0.001,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,6,148,VTS,VTS,0,0,0,,, -,,6,149,CTS,CTS,0,0,0,,, -,,6,243,1stOverCurrenttI__Trip,OC1,0,0,0,,, -,,6,247,2ndOverCurrenttI__Trip,OC2,0,0,0,,, -,,6,251,3rdOverCurrenttI__Trip,OC3,0,0,0,,, -,,6,255,4thOverCurrenttI__Trip,OC4,0,0,0,,, -,,6,261,1stOverCurrenttIN_Trip,EOC1,0,0,0,,, -,,6,262,2ndOverCurrenttIN_Trip,EOC2,0,0,0,,, -,,6,263,3rdOverCurrenttIN_Trip,EOC3,0,0,0,,, -,,6,265,1stOverCurrenttIN2_Trip,E2OC1,0,0,0,,, -,,6,266,2ndOverCurrenttIN2_Trip,E2OC2,0,0,0,,, -,,6,267,3rdOverCurrenttIN2_Trip,E2OC3,0,0,0,,, -,,6,269,ISEF_Trip,SEF,0,0,0,,, -,,6,274,1stOverVoltageVN_Trip,EOV1,0,0,0,,, -,,6,275,2ndOverVoltageVN_Trip,EOV2,0,0,0,,, -,,6,277,NPSOverVoltageV2_Trip,EOV3,0,0,0,,, -,,6,278,1stUnderVoltageV_Trip,UV1,0,0,0,,, -,,6,282,2ndUnderVoltageV_Trip,UV2,0,0,0,,, -,,6,286,1stOverVoltageV_Trip,OV1,0,0,0,,, -,,6,290,2ndOverVoltageV_Trip,OV2,0,0,0,,, -,,6,371,AutoClose,Recloser,0,0,0,,, -,,6,513,1stNPSOvercurrentI2_Trip,NPSOC1,0,0,0,,, -,,6,514,2ndNPSOvercurrentI2_Trip,NPSOC2,0,0,0,,, -,,11025,0,IP1,DI1,0,0,0,,, -,,11025,1,IP2,DI2,0,0,0,,, -,,11025,2,IP3,DI3,0,0,0,,, -,,11025,3,IP4,DI4,0,0,0,,, -,,11025,4,IP5,DI5,0,0,0,,, -,,11025,5,IP6,DI6,0,0,0,,, -,,11025,6,IP7,DI7,0,0,0,,, -,,11025,7,IP8,DI8,0,0,0,,, -,,11025,8,IP9,DI9,0,0,0,,, -,,11025,9,IP10,DI10,0,0,0,,, -,,11025,10,IP11,DI11,0,0,0,,, -,,11025,11,IP12,DI12,0,0,0,,, -,,11025,12,IP13,DI13,0,0,0,,, -,,11025,13,IP14,DI14,0,0,0,,, -,,11025,14,IP15,DI15,0,0,0,,, -,,11025,15,IP16,DI16,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P243-V57.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P243-V57.CSV deleted file mode 100644 index 46446f5..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P243-V57.CSV +++ /dev/null @@ -1,60 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],5,7,1,P243-57,P243-57,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,168,18,32,1000,0,0,20,100,0 -,,4,6,3,1,1000,0,0,20,100,0 -,,4,11001,12,32,1000,0,0,20,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,11001,1,0,0,A,0.001,IA,, -,,0,11003,1,0,0,B,0.001,IB,, -,,0,11005,1,0,0,C,0.001,IC,, -,,0,11007,1,0,0,ABѹ,0.001,UAB,, -,,0,11009,1,0,0,BCѹ,0.001,UBC,, -,,0,11011,1,0,0,CAѹ,0.001,UCA,, -,,0,11016,1,0,0,Ib-2ֵ,0.001,IB2,, -,,0,11018,1,0,0,Ic-2ֵ,0.001,IC2,, -,,0,11020,1,0,0,A,0.001,IAD,, -,,0,11022,1,0,0,B,0.001,IBA,, -,,0,11024,1,0,0,C,0.001,ICD,, -,,0,11026,1,0,0,Aƶ,0.001,IAR,, -,,0,11028,1,0,0,Bƶ,0.001,IBR,, -,,0,11030,1,0,0,Cƶ,0.001,ICR,, -,,0,11056,1,0,0,Ia-2ֵ,0.001,IA2,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,20,20,4,·,1,2,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,6,0,·,PosOn,0,0,0,,, -,,6,1,,DI2,0,0,0,,, -,,6,2,ӵص,ESPos,0,0,0,,, -,,6,3,ip4,DI4,0,0,0,,, -,,6,4,ip5,DI5,0,0,0,,, -,,6,5,ip6,DI6,0,0,0,,, -,,6,6,ip7,DI7,0,0,0,,, -,,6,7,ip8,DI8,0,0,0,,, -,,6,15,1Cද,OC1C,0,0,0,,, -,,6,18,2Cද,OC2C,0,0,0,,, -,,6,19,Ƶ1ζ,UF1,0,0,0,,, -,,6,20,Ƶ2ζ,UF2,0,0,0,,, -,,6,21,1ζ,SEF1,0,0,0,,, -,,6,22,2ζ,SEF2,0,0,0,,, -,,6,23,1ζ,EOC1,0,0,0,,, -,,6,24,2ζ,EOC2,0,0,0,,, -,,6,25,͹1ζ,UPower1,0,0,0,,, -,,6,26,͹2ζ,UPower2,0,0,0,,, -,,6,30,1ζ,UnbOC1,0,0,0,,, -,,6,31,2ζ,UnbOC2,0,0,0,,, -,,6,32,͵ѹ1ζ,UV1,0,0,0,,, -,,6,33,ѹ1ζ,OV1,0,0,0,,, -,,6,34,͵ѹ2ζ,UV2,0,0,0,,, -,,6,35,ѹ2ζ,OV2,0,0,0,,, -,,6,36,Բѹ1ζ,GOV1,0,0,0,,, -,,6,37,Բѹ2ζ,GOV2,0,0,0,,, -,,6,123,1Bද,OC1B,0,0,0,,, -,,6,237,1Aද,OC1A,0,0,0,,, -,,6,248,2Aද,OC2A,0,0,0,,, -,,6,318,,Diff,0,0,0,,, -,,6,338,2Bද,OC2B,0,0,0,,, -,,8,0,¹,TIS,0,0,0,,, -,,8,1,out2,DO2,0,0,0,,, -,,8,2,out3,DO3,0,0,0,,, -,,65535,65535,ң״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P343-V35.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P343-V35.CSV deleted file mode 100644 index 4bb5d37..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P343-V35.CSV +++ /dev/null @@ -1,112 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],5,15,1,P343-35,P343-35,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,199,65,32,1000,0,0,20,3000,0 -,,4,408,4,32,1000,2,0,20,3000,0 -,,4,235,2,32,1000,0,0,20,3000,0 -,,4,264,2,16,1000,0,0,20,3000,0 -,,4,202,2,32,1000,0,0,20,3000,0 -,,4,199,2,32,1000,0,0,20,3000,0 -,,4,232,2,32,1000,0,0,20,3000,0 -,,4,434,2,32,1000,0,0,20,3000,0 -,,4,338,2,16,1000,0,0,20,3000,0 -,,4,437,2,32,1000,0,0,20,3000,0 -,,4,229,2,32,1000,0,0,20,3000,0 -,,4,414,8,32,1000,2,2,20,3000,0 -,,4,440,2,32,1000,0,0,20,3000,0 -,,4,11025,2,1,1000,0,0,20,3000,1 -,,4,443,6,32,1000,0,0,20,3000,0 -,,4,205,2,32,1000,0,0,20,3000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,199,1,0,0,IA1,0.001,IA1,, -,,0,202,1,0,0,IB1,0.001,IB1,, -,,0,205,1,0,0,IC1,0.001,IC1,, -,,0,208,1,0,0,IN1,0.001,IN1,, -,,0,211,1,0,0,IN2,0.001,IN2,, -,,0,214,1,0,0,Isen,0.001,Isen,, -,,0,218,1,0,0,I1,0.001,I1,, -,,0,220,1,0,0,I2,0.001,I2,, -,,0,229,1,0,0,VABN,0.001,VABN,, -,,0,232,1,0,0,VBCN,0.001,VBCN,, -,,0,235,1,0,0,VCAN,0.001,VCAN,, -,,0,247,1,0,0,VN1,0.001,VN1,, -,,0,250,1,0,0,VN2,0.001,VN2,, -,,0,252,1,0,0,V1,0.001,V1,, -,,0,254,1,0,0,V2,0.001,V2,, -,,0,264,1,0,0,F,0.01,F,, -,,0,338,10,0,0,COS,0.001,PF,, -,,0,408,1,0,0,P,0.001,P,, -,,0,410,1,0,0,Q,0.001,Q,, -,,0,434,1,0,0,IA2,0.001,IA2,, -,,0,437,1,0,0,IB2,0.001,IB2,, -,,0,440,1,0,0,IC2,0.001,IC2,, -,,0,443,1,0,0,IADifferential,0.001,IAD,, -,,0,445,1,0,0,IBDifferential,0.001,IBD,, -,,0,447,1,0,0,ICDifferential,0.001,ICD,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,20,20,4,yk1,1,2,Null,,, -,,951,952,4,yk2,1,1,Null,,, -,,953,954,4,yk3,1,1,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,414,1,0,EPdel,0.001,EPd,,, -,,0,416,1,0,EPrec,0.001,EPr,,, -,,0,418,1,0,EQdel,0.001,EQd,,, -,,0,420,1,0,EQrec,0.001,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,6,356,VTS,VTS,0,0,0,,, -,,6,357,CTS,CTS,0,0,0,,, -,,6,640,GenDiff_Trip,GenDiff,0,0,0,,, -,,6,644,FieldFail1_Trip,FL1,0,0,0,,, -,,6,645,FieldFail2_Trip,FL2,0,0,0,,, -,,6,646,V/Hz_Trip,VHz,0,0,0,,, -,,6,661,df/dt_Trip,Dfdt,0,0,0,,, -,,6,662,VShift_Trip,Vshift,0,0,0,,, -,,6,663,IN__Trip,EOC,0,0,0,,, -,,6,667,IREF_Trip,REF,0,0,0,,, -,,6,668,ISEF_Trip,SEF,0,0,0,,, -,,6,672,VN_Trip,EOV,0,0,0,,, -,,6,678,1stUnderVoltageV_Trip,UV1,0,0,0,,, -,,6,682,2ndUnderVoltageV_Trip,UV2,0,0,0,,, -,,6,686,1stOverVoltageV_Trip,OV1,0,0,0,,, -,,6,690,2ndOverVoltageV_Trip,OV2,0,0,0,,, -,,6,694,UnderFrequencyF_Trip,UF,0,0,0,,, -,,6,698,OverFrequencyF_Trip,OF,0,0,0,,, -,,6,700,Power1_Trip,Power1,0,0,0,,, -,,6,701,Power2_Trip,Power2,0,0,0,,, -,,6,702,NPSThermal_Trip,NPS,0,0,0,,, -,,6,703,ThermalO/L_Trip,ThOT,0,0,0,,, -,,6,704,1stOverCurrenttI_Trip,OC1,0,0,0,,, -,,6,708,2ndOverCurrenttI_Trip,OC2,0,0,0,,, -,,6,712,3rdOverCurrenttI_Trip,OC3,0,0,0,,, -,,6,716,4thOverCurrenttI_Trip,OC4,0,0,0,,, -,,6,720,SPower1_Trip,SPower1,0,0,0,,, -,,6,722,PSlipzZ1_Trip,PS,0,0,0,,, -,,6,724,VDepOC_Trip,VDepOC,0,0,0,,, -,,6,728,1stUnderZ_Trip,UZ1,0,0,0,,, -,,6,732,2ndUnderZ_Trip,UZ2,0,0,0,,, -,,6,736,Bfail_Trip,CBfail,0,0,0,,, -,,6,738,100%StEF3H_Trip,SE,0,0,0,,, -,,6,743,NPSOverpowerS2_Trip,NPSP,0,0,0,,, -,,6,744,FreqBand1_Trip,FreqB1,0,0,0,,, -,,6,750,NPSOvercurrentI2_Trip,NPSOC,0,0,0,,, -,,6,754,NPSOverVoltageV2_Trip,NPSOV,0,0,0,,, -,,6,756,64SI_Trip,64SI,0,0,0,,, -,,6,757,64SR_Trip,64SR,0,0,0,,, -,,6,758,64RR_Trip,64RR,0,0,0,,, -,,11025,0,IP1,DI1,0,0,0,,, -,,11025,1,IP2,DI2,0,0,0,,, -,,11025,2,IP3,DI3,0,0,0,,, -,,11025,3,IP4,DI4,0,0,0,,, -,,11025,4,IP5,DI5,0,0,0,,, -,,11025,5,IP6,DI6,0,0,0,,, -,,11025,6,IP7,DI7,0,0,0,,, -,,11025,7,IP8,DI8,0,0,0,,, -,,11025,8,IP9,DI9,0,0,0,,, -,,11025,9,IP10,DI10,0,0,0,,, -,,11025,10,IP11,DI11,0,0,0,,, -,,11025,11,IP12,DI12,0,0,0,,, -,,11025,12,IP13,DI13,0,0,0,,, -,,11025,13,IP14,DI14,0,0,0,,, -,,11025,14,IP15,DI15,0,0,0,,, -,,11025,15,IP16,DI16,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P343.csv b/PSCADA/电子行业模板/common/device_model/MICOM/P343.csv deleted file mode 100644 index 27a89df..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P343.csv +++ /dev/null @@ -1,111 +0,0 @@ -[Title],Device address,Device Properties,ID,Device Model,Device Description,,,,,,, -[Device],3,15,1,P343-35,P343,,,,,,, -[Title],Point type,Function code,Starting address,Register length,Register type,Response time,Date type,Block type,Device serial number,Polling time,SOE, -[Point],BLOCK,4,11025,2,1,1000,0,0,20,3000,1, -,,4,199,65,32,1000,0,0,20,3000,0, -,,4,199,2,32,1000,0,0,20,3000,0, -,,4,202,2,32,1000,0,0,20,3000,0, -,,4,205,2,32,1000,0,0,20,3000,0, -,,4,229,2,32,1000,0,0,20,3000,0, -,,4,232,2,32,1000,0,0,20,3000,0, -,,4,235,2,32,1000,0,0,20,3000,0, -,,4,264,2,16,1000,0,0,20,3000,0, -,,4,338,2,16,1000,0,0,20,3000,0, -,,4,434,2,32,1000,0,0,20,3000,0, -,,4,437,2,32,1000,0,0,20,3000,0, -,,4,440,2,32,1000,0,0,20,3000,0, -,,4,408,4,32,1000,2,0,20,3000,0, -,,4,414,8,32,1000,2,2,20,3000,0, -,,4,443,6,32,1000,0,0,20,3000,0, -[Title],Point type,Function number,Information number,Amplification factor,Correction value,Value_added,Point description,Device coefficient,Named abbreviation,,, -[Point],YC,0,199,1,0,0,IA1,0.001,IA1,,, -,,0,202,1,0,0,IB1,0.001,IB1,,, -,,0,205,1,0,0,IC1,0.001,IC1,,, -,,0,208,1,0,0,IN1,0.001,IN1,,, -,,0,211,1,0,0,IN2,0.001,IN2,,, -,,0,214,1,0,0,Isen,0.001,Isen,,, -,,0,218,1,0,0,I1,0.001,I1,,, -,,0,220,1,0,0,I2,0.001,I2,,, -,,0,229,1,0,0,VABN,0.001,VAB,,, -,,0,232,1,0,0,VBCN,0.001,VBC,,, -,,0,235,1,0,0,VCAN,0.001,VCA,,, -,,0,247,1,0,0,VN1,0.001,VN1,,, -,,0,250,1,0,0,VN2,0.001,VN2,,, -,,0,252,1,0,0,V1,0.001,V1,,, -,,0,254,1,0,0,V2,0.001,V2,,, -,,0,264,1,0,0,F,0.01,F,,, -,,0,408,1,0,0,P,0.001,P,,, -,,0,410,1,0,0,Q,0.001,Q,,, -,,0,338,10,0,0,COS,0.001,PF,,, -,,0,434,1,0,0,IA2,0.001,IA2,,, -,,0,437,1,0,0,IB2,0.001,IB2,,, -,,0,440,1,0,0,IC2,0.001,IC2,,, -,,0,443,1,0,0,IADifferential,0.001,IAD,,, -,,0,445,1,0,0,IBDifferential,0.001,IBD,,, -,,0,447,1,0,0,ICDifferential,0.001,ICD,,, -[Title],Point type,Function number,Information number,Point description,Named abbreviation,Associate YX ID, YX Property,Custom #1,,,, -[Point],YK,20,20,4,yk1,1,2,Null,,,, -,,951,952,4,yk2,1,1,Null,,,, -,,953,954,4,yk3,1,1,Null,,,, -[Title],Point type,Function number,Information number,Amplification factor,Correction value,Point description,Device coefficient,Named abbreviation,,,, -[Point],YM,0,414,1,0,EPdel,0.001,EPd,,,, -,,0,416,1,0,EPrec,0.001,EPr,,,, -,,0,418,1,0,EQdel,0.001,EQd,,,, -,,0,420,1,0,EQrec,0.001,EQr,,,, -[Title],Point type,Function number,Information number,Point description,Named abbreviation,Associate YX ID, YX Property,Custom #1,,,, -[Point],YX,11025,0,IP1,DI1,0,0,0,,,, -,,11025,1,IP2,DI2,0,0,0,,,, -,,11025,2,IP3,DI3,0,0,0,,,, -,,11025,3,IP4,DI4,0,0,0,,,, -,,11025,4,IP5,DI5,0,0,0,,,, -,,11025,5,IP6,DI6,0,0,0,,,, -,,11025,6,IP7,DI7,0,0,0,,,, -,,11025,7,IP8,DI8,0,0,0,,,, -,,11025,8,IP9,DI9,0,0,0,,,, -,,11025,9,IP10,DI10,0,0,0,,,, -,,11025,10,IP11,DI11,0,0,0,,,, -,,11025,11,IP12,DI12,0,0,0,,,, -,,11025,12,IP13,DI13,0,0,0,,,, -,,11025,13,IP14,DI14,0,0,0,,,, -,,11025,14,IP15,DI15,0,0,0,,,, -,,11025,15,IP16,DI16,0,0,0,,,, -,,6,356,VTS,VTS,0,0,0,,,, -,,6,357,CTS,CTS,0,0,0,,,, -,,6,640,GenDiff_Trip,GenDiff,0,0,0,,,, -,,6,644,FieldFail1_Trip,FL1,0,0,0,,,, -,,6,645,FieldFail2_Trip,FL2,0,0,0,,,, -,,6,646,V/Hz_Trip,VHz,0,0,0,,,, -,,6,661,df/dt_Trip,Dfdt,0,0,0,,,, -,,6,662,VShift_Trip,Vshift,0,0,0,,,, -,,6,663,IN__Trip,EOC,0,0,0,,,, -,,6,667,IREF_Trip,REF,0,0,0,,,, -,,6,668,ISEF_Trip,SEF,0,0,0,,,, -,,6,672,VN_Trip,EOV,0,0,0,,,, -,,6,678,1st Under Voltage V_Trip,UV1,0,0,0,,,, -,,6,682,2nd Under Voltage V_Trip,UV2,0,0,0,,,, -,,6,686,1st Over Voltage V_Trip,OV1,0,0,0,,,, -,,6,690,2nd Over Voltage V_Trip,OV2,0,0,0,,,, -,,6,694,Under Frequency F_Trip,UF,0,0,0,,,, -,,6,698,Over Frequency F_Trip,OF,0,0,0,,,, -,,6,700,Power1_Trip,Power1,0,0,0,,,, -,,6,702,NPSThermal_Trip,NPS,0,0,0,,,, -,,6,703,ThermalO/L_Trip,ThOT,0,0,0,,,, -,,6,704,1st Over Currentt I_Trip,OC1,0,0,0,,,, -,,6,708,2nd Over Currentt I_Trip,OC2,0,0,0,,,, -,,6,712,3rd Over Currentt I_Trip,OC3,0,0,0,,,, -,,6,716,4th Over Currentt I_Trip,OC4,0,0,0,,,, -,,6,720,SPower1_Trip,SPower1,0,0,0,,,, -,,6,722,PSlipzZ1_Trip,PS,0,0,0,,,, -,,6,724,VDepOC_Trip,VDepOC,0,0,0,,,, -,,6,728,1st Under Z_Trip,UZ1,0,0,0,,,, -,,6,732,2nd Under Z_Trip,UZ2,0,0,0,,,, -,,6,736,CBfail_Trip,CBfail,0,0,0,,,, -,,6,738,100%StEF3H_Trip,SE,0,0,0,,,, -,,6,743,NPS Overpower S2_Trip,NPSP,0,0,0,,,, -,,6,744,FreqBand1_Trip,FreqB1,0,0,0,,,, -,,6,750,NPS Overcurrent I2_Trip,NPSOC,0,0,0,,,, -,,6,754,NPS Over Voltage V2_Trip,NPSOV,0,0,0,,,, -,,6,756,64SI_Trip,64SI,0,0,0,,,, -,,6,757,64SR_Trip,64SR,0,0,0,,,, -,,6,758,64RR_Trip,64RR,0,0,0,,,, -,,65535,65535,TX,TX,0,0,0,,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P443(103规约).CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P443(103规约).CSV deleted file mode 100644 index 04aac60..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P443(103规约).CSV +++ /dev/null @@ -1,37 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,11,P443,P443(103),,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,128,148,1914,0,7,Q,1,Q -,,128,148,5000,0,8,F,1,F -,,128,148,1914,0,6,P,1,P -,,128,148,6361,0,5,UC,1,VC -,,128,148,6361,0,4,UB,1,VB -,,128,148,6361,0,3,UA,1,VA -,,128,148,10000,0,2,IC,1,IC -,,128,148,10000,0,1,IB,1,IB -,,128,148,10000,0,0,IA,1,IA -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,130,192,0,ControlInput1/2,130,193,1, -,,130,194,0,ControlInput3/4,130,195,1, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,128,27,Opto1,DI1,0,0,0, -,,128,28,Opto2,DI2,0,0,0, -,,128,29,Opto3,DI3,0,0,0, -,,128,30,Opto4,DI4,0,0,0, -,,130,36,Opto5,DI5,0,0,0, -,,130,37,Opto6,DI6,0,0,0, -,,130,38,Opto7,DI7,0,0,0, -,,130,39,Opto8,DI8,0,0,0, -,,130,40,Opto9,DI9,0,0,0, -,,130,41,Opto10,DI10,0,0,0, -,,130,42,Opto11,DI11,0,0,0, -,,130,43,Opto12,DI12,0,0,0, -,,130,44,Opto13,DI13,0,0,0, -,,130,45,Opto14,DI14,0,0,0, -,,130,46,Opto15,DI15,0,0,0, -,,130,47,Opto16,DI16,0,0,0, -,,132,143,I>1_Trip,OC1,0,0,0, -,,132,147,I>2_Trip,OC2,0,0,0, -,,132,151,I>3_Trip,OC3,0,0,0, -,,132,155,I>4_Trip,OC4,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P443-103.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P443-103.CSV deleted file mode 100644 index dd6b6df..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P443-103.CSV +++ /dev/null @@ -1,52 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,11,P443,n(103),,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,128,148,10000,0,1,IB,1,IB -,,128,148,10000,0,2,IC,1,IC -,,128,148,10000,0,0,IA,1,IA -,,128,148,10000,0,3,UA,1,UA -,,128,148,10000,0,4,UB,1,UB -,,128,148,10000,0,5,UC,1,UC -,,128,148,10000,0,6,P,1,P -,,128,148,10000,0,7,Q,1,Q -,,128,148,10000,0,8,F,1,F -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,130,192,0,ControlInput1/2,130,193,1, -,,130,194,0,ControlInput3/4,130,195,1, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,128,27,Opto1,DI1,0,0,0, -,,128,28,Opto2,DI2,0,0,0, -,,128,29,Opto3,DI3,0,0,0, -,,128,30,Opto4,DI4,0,0,0, -,,130,36,Opto5,DI5,0,0,0, -,,130,37,Opto6,DI6,0,0,0, -,,130,38,Opto7,DI7,0,0,0, -,,130,39,Opto8,DI8,0,0,0, -,,130,40,Opto9,DI9,0,0,0, -,,130,41,Opto10,DI10,0,0,0, -,,130,42,Opto11,DI11,0,0,0, -,,130,43,Opto12,DI12,0,0,0, -,,130,44,Opto13,DI13,0,0,0, -,,130,45,Opto14,DI14,0,0,0, -,,130,46,Opto15,DI15,0,0,0, -,,130,47,Opto16,DI16,0,0,0, -,,131,0,VO1,VO1,0,0,0, -,,131,1,VO2,VO2,0,0,0, -,,131,2,VO3,VO3,0,0,0, -,,131,3,VO4,VO4,0,0,0, -,,131,4,VO5,VO5,0,0,0, -,,131,5,VO6,VO6,0,0,0, -,,131,6,VO7,VO7,0,0,0, -,,131,7,VO8,VO8,0,0,0, -,,131,8,VO9,VO9,0,0,0, -,,131,9,VO10,VO10,0,0,0, -,,131,10,VO11,VO11,0,0,0, -,,131,11,VO12,VO12,0,0,0, -,,131,12,VO13,VO13,0,0,0, -,,131,13,VO14,VO14,0,0,0, -,,131,14,VO15,VO15,0,0,0, -,,131,15,VO16,VO16,0,0,0, -,,131,16,VO17,VO17,0,0,0, -,,131,17,VO18,VO18,0,0,0, -,,131,18,VO19,VO19,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P521(中文).CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P521(中文).CSV deleted file mode 100644 index 363bc71..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P521(中文).CSV +++ /dev/null @@ -1,54 +0,0 @@ -y,豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],4,13,1,P521,P521,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,20,1,1,1000,0,0,22,100,1 -,,3,108,36,32,1000,0,0,22,100,0 -,,3,16,1,1,1000,0,0,22,100,1 -,,3,64,8,32,1000,0,0,22,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,64,1,0,0,A,0.001,IA,, -,,0,66,1,0,0,B,0.001,IB,, -,,0,68,1,0,0,C,0.001,IC,, -,,0,70,1,0,0,,0.001,I0,, -,,0,108,1,0,0,ԲA,0.001,IIA,, -,,0,112,1,0,0,ԲB,0.001,IIB,, -,,0,116,1,0,0,ԲC,0.001,IIC,, -,,0,132,1,0,0,A,0.001,IAD,, -,,0,134,1,0,0,B,0.001,IAB,, -,,0,136,1,0,0,C,0.001,IAC,, -,,0,138,1,0,0,Aƶ,0.001,IAR,, -,,0,140,1,0,0,Bƶ,0.001,IBR,, -,,0,142,1,0,0,Cƶ,0.001,ICR,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,16,0,ص,ESOff,0,0,0,,, -,,16,1,ص,ESPos,0,0,0,,, -,,16,2,3,DI3,0,0,0,,, -,,16,3,4,DI4,0,0,0,,, -,,16,4,5,DI5,0,0,0,,, -,,20,0,բ,DO1,0,0,0,,, -,,20,1,բ,DO2,0,0,0,,, -,,20,2,¼,DO3,0,0,0,,, -,,20,3,4,DO4,0,0,0,,, -,,20,4,Ź,WatchDog,0,0,0,,, -,,20,5,5,DO5,0,0,0,,, -,,20,6,ǵբ,DO7,0,0,0,,, -,,20,7,7,DO7,0,0,0,,, -,,20,8,8,DO8,0,0,0,,, -,,65533,5,ֵ޸,setChange,0,0,0,,, -,,65533,19,1α,OC1,0,0,0,,, -,,65533,20,2α,OC2,0,0,0,,, -,,65533,23,1α,EOC1,0,0,0,,, -,,65533,27,͵,UC,0,0,0,,, -,,65533,29,ʱ1,tAux1,0,0,0,,, -,,65533,30,ʱ2,tAux2,0,0,0,,, -,,65533,36,ֵл,SetGChange,0,0,0,,, -,,65533,45,߼״̬ı,DIChange,0,0,0,,, -,,90,5,A,DiffA,0,1,0,,, -,,90,6,B,DiffB,0,1,0,,, -,,90,7,C,DiffC,0,1,0,,, -,,90,11,,DiffInter,0,1,0,,, -,,108,1,ͨ,PCF,0,1,0,,, -,,65533,138,CT,CTS,0,0,0,,, -,,65533,67,1α,UnbOC1,0,0,0,,, -,,90,4,բ,ODiff,0,1,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P521(英文).CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P521(英文).CSV deleted file mode 100644 index 6687ab5..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P521(英文).CSV +++ /dev/null @@ -1,57 +0,0 @@ -[Title],Device address,Device Properties,ID,Device Model,Device Description,,,,,, -[Device],4,13,1,p521,P521,,,,,, -[Title],Point type,Function code,Starting address,Register length,Register type,Response time,Date type,Block type,Device serial number,Polling time,SOE -[Point],BLOCK,3,20,1,1,1000,0,0,22,100,1 -,,3,108,36,32,1000,0,0,22,100,0 -,,3,16,1,1,1000,0,0,22,100,1 -,,3,64,8,32,1000,0,0,22,100,0 -[Title],Point type,Function number,Information number,Amplification factor,Correction value,Value_added,Point description,Device coefficient,Named abbreviation,, -[Point],YC,0,64,1,0,0,IA,1,IA,, -,,0,66,1,0,0,IB,1,IB,, -,,0,68,1,0,0,IC,1,IC,, -,,0,70,1,0,0,IN,1,I0,, -,,0,108,1,0,0,IA_OTHERSIDE,1,IIA,, -,,0,112,1,0,0,IB_OTHERSIDE,1,IIB,, -,,0,116,1,0,0,IC_OTHERSIDE,1,IIC,, -,,0,132,1,0,0,IA Differential,1,IAD,, -,,0,134,1,0,0,IB Differential,1,IBD,, -,,0,136,1,0,0,IC Differential,1,ICD,, -,,0,138,1,0,0,IA BIAS,1,IAR,, -,,0,140,1,0,0,IB BIAS,1,IBR,, -,,0,142,1,0,0,IC BIAS,1,ICR,, -[Title],Point type,Function number,Information number,Point description,Named abbreviation,Associate YX ID, YX Property,Custom #1,,, -[Point],YX,16,0,IP1,DI1,0,0,0,,, -,,16,1,IP2,DI2,0,0,0,,, -,,16,2,IP3,DI3,0,0,0,,, -,,16,3,IP4,DI4,0,0,0,,, -,,16,4,IP5,DI5,0,0,0,,, -,,20,0,RL1,DO1,0,0,0,,, -,,20,1,RL2,DO2,0,0,0,,, -,,20,2,RL3,DO3,0,0,0,,, -,,20,3,RL4,DO4,0,0,0,,, -,,20,4,watchdog,Watchdog,0,0,0,,, -,,20,5,RL5,DO5,0,0,0,,, -,,20,6,RL6,DO6,0,0,0,,, -,,20,7,RL7,DO7,0,0,0,,, -,,20,8,RL8,DO8,0,0,0,,, -,,65533,5,setting Change,setChange,0,0,0,,, -,,65533,19,1st Over Currentt I__Trip,OC1,0,0,0,,, -,,65533,20,2nd Over Currentt I__Trip,OC2,0,0,0,,, -,,65533,21,3rd Over Currentt I__Trip,OC3,0,0,0,,, -,,65533,23,1st Over Currentt IN_Trip,EOC1,0,0,0,,, -,,65533,24,2nd Over Currentt IN_Trip,EOC2,0,0,0,,, -,,65533,25,3rd Over Currentt IN_Trip,EOC3,0,0,0,,, -,,65533,27,Under Currentt I_Trip,UC,0,0,0,,, -,,65533,29,t Aux1,tAux1,0,0,0,,, -,,65533,30,t Aux2,tAux2,0,0,0,,, -,,65533,36,Setting Group Change,SetGChange,0,0,0,,, -,,65533,45,Input Logic State Change,DIChange,0,0,0,,, -,,65533,67,NPS Overcurrent I2_Trip,NPSOC,0,0,0,,, -,,65533,138,CTS,CTS,0,0,0,,, -,,90,4, Idiff any Phase _Trip ,ODiff,0,0,0,,, -,,90,5, Idiff _Trip A,DiffA,0,0,0,,, -,,90,6, Idiff _Trip B,DiffB,0,0,0,,, -,,90,7, Idiff _Trip C,DiffC,0,0,0,,, -,,90,11,Idiff inter_Trip ,DiffInter,0,0,0,,, -,,108,1,Protection Communication Fail,PCF,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P541.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P541.CSV deleted file mode 100644 index 10318e0..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P541.CSV +++ /dev/null @@ -1,37 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,P541,P541,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,217,12,32,1000,0,0,20,100,0 -,,4,725,1,1,1000,0,0,20,100,1 -,,4,475,6,32,1000,0,0,20,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,217,0.01,0,0,I1,0.1,I1,, -,,0,219,0.01,0,0,I2,0.1,I2,, -,,0,221,0.01,0,0,I0,0.1,I0,, -,,0,223,0.01,0,0,Ia_RMS,0.1,IA,, -,,0,225,0.01,0,0,Ib_RMS,0.1,IB,, -,,0,227,0.01,0,0,Ic_RMS,0.1,IC,, -,,0,475,0.01,0,0,diffIA,0.1,IAD,, -,,0,477,0.01,0,0,diffIB,0.1,IBD,, -,,0,479,0.01,0,0,diffIC,0.1,IBC,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,801,802,4,yk1,1,1,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,6,351,Diff_Trip,Diff,0,0,0,,, -,,6,382,1stOverCurrenttI__Trip,OC1,0,0,0,,, -,,6,386,2ndOverCurrenttI__Trip,OC2,0,0,0,,, -,,6,390,3rdOverCurrenttI__Trip,OC3,0,0,0,,, -,,6,394,4thOverCurrenttI__Trip,OC4,0,0,0,,, -,,6,398,1stOverCurrenttIN_Trip,EOC1,0,0,0,,, -,,6,399,2ndOverCurrenttIN_Trip,EOC2,0,0,0,,, -,,6,400,3rdOverCurrenttIN_Trip,EOC3,0,0,0,,, -,,6,401,4thOverCurrenttIN_Trip,EOC4,0,0,0,,, -,,725,0,IP1,DI1,0,0,0,,, -,,725,1,IP2,DI2,0,0,0,,, -,,725,2,IP3,DI3,0,0,0,,, -,,725,3,IP4,DI4,0,0,0,,, -,,725,4,IP5,DI5,0,0,0,,, -,,725,5,IP6,DI6,0,0,0,,, -,,725,6,IP7,DI7,0,0,0,,, -,,725,7,IP8,DI8,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P543.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P543.CSV deleted file mode 100644 index a20da8e..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P543.CSV +++ /dev/null @@ -1,50 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,P543,P543,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,217,12,32,1000,0,0,20,100,0 -,,4,229,10,16,1000,0,0,20,100,0 -,,4,725,1,1,1000,0,0,20,100,1 -,,4,475,6,32,1000,0,0,20,100,0 -,,4,483,6,32,1000,0,0,20,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,217,0.01,0,0,I1,0.1,I1,, -,,0,219,0.01,0,0,I2,0.1,I2,, -,,0,221,0.01,0,0,I0,0.1,I0,, -,,0,223,0.01,0,0,Ia_RMS,0.1,IA,, -,,0,225,0.01,0,0,Ib_RMS,0.1,IB,, -,,0,227,0.01,0,0,Ic_RMS,0.1,IC,, -,,2,229,1,0,0,Va,1,VA,, -,,2,232,1,0,0,Vb,1,VB,, -,,2,235,1,0,0,Vc,1,VC,, -,,0,475,0.01,0,0,diffIA,0.1,IAD,, -,,0,477,0.01,0,0,diffIB,0.1,IBD,, -,,0,479,0.01,0,0,diffIC,0.1,ICD,, -,,0,483,0.01,0,0,IthIA,0.1,IAR,, -,,0,485,0.01,0,0,IthIB,0.1,IBR,, -,,0,487,0.01,0,0,IthIC,0.1,ICR,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,801,802,4,yk1,1,1,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,411,1,0,EPdel,0.001,EPd,,, -,,0,413,1,0,EPrec,0.001,EPr,,, -,,0,415,1,0,EQdel,0.001,EQd,,, -,,0,417,1,0,EQrec,0.001,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,6,351,Diff_Trip,Diff,0,0,0,,, -,,6,382,1stOverCurrenttI__Trip,OC1,0,0,0,,, -,,6,386,2ndOverCurrenttI__Trip,OC2,0,0,0,,, -,,6,390,3rdOverCurrenttI__Trip,OC3,0,0,0,,, -,,6,394,4thOverCurrenttI__Trip,OC4,0,0,0,,, -,,6,398,1stOverCurrenttIN_Trip,EOC1,0,0,0,,, -,,6,399,2ndOverCurrenttIN_Trip,EOC2,0,0,0,,, -,,6,400,3rdOverCurrenttIN_Trip,EOC3,0,0,0,,, -,,6,401,4thOverCurrenttIN_Trip,EOC4,0,0,0,,, -,,725,0,IP1,DI1,0,0,0,,, -,,725,1,IP2,DI2,0,0,0,,, -,,725,2,IP3,DI3,0,0,0,,, -,,725,3,IP4,DI4,0,0,0,,, -,,725,4,IP5,DI5,0,0,0,,, -,,725,5,IP6,DI6,0,0,0,,, -,,725,6,IP7,DI7,0,0,0,,, -,,725,7,IP8,DI8,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P631(modbus).CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P631(modbus).CSV deleted file mode 100644 index 84df5ee..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P631(modbus).CSV +++ /dev/null @@ -1,43 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],20,5,1,P631,P631,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,6027,37,1,1000,0,0,21,500,1 -,,3,18368,12,16,1000,0,0,21,500,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,18368,0.1,0,0,IaDiff,0.01,IAD ,, -,,0,18369,0.1,0,0,IbDiff,0.01,IBD ,, -,,0,18370,0.1,0,0,IcDiff,0.01,ICD ,, -,,0,18371,0.1,0,0,IaDiff,0.01,IAR,, -,,0,18372,0.1,0,0,IbDiff,0.01,IBR,, -,,0,18373,0.1,0,0,IcDiff,0.01,ICR,, -,,0,18374,1,0,0,HIa,1,HIa,, -,,0,18375,1,0,0,HIb,1,HIb,, -,,0,18376,1,0,0,HIc,1,HIc,, -,,0,18377,1,0,0,LIa,1,LIa,, -,,0,18378,1,0,0,LIb,1,LIb,, -,,0,18379,1,0,0,LIc,1,LIc,, -,,0,18380,1,0,0,BY1,1,BY1,, -,,0,18381,1,0,0,BY2,1,BY2,, -,,0,18382,1,0,0,BY3,1,BY3,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,6027,Idiff_A,DiffA,0,0,0,,, -,,0,6028,Idiff_B,DiffB,0,0,0,,, -,,0,6029,Idiff_C,DiffC,0,0,0,,, -,,0,6030,CTS_H,CTSH,0,0,0,,, -,,0,6031,CTS_L,CTSL,0,0,0,,, -,,0,6032,Idiff,Diff,0,0,0,,, -,,0,6033,DI1,DI1,0,0,0,,, -,,0,6034,DI2,DI2,0,0,0,,, -,,0,6035,DI3,DI3,0,0,0,,, -,,0,6036,DI4,DI4,0,0,0,,, -,,0,6037,BY1,BY1,0,0,0,,, -,,0,6038,BY2,BY2,0,0,0,,, -,,0,6039,BY3,BY3,0,0,0,,, -,,0,6040,BY4,BY4,0,0,0,,, -,,0,6041,BY5,BY5,0,0,0,,, -,,0,6042,BY6,BY6,0,0,0,,, -,,0,6043,BY7,BY7,0,0,0,,, -,,0,6044,BY8,BY8,0,0,0,,, -,,0,6045,BY9,BY9,0,0,0,,, -,,0,6046,BY10,BY10,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P632(Modbus).CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P632(Modbus).CSV deleted file mode 100644 index a5c490a..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P632(Modbus).CSV +++ /dev/null @@ -1,52 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],12,5,1,P632,P632,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,6027,37,1,1000,0,0,21,500,1 -,,3,18368,11,16,1000,0,0,21,500,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,18368,1,0,0,IA,0.1,IA1,, -,,0,18369,1,0,0,IB,0.1,IB1,, -,,0,18370,1,0,0,IC,0.1,IC1,, -,,0,18371,1,0,0,IA,0.1,IA2,, -,,0,18372,1,0,0,IB,0.1,IB2,, -,,0,18373,1,0,0,IC,0.1,IC2,, -,,0,18374,1,0,0,IN,0.1,I01,, -,,0,18375,1,0,0,IN,0.1,I02,, -,,0,18376,1,0,0,1,0.1,IAD,, -,,0,18377,1,0,0,2,0.1,IBD,, -,,0,18378,1,0,0,3,0.1,ICD,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,6147,0,0,ָʾ,0,0,n,,, -,,6152,6153,0,41DS/,0,0,n,,, -,,6154,6155,0,42DS/,0,0,n,,, -,,6156,6157,0,41ES/,0,0,n,,, -,,6158,6159,0,42ES/,0,0,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,6027,Դϵź,yx1,0,0,0,,, -,,0,6028,ȵԴϵź,yx2,0,0,0,,, -,,0,6029,4#CBź,yx3,0,0,0,,, -,,0,6030,DE\ESź,yx4,0,0,0,,, -,,0,6031,ź,yx5,0,0,0,,, -,,0,6032,TVζϵź,yx6,0,0,0,,, -,,0,6033,A\B\Cź,yx7,0,0,0,,, -,,0,6034,ɵδ,CGOff,0,0,0,,, -,,0,6035,4#CB·ѹ,yx9,0,0,0,,, -,,0,6036,4#CB·1#Ҳź,yx10,0,0,0,,, -,,0,6037,4#CB·2#Ҳź,yx11,0,0,0,,, -,,0,6038,4#CB·3#Ҳź,yx12,0,0,0,,, -,,0,6039,4#CB·4#Ҳź,yx13,0,0,0,,, -,,0,6040,4#CB·5#Ҳź,yx14,0,0,0,,, -,,0,6041,1,BY1,0,0,0,,, -,,0,6042,41DSλ,yx16,0,0,0,,, -,,0,6043,42DSλ,yx17,0,0,0,,, -,,0,6044,41ESλ,yx18,0,0,0,,, -,,0,6045,42ESλ,yx19,0,0,0,,, -,,0,6046,2,BY2,0,0,0,,, -,,0,6047,4#CB͵λ,yx21,0,0,0,,, -,,0,6048,Խӵر,yx22,0,0,0,,, -,,0,6049,صѹ˹բ,LGT,0,0,0,,, -,,0,6050,صѹ˹,LLGA,0,0,0,,, -,,0,6061,,Diff,0,0,0,,, -,,0,6062,I,OC1,0,0,0,,, -,,0,6063,I,EOC1,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P633.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P633.CSV deleted file mode 100644 index 8edaf60..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P633.CSV +++ /dev/null @@ -1,61 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,13,1,P633,P633,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,1,6027,16,1,1000,0,0,21,100,1 -,,3,18368,19,16,1000,0,0,21,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,18368,1,0,0,CurrentIAa.p.u,0.1,IA1,, -,,0,18369,1,0,0,CurrentIBa.p.u,0.1,IB1,, -,,0,18370,1,0,0,CurrentICa.p.u,0.1,IC1,, -,,0,18371,1,0,0,CurrentINa.p.u,0.1,I01,, -,,0,18372,1,0,0,CurrentIAb.p.u,0.1,IA2,, -,,0,18373,1,0,0,CurrentIBb.p.u,0.1,IB2,, -,,0,18374,1,0,0,CurrentICb.p.u,0.1,IC2,, -,,0,18375,1,0,0,CurrentINb.p.u,0.01,I02,, -,,0,18376,1,0,0,CurrentIAc.p.u,0.01,IA3,, -,,0,18377,1,0,0,CurrentIBc.p.u,0.1,IB3,, -,,0,18378,1,0,0,CurrentICc.p.u,0.1,IC3,, -,,0,18379,1,0,0,CurrentINc.p.u,0.1,I03,, -,,0,18380,1,0,0,DiffCurrent1,0.1,DiffA,, -,,0,18381,1,0,0,DiffCurrent2,0.1,DiffB,, -,,0,18382,1,0,0,DiffCurrent3,0.1,DiffC,, -,,0,18383,1,0,0,RestrainCurrent1,0.1,IAR,, -,,0,18384,1,0,0,RestrainCurrent2,0.1,IBR,, -,,0,18385,1,0,0,RestrainCurrent3,0.1,ICR,, -,,0,18386,1,0,0,VoltageVp.u,0.1,U,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,6152,6152,0,logictrigger1,1,0,n,,, -,,6153,6153,0,logictrigger2,1,0,n,,, -,,6154,6154,0,logictrigger3,1,0,n,,, -,,6155,6155,0,logictrigger4,1,0,n,,, -,,6156,6156,0,logictrigger5,1,0,n,,, -,,6157,6157,0,logictrigger6,1,0,n,,, -,,6158,6158,4,logictrigger7,1,0,n,,, -,,6159,6159,0,logictrigger8,1,0,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,6027,Id>>>triggered,Diff,0,0,0,,, -,,0,6028,StateU901,DI1,0,0,0,,, -,,0,6029,StateU902,DI2,0,0,0,,, -,,0,6030,StateU903,DI3,0,0,0,,, -,,0,6031,StateU904,DI4,0,0,0,,, -,,0,6032,StateK901,DO1,0,0,0,,, -,,0,6033,StateK902,DO2,0,0,0,,, -,,0,6034,StateK903,DO3,0,0,0,,, -,,0,6035,StateK904,DO4,0,0,0,,, -,,0,6036,StateK905,DO5,0,0,0,,, -,,0,6037,StateK906,DO6,0,0,0,,, -,,0,6038,StateK907,DO7,0,0,0,,, -,,0,6039,StateK908,DO8,0,0,0,,, -,,0,6040,Tripsignal,Trip,0,0,0,,, -,,0,6041,Alarmenda,AlarmEA,0,0,0,,, -,,0,6042,Alarmendb,AlarmEB,0,0,0,,, -,,0,6043,Alarmendc,AlarmEC,0,0,0,,, -,,0,6152,logictrigger1,logic1,0,0,0,,, -,,0,6153,logictrigger2,logic2,0,0,0,,, -,,0,6154,logictrigger3,logic3,0,0,0,,, -,,0,6155,logictrigger4,logic4,0,0,0,,, -,,0,6156,logictrigger5,logic5,0,0,0,,, -,,0,6157,logictrigger6,logic6,0,0,0,,, -,,0,6158,logictrigger7,logic7,0,0,0,,, -,,0,6159,logictrigger8,logic8,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P746(Modbus).CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P746(Modbus).CSV deleted file mode 100644 index d8bc980..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P746(Modbus).CSV +++ /dev/null @@ -1,102 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,P746,P746,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,11415,30,16,1000,0,0,20,1000,0 -,,4,11026,4,1,1000,0,0,20,100,1 -,,4,11199,36,16,1000,0,0,20,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,2,11199,1,0,0,IA-1ֵ,1,IA1,, -,,2,11202,1,0,0,IB-1ֵ,1,IB1,, -,,2,11205,1,0,0,IC-1ֵ,1,IC1,, -,,2,11208,1,0,0,IA-2ֵ,1,IA2,, -,,2,11211,1,0,0,IB-2ֵ,1,IB2,, -,,2,11214,1,0,0,IC-2ֵ,1,IC2,, -,,2,11217,1,0,0,IA-3ֵ,1,IA3,, -,,2,11220,1,0,0,IB-3ֵ,1,IB3,, -,,2,11223,1,0,0,IC-3ֵ,1,IC3,, -,,2,11226,1,0,0,IA-4ֵ,1,IA4,, -,,2,11229,1,0,0,IB-4ֵ,1,IB4,, -,,2,11232,1,0,0,IC-4ֵ,1,IC4,, -,,2,11415,1,0,0,UANֵ,1,VA,, -,,2,11418,1,0,0,UBNֵ,1,VB,, -,,2,11421,1,0,0,UCNֵ,1,VC,, -,,2,11436,1,0,0,Uabֵ,1,UAB,, -,,2,11439,1,0,0,Ubcֵ,1,UBC,, -,,2,11442,1,0,0,Ucaֵ,1,UCA,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,951,952,4,yk1,1,1,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,6,451,·λô澯,YX1,0,0,0,,, -,,6,467,1·ϸ澯,YX2,0,0,0,,, -,,6,468,2·ϸ澯,YX3,0,0,0,,, -,,6,469,CHECKZONE·ϸ澯,YX4,0,0,0,,, -,,6,893,A,TripA,0,0,0,,, -,,6,894,B,TripB,0,0,0,,, -,,6,895,C,TripC,0,0,0,,, -,,6,899,1,YX8,0,0,0,,, -,,6,899,A,DiffA,0,0,0,,, -,,6,900,2,YX10,0,0,0,,, -,,6,900,B,DiffB,0,0,0,,, -,,6,901,C,DiffC,0,0,0,,, -,,6,902,ĸ߲,YX13,0,0,0,,, -,,6,912,1,YX14,0,0,0,,, -,,6,913,2,YX15,0,0,0,,, -,,6,933,1բ,YX16,0,0,0,,, -,,6,934,2բ,YX17,0,0,0,,, -,,6,935,3բ,YX18,0,0,0,,, -,,6,936,4բ,YX19,0,0,0,,, -,,6,937,5բ,YX20,0,0,0,,, -,,6,938,6բ,YX21,0,0,0,,, -,,6,1008,11ζ,YX22,0,0,0,,, -,,6,1010,21ζ,YX23,0,0,0,,, -,,6,1012,31ζ,YX24,0,0,0,,, -,,6,1014,41ζ,YX25,0,0,0,,, -,,6,1016,51ζ,YX26,0,0,0,,, -,,6,1018,61ζ,YX27,0,0,0,,, -,,6,1142,1Iζ,YX28,0,0,0,,, -,,6,1144,2Iζ,YX29,0,0,0,,, -,,6,1146,3Iζ,YX30,0,0,0,,, -,,6,1148,4Iζ,YX31,0,0,0,,, -,,6,1150,5Iζ,YX32,0,0,0,,, -,,6,1152,6Iζ,YX33,0,0,0,,, -,,11026,0,IP17,DI17,0,0,0,,, -,,11026,1,IP18,DI18,0,0,0,,, -,,11026,2,IP19,DI19,0,0,0,,, -,,11026,3,IP20,DI20,0,0,0,,, -,,11026,4,IP21,DI21,0,0,0,,, -,,11026,5,IP22,DI22,0,0,0,,, -,,11026,6,IP23,DI23,0,0,0,,, -,,11026,7,IP24,DI24,0,0,0,,, -,,11026,8,IP25,DI25,0,0,0,,, -,,11026,9,IP26,DI26,0,0,0,,, -,,11026,10,IP27,DI27,0,0,0,,, -,,11026,11,IP28,DI28,0,0,0,,, -,,11026,12,IP29,DI29,0,0,0,,, -,,11026,13,IP30,DI30,0,0,0,,, -,,11026,14,IP31,DI31,0,0,0,,, -,,11026,15,IP32,DI32,0,0,0,,, -,,11027,0,IP1,DI1,0,0,0,,, -,,11027,1,IP2,DI2,0,0,0,,, -,,11027,2,IP3,DI3,0,0,0,,, -,,11027,3,IP4,DI4,0,0,0,,, -,,11027,4,IP5,DI5,0,0,0,,, -,,11027,5,IP6,DI6,0,0,0,,, -,,11027,6,IP7,DI7,0,0,0,,, -,,11027,7,IP8,DI8,0,0,0,,, -,,11027,8,IP9,DI9,0,0,0,,, -,,11027,9,IP10,DI10,0,0,0,,, -,,11027,10,IP11,DI11,0,0,0,,, -,,11027,11,IP12,DI12,0,0,0,,, -,,11027,12,IP13,DI13,0,0,0,,, -,,11027,13,IP14,DI14,0,0,0,,, -,,11027,14,IP15,DI15,0,0,0,,, -,,11027,15,IP16,DI16,0,0,0,,, -,,11029,0,IP33,DI17,0,0,0,,, -,,11029,1,IP34,DI18,0,0,0,,, -,,11029,2,IP35,DI19,0,0,0,,, -,,11029,3,IP36,DI20,0,0,0,,, -,,11029,4,IP37,DI21,0,0,0,,, -,,11029,5,IP38,DI22,0,0,0,,, -,,11029,6,IP39,DI23,0,0,0,,, -,,11029,7,IP40,DI24,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P922-V10.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P922-V10.CSV deleted file mode 100644 index 568cea1..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P922-V10.CSV +++ /dev/null @@ -1,70 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],11,7,1,P922,P922,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,48,8,32,1000,0,0,22,100,0 -,,3,16,1,1,1000,0,0,22,100,1 -,,3,19,1,1,1000,0,0,22,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,48,0.001,0,0,AѹЧֵ,0.01,VA,, -,,0,50,0.001,0,0,BѹЧֵ,0.01,VB,, -,,0,52,0.001,0,0,CѹЧֵ,0.01,VC,, -,,0,54,0.001,0,0,ѹЧֵ,0.01,V0,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,16387,0,0,out3(բ),0,0,n,,, -,,16388,0,0,out4(բ),0,0,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,16,0,1״̬,DI1,0,0,0,,, -,,16,1,2״̬,DI2,0,0,0,,, -,,16,2,3״̬,DI3,0,0,0,,, -,,16,3,4״̬,DI4,0,0,0,,, -,,16,4,5״̬,DI5,0,0,0,,, -,,19,0,RL1״̬,DO1,0,0,0,,, -,,19,1,RL2״̬,DO2,0,0,0,,, -,,19,2,RL3״̬,DO3,0,0,0,,, -,,19,3,RL4״̬,DO4,0,0,0,,, -,,19,4,RL0Ź״̬,WatchDog,0,0,0,,, -,,19,5,RL5״̬,DO5,0,0,0,,, -,,65533,1,ңغբź,YX1,0,0,0,,, -,,65533,2,ңطբź,YX2,0,0,0,,, -,,65533,3,¼ź,YX3,0,0,0,,, -,,65533,4,բź,YX4,0,0,0,,, -,,65533,5,ֵ޸ź,YX5,0,0,0,,, -,,65533,6,V>,OV1,0,0,0,,, -,,65533,7,V>>,OV2,0,0,0,,, -,,65533,8,V>>>,OV3,0,0,0,,, -,,65533,9,V<,UV1,0,0,0,,, -,,65533,10,V<<,UV2,0,0,0,,, -,,65533,11,V<<<,UV3,0,0,0,,, -,,65533,12,V0>,EOV1,0,0,0,,, -,,65533,13,V0>>,EOV2,0,0,0,,, -,,65533,14,V0>>>,EOV3,0,0,0,,, -,,65533,15,tU>,tOU1,0,0,0,,, -,,65533,16,tU>>,tOU2,0,0,0,,, -,,65533,17,tU>>>,tOU3,0,0,0,,, -,,65533,18,͵ѹһ,tUV1,0,0,0,,, -,,65533,19,͵ѹ,tUV2,0,0,0,,, -,,65533,20,tU<<<,tUV3,0,0,0,,, -,,65533,21,tV0>,tEOV1,0,0,0,,, -,,65533,22,tV0>>,tEOV2,0,0,0,,, -,,65533,23,tV0>>>,tEOV3,0,0,0,,, -,,65533,24,tAUX1,tAux1,0,0,0,,, -,,65533,25,tAUX2,tAux2,0,0,0,,, -,,65533,35,բ:tV>,TripOV1,0,0,0,,, -,,65533,36,բ:tV>>,TripOV2,0,0,0,,, -,,65533,37,բ:tV>>>,TripOV3,0,0,0,,, -,,65533,38,բ:tV<,TripUV1,0,0,0,,, -,,65533,39,բ:tV<<,TripUV2,0,0,0,,, -,,65533,40,բ:tV<<<,TripUV3,0,0,0,,, -,,65533,41,բ:tV0>,TripEOV1,0,0,0,,, -,,65533,42,բ:tV0>>,TripEOV2,0,0,0,,, -,,65533,43,բ:tV0>>>,TripEOV3,0,0,0,,, -,,65533,55,V2>,UnbOV1,0,0,0,,, -,,65533,56,V2>>,UnbOV2,0,0,0,,, -,,65533,57,V1<,UV21,0,0,0,,, -,,65533,58,V1<<,UV22,0,0,0,,, -,,65533,65,tV2>,OtV21,0,0,0,,, -,,65533,66,tV2>>,OtV22,0,0,0,,, -,,65533,67,tV1<,UtV11,0,0,0,,, -,,65533,68,tV1<<,UtV12,0,0,0,,, -,,65533,69,tf1,tF1,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/P922.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/P922.CSV deleted file mode 100644 index abc4db8..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/P922.CSV +++ /dev/null @@ -1,70 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,P922,P922,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,16,1,1,1000,0,0,22,100,0 -,,3,48,8,32,1000,0,0,22,100,0 -,,3,19,1,1,1000,0,0,22,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,48,0.0001,0,0,AѹЧֵ,0.01,VA,, -,,0,50,0.0001,0,0,BѹЧֵ,0.01,VB,, -,,0,52,0.0001,0,0,CѹЧֵ,0.01,VC,, -,,0,54,0.0001,0,0,ѹЧֵ,0.01,V0,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,16387,0,0,out3(բ),0,0,n,,, -,,16388,0,0,out4(բ),0,0,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,16,0,1״̬,DI1,0,0,0,,, -,,16,1,2״̬,DI2,0,0,0,,, -,,16,2,3״̬,DI3,0,0,0,,, -,,16,3,4״̬,DI4,0,0,0,,, -,,16,4,5״̬,DI5,0,0,0,,, -,,19,0,RL1״̬,DO1,0,0,0,,, -,,19,1,RL2״̬,DO2,0,0,0,,, -,,19,2,RL3״̬,DO3,0,0,0,,, -,,19,3,RL4״̬,DO4,0,0,0,,, -,,19,4,RL0Ź״̬,WatchDog,0,0,0,,, -,,19,5,RL5״̬,DO5,0,0,0,,, -,,65533,1,ңغբź,yx12,0,0,0,,, -,,65533,2,ңطբź,yx13,0,0,0,,, -,,65533,3,¼ź,yx14,0,0,0,,, -,,65533,4,բź,yx15,0,0,0,,, -,,65533,5,ֵ޸ź,yx16,0,0,0,,, -,,65533,6,V>,OV1,0,0,0,,, -,,65533,7,V>>,OV2,0,0,0,,, -,,65533,8,V>>>,OV3,0,0,0,,, -,,65533,9,V<,UV1,0,0,0,,, -,,65533,10,V<<,UV2,0,0,0,,, -,,65533,11,V<<<,UV3,0,0,0,,, -,,65533,12,V0>,EOV1,0,0,0,,, -,,65533,13,V0>>,EOV2,0,0,0,,, -,,65533,14,V0>>>,EOV3,0,0,0,,, -,,65533,15,tU>,tOU1,0,0,0,,, -,,65533,16,tU>>,tOU2,0,0,0,,, -,,65533,17,tU>>>,tOU3,0,0,0,,, -,,65533,18,tU<,tUU1,0,0,0,,, -,,65533,19,tU<<,tUU2,0,0,0,,, -,,65533,20,tU<<<,tUU3,0,0,0,,, -,,65533,21,tV0>,tEOV1,0,0,0,,, -,,65533,22,tV0>>,tEOV2,0,0,0,,, -,,65533,23,tV0>>>,tEOV3,0,0,0,,, -,,65533,24,tAUX1,tAux1,0,0,0,,, -,,65533,25,tAUX2,tAux2,0,0,0,,, -,,65533,35,բ:tV>,TripOV1,0,0,0,,, -,,65533,36,բ:tV>>,TripOV2,0,0,0,,, -,,65533,37,բ:tV>>>,TripOV3,0,0,0,,, -,,65533,38,բ:tV<,TripUV1,0,0,0,,, -,,65533,39,բ:tV<<,TripUV2,0,0,0,,, -,,65533,40,բ:tV<<<,TripUV3,0,0,0,,, -,,65533,41,բ:tV0>,TripEOV1,0,0,0,,, -,,65533,42,բ:tV0>>,TripEOV2,0,0,0,,, -,,65533,43,բ:tV0>>>,TripEOV3,0,0,0,,, -,,65533,55,V2>,UnbOV1,0,0,0,,, -,,65533,56,V2>>,UnbOV2,0,0,0,,, -,,65533,57,V1<,UV21,0,0,0,,, -,,65533,58,V1<<,UV22,0,0,0,,, -,,65533,65,tV2>,OtV21,0,0,0,,, -,,65533,66,tV2>>,OtV22,0,0,0,,, -,,65533,67,tV1<,UtV11,0,0,0,,, -,,65533,68,tV1<<,UtV12,0,0,0,,, -,,65533,69,tf1,tF1,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/courier/P441(courier).xlsx b/PSCADA/电子行业模板/common/device_model/MICOM/courier/P441(courier).xlsx deleted file mode 100644 index 7f6a3a4c926ca3cab7992ed25f7889d585167733..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12203 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 U?E7v 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 diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/courier/P545(courier).xlsx b/PSCADA/电子行业模板/common/device_model/MICOM/courier/P545(courier).xlsx deleted file mode 100644 index 01b38a2d4e7189dcf81ca70f3b72da80dff7dbbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13273 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 I`F;2Q05{U)jsO4v diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/p142CN.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/p142CN.CSV deleted file mode 100644 index d4bce79..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/p142CN.CSV +++ /dev/null @@ -1,43 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,P142,P142,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,724,2,1,1000,0,0,20,300000,0 -,,4,701,12,32,1000,1,0,20,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,701,1,0,0,A,0.001,IA,, -,,0,703,1,0,0,B,0.001,IB,, -,,0,705,1,0,0,C,0.001,IC,, -,,0,707,1,0,0,ABߵѹ,0.001,UAB,, -,,0,709,1,0,0,BCߵѹ,0.001,UBC,, -,,0,711,1,0,0,CAߵѹ,0.001,UCA,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,20,20,4,Ĭңص,1,2,n,,, -,,951,951,4,ң1,1,2,Null,,, -,,952,952,4,ң2,1,2,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,6,243,1,OC1,0,1,0,,, -,,6,247,2,OC2,0,1,0,,, -,,6,251,3,OC3,0,1,0,,, -,,6,255,4,OC4,0,1,0,,, -,,6,261,1,EOC1,0,1,0,,, -,,6,262,2,EOC2,0,1,0,,, -,,6,263,3,EOC3,0,1,0,,, -,,6,264,4,EOC4,0,1,0,,, -,,6,278,ѹ1,UV1,0,1,0,,, -,,6,282,ѹ2,UV2,0,1,0,,, -,,6,286,ѹ1,OV1,0,1,0,,, -,,6,290,ѹ2,OV2,0,1,0,,, -,,7,21,ʱͬ,TimeLock,0,1,0,,, -,,11,5,VT߸澯,VTS,0,1,0,,, -,,11,6,ct߸澯,CTS,0,0,0,,, -,,11,7,CBFailAlarm,CBFail,0,0,0,,, -,,11,15,CBStatusAlarm,CBAlarm,0,0,0,,, -,,725,0,1,DI1,0,0,0,,, -,,725,1,2,DI2,0,0,0,,, -,,725,2,3,DI3,0,0,0,,, -,,725,3,4,DI4,0,0,0,,, -,,725,4,5,DI5,0,0,0,,, -,,725,5,6,DI6,0,0,0,,, -,,725,6,7,DI7,0,0,0,,, -,,725,7,8,DI8,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,1,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/p142EN.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/p142EN.CSV deleted file mode 100644 index 2b9c73f..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/p142EN.CSV +++ /dev/null @@ -1,71 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],4,5,1,P14X-46-P141,P142,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,11024,2,1,1000,0,0,20,300,1 -,,4,411,8,32,1000,2,2,20,1000,0 -,,4,247,2,32,1000,0,0,20,1000,0 -,,4,208,2,32,1000,0,0,20,1000,0 -,,4,11013,8,16,1000,1,0,20,1000,0 -,,4,11001,12,32,1000,0,0,20,1000,0 -,,4,405,4,32,1000,2,0,20,1000,0 -,,4,214,8,32,1000,0,0,20,1000,0 -,,4,211,2,32,1000,0,0,20,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,208,0.1,0,0,IN1-MEA,0.01,I0,, -,,0,211,0.1,0,0,IN2DER,0.01,IG,, -,,0,214,0.1,0,0,ISEF,0.01,ISEF,, -,,0,247,0.001,0,0,VN,0.001,V0,, -,,0,405,0.001,0,0,P,0.001,P,, -,,0,407,0.001,0,0,Q,0.001,Q,, -,,0,11001,0.1,0,0,IA,0.01,IA,, -,,0,11003,0.1,0,0,IB,0.01,IB,, -,,0,11005,0.1,0,0,IC,0.01,IC,, -,,0,11007,0.001,0,0,UAB,0.001,UAB,, -,,0,11009,0.001,0,0,UBC,0.001,UBC,, -,,0,11011,0.001,0,0,UCA,0.001,UCA,, -,,0,11019,10,0,0,COS,0.01,PF,, -,,0,11020,1,0,0,F,0.01,F,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,951,952,4,yk1,1,1,Null,,, -,,953,953,4,yk3,1,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,411,0.001,0,Ep_imp,0.001,EPd,,, -,,0,413,0.001,0,Ep_exp,0.001,EPr,,, -,,0,415,0.001,0,Eq_imp,0.001,EQd,,, -,,0,417,0.001,0,Eq_exp,0.001,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,6,148,VTS,VTS,0,0,0,,, -,,6,149,CTS,CTS,0,0,0,,, -,,6,243,1stOverCurrenttI__Trip,OC1,0,0,0,,, -,,6,247,2ndOverCurrenttI__Trip,OC2,0,0,0,,, -,,6,251,3rdOverCurrenttI__Trip,OC3,0,0,0,,, -,,6,255,4thOverCurrenttI__Trip,OC4,0,0,0,,, -,,6,261,1stOverCurrenttIN_Trip,EOC1,0,0,0,,, -,,6,262,2ndOverCurrenttIN_Trip,EOC2,0,0,0,,, -,,6,263,3rdOverCurrenttIN_Trip,EOC3,0,0,0,,, -,,6,265,1stOverCurrenttIN2_Trip,E2OC1,0,0,0,,, -,,6,266,2ndOverCurrenttIN2_Trip,E2OC2,0,0,0,,, -,,6,267,3rdOverCurrenttIN2_Trip,E2OC3,0,0,0,,, -,,6,269,ISEF_Trip,SEF,0,0,0,,, -,,6,274,1stOverVoltageVN_Trip,EOV1,0,0,0,,, -,,6,275,2ndOverVoltageVN_Trip,EOV2,0,0,0,,, -,,6,277,NPSOverVoltageV2_Trip,NPSOV,0,0,0,,, -,,6,278,1stUnderVoltageV_Trip,UV1,0,0,0,,, -,,6,282,2ndUnderVoltageV_Trip,UV2,0,0,0,,, -,,6,286,1stOverVoltageV_Trip,OV1,0,0,0,,, -,,6,290,2ndOverVoltageV_Trip,OV2,0,0,0,,, -,,6,371,AutoClose,Recloser,0,0,0,,, -,,6,513,1stNPSOvercurrentI2_Trip,NPSOC1,0,0,0,,, -,,6,514,2ndNPSOvercurrentI2_Trip,NPSOC2,0,0,0,,, -,,11025,0,IP1,DI1,0,0,0,,, -,,11025,1,IP2,DI2,0,0,0,,, -,,11025,2,IP3,DI3,0,0,0,,, -,,11025,3,IP4,DI4,0,0,0,,, -,,11025,4,IP5,DI5,0,0,0,,, -,,11025,5,IP6,DI6,0,0,0,,, -,,11025,6,IP7,DI7,0,0,0,,, -,,11025,7,IP8,DI8,0,0,0,,, -,,11025,8,IP9,DI9,0,0,0,,, -,,11025,9,BY1,BY1,0,0,0,,, -,,11025,10,BY2,BY2,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/p143EN.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/p143EN.CSV deleted file mode 100644 index 64ffc0c..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/p143EN.CSV +++ /dev/null @@ -1,70 +0,0 @@ -[Title],Device address,Device Properties,ID,Device Model,Device Description,,,,,, -[Device],2,5,1,P143-46,P143,,,,,, -[Title],Point type,Function code,Starting address,Register length,Register type,Response time,Date type,Block type,Device serial number,Polling time,SOE -[Point],BLOCK,4,11002,12,32,1000,0,0,20,1000,0 -,,4,11025,2,1,1000,0,0,20,100,1 -,,4,11020,2,16,1000,1,0,20,100,0 -,,4,30406,4,32,1000,0,0,20,1000,0 -,,4,209,2,32,1000,0,0,20,100,0 -,,4,212,2,32,1000,0,0,20,100,0 -,,4,248,2,32,1000,0,0,20,100,0 -[Title],Point type,Function number,Information number,Amplification factor,Correction value,Value_added,Point description,Device coefficient,Named abbreviation,, -[Point],YC,0,209,1,0,0,IN1,1,IN1,, -,,0,212,1,0,0,IN2,1,IN2,, -,,0,248,1,0,0,VN,1,VN,, -,,0,11002,1,0,0,IA,1,IA,, -,,0,11004,1,0,0,IB,1,IB,, -,,0,11006,1,0,0,IC,1,IC,, -,,0,11008,1,0,0,UAB,1,UAB,, -,,0,11010,1,0,0,UBC,1,UBC,, -,,0,11012,1,0,0,UCA,1,UCA,, -,,0,11020,1,0,0,COS,1,PF,, -,,0,11021,1,0,0,F,1,F,, -,,0,30406,1,0,0,P,1,P,, -,,0,30408,1,0,0,Q,1,Q,, -[Title],Point type,Function number,Information number,Remote properties,Point description,Remote parameter,Custom #1,Custom #2,,, -[Point],YK,951,952,4,yk1,1,1,Null,,, -,,952,952,0,yk2,0,0,Null,,, -,,953,953,0,yk3,0,0,Null,,, -,,954,954,0,yk4,0,0,Null,,, -[Title],Point type,Function number,Information number,Point description,Named abbreviation,Associate YX ID, YX Property,Custom #1,,, -[Point],YX,11025,0,IP1,DI1,0,0,0,,, -,,11025,1,IP2,DI2,0,0,0,,, -,,11025,2,IP3,DI3,0,0,0,,, -,,11025,3,IP4,DI4,0,0,0,,, -,,11025,4,IP5,DI5,0,0,0,,, -,,11025,5,IP6,DI6,0,0,0,,, -,,11025,6,IP7,DI7,0,0,0,,, -,,11025,7,IP8,DI8,0,0,0,,, -,,11025,8,IP9,DI9,0,0,0,,, -,,11025,9,IP10,DI10,0,0,0,,, -,,11025,10,IP11,DI11,0,0,0,,, -,,11025,11,IP12,DI12,0,0,0,,, -,,11025,12,IP13,DI13,0,0,0,,, -,,11025,13,IP14,DI14,0,0,0,,, -,,11025,14,IP15,DI15,0,0,0,,, -,,11025,15,IP16,DI16,0,0,0,,, -,,6,148,VTS,VTS,0,0,0,,, -,,6,149,CTS,CTS,0,0,0,,, -,,6,243,1st Over Currentt I__Trip,OC1,0,0,0,,, -,,6,247,2nd Over Currentt I__Trip,OC2,0,0,0,,, -,,6,251,3rd Over Currentt I__Trip,OC3,0,0,0,,, -,,6,255,4th Over Currentt I__Trip,OC4,0,0,0,,, -,,6,261,1st Over Currentt IN_Trip,EOC1,0,0,0,,, -,,6,262,2nd Over Currentt IN_Trip,EOC2,0,0,0,,, -,,6,263,3rd Over Currentt IN_Trip,EOC3,0,0,0,,, -,,6,265,1st Over Currentt IN2_Trip,E2OC1,0,0,0,,, -,,6,266,2nd Over Currentt IN2_Trip,E2OC2,0,0,0,,, -,,6,267,3rd Over Currentt IN2_Trip,E2OC3,0,0,0,,, -,,6,269,ISEF_Trip,SEF,0,0,0,,, -,,6,274,1st Over Voltage VN_Trip,EOV1,0,0,0,,, -,,6,275,2nd Over Voltage VN_Trip,EOV2,0,0,0,,, -,,6,277,NPS Over Voltage V2_Trip,NPSOV,0,0,0,,, -,,6,278,1st Under Voltage V_Trip,UV1,0,0,0,,, -,,6,282,2nd Under Voltage V_Trip,UV2,0,0,0,,, -,,6,286,1st Over Voltage V_Trip,OV1,0,0,0,,, -,,6,290,2nd Over Voltage V_Trip,OV2,0,0,0,,, -,,6,371,AutoClose,Recloser,0,0,0,,, -,,6,513,1st NPS Overcurrent I2_Trip,NPSOC1,0,0,0,,, -,,6,514,2nd NPS Overcurrent I2_Trip,NPSOC2,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/p241.CSV b/PSCADA/电子行业模板/common/device_model/MICOM/p241.CSV deleted file mode 100644 index ebad022..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/p241.CSV +++ /dev/null @@ -1,49 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,P241,P241,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,701,12,32,1000,0,0,20,100,0 -,,4,724,2,1,1000,0,0,20,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,701,1,0,0,A,0.001,IA,, -,,0,703,1,0,0,B,0.001,IB,, -,,0,705,1,0,0,C,0.001,IC,, -,,0,707,1,0,0,ABѹ,0.001,UAB,, -,,0,709,1,0,0,BCѹ,0.001,UBC,, -,,0,711,1,0,0,CAѹ,0.001,UCA,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,20,20,4,·,1,2,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,6,13,1Aද,OC1A,0,0,0,,, -,,6,14,1Bද,OC1B,0,0,0,,, -,,6,15,1Cද,OC1C,0,0,0,,, -,,6,16,2Aද,OC2A,0,0,0,,, -,,6,17,2Bද,OC2B,0,0,0,,, -,,6,18,2Cද,OC2C,0,0,0,,, -,,6,19,Ƶ1ζ,UF1,0,0,0,,, -,,6,20,Ƶ2ζ,UF2,0,0,0,,, -,,6,21,1ζ,SOC1,0,0,0,,, -,,6,22,2ζ,SOC2,0,0,0,,, -,,6,23,1ζ,EOC1,0,0,0,,, -,,6,24,2ζ,EOC2,0,0,0,,, -,,6,25,͹1ζ,UPower1,0,0,0,,, -,,6,26,͹2ζ,UPower2,0,0,0,,, -,,6,30,1ζ,UnbOC1,0,0,0,,, -,,6,31,2ζ,UnbOC2,0,0,0,,, -,,6,32,͵ѹ1ζ,UV1,0,0,0,,, -,,6,33,ѹ1ζ,OV1,0,0,0,,, -,,6,34,͵ѹ2ζ,UV2,0,0,0,,, -,,6,35,ѹ2ζ,OV2,0,0,0,,, -,,6,36,Բѹ1ζ,EOV1,0,0,0,,, -,,6,37,Բѹ2ζ,EOV2,0,0,0,,, -,,723,0,out1,DO1,0,0,0,,, -,,723,1,out2,DO2,0,0,0,,, -,,723,2,out3,DO3,0,0,0,,, -,,725,0,ip1,DI1,0,0,0,,, -,,725,1,ip2,DI2,0,0,0,,, -,,725,2,ip3,DI3,0,0,0,,, -,,725,3,ip4,DI4,0,0,0,,, -,,725,4,ip5,DI5,0,0,0,,, -,,725,5,ip6,DI6,0,0,0,,, -,,725,6,ip7,DI7,0,0,0,,, -,,725,7,ip8,DI8,0,0,0,,, -,,65535,65535,ң״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/MICOM/p632(103).CSV b/PSCADA/电子行业模板/common/device_model/MICOM/p632(103).CSV deleted file mode 100644 index ec219ed..0000000 --- a/PSCADA/电子行业模板/common/device_model/MICOM/p632(103).CSV +++ /dev/null @@ -1,52 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],11,13,11,P632,2#䱣(103),,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,178,240,1000,0,1,IB,0.001,OIB -,,178,240,1000,0,2,IC,0.001,OIC -,,178,240,1000,0,3,IA,0.001,UIA -,,178,240,1000,0,4,IB,0.001,UIB -,,178,240,1000,0,5,IC,0.001,UIC -,,178,240,1000,0,6,IN,0.001,OIN -,,178,240,1000,0,7,IN,0.001,UIN -,,178,240,1000,0,8,1,0.001,I1D -,,178,240,1000,0,9,2,0.001,I2D -,,178,240,1000,0,10,3,0.001,I3D -,,178,240,1000,0,0,IA,0.001,OIA -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,56,52,0,LogicTrigger01,57,52,0, -,,57,52,0,LogicTrigger02,0,0,0, -,,58,52,0,LogicTrigger03,59,52,0, -,,59,52,0,LogicTrigger04,0,0,0, -,,60,52,0,LogicTrigger05,0,0,0, -,,61,52,0,LogicTrigger06,0,0,0, -,,62,52,0,LogicTrigger07,0,0,0, -,,63,52,0,LogicTrigger08,0,0,0, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,176,27,Դϵź,yx1,0,0,0, -,,176,28,ȵԴϵź,yx2,0,0,0, -,,176,29,5#CBź,yx3,0,0,0, -,,176,30,DS\ESź,yx4,0,0,0, -,,179,81,ź,yx5,0,0,0, -,,179,82,TVζϵź,yx6,0,0,0, -,,179,83,A\B\Cź,yx7,0,0,0, -,,179,84,ɵδ,MCGOff,0,0,0, -,,179,85,5#CB·ѹ,yx9,0,0,0, -,,179,86,4#CB·1#Ҳź,yx10,0,0,0, -,,179,87,4#CB·2#Ҳź,yx11,0,0,0, -,,179,88,4#CB·3#Ҳź,yx12,0,0,0, -,,179,89,4#CB·4#Ҳź,yx13,0,0,0, -,,179,90,4#CB·5#Ҳź,yx14,0,0,0, -,,179,91,1,BY1,0,0,0, -,,179,92,51DSλ,yx16,0,0,0, -,,179,94,1,Diff1,0,0,0, -,,179,102,2,Diff2,0,0,0, -,,179,104,CT,CTS,0,0,0, -,,180,195,52DSλ,yx17,0,0,0, -,,180,196,51ESλ,yx18,0,0,0, -,,180,197,52ESλ,yx19,0,0,0, -,,180,198,2,BY2,0,0,0, -,,180,199,5#CB͵λ,Local5#CB,0,0,0, -,,180,200,Խӵر,yx22,0,0,0, -,,180,201,صѹ˹բ,LGT,0,0,0, -,,180,202,صѹ˹,LLGA,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/MT塑壳断路器.CSV b/PSCADA/电子行业模板/common/device_model/MT塑壳断路器.CSV deleted file mode 100644 index 6c21e97..0000000 --- a/PSCADA/电子行业模板/common/device_model/MT塑壳断路器.CSV +++ /dev/null @@ -1,29 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,12,1,MT,1#ѹ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,660,10,1,1000,0,0,100,1000,1 -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,7700,7700,0,·MT,0,0,0,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,660,0,״̬,PosOn,0,0,0,,, -,,660,1,عλ,CBFlt,0,0,0,,, -,,65535,65535,ͨѶ״̬1,TX1,0,0,0,,, -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],201,13,1,MT,1#ѹ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1010,10,16,1000,0,0,0,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,1015,1,0,0,A,1,IA,, -,,0,1016,1,0,0,B,1,IB,, -,,0,1017,1,0,0,C,1,IC,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬2,TX2,0,0,0,,, -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],51,13,1,MT,1#ѹ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,660,10,1,1000,0,0,100,1000,0 -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,660,8,ѿ,PosOff,0,0,0,,, -,,660,9,λ,RkdIn,0,0,0,,, -,,660,10,λ,RkdOut,0,0,0,,, -,,65535,65535,ͨѶ״̬3,TX3,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/351A.CSV b/PSCADA/电子行业模板/common/device_model/SEL/351A.CSV deleted file mode 100644 index 9b3ca0c..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/351A.CSV +++ /dev/null @@ -1,49 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,SEL351A,35kV-,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,30,16,1000,1,0,100,100,0 -,,3,43,2,1,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,IA,1,IA,, -,,0,2,1,0,0,IB,1,IB,, -,,0,4,1,0,0,IC,1,IC,, -,,0,8,1,0,0,IN,2,IN,, -,,0,11,1,0,0,VA,3,VA,, -,,0,14,1,0,0,VB,4,VB,, -,,0,17,1,0,0,VC,5,VC,, -,,0,20,1,0,0,VS,1,VS,, -,,0,23,1,0,0,P,3,P,, -,,0,25,1,0,0,Q,4,Q,, -,,0,26,1,0,0,COS,5,PF,, -,,0,28,1,0,0,F,1,F,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,24,24,0,ң,0,0,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,6,ңSV1T,SV1T,0,0,0,,, -,,0,7,ңSV2T,SV2T,0,0,0,,, -,,0,8,SV3T,SV3T,0,0,0,,, -,,0,9,SV4T,SV4T,0,0,0,,, -,,0,10,SV5T,SV5T,0,0,0,,, -,,0,11,SV6T,SV6T,0,0,0,,, -,,0,12,SV7T,SV7T,0,0,0,,, -,,0,13,SV8T,SV8T,0,0,0,,, -,,0,14,SV9T,SV9T,0,0,0,,, -,,0,15,SV10T,SV10T,0,0,0,,, -,,0,16,SV11T,SV11T,0,0,0,,, -,,0,17,SV12T,SV12T,0,0,0,,, -,,0,18,װø澯,Devarm,0,0,0,,, -,,43,0,·λ,PosOn,0,0,0,,, -,,43,1,·λ,PosOff,0,0,0,,, -,,43,2,ֳλ,RkdIn,0,0,0,,, -,,43,3,δ,NCGPos,0,0,0,,, -,,43,4,ӵصλ,ESPos,0,0,0,,, -,,43,5,λ,LocRem,0,0,0,,, -,,44,0,LT1,LT1,0,0,0,,, -,,44,1,LT2,LT2,0,0,0,,, -,,44,2,ٶ,OC1,0,0,0,,, -,,44,3,,OC2,0,0,0,,, -,,44,4,LT5,LT5,0,0,0,,, -,,44,5,LT6,LT6,0,0,0,,, -,,44,6,LT7,LT7,0,0,0,,, -,,44,7,LT8,LT8,0,0,0,,, -,,65535,65535,TX,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL 2440.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL 2440.CSV deleted file mode 100644 index b8e4db6..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL 2440.CSV +++ /dev/null @@ -1,54 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,2440,SEL2440,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,360,64,1,1000,0,0,45,100,0 -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,367,IN101,DI1,0,0,0,,, -,,0,366,IN102,DI2,0,0,0,,, -,,0,365,IN103,DI3,0,0,0,,, -,,0,364,IN104,DI4,0,0,0,,, -,,0,363,IN105,DI5,0,0,0,,, -,,0,362,IN106,DI6,0,0,0,,, -,,0,361,IN107,DI7,0,0,0,,, -,,0,360,IN108,DI8,0,0,0,,, -,,0,375,IN109,DI9,0,0,0,,, -,,0,374,IN110,DI10,0,0,0,,, -,,0,373,IN111,DI11,0,0,0,,, -,,0,372,IN112,DI12,0,0,0,,, -,,0,371,IN113,DI13,0,0,0,,, -,,0,370,IN114,DI14,0,0,0,,, -,,0,369,IN115,DI15,0,0,0,,, -,,0,368,IN116,DI16,0,0,0,,, -,,0,399,IN201,DI17,0,0,0,,, -,,0,398,IN202,DI18,0,0,0,,, -,,0,397,IN203,DI19,0,0,0,,, -,,0,396,IN204,DI20,0,0,0,,, -,,0,395,IN205,DI21,0,0,0,,, -,,0,394,IN206,DI22,0,0,0,,, -,,0,393,IN207,DI23,0,0,0,,, -,,0,392,IN208,DI24,0,0,0,,, -,,0,407,IN209,DI25,0,0,0,,, -,,0,406,IN210,DI26,0,0,0,,, -,,0,405,IN211,DI27,0,0,0,,, -,,0,404,IN212,DI28,0,0,0,,, -,,0,403,IN213,DI29,0,0,0,,, -,,0,402,IN214,DI30,0,0,0,,, -,,0,401,IN215,DI31,0,0,0,,, -,,0,400,IN216,DI32,0,0,0,,, -,,0,415,IN301,DI33,0,0,0,,, -,,0,414,IN302,DI34,0,0,0,,, -,,0,413,IN303,DI35,0,0,0,,, -,,0,412,IN304,DI36,0,0,0,,, -,,0,411,IN305,DI37,0,0,0,,, -,,0,410,IN306,DI38,0,0,0,,, -,,0,409,IN307,DI39,0,0,0,,, -,,0,408,IN308,DI40,0,0,0,,, -,,0,423,IN309,DI41,0,0,0,,, -,,0,422,IN310,DI42,0,0,0,,, -,,0,421,IN311,DI43,0,0,0,,, -,,0,420,IN312,DI44,0,0,0,,, -,,0,419,IN313,DI45,0,0,0,,, -,,0,418,IN314,DI46,0,0,0,,, -,,0,417,IN315,DI47,0,0,0,,, -,,0,416,IN316,DI48,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL-311B-DNP.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL-311B-DNP.CSV deleted file mode 100644 index 7db6ebd..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL-311B-DNP.CSV +++ /dev/null @@ -1,58 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],10,5,3,SEL-311B,SEL-311B-DNP,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,0,0,1,0,0,A,1,IA -,,0,1,1,0,0,B,1,IB -,,0,2,1,0,0,C,1,IC -,,0,3,1,0,0,IP,1,IG -,,0,4,1,0,0,VAѹ,1,VA -,,0,5,1,0,0,VBѹ,1,VB -,,0,6,1,0,0,VCѹ,1,VC -,,0,7,1,0,0,VSѹ,1,VS -,,0,8,1,0,0,й,1,P -,,0,9,1,0,0,޹,1,Q -,,0,10,1,0,0,,1,PF -,,0,11,1,0,0,Ƶ,1,F -,,0,12,1,0,0,й,1,EPIn -,,0,13,1,0,0,й,1,EPOut -,,0,14,1,0,0,޹,1,EQIn -,,0,15,1,0,0,޹,1,EQOut -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,0,0,0,RB01,0,0,n, -,,1,1,0,RB02,0,0,n, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,0,0,װ,Devhlt,0,0,0, -,,0,1,PT,VTS,0,0,0, -,,0,2,װø澯,Devarm,0,0,0, -,,0,3,IN101,DI1,0,0,0, -,,0,4,IN102,DI2,0,0,0, -,,0,5,IN103,DI3,0,0,0, -,,0,6,IN104,DI4,0,0,0, -,,0,7,IN105,DI5,0,0,0, -,,0,8,IN106,DI6,0,0,0, -,,0,9,мSV1T,SV1T,0,0,0, -,,0,10,мSV2T,SV2T,0,0,0, -,,0,11,мSV3T,SV3T,0,0,0, -,,0,12,мSV4T,SV4T,0,0,0, -,,0,13,мSV5T,SV5T,0,0,0, -,,0,14,мSV6T,SV6T,0,0,0, -,,0,15,мSV7T,SV7T,0,0,0, -,,0,16,мSV8T,SV8T,0,0,0, -,,0,17,мSV9T,SV9T,0,0,0, -,,0,18,мSV10T,SV10T,0,0,0, -,,0,19,мSV11T,SV11T,0,0,0, -,,0,20,мSV12T,SV12T,0,0,0, -,,0,21,мSV13T,SV13T,0,0,0, -,,0,22,мSV14T,SV14T,0,0,0, -,,0,23,мSV15T,SV15T,0,0,0, -,,0,24,мSV16T,SV16T,0,0,0, -,,0,25,һMHO뱣,Z1MHODZ,0,0,0, -,,0,26,MHO뱣,Z2MHODZ,0,0,0, -,,0,27,I,OC1,0,0,0, -,,0,28,II,OC2,0,0,0, -,,0,29,III,OC3,0,0,0, -,,0,30,һMHO뱣,Z1MHOPP,0,0,0, -,,0,31,MHO뱣,Z2MHOPP,0,0,0, -,,0,32,HO뱣,Z3MHOPP,0,0,0, -,,0,33,һMHOӵؾ뱣,Z1MHOEARTH,0,0,0, -,,0,34,MHOӵؾ뱣,Z2MHOEARTH,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL-311B.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL-311B.CSV deleted file mode 100644 index 4e06559..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL-311B.CSV +++ /dev/null @@ -1,58 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],10,5,3,SEL-311B,SEL-311B,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,0,0,1,0,0,A,1,IA -,,0,1,1,0,0,B,1,IB -,,0,2,1,0,0,C,1,IC -,,0,3,1,0,0,IP,1,IG -,,0,4,1,0,0,VAѹ,1,VA -,,0,5,1,0,0,VBѹ,1,VB -,,0,6,1,0,0,VCѹ,1,VC -,,0,7,1,0,0,VSѹ,1,VS -,,0,8,1,0,0,й,1,P -,,0,9,1,0,0,޹,1,Q -,,0,10,1,0,0,,1,PF -,,0,11,1,0,0,Ƶ,1,F -,,0,12,1,0,0,й,1,EPIn -,,0,13,1,0,0,й,1,EPOut -,,0,14,1,0,0,޹,1,EQIn -,,0,15,1,0,0,޹,1,EQOut -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,0,0,0,RB01,0,0,n, -,,1,1,0,RB02,0,0,n, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,0,0,װ,Devhlt,0,0,0, -,,0,1,PT,VTS,0,0,0, -,,0,2,װø澯,Devarm,0,0,0, -,,0,3,IN101,DI1,0,0,0, -,,0,4,IN102,DI2,0,0,0, -,,0,5,IN103,DI3,0,0,0, -,,0,6,IN104,DI4,0,0,0, -,,0,7,IN105,DI5,0,0,0, -,,0,8,IN106,DI6,0,0,0, -,,0,9,мSV1T,SV1T,0,0,0, -,,0,10,мSV2T,SV2T,0,0,0, -,,0,11,мSV3T,SV3T,0,0,0, -,,0,12,мSV4T,SV4T,0,0,0, -,,0,13,мSV5T,SV5T,0,0,0, -,,0,14,мSV6T,SV6T,0,0,0, -,,0,15,мSV7T,SV7T,0,0,0, -,,0,16,мSV8T,SV8T,0,0,0, -,,0,17,мSV9T,SV9T,0,0,0, -,,0,18,мSV10T,SV10T,0,0,0, -,,0,19,мSV11T,SV11T,0,0,0, -,,0,20,мSV12T,SV12T,0,0,0, -,,0,21,мSV13T,SV13T,0,0,0, -,,0,22,мSV14T,SV14T,0,0,0, -,,0,23,мSV15T,SV15T,0,0,0, -,,0,24,мSV16T,SV16T,0,0,0, -,,0,25,һMHO뱣,Z1MHODZ,0,0,0, -,,0,26,MHO뱣,Z2MHODZ,0,0,0, -,,0,27,I,OC1,0,0,0, -,,0,28,II,OC2,0,0,0, -,,0,29,III,OC3,0,0,0, -,,0,30,һMHO뱣,Z1MHOPP,0,0,0, -,,0,31,MHO뱣,Z2MHOPP,0,0,0, -,,0,32,HO뱣,Z3MHOPP,0,0,0, -,,0,33,һMHOӵؾ뱣,Z1MHOEARTH,0,0,0, -,,0,34,MHOӵؾ뱣,Z2MHOEARTH,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL-787-DNP.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL-787-DNP.CSV deleted file mode 100644 index fa13298..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL-787-DNP.CSV +++ /dev/null @@ -1,52 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],10,5,3,n,n,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,0,0,1,0,0,߲A,1,IAW1 -,,0,1,1,0,0,߲B,1,IBW1 -,,0,2,1,0,0,߲C,1,ICW1 -,,0,3,1,0,0,߲ӵص,1,IGW1 -,,0,4,1,0,0,ͲA,1,IAW2 -,,0,5,1,0,0,ͲB,1,IBW2 -,,0,6,1,0,0,ͲC,1,ICW2 -,,0,7,1,0,0,Ͳӵص,1,IGW2 -,,0,8,1,0,0,߲ƽ,1,IavgW1 -,,0,9,1,0,0,Ͳƽ,1,IavgW2 -,,0,10,1,0,0,ฺ߲,1,I2W1 -,,0,11,1,0,0,Ͳฺ,1,I2W2 -,,0,12,1,0,0,,1,I0 -,,0,13,1,0,0,ABߵѹ,1,VAB -,,0,14,1,0,0,BCߵѹ,1,VBC -,,0,15,1,0,0,CAߵѹ,1,VCA -,,0,16,1,0,0,ƽѹ,1,Vavg -,,0,17,1,0,0,ѹ,1,V2 -,,0,18,1,0,0,й,1,P -,,0,19,1,0,0,޹,1,Q -,,0,20,1,0,0,ڹ,1,S -,,0,21,1,0,0,,1,PF -,,0,22,1,0,0,Ƶ,1,F -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,0,0,0,RB01,0,0,n, -,,1,1,0,RB02,0,0,n, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,0,0,װ,Devhlt,0,0,0, -,,0,1,բź,Trip,0,0,0, -,,0,2,߲ౣ,W1TRIP1,0,0,0, -,,0,3,ౣ,W1TRIP2,0,0,0, -,,0,4,Լʧ,SelfTestF,0,0,0, -,,0,5,Լ,SelfTestS,0,0,0, -,,0,6,IN101,DI1,0,0,0, -,,0,7,IN102,DI2,0,0,0, -,,0,8,IN301,DI3,0,0,0, -,,0,9,IN302,DI4,0,0,0, -,,0,10,IN303,DI5,0,0,0, -,,0,11,IN304,DI6,0,0,0, -,,0,12,IN401,DI7,0,0,0, -,,0,13,IN402,DI8,0,0,0, -,,0,14,IN403,DI9,0,0,0, -,,0,15,IN404,DI10,0,0,0, -,,0,16,ƶٶ϶,TDiff,0,0,0, -,,0,17,ʲ,TRDiff,0,0,0, -,,0,18,߲I,W1OC1,0,0,0, -,,0,19,߲II,W1OC2,0,0,0, -,,0,20,ͲI,W2OC1,0,0,0, -,,0,21,ͲII,W2OC2,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL-787.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL-787.CSV deleted file mode 100644 index 28610d0..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL-787.CSV +++ /dev/null @@ -1,52 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],10,5,3,n,n,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,0,0,1,0,0,߲A,1,IAW1 -,,0,1,1,0,0,߲B,1,IBW1 -,,0,2,1,0,0,߲C,1,ICW1 -,,0,3,1,0,0,߲ӵص,1,IGW1 -,,0,4,1,0,0,ͲA,1,IAW2 -,,0,5,1,0,0,ͲB,1,IBW2 -,,0,6,1,0,0,ͲC,1,ICW2 -,,0,7,1,0,0,Ͳӵص,1,IGW2 -,,0,8,1,0,0,߲ƽ,1,IavgW1 -,,0,9,1,0,0,Ͳƽ,1,IavgW2 -,,0,10,1,0,0,ฺ߲,1,I2W1 -,,0,11,1,0,0,Ͳฺ,1,I2W2 -,,0,12,1,0,0,,1,I0 -,,0,13,1,0,0,ABߵѹ,1,VAB -,,0,14,1,0,0,BCߵѹ,1,VBC -,,0,15,1,0,0,CAߵѹ,1,VCA -,,0,16,1,0,0,ƽѹ,1,Vavg -,,0,17,1,0,0,ѹ,1,V2 -,,0,18,1,0,0,й,1,P -,,0,19,1,0,0,޹,1,Q -,,0,20,1,0,0,ڹ,1,S -,,0,21,1,0,0,,1,PF -,,0,22,1,0,0,Ƶ,1,F -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,0,0,0,RB01,0,0,n, -,,1,1,0,RB02,0,0,n, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,0,0,װ,HEALTH,0,0,0, -,,0,1,բź,Trip,0,0,0, -,,0,2,߲ౣ,W1TRIP1,0,0,0, -,,0,3,ౣ,W1TRIP2,0,0,0, -,,0,4,Լʧ,SELFF,0,0,0, -,,0,5,Լ,SELFSet,0,0,0, -,,0,6,IN101,DI1,0,0,0, -,,0,7,IN102,DI2,0,0,0, -,,0,8,IN301,DI3,0,0,0, -,,0,9,IN302,DI4,0,0,0, -,,0,10,IN303,DI5,0,0,0, -,,0,11,IN304,DI6,0,0,0, -,,0,12,IN401,DI7,0,0,0, -,,0,13,IN402,DI8,0,0,0, -,,0,14,IN403,DI9,0,0,0, -,,0,15,IN404,DI10,0,0,0, -,,0,16,ƶٶ϶,TDiff,0,0,0, -,,0,17,ʲ,TRDiff,0,0,0, -,,0,18,߲I,W1OC1,0,0,0, -,,0,19,߲II,W1OC2,0,0,0, -,,0,20,ͲI,W2OC1,0,0,0, -,,0,21,ͲII,W2OC2,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL2411.csv b/PSCADA/电子行业模板/common/device_model/SEL/SEL2411.csv deleted file mode 100644 index 9c60483..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL2411.csv +++ /dev/null @@ -1,66 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,13,1,SEL2411,SEL2411,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1000,1,1,1000,0,0,45,100,1 -,,3,1048,10,1,1000,0,0,45,100,1 -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,0,0,0,OUT1_01,0,0,Null,,, -,,1,1,0,OUT1_02,0,0,Null,,, -,,2,2,0,OUT1_03,0,0,Null,,, -,,11,11,0,OUT4_01,0,0,Null,,, -,,12,12,0,OUT4_02,0,0,Null,,, -,,13,13,0,OUT4_03,0,0,Null,,, -,,14,14,0,OUT4_04,0,0,Null,,, -,,19,19,0,OUT5_01,0,0,Null,,, -,,20,20,0,OUT5_02,0,0,Null,,, -,,21,21,0,OUT5_03,0,0,Null,,, -,,22,22,0,OUT5_04,0,0,Null,,, -,,27,27,0,OUT6_01,0,0,Null,,, -,,28,28,0,OUT6_02,0,0,Null,,, -,,29,29,0,OUT6_03,0,0,Null,,, -,,30,30,0,OUT6_04,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,1000,8,T06LED,LEDT6,0,0,0,,, -,,1000,9,T05LED,LED5,0,0,0,,, -,,1000,10,T04LED,LEDT4,0,0,0,,, -,,1000,11,T03LED,LEDT3,0,0,0,,, -,,1000,12,T02LED,LEDT2,0,0,0,,, -,,1000,13,T01LED,LEDT1,0,0,0,,, -,,1048,15,IN1_01,DI1,0,0,0,,, -,,1048,14,IN1_02,DI2,0,0,0,,, -,,1049,15,IN3_01,DI3,0,0,0,,, -,,1049,14,IN3_02,DI4,0,0,0,,, -,,1049,13,IN3_03,DI5,0,0,0,,, -,,1049,12,IN3_04,DI6,0,0,0,,, -,,1049,11,IN3_05,DI7,0,0,0,,, -,,1049,10,IN3_06,DI8,0,0,0,,, -,,1049,9,IN3_07,DI9,0,0,0,,, -,,1049,8,IN3_08,DI10,0,0,0,,, -,,1050,15,IN4_01,DI11,0,0,0,,, -,,1050,14,IN4_02,DI12,0,0,0,,, -,,1050,13,IN4_03,DI13,0,0,0,,, -,,1050,12,IN4_04,DI14,0,0,0,,, -,,1051,15,IN5_01,DI15,0,0,0,,, -,,1051,14,IN5_02,DI16,0,0,0,,, -,,1051,13,IN5_03,DI17,0,0,0,,, -,,1051,12,IN5_04,DI18,0,0,0,,, -,,1052,15,IN6_01,DI19,0,0,0,,, -,,1052,14,IN6_02,DI20,0,0,0,,, -,,1052,13,IN6_03,DI21,0,0,0,,, -,,1052,12,IN6_04,DI22,0,0,0,,, -,,1053,15,OUT1_01,DO1,0,0,0,,, -,,1053,14,OUT1_02,DO2,0,0,0,,, -,,1053,13,OUT1_03,DO3,0,0,0,,, -,,1055,15,OUT4_01,DO4,0,0,0,,, -,,1055,14,OUT4_02,DO5,0,0,0,,, -,,1055,13,OUT4_03,DO6,0,0,0,,, -,,1055,12,OUT4_04,DO7,0,0,0,,, -,,1056,15,OUT5_01,DO8,0,0,0,,, -,,1056,14,OUT5_02,DO9,0,0,0,,, -,,1056,13,OUT5_03,DO10,0,0,0,,, -,,1056,12,OUT5_04,DO11,0,0,0,,, -,,1057,15,OUT6_01,DO12,0,0,0,,, -,,1057,14,OUT6_02,DO13,0,0,0,,, -,,1057,13,OUT6_03,DO14,0,0,0,,, -,,1057,12,OUT6_04,DO15,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL2440-MODBUS.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL2440-MODBUS.CSV deleted file mode 100644 index e272087..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL2440-MODBUS.CSV +++ /dev/null @@ -1,47 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,,, -[Device],1,13,1,SEL2440,11CK,,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE, -[Point],BLOCK,3,549,4,1,1000,0,0,100,100,1, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,,, -[Point],YK,1,0,0,뿪Q1,65280,65280,Null,,,, -,,3,2,0,ӵؿQ51,65280,65280,Null,,,, -,,5,4,0,뿪Q9,65280,65280,Null,,,, -,,7,6,0,ӵؿQ53,65280,65280,Null,,,, -,,9,8,0,뿪Q10,65280,65280,Null,,,, -,,11,10,0,ӵؿQ54,65280,65280,Null,,,, -,,13,12,0,ٽӵؿQ8,65280,65280,Null,,,, -,,15,14,0,뿪Q2,65280,65280,Null,,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,,, -[Point],YX,549,15,/ӵؿصԴտբ,DI1,0,0,0,,,, -,,549,14,·Դտբ,DI2,0,0,0,,,, -,,549,13,ƵԴտբ,DI3,0,0,0,,,, -,,549,12,Դտբ,DI4,0,0,0,,,, -,,549,11,ӵԴտբ,DI5,0,0,0,,,, -,,549,10,Դտբ,DI6,0,0,0,,,, -,,549,9,ɴܳʱ,DI7,0,0,0,,,, -,,549,8,δ,DI8,0,0,0,,,, -,,550,15,ض쳣,DI9,0,0,0,,,, -,,550,14,/ӵصբʱ쳣,DI10,0,0,0,,,, -,,550,13,G0,DI11,0,0,0,,,, -,,550,12,G0,DI12,0,0,0,,,, -,,550,11,G1,DI13,0,0,0,,,, -,,550,10,G2,DI14,0,0,0,,,, -,,550,9,G5,DI15,0,0,0,,,, -,,550,8,G6,DI16,0,0,0,,,, -,,551,15,G9,DI17,0,0,0,,,, -,,551,14,G1~9,DI18,0,0,0,,,, -,,551,13,Զģʽ,DI19,0,0,0,,,, -,,551,12,ģʽ,DI20,0,0,0,,,, -,,551,11,ģʽ,DI21,0,0,0,,,, -,,551,10,ѹȦ1տբ,DI22,0,0,0,,,, -,,551,9,ѹȦ1տպ,DI23,0,0,0,,,, -,,551,8,·ѹ,DI24,0,0,0,,,, -,,552,15,·ѹ,DI25,0,0,0,,,, -,,552,14,G1I,DI26,0,0,0,,,, -,,552,13,G5I,DI27,0,0,0,,,, -,,552,12,G1G5II,DI28,0,0,0,,,, -,,552,11,Զģʽ,DI29,0,0,0,,,, -,,552,10,,DI30,0,0,0,,,, -,,552,9,ѹȦ1տբ,DI31,0,0,0,,,, -,,552,8,ѹȦ1տպ,DI32,0,0,0,,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL351点表模板.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL351点表模板.CSV deleted file mode 100644 index 9ec3e01..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL351点表模板.CSV +++ /dev/null @@ -1,44 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,20,SEL351A,1#·,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,0,1,100,0,0,IA,0.01,IA -,,0,2,100,0,0,IB,0.01,IB -,,0,3,100,0,0,IC,0.01,IC -,,0,4,100,0,0,IN,0.01,IN -,,0,5,100,0,0,IG,0.01,IG -,,0,6,100,0,0,UA,0.01,VA -,,0,7,100,0,0,UB,0.01,VB -,,0,8,100,0,0,UC,0.01,VC -,,0,9,100,0,0,US,0.01,VS -,,0,10,100,0,0,PA,0.01,PA -,,0,11,100,0,0,PB,0.01,PB -,,0,12,100,0,0,PC,0.01,PC -,,0,13,100,0,0,P,0.01,P -,,0,14,100,0,0,QA,0.01,QA -,,0,15,100,0,0,QB,0.01,QB -,,0,16,100,0,0,QC,0.01,QC -,,0,17,100,0,0,Q,0.01,Q -,,0,18,100,0,0,COSA,0.01,PFA -,,0,19,100,0,0,COSB,0.01,PFB -,,0,20,100,0,0,COSC,0.01,PFC -,,0,21,100,0,0,COS,0.01,PF -,,0,22,100,0,0,F,0.01,F -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,17,49,0,·,0,0,Null, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#1, -[Point],YX,24,2,IN106,DI6,0,0,0, -,,24,3,IN105,DI5,0,0,0, -,,24,4,IN104,DI4,0,0,0, -,,24,5,IN103,DI3,0,0,0, -,,24,6,IN102,DI2,0,0,0, -,,24,7,IN101,DI1,0,0,0, -,,29,0,LT1,LT1,0,0,0, -,,29,1,LT2,LT2,0,0,0, -,,29,2,LT3,LT3,0,0,0, -,,29,3,LT4,LT4,0,0,0, -,,29,4,LT5,LT5,0,0,0, -,,29,5,LT6,LT6,0,0,0, -,,29,6,LT7,LT7,0,0,0, -,,29,7,LT8,LT8,0,0,0, -,,65533,65533,Ԫ,50P,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL551C重合器.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL551C重合器.CSV deleted file mode 100644 index 75faaa3..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL551C重合器.CSV +++ /dev/null @@ -1,52 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,SEL551C,غ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,0,6,1,1000,0,0,100,1000,1 -,,3,104,8,16,1000,0,0,100,500,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,104,1,0,0,A,1,IA,, -,,0,106,1,0,0,B,1,IB,, -,,0,108,1,0,0,C,1,IC,, -,,0,110,1,0,0,ɼ,1,I0,, -,,0,112,1,0,0,,1,IG,, -,,0,114,1,0,0,,1,I2,, -,,0,243,1,0,0,1,1,BY1,, -,,0,245,1,0,0,2,1,BY2,, -,,0,248,1,0,0,3,1,BY3,, -,,0,250,1,0,0,4,1,BY4,, -,,0,252,1,0,0,5,1,BY5,, -,,0,254,1,0,0,6,1,BY6,, -,,0,1000,1,0,0,7,1,BY7,, -,,0,1001,1,0,0,8,1,BY8,, -,,0,1002,1,0,0,9,1,BY9,, -,,0,1003,1,0,0,10,1,BY10,, -,,0,1004,1,0,0,11,1,BY11,, -,,0,1005,1,0,0,12,1,BY12,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,1,1,0,ң1,0,0,Null,,, -,,2,2,0,ң2,0,0,Null,,, -,,3,3,0,ң3,0,0,Null,,, -,,4,4,0,ң4,0,0,Null,,, -,,5,5,0,ң5,0,0,Null,,, -,,6,6,0,ң6,0,0,Null,,, -,,7,7,0,ң7,0,0,Null,,, -,,8,8,0,ң8,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,0,1,DI1,0,0,0,,, -,,0,1,2,DI2,0,0,0,,, -,,0,2,3,DI3,0,0,0,,, -,,0,3,4,DI4,0,0,0,,, -,,0,4,5,DI5,0,0,0,,, -,,0,5,6,DI6,0,0,0,,, -,,0,100,14,BY14,0,0,0,,, -,,0,100,15,BY15,0,0,0,,, -,,0,100,16,BY16,0,0,0,,, -,,0,100,17,BY17,0,0,0,,, -,,0,100,18,BY18,0,0,0,,, -,,0,100,19,BY19,0,0,0,,, -,,0,100,20,BY20,0,0,0,,, -,,0,100,21,BY21,0,0,0,,, -,,0,100,22,BY22,0,0,0,,, -,,0,100,23,BY23,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL587.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL587.CSV deleted file mode 100644 index 157e61c..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL587.CSV +++ /dev/null @@ -1,88 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,20,SEL587,1#·,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1,6,16,1000,0,0,100,100,1 -,,3,2,6,16,1000,0,0,100,100,1 -,,3,3,6,16,1000,0,0,100,100,1 -,,3,4,6,16,1000,0,0,100,100,1 -,,3,5,6,16,1000,0,0,100,100,1 -,,3,6,6,16,1000,0,0,100,100,1 -,,3,7,6,16,1000,0,0,100,100,1 -,,3,8,6,16,1000,0,0,100,100,1 -,,3,10,6,16,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,1,100,0,0,IAW1,0.01,IAW1,, -,,0,2,100,0,0,IBW1,0.01,IBW1,, -,,0,3,100,0,0,ICW1,0.01,ICW1,, -,,0,4,100,0,0,IAW2,0.01,IAW2,, -,,0,5,100,0,0,IBW2,0.01,IBW2,, -,,0,6,100,0,0,ICW2,0.01,ICW2,, -,,0,7,100,0,0,3I2W1,0.01,I2W1,, -,,0,8,100,0,0,IRW1,0.01,IRW1,, -,,0,9,100,0,0,3I2W2,0.01,I2W2,, -,,0,10,100,0,0,IRW2,0.01,IRW2,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,17,49,0,·,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,1,0,1෴ʱ޹ֵ,W1AntiOCStv,0,0,0,,, -,,1,1,1ʱ޹ֵ,W1AntiUnbOCStv,0,0,0,,, -,,1,2,1ʱ޹ֵ,W1AntiEOCStv,0,0,0,,, -,,1,3,1෴ʱ޹բ,W1AntiOC,0,0,0,,, -,,1,4,1ʱ޹բ,W1AntiUnbOC,0,0,0,,, -,,1,5,1ʱ޹բ,W1AntiEOC,0,0,0,,, -,,1,7,ңλ1,LocRem1,0,0,0,,, -,,2,0,1ඨʱֵ,W1OCStv,0,0,0,,, -,,2,1,1ʱֵ,W1UnbOCStv,0,0,0,,, -,,2,2,1ʱֵ,W1EOCStv,0,0,0,,, -,,2,3,1ඨʱբ,W1OC,0,0,0,,, -,,2,4,1ʱբ,W1UnbOC,0,0,0,,, -,,2,5,1ʱբ,W1EOC,0,0,0,,, -,,2,6,1˲ʱբ,W1FOC,0,0,0,,, -,,2,7,1˲ʱբ,W1FEOC,0,0,0,,, -,,3,0,2෴ʱ޹ֵ,W2AntiOCStv,0,0,0,,, -,,3,1,2ʱ޹ֵ,W2AntiUnbOCStv,0,0,0,,, -,,3,2,2ʱ޹ֵ,W2AntiEOCStv,0,0,0,,, -,,3,3,2෴ʱ޹բ,W2AntiOC,0,0,0,,, -,,3,4,2ʱ޹բ,W2AntiUnbOC,0,0,0,,, -,,3,5,2ʱ޹բ,W2AntiEOC,0,0,0,,, -,,3,7,ңλ2,LocRem2,0,0,0,,, -,,4,0,2ඨʱֵ,W2OCStv,0,0,0,,, -,,4,1,2ʱֵ,W2UnbOCStv,0,0,0,,, -,,4,2,2ʱֵ,W2EOCStv,0,0,0,,, -,,4,3,2ඨʱբ,W2OC,0,0,0,,, -,,4,4,2ʱբ,W2UnbOC,0,0,0,,, -,,4,5,2ʱբ,W2EOC,0,0,0,,, -,,4,6,2˲ʱբ,W2FOC,0,0,0,,, -,,4,7,2˲ʱբ,W2FEOC,0,0,0,,, -,,5,0,1ƶԪ,87U1,0,0,0,,, -,,5,1,2ƶԪ,87U2,0,0,0,,, -,,5,2,3ƶԪ,87U3,0,0,0,,, -,,5,3,87Uբ,87U,0,0,0,,, -,,5,4,1ƶԪ,87R1,0,0,0,,, -,,5,5,2ƶԪ,87R2,0,0,0,,, -,,5,6,3ƶԪ,87R3,0,0,0,,, -,,5,7,ٷֱƶ,TRDiff,0,0,0,,, -,,6,0,1г,IAH2B,0,0,0,,, -,,6,1,2г,IBH2B,0,0,0,,, -,,6,2,3г,ICH2B,0,0,0,,, -,,6,3,1г,IAH5B,0,0,0,,, -,,6,4,2г,IBH5B,0,0,0,,, -,,6,5,3г,ICH5B,0,0,0,,, -,,6,6,гԪ87BL,87BL,0,0,0,,, -,,6,7,ң3,LocRem3,0,0,0,,, -,,8,0,·1բ,Trip1,0,0,0,,, -,,8,1,·2բ,Trip2,0,0,0,,, -,,8,2,·1բ,Close1,0,0,0,,, -,,8,3,·2բ,Close2,0,0,0,,, -,,8,4,߼1,LOGICIN1,0,0,0,,, -,,8,5,߼2,LOGICIN2,0,0,0,,, -,,8,6,·1ӵ״̬,52A1,0,0,0,,, -,,8,7,·2ӵ״̬,52A2,0,0,0,,, -,,10,0,1෴ʱ޹Ԫ,W1AntiOCR,0,0,0,,, -,,10,1,1ʱ޹Ԫ,W1AntiUnbOCR,0,0,0,,, -,,10,2,1ʱ޹Ԫ,W1AntiEOCR,0,0,0,,, -,,10,3,2෴ʱ޹Ԫ,W2AntiOCR,0,0,0,,, -,,10,4,2ʱ޹Ԫ,W2AntiUnbOCR,0,0,0,,, -,,10,5,2ʱ޹Ԫ,W2AntiEOCR,0,0,0,,, -,,10,7,ң4,LocRem4,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL710-MODBUSTCP.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL710-MODBUSTCP.CSV deleted file mode 100644 index b4126e4..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL710-MODBUSTCP.CSV +++ /dev/null @@ -1,53 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],4,13,201,05G710,192.168.3.105%,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1818,3,1,1000,0,0,100,100,1 -,,3,1845,1,1,1000,0,0,100,100,1 -,,3,650,31,16,1000,0,0,100,100,0 -,,3,1852,2,1,1000,0,0,100,100,1 -,,3,685,5,16,1000,1,0,100,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,650,1,0,0,A,1,IA,, -,,0,652,1,0,0,B,1,IB,, -,,0,654,1,0,0,C,1,IC,, -,,0,656,1,0,0,N,1,I0,, -,,0,685,1,0,0,й,1,P,, -,,0,686,1,0,0,޹,1,Q,, -,,0,688,1,0,0,,0.1,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,2,2,0,OUT1_03,65280,0,Null,,, -,,59,59,0,RB01,65280,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,1818,6,λ,PosOff,0,0,0,,, -,,1818,7,·,PosOn,0,0,0,,, -,,1819,0,IN308,DI10,0,0,0,,, -,,1819,1,DCSբ307,DI9,0,0,0,,, -,,1819,2,DCSբ306,DI8,0,0,0,,, -,,1819,3,IN305,DI7,0,0,0,,, -,,1819,4,ӵص,ESPos,0,0,0,,, -,,1819,5,ֳλ,RkdOut,0,0,0,,, -,,1819,6,ֳλ,RkdIn,0,0,0,,, -,,1819,7,δ,NCGPos,0,0,0,,, -,,1820,4,IN404,DI14,0,0,0,,, -,,1820,5,IN403,DI13,0,0,0,,, -,,1820,6,IN402,DI12,0,0,0,,, -,,1820,7,IN401,DI11,0,0,0,,, -,,1845,0,SV08T,SV08T,0,0,0,,, -,,1845,1,SV07T,SV07T,0,0,0,,, -,,1845,2,SV06T,SV06T,0,0,0,,, -,,1845,3,SV05T,SV05T,0,0,0,,, -,,1845,4,DCSբ,SV04T,0,0,0,,, -,,1845,5,DCSբ,SV03T,0,0,0,,, -,,1845,6,ƹ,CF,0,0,0,,, -,,1845,7,PT,VTS,0,0,0,,, -,,1852,0,͵ѹ,UV,0,0,0,,, -,,1852,1,,REV,0,0,0,,, -,,1852,2,ʱ,UnbOC1,0,0,0,,, -,,1852,3,ʱ,OC1,0,0,0,,, -,,1852,4,,EOC,0,0,0,,, -,,1852,5,,UnbOC2,0,0,0,,, -,,1852,6,,OLOAD,0,0,0,,, -,,1852,7,ٶ,OC2,0,0,0,,, -,,1853,6,ת,ExSt,0,0,0,,, -,,1853,7,תӶת,ExLocked,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL734计费式表计.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL734计费式表计.CSV deleted file mode 100644 index bc47700..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL734计费式表计.CSV +++ /dev/null @@ -1,63 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],2,5,1,SEL734,Ʒʽ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,801,29,16,1000,1,0,100,500,0 -,,3,768,26,16,1000,0,0,100,500,0 -,,3,1042,6,32,1000,0,2,100,1000,0 -,,3,267,1,1,1000,0,0,100,1000,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,768,1,0,0,A,1,IA,, -,,0,770,1,0,0,B,1,IB,, -,,0,772,1,0,0,C,1,IC,, -,,0,774,1,0,0,ɼ,1,I0,, -,,0,776,1,0,0,,1,IG,, -,,0,778,1,0,0,,1,I1,, -,,0,780,1,0,0,,1,I2,, -,,0,782,1,0,0,Aѹ,1,VA,, -,,0,784,1,0,0,Bѹ,1,VB,, -,,0,786,1,0,0,Cѹ,1,VC,, -,,0,788,1,0,0,ѹ,1,V1,, -,,0,790,1,0,0,ѹ,1,V2,, -,,0,792,1,0,0,ѹ,1,V0,, -,,0,801,1,0,0,Ƶ,0.01,F,, -,,0,808,1,0,0,й,1,P,, -,,0,816,1,0,0,ڹ,1,Q,, -,,0,824,1,0,0,޹,1,S,, -,,0,829,1,0,0,,0.01,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,1,1,0,ң1,0,0,Null,,, -,,2,2,0,ң2,0,0,Null,,, -,,3,3,0,ң3,0,0,Null,,, -,,4,4,0,ң4,0,0,Null,,, -,,5,5,0,ң5,0,0,Null,,, -,,6,6,0,ң6,0,0,Null,,, -,,7,7,0,ң7,0,0,Null,,, -,,8,8,0,ң8,0,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,1042,1,0,йܵ,1,EPdel,,, -,,0,1044,1,0,йܵ,1,Epdel,,, -,,0,1046,1,0,йȾֵ,1,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,267,7,IN101,DI1,0,0,0,,, -,,267,6,IN102,DI2,0,0,0,,, -,,267,5,IN401,DI3,0,0,0,,, -,,267,4,IN402,DI4,0,0,0,,, -,,267,3,IN403,DI5,0,0,0,,, -,,267,2,IN404,DI6,0,0,0,,, -,,0,6,7,BY7,0,0,0,,, -,,0,7,8,BY8,0,0,0,,, -,,0,8,9,BY9,0,0,0,,, -,,0,9,10,BY10,0,0,0,,, -,,0,10,11,BY11,0,0,0,,, -,,0,11,12,BY12,0,0,0,,, -,,0,12,13,BY13,0,0,0,,, -,,0,13,14,BY14,0,0,0,,, -,,0,14,15,BY15,0,0,0,,, -,,0,15,16,BY16,0,0,0,,, -,,0,16,17,BY17,0,0,0,,, -,,0,17,18,BY18,0,0,0,,, -,,0,18,19,BY19,0,0,0,,, -,,0,19,20,BY20,0,0,0,,, -,,0,20,21,BY21,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL735-MODBUS.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL735-MODBUS.CSV deleted file mode 100644 index 0cb5939..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL735-MODBUS.CSV +++ /dev/null @@ -1,68 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,13,1,735,735,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,4040,6,32,1000,1,0,100,1000,0 -,,3,600,12,32,1000,0,2,100,3000,0 -,,3,1494,12,32,1000,0,0,100,1000,0 -,,3,101,2,1,1000,0,0,100,1000,1 -,,3,1482,12,32,1000,0,0,100,1000,0 -,,3,911,1,16,1000,1,0,100,1000,0 -,,3,4000,20,32,1000,0,0,100,1000,0 -,,3,1506,12,32,1000,0,0,100,1000,0 -,,3,900,1,16,1000,0,0,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,900,1,0,0,Ƶ,0.01,F,, -,,0,911,1,0,0,,0.01,PF,, -,,0,1482,1,0,0,гIA,0.01,IAH3,, -,,0,1484,1,0,0,гIB,0.01,IBH3,, -,,0,1486,1,0,0,гIC,0.01,ICH3,, -,,0,1488,1,0,0,гVA,0.01,VAH3,, -,,0,1490,1,0,0,гVB,0.01,VBH3,, -,,0,1492,1,0,0,гVC,0.01,VCH3,, -,,0,1494,1,0,0,гIA,0.01,IAH5,, -,,0,1496,1,0,0,гIB,0.01,IBH5,, -,,0,1498,1,0,0,гIC,0.01,ICH5,, -,,0,1500,1,0,0,гVA,0.01,VAH5,, -,,0,1502,1,0,0,гVB,0.01,VBH5,, -,,0,1504,1,0,0,гVC,0.01,VCH5,, -,,0,1506,1,0,0,ߴгIA,0.01,IAH7,, -,,0,1508,1,0,0,ߴгIB,0.01,IBH7,, -,,0,1510,1,0,0,ߴгIC,0.01,ICH7,, -,,0,1512,1,0,0,ߴгVA,0.01,VAH7,, -,,0,1514,1,0,0,ߴгVB,0.01,VBH7,, -,,0,1516,1,0,0,ߴгVC,0.01,VCH7,, -,,0,4000,1,0,0,A,0.01,IA,, -,,0,4002,1,0,0,B,0.01,IB,, -,,0,4004,1,0,0,C,0.01,IC,, -,,0,4006,1,0,0,N,0.01,IN,, -,,0,4008,1,0,0,Aѹ,0.01,VA,, -,,0,4010,1,0,0,Bѹ,0.01,VB,, -,,0,4012,1,0,0,Cѹ,0.01,VC,, -,,0,4014,1,0,0,ABѹ,0.01,UAB,, -,,0,4016,1,0,0,BCѹ,0.01,UBC,, -,,0,4018,1,0,0,CAѹ,0.01,UCA,, -,,0,4040,1,0,0,й,0.01,P,, -,,0,4044,1,0,0,޹,0.01,Q,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,600,1,0,йܵ,1,EPd,,, -,,0,602,1,0,йܵ,1,EPd,,, -,,0,608,1,0,޹ܵ,1,EQr,,, -,,0,610,1,0,޹ܵ,1,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,101,8,H8,H8,0,0,0,,, -,,101,9,H7,H7,0,0,0,,, -,,101,10,H6,H6,0,0,0,,, -,,101,11,H5,H5,0,0,0,,, -,,101,12,H4,H4,0,0,0,,, -,,101,13,H3,H3,0,0,0,,, -,,101,14,H2,H2,0,0,0,,, -,,102,9,H15,H15,0,0,0,,, -,,102,10,H14,H14,0,0,0,,, -,,102,11,H13,H13,0,0,0,,, -,,102,12,H12,H12,0,0,0,,, -,,102,13,H11,H11,0,0,0,,, -,,102,14,H10,H10,0,0,0,,, -,,102,15,H09,H09,0,0,0,,, -,,111,14,IN102,DI2,0,0,0,,, -,,111,15,IN101,DI1,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL749M电机保护.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL749M电机保护.CSV deleted file mode 100644 index f5c368d..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL749M电机保护.CSV +++ /dev/null @@ -1,81 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],3,5,1,SEL749M,,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,241,15,16,1000,0,0,100,500,0 -,,3,227,10,16,1000,0,0,100,500,0 -,,3,259,5,16,1000,1,0,100,500,0 -,,3,2100,2,1,1000,0,0,100,1000,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,227,1,0,0,A,1,IA,, -,,0,229,1,0,0,B,1,IB,, -,,0,231,1,0,0,C,1,IC,, -,,0,233,1,0,0,ɼ,1,I0,, -,,0,235,1,0,0,,1,IG,, -,,0,241,1,0,0,ABߵѹ,1,UAB,, -,,0,243,1,0,0,BCߵѹ,1,UBC,, -,,0,245,1,0,0,CAߵѹ,1,UCA,, -,,0,248,1,0,0,Aѹ,1,VA,, -,,0,250,1,0,0,Bѹ,1,VB,, -,,0,252,1,0,0,Cѹ,1,VC,, -,,0,254,1,0,0,ѹ,1,V0,, -,,0,259,1,0,0,й,1,P,, -,,0,260,1,0,0,޹,1,Q,, -,,0,261,1,0,0,ڹ,1,S,, -,,0,262,1,0,0,,0.01,PF,, -,,0,263,1,0,0,Ƶ,0.1,F,, -,,0,1005,1,0,0,,1,BY,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,1,1,0,ң1,0,0,Null,,, -,,2,2,0,ң2,0,0,Null,,, -,,3,3,0,ң3,0,0,Null,,, -,,4,4,0,ң4,0,0,Null,,, -,,5,5,0,ң5,0,0,Null,,, -,,6,6,0,ң6,0,0,Null,,, -,,7,7,0,ң7,0,0,Null,,, -,,8,8,0,ң8,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,2100,4,IN401,DI1,0,0,0,,, -,,2100,5,IN402,DI2,0,0,0,,, -,,2100,6,IN403,DI3,0,0,0,,, -,,2101,8,IN301,DI4,0,0,0,,, -,,2101,9,IN302,DI5,0,0,0,,, -,,2101,10,IN303,DI6,0,0,0,,, -,,2101,11,IN304,DI7,0,0,0,,, -,,2101,12,IN305,DI8,0,0,0,,, -,,2101,13,IN306,DI9,0,0,0,,, -,,2101,14,IN307,DI10,0,0,0,,, -,,2101,15,IN308,DI11,0,0,0,,, -,,-1,1,Overload-trip,OLOAD,0,0,0,,, -,,-1,2,lockd-rotor-trip,ExLocked,0,0,0,,, -,,-1,3,undercurr-trip,UC,0,0,0,,, -,,-1,4,jam-trip,JAMT,0,0,0,,, -,,-1,5,currimbal-trip,CURR,0,0,0,,, -,,-1,6,overcurrent-trip,OC,0,0,0,,, -,,-1,7,group-flt-trip,FLTT,0,0,0,,, -,,-1,8,speed-sw-trip,SWT,0,0,0,,, -,,-1,9,undervolt-trip,UV,0,0,0,,, -,,-1,10,overvolt-trip,OV,0,0,0,,, -,,-1,11,underpower-trip,UPower,0,0,0,,, -,,-1,12,pwr-factor-trip,PFT,0,0,0,,, -,,-1,13,react-pwr-trip,REACT,0,0,0,,, -,,-1,14,phase-rev-trip,REVT,0,0,0,,, -,,-1,15,underfreq-trip,UF,0,0,0,,, -,,-1,16,overfreq-trip,OF,0,0,0,,, -,,-1,17,rtd-trip,RTD,0,0,0,,, -,,-1,18,ptc trip,PTC,0,0,0,,, -,,-1,19,start-time-trip,ExSt,0,0,0,,, -,,-1,20,reserved,RESE1,0,0,0,,, -,,-1,21,rtd-fail-trip,RTDT,0,0,0,,, -,,-1,22,ptc-fail-trip,PTCT,0,0,0,,, -,,-1,23,reserved,RESE2,0,0,0,,, -,,-1,24,trigger,TRIG,0,0,0,,, -,,-1,25,commidleloss-trip,COMMIDT,0,0,0,,, -,,-1,26,remote-trip,RemoteT,0,0,0,,, -,,-1,27,reserved,RESE3,0,0,0,,, -,,-1,28,reserved,RESE4,0,0,0,,, -,,-1,29,stop-command,STOP,0,0,0,,, -,,-1,30,er-trigger,ERTRIG,0,0,0,,, -,,-1,31,trip,TRIP,0,0,0,,, -,,-1,42,1,BY1,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL751-MODBUSTCP.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL751-MODBUSTCP.CSV deleted file mode 100644 index e929cd3..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL751-MODBUSTCP.CSV +++ /dev/null @@ -1,55 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],3,5,201,1GHB751,192.168.3.13%,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1849,1,1,1000,0,0,100,100,1 -,,3,1856,1,1,1000,0,0,100,100,1 -,,3,1822,3,1,1000,0,0,100,100,1 -,,3,685,5,16,1000,1,0,100,100,0 -,,3,650,31,16,1000,0,0,100,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,650,1,0,0,A,1,IA,, -,,0,652,1,0,0,B,1,IB,, -,,0,654,1,0,0,C,1,IC,, -,,0,656,1,0,0,N,1,I0,, -,,0,667,1,0,0,ABߵѹ,1,UAB,, -,,0,669,1,0,0,BCߵѹ,1,UBC,, -,,0,671,1,0,0,ACߵѹ,1,UCA,, -,,0,674,1,0,0,AѹUa,1,VA,, -,,0,676,1,0,0,BѹUb,1,VB,, -,,0,678,1,0,0,CѹUc,1,VC,, -,,0,680,1,0,0,ѹUo,1,V0,, -,,0,685,1,0,0,й,1,P,, -,,0,686,1,0,0,޹,1,Q,, -,,0,688,1,0,0,,0.01,PF,, -,,0,689,1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,0,1,0,OUT1_01,65280,65280,Null,,, -,,59,59,0,RB01,65280,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,1822,6,λ,PosOff,0,0,0,,, -,,1822,7,·,PosOn,0,0,0,,, -,,1823,4,ң,LocRem,0,0,0,,, -,,1823,5,Բ߱Ͷ,OSBATSA,0,0,0,,, -,,1823,6,ſطλ,BSOff,0,0,0,,, -,,1823,7,ͶͶ,BZTEnb,0,0,0,,, -,,1824,4,IN404,DI10,0,0,0,,, -,,1824,5,IN403,DI9,0,0,0,,, -,,1824,6,IN402,DI8,0,0,0,,, -,,1824,7,͵բͶ,LTBBATS,0,0,0,,, -,,1849,0,SV08T,SV08T,0,0,0,,, -,,1849,1,SV07T,SV07T,0,0,0,,, -,,1849,2,SV06T,SV06T,0,0,0,,, -,,1849,3,SV05T,SV05T,0,0,0,,, -,,1849,4,SV04T,SV04T,0,0,0,,, -,,1849,5,SV03T,SV03T,0,0,0,,, -,,1849,6,ƹ,CF,0,0,0,,, -,,1849,7,PT,VTS,0,0,0,,, -,,1856,0,LT08,LT08,0,0,0,,, -,,1856,1,LT07,LT07,0,0,0,,, -,,1856,2,LT06,LT06,0,0,0,,, -,,1856,3,LT05,LT05,0,0,0,,, -,,1856,4,LT04,LT04,0,0,0,,, -,,1856,5,,OLOAD,0,0,0,,, -,,1856,6,,OC1,0,0,0,,, -,,1856,7,ٶ,OC2,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL751A馈线保护.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL751A馈线保护.CSV deleted file mode 100644 index 34edb3d..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL751A馈线保护.CSV +++ /dev/null @@ -1,92 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],4,5,1,SEL751A,SEL751A,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,685,5,16,1000,1,0,100,500,0 -,,3,690,8,32,1000,0,2,100,1000,0 -,,3,8448,16,1,1000,0,0,100,1000,1 -,,3,650,10,16,1000,0,0,100,500,0 -,,3,667,15,16,1000,0,0,100,500,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,650,1,0,0,A,1,IA,, -,,0,652,1,0,0,B,1,IB,, -,,0,654,1,0,0,C,1,IC,, -,,0,656,1,0,0,ɼ,1,I0,, -,,0,658,1,0,0,,1,IG,, -,,0,667,1,0,0,ABߵѹ,1,UAB,, -,,0,669,1,0,0,BCߵѹ,1,UBC,, -,,0,671,1,0,0,CAߵѹ,1,UCA,, -,,0,674,1,0,0,Aѹ,1,VA,, -,,0,676,1,0,0,Bѹ,1,VB,, -,,0,678,1,0,0,Cѹ,1,VC,, -,,0,680,1,0,0,ѹ,1,V0,, -,,0,685,1,0,0,й,1,P,, -,,0,686,1,0,0,޹,1,Q,, -,,0,687,1,0,0,ڹ,1,S,, -,,0,688,1,0,0,,0.01,PF,, -,,0,689,1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,1,1,0,ң1,0,0,Null,,, -,,2,2,0,ң2,0,0,Null,,, -,,3,3,0,ң3,0,0,Null,,, -,,4,4,0,ң4,0,0,Null,,, -,,5,5,0,ң5,0,0,Null,,, -,,6,6,0,ң6,0,0,Null,,, -,,7,7,0,ң7,0,0,Null,,, -,,8,8,0,ң8,0,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,690,1,0,MWH3PO,1,n,,, -,,0,692,1,0,MVRH3PI,1,n,,, -,,0,694,1,0,MVRH3PO,1,n,,, -,,0,696,1,0,MVAH3P,1,n,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,8448,4,IN401,DI1,0,0,0,,, -,,8448,5,IN402,DI2,0,0,0,,, -,,8448,6,IN403,DI3,0,0,0,,, -,,8449,6,IN404,DI4,0,0,0,,, -,,8464,0,IN301,DI5,0,0,0,,, -,,8464,1,IN302,DI6,0,0,0,,, -,,8464,2,IN303,DI7,0,0,0,,, -,,8464,3,IN304,DI8,0,0,0,,, -,,8465,0,IN305,DI9,0,0,0,,, -,,8465,1,IN306,DI10,0,0,0,,, -,,8465,2,IN307,DI11,0,0,0,,, -,,8465,3,IN308,DI12,0,0,0,,, -,,-1,1,phase a1 50 trip,OCA1,0,0,0,,, -,,-1,2,phase b1 50 trip,OCB1,0,0,0,,, -,,-1,3,phase c1 50 trip,OCC1,0,0,0,,, -,,-1,4,phase 50 trip,OC1,0,0,0,,, -,,-1,5,GND/NEUT 50 trip,EOC2,0,0,0,,, -,,-1,6,NEG SEQ 50 trip,UnbOC,0,0,0,,, -,,-1,7,phase a1 51 trip,OCA2,0,0,0,,, -,,-1,8,phase b1 51 trip,OCB2,0,0,0,,, -,,-1,9,phase c1 51 trip,OCC2,0,0,0,,, -,,-1,10,phase 51 trip,OC2,0,0,0,,, -,,-1,11,GND/NEUT 51 trip,EOC2,0,0,0,,, -,,-1,12,NEG SEQ 51 trip,UnbOC,0,0,0,,, -,,-1,13,59 trip,OV,0,0,0,,, -,,-1,14,55 trip,OPF,0,0,0,,, -,,-1,15,Unserfreq 81 trip,UF,0,0,0,,, -,,-1,16,overfreq 81 trip,OF,0,0,0,,, -,,-1,17,rtd trip,RTD,0,0,0,,, -,,-1,18,remote trip,RemoteT,0,0,0,,, -,,-1,19,27 trip,UV,0,0,0,,, -,,-1,20,rtd fail trip,RTDT,0,0,0,,, -,,-1,21,breaker failure trip,CBFail,0,0,0,,, -,,-1,22,commidleloss trip,COMMIDT,0,0,0,,, -,,-1,23,trigger,TRIG,0,0,0,,, -,,-1,24,er trigger,ERTRIG,0,0,0,,, -,,-1,25,trip,trip,0,0,0,,, -,,0,100,1,BY1,0,0,0,,, -,,0,101,2,BY2,0,0,0,,, -,,0,102,3,BY3,0,0,0,,, -,,0,103,4,BY4,0,0,0,,, -,,0,104,5,BY5,0,0,0,,, -,,0,105,6,BY6,0,0,0,,, -,,0,106,7,BY7,0,0,0,,, -,,0,107,8,BY8,0,0,0,,, -,,0,108,9,BY9,0,0,0,,, -,,0,109,10,BY10,0,0,0,,, -,,0,110,11,BY11,0,0,0,,, -,,0,111,12,BY12,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEL/SEL787-MODBUSTCP.CSV b/PSCADA/电子行业模板/common/device_model/SEL/SEL787-MODBUSTCP.CSV deleted file mode 100644 index 9d42a19..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEL/SEL787-MODBUSTCP.CSV +++ /dev/null @@ -1,45 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],2,5,201,1CD787,192.168.3.12%,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1163,3,1,1000,0,0,100,100,1 -,,3,1193,1,1,1000,0,0,100,100,1 -,,3,684,21,16,1000,0,0,100,100,0 -,,3,1200,1,1,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,684,1,0,0,IAW1,1,IAW1,, -,,0,686,1,0,0,IBW1,1,IBW1,, -,,0,688,1,0,0,ICW1,1,ICW1,, -,,0,692,1,0,0,IAW2,1,IAW2,, -,,0,694,1,0,0,IBW2,1,IBW2,, -,,0,696,1,0,0,ICW2,1,ICW2,, -,,0,704,1,0,0,IN,1,I0,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,59,59,0,RB01,65280,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,1163,6,ѹͷ,PR,0,0,0,,, -,,1163,7,˹,LG,0,0,0,,, -,,1164,4,λ澯,OOA,0,0,0,,, -,,1164,5,λ澯,UOA,0,0,0,,, -,,1164,6,³߱,OOA,0,0,0,,, -,,1164,7,¸߱,HOA,0,0,0,,, -,,1165,4,IN404,DI10,0,0,0,,, -,,1165,5,³߱,OWA,0,0,0,,, -,,1165,6,¸߱,HWA,0,0,0,,, -,,1165,7,˹澯,LLG,0,0,0,,, -,,1193,0,SV08T,SV08T,0,0,0,,, -,,1193,1,SV07T,SV07T,0,0,0,,, -,,1193,2,SV06T,SV06T,0,0,0,,, -,,1193,3,SV05T,SV05T,0,0,0,,, -,,1193,4,SV04T,SV04T,0,0,0,,, -,,1193,5,SV03T,SV03T,0,0,0,,, -,,1193,6,SV02T,SV02T,0,0,0,,, -,,1193,7,Խ,DC,0,0,0,,, -,,1200,0,LT08,LT08,0,0,0,,, -,,1200,1,LT07,LT07,0,0,0,,, -,,1200,2,LT06,LT06,0,0,0,,, -,,1200,3,LT05,LT05,0,0,0,,, -,,1200,4,,OC1,0,0,0,,, -,,1200,5,ٶ,OC2,0,0,0,,, -,,1200,6,ٶ,Tdiff,0,0,0,,, -,,1200,7,,Diff,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/B21.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/B21.CSV deleted file mode 100644 index b5043ed..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/B21.CSV +++ /dev/null @@ -1,59 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,B21,,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,4112,74,1,1000,0,0,1,300000,0 -,,3,262,10,16,1000,1,0,1,100,0 -,,6,4097,16,1,1000,1,1,1,100,0 -,,6,4353,16,1,1000,1,1,1,100,0 -,,6,4865,16,1,1000,1,1,1,100,0 -,,6,5121,16,1,1000,1,1,1,100,0 -[Title],,ֵ,ֵ,Ŵϵ,ֵ,ֵ,,װϵ,ֵļ,, -[Point],DZ,4097,0,1,0,0,ߵѹǷѹֵ,1,,, -,,4097,1,1,0,1,ߵѹǷѹʱ,10,,, -,,4097,2,1,0,2,ߵѹǷѹͶ,1,Ͷ˳.ini,, -,,4353,3,1,0,0,ߵѹѹֵ,1,,, -,,4353,4,1,0,1,ߵѹѹʱ,10,,, -,,4353,5,1,0,2,ߵѹѹͶ,1,Ͷ˳.ini,, -,,4865,6,1,0,0,Ƶֵ,0.1,,, -,,4865,7,1,0,1,Ƶʱ,10,,, -,,4865,8,1,0,2,ƵͶ,1,Ͷ˳.ini,, -,,5121,9,1,0,0,ǷƵֵ,0.1,,, -,,5121,10,1,0,1,ǷƵʱ,10,,, -,,5121,11,1,0,2,ǷƵͶ,1,Ͷ˳.ini,, -,,0,12,1,0,0,2,1,,, -,,0,13,1,0,1,1,1,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,262,1,0,0,ߵѹUab,1,UAB,, -,,0,263,1,0,0,ߵѹUbc,1,UBC,, -,,0,264,1,0,0,ߵѹUca,1,UCA,, -,,0,265,1,0,0,ѹVa,1,VA,, -,,0,266,1,0,0,ѹVb,1,VB,, -,,0,267,1,0,0,ѹVc,1,VC,, -,,0,268,1,0,0,ѹVo,1,V0,, -,,0,269,1,0,0,ѹV1,1,V1,, -,,0,270,1,0,0,ƵF,1,F,, -,,0,271,1,0,0,BY,1,BY,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,7937,7936,0,·,0,0,Null,,, -,,7940,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#1,,, -[Point],YX,0,0,,BY,0,0,0,,, -,,0,4130,Ƿѹ,UV,0,0,0,,, -,,0,4133,ѹ,OV,0,0,0,,, -,,0,4137,Ƶ,OF,0,0,0,,, -,,0,4138,ǷƵ,UF,0,0,0,,, -,,0,4152,Ϻsepamδλ,NRT,0,0,0,,, -,,0,4154,բ·,TCS,0,0,0,,, -,,0,4156,ƹ,CF,0,0,0,,, -,,0,4176,·λ,PosOff,0,0,0,,, -,,0,4177,·λ,PosOn,0,0,0,,, -,,0,4178,I13,DI3,0,0,0,,, -,,0,4179,I14,DI4,0,0,0,,, -,,0,4180,I21,DI5,0,0,0,,, -,,0,4181,I22,DI6,0,0,0,,, -,,0,4182,I23,DI7,0,0,0,,, -,,0,4183,I24,DI8,0,0,0,,, -,,0,4184,I25,DI9,0,0,0,,, -,,0,4185,I26,DI10,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/B80.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/B80.CSV deleted file mode 100644 index 8549fee..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/B80.CSV +++ /dev/null @@ -1,114 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],4,15,1,B80,B80,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,51456,224,1,1000,0,0,3,300000,1 -,,2,49408,80,1,1000,0,0,3,300000,1 -,,3,512,40,32,1000,0,0,3,100,0 -,,3,552,10,32,1000,1,0,3,100,0 -,,3,584,8,32,1000,0,2,3,600000,0 -,,6,260,15,1,1000,1,1,3,100,0 -,,6,20481,27,1,1000,1,1,3,100,0 -,,6,258,15,1,1000,1,1,3,100,0 -,,6,259,15,1,1000,1,1,3,100,0 -,,6,12801,8,1,1000,1,1,3,100,0 -,,6,16385,6,1,1000,1,1,3,100,0 -,,6,257,15,1,1000,1,1,3,100,0 -[Title] , , ֵ, ֵ, Ŵϵ, ֵ, ֵ, , װϵ, ֵļ,, -[Point],DZ,257,0,1,0,2,ѹͶ,1,Ͷ˳.ini,, -,,257,1,1,0,6,ѹֵ,0.1,Null,, -,,257,2,1,0,7,ѹʱ,10,Null,, -,,258,3,1,0,2,ѹͶ,1,Ͷ˳.ini,, -,,258,4,1,0,6,ѹֵ,0.1,Null,, -,,258,5,1,0,7,ѹʱ,10,Null,, -,,259,6,1,0,2,ٶͶ,1,Ͷ˳.ini,, -,,259,7,1,0,6,ٶ϶ֵ,0.1,Null,, -,,259,8,1,0,7,ٶʱ,10,Null,, -,,260,9,1,0,2,Ͷ,1,Ͷ˳.ini,, -,,260,10,1,0,6,ɶֵ,0.1,Null,, -,,260,11,1,0,7,ʱֵ,10,Null,, -,,12801,15,1,0,2,͵ѹͶ,1,Ͷ˳.ini,, -,,12801,16,1,0,6,͵ѹֵ,1,Null,, -,,12801,17,1,0,7,͵ѹʱֵ,10,Null,, -,,16385,12,1,0,2,ѹͶ,1,Ͷ˳.ini,, -,,16385,13,1,0,4,ѹֵ,1,Null,, -,,16385,14,1,0,5,ѹʱֵ,10,Null,, -,,20481,18,1,0,2,ӵعͶ,1,Ͷ˳.ini,, -,,20481,19,1,0,9,ӵع϶ֵ,0.1,Null,, -,,20481,20,1,0,10,ӵعʱ,10,Null,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,512,1,0,0,A,0.1,IA,, -,,0,514,1,0,0,B,0.1,IB,, -,,0,516,1,0,0,C,0.1,IC,, -,,0,534,0.01,0,0,ABߵѹ,0.1,UAB,, -,,0,536,0.01,0,0,BCߵѹ,0.1,UBC,, -,,0,538,0.01,0,0,ACߵѹ,0.1,UCA,, -,,0,540,0.01,0,0,AѹUa,0.001,VA,, -,,0,542,0.01,0,0,BѹUb,0.001,VB,, -,,0,544,0.01,0,0,CѹUc,0.001,VC,, -,,0,546,0.01,0,0,ѹUo,0.001,V0,, -,,0,552,1,0,0,Ƶ,0.01,F,, -,,0,554,0.01,0,0,й,0.1,P,, -,,0,556,0.01,0,0,޹,0.1,Q,, -,,0,558,0.01,0,0,ڹ,0.1,S,, -,,0,560,1,0,0,,0.01,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,51329,51388,0,·,0,0,Null,,, -,,51330,51330,0,,0,0,Null,,, -,,51376,51377,0,뿪غϷբ,0,0,Null,,, -,,51378,51379,0,1,0,0,Null,,, -,,51380,51381,0,2,0,0,Null,,, -,,51382,51383,0,3,0,0,Null,,, -,,51384,51385,0,4,0,0,Null,,, -,,51386,51387,0,5,0,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,584,1,0,йEa+,0.1,EPd,,, -,,0,586,1,0,йEa-,0.1,EPr,,, -,,0,588,1,0,޹Er+,0.1,EQd,,, -,,0,590,1,0,޹Er-,0.1,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,49408,·λ,PosOn,0,0,0,,, -,,0,49409,·λ,PosOff,0,0,0,,, -,,0,49410,Ѵ,CGPos,0,0,0,,, -,,0,49411,뿪غλ,COIS,0,0,0,,, -,,0,49412,뿪طλ,DP,0,0,0,,, -,,0,49413,ӵؿ1GDλ,ESPos1,0,0,0,,, -,,0,49414,ӵؿ2GDλ,ESPos2,0,0,0,,, -,,0,49415,ر,DI8,0,0,0,,, -,,0,49416,SF6,SF6Blk,0,0,0,,, -,,0,49417,SF6屨,SF6Arm,0,0,0,,, -,,0,49418,ָܵʾ,DI11,0,0,0,,, -,,0,49419,Ȼ·,DI12,0,0,0,,, -,,0,49420,·Ʒʽ,DI13,0,0,0,,, -,,0,49421,ƻ·,CF,0,0,0,,, -,,0,49424,110KVPT,DI15,0,0,0,,, -,,0,49425,110KVPT,DI16,0,0,0,,, -,,0,49426,COMPASSֶ,DI17,0,0,0,,, -,,0,49427,COMPASS,DI18,0,0,0,,, -,,0,49428,COMPASS,DI19,0,0,0,,, -,,0,49429,I206,DI20,0,0,0,,, -,,0,49430,뿪صʧ,DI21,0,0,0,,, -,,0,49431,ź,DI22,0,0,0,,, -,,0,49432,뿪,DI23,0,0,0,,, -,,0,49433,ӵؿ1GDλ,ESPosOff1,0,0,0,,, -,,0,49434,ӵؿ2GDλ,ESPosOff2,0,0,0,,, -,,0,49435,I212,DI26,0,0,0,,, -,,0,49436,I213,DI27,0,0,0,,, -,,0,49437,I214,DI28,0,0,0,,, -,,0,51457,ƹ,CF,0,0,0,,, -,,0,51458,բ·,TCS,0,0,0,,, -,,0,51460,Ϻsepamδλ,NRT,0,0,0,,, -,,0,51520,̵1,OC1,-1,0,0,,, -,,0,51521,̵2,OC2,-1,0,0,,, -,,0,51522,̵3,OC3,-1,0,0,,, -,,0,51523,̵4,OC4,-1,0,0,,, -,,0,51528,̵1,EOC1,-1,0,0,,, -,,0,51536,Ƿѹ̵1,UV1,-1,0,0,,, -,,0,51537,Ƿѹ̵2,UV2,-1,0,0,,, -,,0,51544,ѹ̵1,OV1,-1,0,0,,, -,,0,51545,ѹ̵2,OV2,-1,0,0,,, -,,0,51664,·CT,CTS1,0,0,0,,, -,,0,51665,·PT,VTS1,0,0,0,,, -,,0,51667,·CT,CTS2,0,0,0,,, -,,0,51668,·PT,VTS2,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/D31.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/D31.CSV deleted file mode 100644 index 6c0f983..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/D31.CSV +++ /dev/null @@ -1,34 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],54,15,1,D31,1#,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,1,51488,16,1,1000,0,0,4,300000,0 -,,1,49408,80,1,1000,0,0,4,300000,0 -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,49408,QFѹ·,DI1,0,0,0,,, -,,0,49409,QFѹ·,DI2,0,0,0,,, -,,0,49424,QFѹ·,DI3,0,0,0,,, -,,0,49425,I12,DI4,0,0,0,,, -,,0,49426,I13,DI5,0,0,0,,, -,,0,49427,I14,DI6,0,0,0,,, -,,0,49429,I16,DI7,0,0,0,,, -,,0,49430,I17,DI8,0,0,0,,, -,,0,49431,I18,DI9,0,0,0,,, -,,0,49440,I21,DI10,0,0,0,,, -,,0,49441,I22,DI11,0,0,0,,, -,,0,49442,I23,DI12,0,0,0,,, -,,0,49443,I24,DI13,0,0,0,,, -,,0,49444,I25,DI14,0,0,0,,, -,,0,49445,I26,DI15,0,0,0,,, -,,0,49446,I27,DI16,0,0,0,,, -,,0,49447,I28,DI17,0,0,0,,, -,,0,49456,I31,DI18,0,0,0,,, -,,0,49457,I32,DI19,0,0,0,,, -,,0,49458,I33,DI20,0,0,0,,, -,,0,49459,I34,DI21,0,0,0,,, -,,0,49460,I35,DI22,0,0,0,,, -,,0,49461,I36,DI23,0,0,0,,, -,,0,49462,I37,DI24,0,0,0,,, -,,0,49463,I38,DI25,0,0,0,,, -,,0,51491,,Diff,0,0,0,,, -,,0,65534,¼,LB,0,0,0,,, -,,0,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/G87.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/G87.CSV deleted file mode 100644 index 8cba63b..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/G87.CSV +++ /dev/null @@ -1,156 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],8,7,1,G87,1#,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,49408,80,1,1000,0,0,3,300000,0 -,,3,512,50,32,1000,1,0,3,100,0 -,,2,51456,224,1,1000,0,0,3,300000,0 -,,3,600,50,32,1000,1,0,3,100,0 -,,6,257,15,1,1000,1,1,3,100,0 -,,6,258,15,1,1000,1,1,3,100,0 -,,6,20481,27,1,1000,1,1,3,100,0 -,,6,12801,8,1,1000,1,1,3,100,0 -,,6,10241,7,1,1000,1,1,3,100,0 -,,6,28673,9,1,1000,1,1,3,100,0 -,,6,17665,8,1,1000,1,1,3,100,0 -,,6,22273,8,1,1000,1,1,3,100,0 -,,6,22017,9,1,1000,1,1,3,100,0 -,,6,21249,7,1,1000,1,1,3,100,0 -,,6,25089,6,1,1000,1,1,3,100,0 -,,3,584,8,32,1000,0,2,3,600000,0 -[Title],,ֵ,ֵ,Ŵϵ,ֵ,ֵ,,װϵ,ֵļ,, -[Point],DZ,257,0,1,0,2,1Ͷ,1,Ͷ˳.ini,, -,,257,1,1,0,6,1Aֵ,0.1,,, -,,257,2,1,0,7,1Aʱ,10,,, -,,258,3,1,0,2,2Ͷ,1,Ͷ˳.ini,, -,,258,4,1,0,6,2Aֵ,0.1,,, -,,258,5,1,0,7,2Aʱ,10,,, -,,10241,6,1,0,2,ѹ1Ͷ,1,Ͷ˳.ini,, -,,10241,7,1,0,5,ѹ1ֵ,1,,, -,,10241,8,1,0,6,ѹ1ʱֵ,10,,, -,,12801,9,1,0,2,͵ѹ1Ͷ,1,Ͷ˳.ini,, -,,12801,10,1,0,6,͵ѹ1ֵ,1,,, -,,12801,11,1,0,7,͵ѹ1ʱֵ,10,,, -,,17665,12,1,0,2,Ͷ,1,Ͷ˳.ini,, -,,17665,13,1,0,5,ֵ,1,,, -,,17665,14,1,0,6,ʱ,10,,, -,,20481,15,1,0,2,ӵع1Ͷ,1,Ͷ˳.ini,, -,,20481,16,1,0,9,ӵع1Aֵ,0.1,,, -,,20481,17,1,0,10,ӵع1Aʱ,10,,, -,,21249,18,1,0,2,湦ʱͶ,1,Ͷ˳.ini,, -,,21249,19,1,0,5,湦ʶֵ,100,,, -,,21249,20,1,0,6,湦ʱ,10,,, -,,22017,21,1,0,2,ǷƵͶ,1,Ͷ˳.ini,, -,,22017,22,1,0,4,ǷƵֵ,0.1,,, -,,22017,23,1,0,5,ǷƵʱ,10,,, -,,22273,24,1,0,2,ƵͶ,1,Ͷ˳.ini,, -,,22273,25,1,0,4,Ƶֵ,0.1,,, -,,22273,26,1,0,5,Ƶʱ,10,,, -,,25089,27,1,0,2,Ͷ,1,Ͷ˳.ini,, -,,25089,28,1,0,4,ֵ,1,,, -,,28673,29,1,0,2,ʧͶ,1,Ͷ˳.ini,, -,,28673,30,1,0,4,Xa迹,1,,, -,,28673,31,1,0,5,Xb迹,1,,, -,,28673,32,1,0,6,Xc迹,1,,, -,,28673,33,1,0,7,ѿԲ1ʱ,10,,, -,,28673,34,1,0,8,ѿԲ2ʱ,10,,, -,,0,35,1,0,1,1,1,,, -,,0,36,1,0,2,2,1,,, -,,0,37,1,0,3,3,1,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,512,1,0,0,A,0.1,IA1,, -,,0,514,1,0,0,B,0.1,IB1,, -,,0,516,1,0,0,C,0.1,IC1,, -,,0,520,1,0,0,,0.1,I01,, -,,0,534,1,0,0,ABߵѹ,0.001,UAB,, -,,0,536,1,0,0,BCߵѹ,0.001,UBC,, -,,0,538,1,0,0,ACߵѹ,0.001,UCA,, -,,0,552,1,0,0,Ƶ,0.01,F,, -,,0,554,1,0,0,й,0.1,P,, -,,0,556,1,0,0,޹,0.1,Q,, -,,0,558,1,0,0,ڹ,0.1,S,, -,,0,560,1,0,0,,0.01,PF,, -,,0,606,1,0,0,A_2,0.1,IA2,, -,,0,608,1,0,0,B_2,0.1,IB2,, -,,0,610,1,0,0,C_2,0.1,IC2,, -,,0,614,1,0,0,_2,0.1,I02,, -,,0,638,1,0,0,A,0.1,IAD,, -,,0,640,1,0,0,B,0.1,IBD,, -,,0,642,1,0,0,C,0.1,ICD,, -,,0,644,1,0,0,Aƶ,0.1,IAR,, -,,0,646,1,0,0,Bƶ,0.1,IBR,, -,,0,648,1,0,0,Cƶ,0.1,ICR,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,51329,51328,0,·,0,0,Null,,, -,,51330,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ,д,,, -[Point],YM,0,584,1,0,йEa+,0.1,EPd,,, -,,0,586,1,0,йEa-,0.1,EPr,,, -,,0,588,1,0,޹Er+,0.1,EQd,,, -,,0,590,1,0,޹Er-,0.1,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵIDң,,Զ#1,,, -[Point],YX,0,49408,I101,DI1,0,0,0,,, -,,0,49409,I102,DI2,0,0,0,,, -,,0,49410,I103,DI3,0,0,0,,, -,,0,49411,I104,DI4,0,0,0,,, -,,0,49412,I105,DI5,0,0,0,,, -,,0,49413,I106,DI6,0,0,0,,, -,,0,49414,I107,DI7,0,0,0,,, -,,0,49415,I108,DI8,0,0,0,,, -,,0,49416,I109,DI9,0,0,0,,, -,,0,49417,I110,DI10,0,0,0,,, -,,0,49418,I111,DI11,0,0,0,,, -,,0,49419,I112,DI12,0,0,0,,, -,,0,49420,I113,DI13,0,0,0,,, -,,0,49421,I114,DI14,0,0,0,,, -,,0,49424,I201,DI15,0,0,0,,, -,,0,49425,I202,DI16,0,0,0,,, -,,0,49426,I203,DI17,0,0,0,,, -,,0,49427,I204,DI18,0,0,0,,, -,,0,49428,I205,DI19,0,0,0,,, -,,0,49429,I206,DI20,0,0,0,,, -,,0,49430,I207,DI21,0,0,0,,, -,,0,49431,I208,DI22,0,0,0,,, -,,0,49432,I209,DI23,0,0,0,,, -,,0,49433,I210,DI24,0,0,0,,, -,,0,49434,I211,DI25,0,0,0,,, -,,0,49435,I212,DI26,0,0,0,,, -,,0,49436,I213,DI27,0,0,0,,, -,,0,49437,I214,DI28,0,0,0,,, -,,0,49440,I301,DI29,0,0,0,,, -,,0,49441,I302,DI30,0,0,0,,, -,,0,49442,I303,DI31,0,0,0,,, -,,0,49443,I304,DI32,0,0,0,,, -,,0,49444,I305,DI33,0,0,0,,, -,,0,49445,I306,DI34,0,0,0,,, -,,0,49446,I307,DI35,0,0,0,,, -,,0,49447,I308,DI36,0,0,0,,, -,,0,49448,I309,DI37,0,0,0,,, -,,0,49449,I310,DI38,0,0,0,,, -,,0,49450,I311,DI39,0,0,0,,, -,,0,49451,I312,DI40,0,0,0,,, -,,0,49452,I313,DI41,0,0,0,,, -,,0,49453,I314,DI42,0,0,0,,, -,,0,51457,ƹ,CF,0,0,0,,, -,,0,51458,բ·,TCS,0,0,0,,, -,,0,51460,Ϻsepamδλ,NRT,0,0,0,,, -,,0,51520,̵1,OC1,0,0,0,,, -,,0,51521,̵2,OC2,0,0,0,,, -,,0,51522,̵3,OC3,0,0,0,,, -,,0,51523,̵4,OC4,0,0,0,,, -,,0,51528,̵1,EOC1,0,0,0,,, -,,0,51536, Ƿѹ̵1,UV1,0,0,0,,, -,,0,51537, Ƿѹ̵2,UV2,0,0,0,,, -,,0,51544, ѹ̵1,OV1,0,0,0,,, -,,0,51545, ѹ̵2,OV2,0,0,0,,, -,,0,51556,1,UnbOC,0,0,0,,, -,,0,51560,湦1,REVPower1,0,0,0,,, -,,0,51566,ʧ,FL,0,0,0,,, -,,0,51582,,MDiff,0,0,0,,, -,,0,51584,Ƶ,OF,0,0,0,,, -,,0,51586,ǷƵ,UF,0,0,0,,, -,,0,51664,·CT,CTS1,0,0,0,,, -,,0,51665,·PT,VTS1,0,0,0,,, -,,0,51667,·CT,CTS2,0,0,0,,, -,,0,51668,·PT,VTS2,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/M20.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/M20.CSV deleted file mode 100644 index 47ee300..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/M20.CSV +++ /dev/null @@ -1,65 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],2,7,1,M20,1#С綯,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,4112,74,1,1000,0,0,1,300000,0 -,,3,262,10,16,1000,1,0,1,100,0 -,,6,257,16,1,1000,1,1,1,100,0 -,,6,258,16,1,1000,1,1,1,100,0 -,,6,513,16,1,1000,1,1,1,100,0 -,,6,769,4,1,1000,1,1,1,100,0 -,,6,1537,5,1,1000,1,1,1,100,0 -[Title],,ֵ,ֵ,Ŵϵ,ֵ,ֵ,,װϵ,ֵļ,, -[Point],DZ,0,18,1,0,1,2,1,,, -,,0,17,1,0,2,1,1,,, -,,257,1,1,0,2,1Aֵ,0.1,,, -,,257,2,1,0,3,1Aʱ,10,,, -,,257,0,1,0,8,1Ͷ,1,Ͷ˳.ini,, -,,258,4,1,0,2,2Aֵ,0.1,,, -,,258,5,1,0,3,2Aʱ,10,,, -,,258,3,1,0,8,2Ͷ,1,Ͷ˳.ini,, -,,513,7,1,0,2,ӵع1Aֵ,0.1,,, -,,513,8,1,0,3,ӵع1Aʱ,10,,, -,,513,6,1,0,8,ӵع1Ͷ,1,Ͷ˳.ini,, -,,769,9,1,0,0,1Ͷ,1,Ͷ˳.ini,, -,,769,10,1,0,2,1Aֵ,1,,, -,,769,11,1,0,3,1Aʱ,10,,, -,,1537,12,1,0,0,תͶ,1,Ͷ˳.ini,, -,,1537,13,1,0,1,ʱתٷֱ,1,,, -,,1537,14,1,0,2,𶯳ʱʱ,10,,, -,,1537,15,1,0,3,תӶתʱ,1,,, -,,1537,16,1,0,4,𶯶תʱ,1,,, -[Title],,ܺ,Ϣ,ϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,262,1,0,0,A,0.1,IA,, -,,0,263,1,0,0,B,0.1,IB,, -,,0,264,1,0,0,C,0.1,IC,, -,,0,265,1,0,0,,0.1,I0,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,7937,7936,0,·,0,0,Null,,, -,,7940,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŹңԶ#1,,,,, -[Point],YX,0,4112,̵1A,OC1A,0,0,0,,, -,,0,4113,̵2A,OC2A,0,0,0,,, -,,0,4114,̵1B,OC1B,0,0,0,,, -,,0,4115,̵2B,OC2B,0,0,0,,, -,,0,4116,̵1A,EOC1A,0,0,0,,, -,,0,4117,̵2A,EOC2A,0,0,0,,, -,,0,4118,̵1B,EOC1B,0,0,0,,, -,,0,4119,̵2B,EOC2B,0,0,0,,, -,,0,4124,תӶת,ExLocked,0,0,0,,, -,,0,4125,ת,SLocked,0,0,0,,, -,,0,4126,ʱ,ExSt,0,0,0,,, -,,0,4152,Ϻsepamδλ,NRT,0,0,0,,, -,,0,4154,բ·,TCS,0,0,0,,, -,,0,4156,ƹ,CF,0,0,0,,, -,,0,4176,I11,DI1,0,0,0,,, -,,0,4177,I12,DI2,0,0,0,,, -,,0,4178,I13,DI3,0,0,0,,, -,,0,4179,I14,DI4,0,0,0,,, -,,0,4180,I21,DI5,0,0,0,,, -,,0,4181,I22,DI6,0,0,0,,, -,,0,4182,I23,DI7,0,0,0,,, -,,0,4183,I24,DI8,0,0,0,,, -,,0,4184,I25,DI9,0,0,0,,, -,,0,4185,I26,DI10,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/M40.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/M40.CSV deleted file mode 100644 index ee25318..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/M40.CSV +++ /dev/null @@ -1,102 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,M40,1#е綯,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,4112,170,1,1000,0,0,2,300000,0 -,,3,275,27,16,1000,1,0,2,100,0 -,,6,257,24,1,1000,1,1,2,100,0 -,,6,258,24,1,1000,1,1,2,100,0 -,,6,259,24,1,1000,1,1,2,100,0 -,,6,513,26,1,1000,1,1,2,100,0 -,,6,4097,12,1,1000,1,1,2,100,0 -,,6,4353,12,1,1000,1,1,2,100,0 -,,6,1537,13,1,1000,1,1,2,100,0 -,,3,302,8,32,1000,0,2,2,600000,0 -[Title],,ֵ,ֵ,Ŵϵ,ֵ,ֵ,,װϵ,ֵļ,, -[Point],DZ,257,0,1,0,2,1Ͷ,1,Ͷ˳.ini,, -,,257,1,1,0,7,1Aֵ,0.1,,, -,,257,2,1,0,8,1Aʱ,10,,, -,,258,3,1,0,2,2Ͷ,1,Ͷ˳.ini,, -,,258,4,1,0,7,2Aֵ,0.1,,, -,,258,5,1,0,8,2Aʱ,10,,, -,,259,6,1,0,2,3Ͷ,1,Ͷ˳.ini,, -,,259,7,1,0,7,3Aֵ,0.1,,, -,,259,8,1,0,8,3Aʱ,10,,, -,,513,9,1,0,2,ӵع1Ͷ,1,Ͷ˳.ini,, -,,513,10,1,0,7,ӵع1Aֵ,0.1,,, -,,513,11,1,0,8,ӵع1Aʱ,10,,, -,,4097,12,1,0,2,͵ѹ1Ͷ,1,Ͷ˳.ini,, -,,4097,13,1,0,6,͵ѹ1ֵ,1,,, -,,4097,14,1,0,7,͵ѹ1ʱֵ,10,,, -,,4353,15,1,0,2,ѹ1Ͷ,1,Ͷ˳.ini,, -,,4353,16,1,0,6,ѹ1ֵ,1,,, -,,4353,17,1,0,7,ѹ1ʱֵ,10,,, -,,1537,18,1,0,2,תͶ,1,Ͷ˳.ini,, -,,1537,19,1,0,5,ʱתٷֱ,1,,, -,,1537,20,1,0,6,𶯳ʱʱ,10,,, -,,1537,21,1,0,7,תӶתʱ,10,,, -,,1537,22,1,0,8,𶯶תʱ,10,,, -,,0,23,1,0,1,1,1,,, -,,0,24,1,0,2,2,1,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,275,1,0,0,A,0.1,IA,, -,,0,276,1,0,0,B,0.1,IB,, -,,0,277,1,0,0,C,0.1,IC,, -,,0,279,1,0,0,,0.1,I0,, -,,0,286,1,0,0,ABߵѹ,0.001,UAB,, -,,0,287,1,0,0,BCߵѹ,0.001,UBC,, -,,0,288,1,0,0,ACߵѹ,0.001,UCA,, -,,0,289,1,0,0,Aѹ,0.001,VA,, -,,0,290,1,0,0,Bѹ,0.001,VB,, -,,0,291,1,0,0,Cѹ,0.001,VC,, -,,0,292,1,0,0,ѹ,0.001,V0,, -,,0,295,1,0,0,Ƶ,0.01,F,, -,,0,296,1,0,0,й,1,P,, -,,0,297,1,0,0,޹,1,Q,, -,,0,298,1,0,0,ڹ,1,S,, -,,0,301,1,0,0,,0.01,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,3841,3840,0,·,0,0,Null,,, -,,3844,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#1,,, -[Point],YX,0,4112,̵1,OC1,0,0,0,,, -,,0,4113,̵2,OC2,0,0,0,,, -,,0,4114,̵3,OC3,0,0,0,,, -,,0,4115,̵4,OC4,0,0,0,,, -,,0,4116,̵1,EOC1,0,0,0,,, -,,0,4122,Ƿ̵1,UC,0,0,0,,, -,,0,4123,̵1,UnbOC1,0,0,0,,, -,,0,4124,̵2,UnbOC2,0,0,0,,, -,,0,4130,Ƿѹ̵1,UV1,0,0,0,,, -,,0,4131,Ƿѹ̵2,UV2,0,0,0,,, -,,0,4133,ѹ̵1,OV1,0,0,0,,, -,,0,4134,ѹ̵2,OV2,0,0,0,,, -,,0,4135,Եѹ̵1,UnbOV1,0,0,0,,, -,,0,4136,Եѹ̵2,UnbOV2,0,0,0,,, -,,0,4153,CT,CTS,0,0,0,,, -,,0,4154,PT,VTS,0,0,0,,, -,,0,4155,PT,EVTS,0,0,0,,, -,,0,4215,Ϻsepamδλ,NRT,0,0,0,,, -,,0,4217,բ·,TCS,0,0,0,,, -,,0,4219,ƹ,CF,0,0,0,,, -,,0,4272,I11,I11,0,0,0,,, -,,0,4273,I12,I12,0,0,0,,, -,,0,4274,I13,I13,0,0,0,,, -,,0,4275,I14,I14,0,0,0,,, -,,0,4276,I21,I21,0,0,0,,, -,,0,4277,I22,I22,0,0,0,,, -,,0,4278,I23,I23,0,0,0,,, -,,0,4279,I24,I24,0,0,0,,, -,,0,4280,I25,I25,0,0,0,,, -,,0,4281,I26,I26,0,0,0,,, -,,0,4125,תӶת,ExLocked,0,0,0,,, -,,0,4126,ת,SLocked,0,0,0,,, -,,0,4127,ʱ,ExSt,0,0,0,,, -,,0,0,1,BY1,0,0,0,,, -,,0,0,2,BY2,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, -[Title],,ܺ,Ϣ,ϵ,ֵ,,װϵ,д,,, -[Point],YM,0,302,1,0,й,0.1,EPd,,, -,,0,304,1,0,й,0.1,EPr,,, -,,0,306,1,0,޹,0.1,EQd,,, -,,0,308,1,0,޹,0.1,EQr,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/M81.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/M81.CSV deleted file mode 100644 index 433907c..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/M81.CSV +++ /dev/null @@ -1,154 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],2,7,1,M81,MU-101A,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,49408,80,1,1000,0,0,3,300000,0 -,,3,512,50,32,1000,1,0,3,100,0 -,,2,51456,224,1,1000,0,0,3,300000,0 -,,6,257,15,1,1000,1,1,3,100,0 -,,6,258,15,1,1000,1,1,3,100,0 -,,6,259,15,1,1000,1,1,3,100,0 -,,6,20481,27,1,1000,1,1,3,100,0 -,,6,12801,8,1,1000,1,1,3,100,0 -,,6,12802,8,1,1000,1,1,3,100,0 -,,6,10241,7,1,1000,1,1,3,100,0 -,,6,10242,7,1,1000,1,1,3,100,0 -,,3,584,8,32,1000,0,2,3,600000,0 -,,3,768,8,16,1000,0,0,3,100,0 -[Title] , , ֵ, ֵ, Ŵϵ, ֵ, ֵ, , װϵ, ֵļ,, -[Point],DZ,0,24,1,0,1,1,1,Null,, -,,0,25,1,0,2,2,1,Null,, -,,0,26,1,0,3,3,1,Null,, -,,0,27,1,0,4,4,1,Null,, -,,0,28,1,0,5,5,1,Null,, -,,0,29,1,0,6,6,1,Null,, -,,0,30,1,0,7,7,1,Null,, -,,0,31,1,0,8,8,1,Null,, -,,0,32,1,0,9,9,1,Null,, -,,0,33,1,0,10,10,1,Null,, -,,257,0,1,0,2,1Ͷ,1,Ͷ˳.ini,, -,,257,1,1,0,6,1Aֵ,0.1,Null,, -,,257,2,1,0,7,1Aʱ,10,Null,, -,,258,3,1,0,2,2Ͷ,1,Ͷ˳.ini,, -,,258,4,1,0,6,2Aֵ,0.1,Null,, -,,258,5,1,0,7,2Aʱ,10,Null,, -,,259,6,1,0,2,3Ͷ,1,Ͷ˳.ini,, -,,259,7,1,0,6,3Aֵ,0.1,Null,, -,,259,8,1,0,7,3Aʱ,10,Null,, -,,10241,9,1,0,2,ѹ1Ͷ,1,Ͷ˳.ini,, -,,10241,10,1,0,5,ѹ1ֵ,1,Null,, -,,10241,11,1,0,6,ѹ1ʱֵ,10,Null,, -,,10242,12,1,0,2,ѹ2Ͷ,1,Ͷ˳.ini,, -,,10242,13,1,0,5,ѹ2ֵ,1,Null,, -,,10242,14,1,0,6,ѹ2ʱֵ,10,Null,, -,,12801,15,1,0,2,͵ѹ1Ͷ,1,Ͷ˳.ini,, -,,12801,16,1,0,6,͵ѹ1ֵ,1,Null,, -,,12801,17,1,0,7,͵ѹ1ʱֵ,10,Null,, -,,12802,18,1,0,2,͵ѹ2Ͷ,1,Ͷ˳.ini,, -,,12802,19,1,0,6,͵ѹ2ֵ,1,Null,, -,,12802,20,1,0,7,͵ѹ2ʱֵ,10,Null,, -,,20481,21,1,0,2,ӵع1Ͷ,1,Ͷ˳.ini,, -,,20481,22,1,0,9,ӵع1Aֵ,0.1,Null,, -,,20481,23,1,0,10,ӵع1Aʱ,10,Null,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,1,1,BY1,, -,,0,512,1,0,0,A,0.1,IA,, -,,0,514,1,0,0,B,0.1,IB,, -,,0,516,1,0,0,C,0.1,IC,, -,,0,534,1,0,0,ABߵѹ,0.001,UAB,, -,,0,536,1,0,0,BCߵѹ,0.001,UBC,, -,,0,538,1,0,0,ACߵѹ,0.001,UCA,, -,,0,540,1,0,0,AѹUa,0.001,VA,, -,,0,542,1,0,0,BѹUb,0.001,VB,, -,,0,544,1,0,0,CѹUc,0.001,VC,, -,,0,546,1,0,0,ѹUo,0.001,V0,, -,,0,552,1,0,0,Ƶ,0.01,F,, -,,0,554,1,0,0,й,0.1,P,, -,,0,556,1,0,0,޹,0.1,Q,, -,,0,558,1,0,0,ڹ,0.1,S,, -,,0,560,1,0,0,,0.01,PF,, -,,0,768,1,0,0,¶1,1,TEMP1,, -,,0,769,1,0,0,¶2,1,TEMP2,, -,,0,770,1,0,0,¶3,1,TEMP3,, -,,0,771,1,0,0,¶4,1,TEMP4,, -,,0,772,1,0,0,¶5,1,TEMP5,, -,,0,773,1,0,0,¶6,1,TEMP6,, -,,0,774,1,0,0,¶7,1,TEMP7,, -,,0,775,1,0,0,¶8,1,TEMP8,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,51329,51328,0,·,0,0,Null,,, -,,51330,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,584,1,0,йEa+,0.1,EPd,,, -,,0,586,1,0,йEa-,0.1,EPr,,, -,,0,588,1,0,޹Er+,0.1,EQd,,, -,,0,590,1,0,޹Er-,0.1,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,49408,I101,DI1,0,0,0,,, -,,0,49409,I102,DI2,0,0,0,,, -,,0,49410,I103,DI3,0,0,0,,, -,,0,49411,I104,DI4,0,0,0,,, -,,0,49412,I105,DI5,0,0,0,,, -,,0,49413,I106,DI6,0,0,0,,, -,,0,49414,I107,DI7,0,0,0,,, -,,0,49415,I108,DI8,0,0,0,,, -,,0,49416,I109,DI9,0,0,0,,, -,,0,49417,I110,DI10,0,0,0,,, -,,0,49418,I111,DI11,0,0,0,,, -,,0,49419,I112,DI12,0,0,0,,, -,,0,49420,I113,DI13,0,0,0,,, -,,0,49421,I114,DI14,0,0,0,,, -,,0,49424,I201,DI15,0,0,0,,, -,,0,49425,I202,DI16,0,0,0,,, -,,0,49426,I203,DI17,0,0,0,,, -,,0,49427,I204,DI18,0,0,0,,, -,,0,49428,I205,DI19,0,0,0,,, -,,0,49429,I206,DI20,0,0,0,,, -,,0,49430,I207,DI21,0,0,0,,, -,,0,49431,I208,DI22,0,0,0,,, -,,0,49432,I209,DI23,0,0,0,,, -,,0,49433,I210,DI24,0,0,0,,, -,,0,49434,I211,DI25,0,0,0,,, -,,0,49435,I212,DI26,0,0,0,,, -,,0,49436,I213,DI27,0,0,0,,, -,,0,49437,I214,DI28,0,0,0,,, -,,0,49440,I301,DI29,0,0,0,,, -,,0,49441,I302,DI30,0,0,0,,, -,,0,49442,I303,DI31,0,0,0,,, -,,0,49443,I304,DI32,0,0,0,,, -,,0,49444,I305,DI33,0,0,0,,, -,,0,49445,I306,DI34,0,0,0,,, -,,0,49446,I307,DI35,0,0,0,,, -,,0,49447,I308,DI36,0,0,0,,, -,,0,49448,I309,DI37,0,0,0,,, -,,0,49449,I310,DI38,0,0,0,,, -,,0,49450,I311,DI39,0,0,0,,, -,,0,49451,I312,DI40,0,0,0,,, -,,0,49452,I313,DI41,0,0,0,,, -,,0,49453,I314,DI42,0,0,0,,, -,,0,50573,ÿСʱ,66NO,0,0,0,,, -,,0,51457,ƹ,CF,0,0,0,,, -,,0,51458,բ·,TCS,0,0,0,,, -,,0,51460,Ϻsepamδλ,NRT,0,0,0,,, -,,0,51520,̵1,OC1,0,0,0,,, -,,0,51521,̵2,OC2,0,0,0,,, -,,0,51522,̵3,OC3,0,0,0,,, -,,0,51523,̵4,OC4,0,0,0,,, -,,0,51536,Ƿѹ̵1,UV1,0,0,0,,, -,,0,51537,Ƿѹ̵2,UV2,0,0,0,,, -,,0,51544,ѹ̵1,OV1,0,0,0,,, -,,0,51545,ѹ̵2,OV2,0,0,0,,, -,,0,51554,̵1,DEOC1,0,0,0,,, -,,0,51556,ƽ̵1,UnbOC1,0,0,0,,, -,,0,51568,ȹر,ThOA,0,0,0,,, -,,0,51569,ȹբ,ThOT,0,0,0,,, -,,0,51570,תӶת,ExLocked,0,0,0,,, -,,0,51571,ת,SLocked,0,0,0,,, -,,0,51572,ʱ,ExSt,0,0,0,,, -,,0,51664,·CT,CTS1,0,0,0,,, -,,0,51665,·PT,VTS1,0,0,0,,, -,,0,51667,·CT,CTS2,0,0,0,,, -,,0,51668,·PT,VTS2,0,0,0,,, -,,0,61572,1,BY1,0,0,0,,, -,,0,61581,2,BY2,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/M87.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/M87.CSV deleted file mode 100644 index 35676c3..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/M87.CSV +++ /dev/null @@ -1,149 +0,0 @@ -B,豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],6,7,1,M87,1#綯,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,49408,80,1,1000,0,0,3,300000,0 -,,3,512,50,32,1000,1,0,3,100,0 -,,2,51456,224,1,1000,0,0,3,300000,0 -,,3,600,50,32,1000,1,0,3,100,0 -,,6,257,15,1,1000,1,1,3,100,0 -,,6,258,15,1,1000,1,1,3,100,0 -,,6,259,15,1,1000,1,1,3,100,0 -,,6,20481,27,1,1000,1,1,3,100,0 -,,6,12801,8,1,1000,1,1,3,100,0 -,,6,12802,8,1,1000,1,1,3,100,0 -,,6,10241,7,1,1000,1,1,3,100,0 -,,6,10242,7,1,1000,1,1,3,100,0 -,,6,17409,8,1,1000,1,1,3,100,0 -,,6,25089,6,1,1000,1,1,3,100,0 -,,3,584,8,32,1000,0,2,3,600000,0 -[Title],,ֵ,ֵ,Ŵϵ,ֵ,ֵ,,װϵ,ֵļ,, -[Point],DZ,257,0,1,0,2,1Ͷ,1,Ͷ˳.ini,, -,,257,1,1,0,6,1Aֵ,0.1,,, -,,257,2,1,0,7,1Aʱ,10,,, -,,258,3,1,0,2,2Ͷ,1,Ͷ˳.ini,, -,,258,4,1,0,6,2Aֵ,0.1,,, -,,258,5,1,0,7,2Aʱ,10,,, -,,259,6,1,0,2,3Ͷ,1,Ͷ˳.ini,, -,,259,7,1,0,6,3Aֵ,0.1,,, -,,259,8,1,0,7,3Aʱ,10,,, -,,10241,9,1,0,2,ѹ1Ͷ,1,Ͷ˳.ini,, -,,10241,10,1,0,5,ѹ1ֵ,1,,, -,,10241,11,1,0,6,ѹ1ʱֵ,10,,, -,,10242,12,1,0,2,ѹ2Ͷ,1,Ͷ˳.ini,, -,,10242,13,1,0,5,ѹ2ֵ,1,,, -,,10242,14,1,0,6,ѹ2ʱֵ,10,,, -,,12801,15,1,0,2,͵ѹ1Ͷ,1,Ͷ˳.ini,, -,,12801,16,1,0,6,͵ѹ1ֵ,1,,, -,,12801,17,1,0,7,͵ѹ1ʱֵ,10,,, -,,12802,18,1,0,2,͵ѹ2Ͷ,1,Ͷ˳.ini,, -,,12802,19,1,0,6,͵ѹ2ֵ,1,,, -,,12802,20,1,0,7,͵ѹ2ʱֵ,10,,, -,,17409,21,1,0,2,תͶ,1,Ͷ˳.ini,, -,,17409,22,1,0,4,ʱתٷֱ,1,,, -,,17409,23,1,0,5,𶯳ʱʱ,10,,, -,,17409,24,1,0,6,תӶתʱ,10,,, -,,17409,25,1,0,7,𶯶תʱ,10,,, -,,20481,26,1,0,2,ӵع1Ͷ,1,Ͷ˳.ini,, -,,20481,27,1,0,9,ӵع1Aֵ,0.1,,, -,,20481,28,1,0,10,ӵع1Aʱ,10,,, -,,25089,29,1,0,2,Ͷ,1,Ͷ˳.ini,, -,,25089,30,1,0,4,ֵ,1,,, -,,0,31,1,0,1,1,1,,, -,,0,32,1,0,2,2,1,,, -,,0,33,1,0,3,3,1,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,512,1,0,0,A,0.1,IA1,, -,,0,514,1,0,0,B,0.1,IB1,, -,,0,516,1,0,0,C,0.1,IC1,, -,,0,520,1,0,0,,0.1,I01,, -,,0,534,1,0,0,ABߵѹ,0.001,UAB,, -,,0,536,1,0,0,BCߵѹ,0.001,UBC,, -,,0,538,1,0,0,ACߵѹ,0.001,UCA,, -,,0,552,1,0,0,Ƶ,0.01,F,, -,,0,554,1,0,0,й,0.1,P,, -,,0,556,1,0,0,޹,0.1,Q,, -,,0,558,1,0,0,ڹ,0.1,S,, -,,0,560,1,0,0,,0.01,PF,, -,,0,606,1,0,0,A_2,0.1,IA2,, -,,0,608,1,0,0,B_2,0.1,IB2,, -,,0,610,1,0,0,C_2,0.1,IC2,, -,,0,614,1,0,0,_2,0.1,I02,, -,,0,638,1,0,0,A,0.1,IAD,, -,,0,640,1,0,0,B,0.1,IBD,, -,,0,642,1,0,0,C,0.1,ICD,, -,,0,644,1,0,0,Aƶ,0.1,IAR,, -,,0,646,1,0,0,Bƶ,0.1,IBR,, -,,0,648,1,0,0,Cƶ,0.1,ICR,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,51329,51328,0,·,0,0,Null,,, -,,51330,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ,д,,, -[Point],YM,0,584,1,0,йEa+,0.1,EPd,,, -,,0,586,1,0,йEa-,0.1,EPr,,, -,,0,588,1,0,޹Er+,0.1,EQd,,, -,,0,590,1,0,޹Er-,0.1,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŹID,Զ#1,Զ#2,,, -[Point],YX,0,49408,I101,DI1,0,0,0,,, -,,0,49409,I102,DI2,0,0,0,,, -,,0,49410,I103,DI3,0,0,0,,, -,,0,49411,I104,DI4,0,0,0,,, -,,0,49412,I105,DI5,0,0,0,,, -,,0,49413,I106,DI6,0,0,0,,, -,,0,49414,I107,DI7,0,0,0,,, -,,0,49415,I108,DI8,0,0,0,,, -,,0,49416,I109,DI9,0,0,0,,, -,,0,49417,I110,DI10,0,0,0,,, -,,0,49418,I111,DI11,0,0,0,,, -,,0,49419,I112,DI12,0,0,0,,, -,,0,49420,I113,DI13,0,0,0,,, -,,0,49421,I114,DI14,0,0,0,,, -,,0,49424,I201,DI15,0,0,0,,, -,,0,49425,I202,DI16,0,0,0,,, -,,0,49426,I203,DI17,0,0,0,,, -,,0,49427,I204,DI18,0,0,0,,, -,,0,49428,I205,DI19,0,0,0,,, -,,0,49429,I206,DI20,0,0,0,,, -,,0,49430,I207,DI21,0,0,0,,, -,,0,49431,I208,DI22,0,0,0,,, -,,0,49432,I209,DI23,0,0,0,,, -,,0,49433,I210,DI24,0,0,0,,, -,,0,49434,I211,DI25,0,0,0,,, -,,0,49435,I212,DI26,0,0,0,,, -,,0,49436,I213,DI27,0,0,0,,, -,,0,49437,I214,DI28,0,0,0,,, -,,0,49440,I301,DI29,0,0,0,,, -,,0,49441,I302,DI30,0,0,0,,, -,,0,49442,I303,DI31,0,0,0,,, -,,0,49443,I304,DI32,0,0,0,,, -,,0,49444,I305,DI33,0,0,0,,, -,,0,49445,I306,DI34,0,0,0,,, -,,0,49446,I307,DI35,0,0,0,,, -,,0,49447,I308,DI36,0,0,0,,, -,,0,49448,I309,DI37,0,0,0,,, -,,0,49449,I310,DI38,0,0,0,,, -,,0,49450,I311,DI39,0,0,0,,, -,,0,49451,I312,DI40,0,0,0,,, -,,0,49452,I313,DI41,0,0,0,,, -,,0,49453,I314,DI42,0,0,0,,, -,,0,51457,ƹ,CF,0,0,0,,, -,,0,51458,բ·,TCS,0,0,0,,, -,,0,51460,Ϻsepamδλ,NRT,0,0,0,,, -,,0,51520,̵1,OC1,0,0,0,,, -,,0,51521,̵2,OC2,0,0,0,,, -,,0,51522,̵3,OC3,0,0,0,,, -,,0,51523,̵4,OC4,0,0,0,,, -,,0,51528,̵1,EOC1,0,0,0,,, -,,0,51536, Ƿѹ̵1,UV1,0,0,0,,, -,,0,51537, Ƿѹ̵2,UV2,0,0,0,,, -,,0,51544, ѹ̵1,OV1,0,0,0,,, -,,0,51545, ѹ̵2,OV2,0,0,0,,, -,,0,51570,תӶת,ExLocked,0,0,0,,, -,,0,51571,ת,SLocked,0,0,0,,, -,,0,51572,ʱ,ExSt,0,0,0,,, -,,0,51581,,DIFF,0,0,0,,, -,,0,51664,·CT,CTS1,0,0,0,,, -,,0,51665,·PT,VTS1,0,0,0,,, -,,0,51667,·CT,CTS2,0,0,0,,, -,,0,51668,·PT,VTS2,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/S20.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/S20.CSV deleted file mode 100644 index bd3797d..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/S20.CSV +++ /dev/null @@ -1,58 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,S20,1#߱,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,4112,74,1,1000,0,0,1,300000,0 -,,3,262,10,16,1000,1,0,1,100,0 -,,6,257,16,1,1000,1,1,1,100,0 -,,6,258,16,1,1000,1,1,1,100,0 -,,6,513,16,1,1000,1,1,1,100,0 -,,6,769,4,1,1000,1,1,1,100,0 -[Title],,ֵ,ֵ,Ŵϵ,ֵ,ֵ,,װϵ,ֵļ,, -[Point],DZ,0,13,1,0,2,2,1,,, -,,0,12,1,0,1,1,1,,, -,,257,1,1,0,2,1Aֵ,0.1,,, -,,257,2,1,0,3,1Aʱ,10,,, -,,257,0,1,0,8,1Ͷ,1,Ͷ˳.ini,, -,,258,4,1,0,2,2Aֵ,0.1,,, -,,258,5,1,0,3,2Aʱ,10,,, -,,258,3,1,0,8,2Ͷ,1,Ͷ˳.ini,, -,,513,7,1,0,2,ӵع1Aֵ,0.1,,, -,,513,8,1,0,3,ӵع1Aʱ,10,,, -,,513,6,1,0,8,ӵع1Ͷ,1,Ͷ˳.ini,, -,,769,9,1,0,0,1Ͷ,1,Ͷ˳.ini,, -,,769,10,1,0,2,1Aֵ,1,,, -,,769,11,1,0,3,1Aʱ,10,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,262,1,0,0,A,0.1,IA,, -,,0,263,1,0,0,B,0.1,IB,, -,,0,264,1,0,0,C,0.1,IC,, -,,0,265,1,0,0,,0.1,I0,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,7937,7936,0,·,0,0,Null,,, -,,7940,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#1,,, -[Point],YX,0,0,1,BY1,0,0,0,,, -,,0,0,2,BY2,0,0,0,,, -,,0,4112,̵1A,OC1A,0,0,0,,, -,,0,4113,̵2A,OC2A,0,0,0,,, -,,0,4114,̵1B,OC1B,0,0,0,,, -,,0,4115,̵2B,OC2B,0,0,0,,, -,,0,4116,̵1A,EOC1A,0,0,0,,, -,,0,4117,̵2A,EOC2A,0,0,0,,, -,,0,4118,̵1B,EOC1B,0,0,0,,, -,,0,4119,̵2B,EOC2B,0,0,0,,, -,,0,4152,Ϻsepamδλ,NRT,0,0,0,,, -,,0,4154,բ·,TCS,0,0,0,,, -,,0,4156,ƹ,CF,0,0,0,,, -,,0,4176,I11,DI1,0,0,0,,, -,,0,4177,I12,DI2,0,0,0,,, -,,0,4178,I13,DI3,0,0,0,,, -,,0,4179,I14,DI4,0,0,0,,, -,,0,4180,I21,DI5,0,0,0,,, -,,0,4181,I22,DI6,0,0,0,,, -,,0,4182,I23,DI7,0,0,0,,, -,,0,4183,I24,DI8,0,0,0,,, -,,0,4184,I25,DI9,0,0,0,,, -,,0,4185,I26,DI10,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/S40.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/S40.CSV deleted file mode 100644 index 49b714e..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/S40.CSV +++ /dev/null @@ -1,93 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],3,7,1,S40,1#߱,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,4112,170,1,1000,0,0,2,300000,0 -,,3,275,27,16,1000,1,0,2,100,0 -,,6,257,24,1,1000,1,1,2,100,0 -,,6,258,24,1,1000,1,1,2,100,0 -,,6,259,24,1,1000,1,1,2,100,0 -,,6,513,26,1,1000,1,1,2,100,0 -,,6,4097,12,1,1000,1,1,2,100,0 -,,6,4353,12,1,1000,1,1,2,100,0 -,,3,302,8,32,1000,0,2,2,600000,0 -[Title],,ֵ,ֵ,Ŵϵ,ֵ,ֵ,,װϵ,ֵļ,, -[Point],DZ,257,0,1,0,2,1Ͷ,1,Ͷ˳.ini,, -,,257,1,1,0,7,1Aֵ,0.1,,, -,,257,2,1,0,8,1Aʱ,10,,, -,,258,3,1,0,2,2Ͷ,1,Ͷ˳.ini,, -,,258,4,1,0,7,2Aֵ,0.1,,, -,,258,5,1,0,8,2Aʱ,10,,, -,,259,6,1,0,2,3Ͷ,1,Ͷ˳.ini,, -,,259,7,1,0,7,3Aֵ,0.1,,, -,,259,8,1,0,8,3Aʱ,10,,, -,,513,9,1,0,2,ӵع1Ͷ,1,Ͷ˳.ini,, -,,513,10,1,0,7,ӵع1Aֵ,0.1,,, -,,513,11,1,0,8,ӵع1Aʱ,10,,, -,,4097,12,1,0,2,͵ѹ1Ͷ,1,Ͷ˳.ini,, -,,4097,13,1,0,6,͵ѹ1ֵ,1,,, -,,4097,14,1,0,7,͵ѹ1ʱֵ,10,,, -,,4353,15,1,0,2,ѹ1Ͷ,1,Ͷ˳.ini,, -,,4353,16,1,0,6,ѹ1ֵ,1,,, -,,4353,17,1,0,7,ѹ1ʱֵ,10,,, -,,0,18,1,0,1,1,1,,, -,,0,19,1,0,2,2,1,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,275,1,0,0,A,0.1,IA,, -,,0,276,1,0,0,B,0.1,IB,, -,,0,277,1,0,0,C,0.1,IC,, -,,0,279,1,0,0,,0.1,I0,, -,,0,286,1,0,0,ABߵѹ,0.001,UAB,, -,,0,287,1,0,0,BCߵѹ,0.001,UBC,, -,,0,288,1,0,0,ACߵѹ,0.001,UCA,, -,,0,289,1,0,0,Aѹ,0.001,VA,, -,,0,290,1,0,0,Bѹ,0.001,VB,, -,,0,291,1,0,0,Cѹ,0.001,VC,, -,,0,292,1,0,0,ѹVo,0.001,V0,, -,,0,295,1,0,0,Ƶ,0.01,F,, -,,0,296,1,0,0,й,1,P,, -,,0,297,1,0,0,޹,1,Q,, -,,0,298,1,0,0,ڹ,1,S,, -,,0,301,1,0,0,,0.01,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,3841,3840,0,·,0,0,Null,,, -,,3844,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ,д,,, -[Point],YM,0,302,1,0,й,0.1,EPd,,, -,,0,304,1,0,й,0.1,EPr,,, -,,0,306,1,0,޹,0.1,EQd,,, -,,0,308,1,0,޹,0.1,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#2,,, -[Point],YX,0,0,2,BY2,0,0,0,,, -,,0,0,1,BY1,0,0,0,,, -,,0,4112,̵1,OC1,0,0,0,,, -,,0,4113,̵2,OC2,0,0,0,,, -,,0,4114,̵3,OC3,0,0,0,,, -,,0,4115,̵4,OC4,0,0,0,,, -,,0,4116,̵1,EOC1,0,0,0,,, -,,0,4122,Ƿ̵1,UC1,0,0,0,,, -,,0,4123,̵1,UnbOC1,0,0,0,,, -,,0,4124,̵2,UnbOC2,0,0,0,,, -,,0,4130,Ƿѹ̵1,UV1,0,0,0,,, -,,0,4131,Ƿѹ̵2,UV2,0,0,0,,, -,,0,4133,ѹ̵1,OV1,0,0,0,,, -,,0,4134,ѹ̵2,OV2,0,0,0,,, -,,0,4135,Եѹ̵1,UnbOV1,0,0,0,,, -,,0,4136,Եѹ̵2,UnbOV2,0,0,0,,, -,,0,4153,CT,CTS,0,0,0,,, -,,0,4154,PT,VTS,0,0,0,,, -,,0,4155,PT,EVTS,0,0,0,,, -,,0,4215,Ϻsepamδλ,NRT,0,0,0,,, -,,0,4217,բ·,TCS,0,0,0,,, -,,0,4219,ƹ,CF,0,0,0,,, -,,0,4272,I11,DI1,0,0,0,,, -,,0,4273,I12,DI2,0,0,0,,, -,,0,4274,I13,DI3,0,0,0,,, -,,0,4275,I14,DI4,0,0,0,,, -,,0,4276,I21,DI5,0,0,0,,, -,,0,4277,I22,DI6,0,0,0,,, -,,0,4278,I23,DI7,0,0,0,,, -,,0,4279,I24,DI8,0,0,0,,, -,,0,4280,I25,DI9,0,0,0,,, -,,0,4281,I26,DI10,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/S80.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/S80.CSV deleted file mode 100644 index 4b82d76..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/S80.CSV +++ /dev/null @@ -1,140 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],5,7,1,S80,1#·,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,49408,80,1,1000,0,0,3,300000,0 -,,3,512,50,32,1000,1,0,3,100,0 -,,2,51456,224,1,1000,0,0,3,300000,0 -,,6,257,15,1,1000,1,1,3,100,0 -,,6,258,15,1,1000,1,1,3,100,0 -,,6,259,15,1,1000,1,1,3,100,0 -,,6,20481,27,1,1000,1,1,3,100,0 -,,6,12801,8,1,1000,1,1,3,100,0 -,,6,12802,8,1,1000,1,1,3,100,0 -,,6,10241,7,1,1000,1,1,3,100,0 -,,6,10242,7,1,1000,1,1,3,100,0 -,,3,584,8,32,1000,0,2,3,600000,0 -[Title],,ֵ,ֵ,Ŵϵ,ֵ,ֵ,,װϵ,ֵļ,, -[Point],DZ,257,0,1,0,2,1Ͷ,1,Ͷ˳.ini,, -,,257,1,1,0,6,1Aֵ,0.1,,, -,,257,2,1,0,7,1Aʱ,10,,, -,,258,3,1,0,2,2Ͷ,1,Ͷ˳.ini,, -,,258,4,1,0,6,2Aֵ,0.1,,, -,,258,5,1,0,7,2Aʱ,10,,, -,,259,6,1,0,2,3Ͷ,1,Ͷ˳.ini,, -,,259,7,1,0,6,3Aֵ,0.1,,, -,,259,8,1,0,7,3Aʱ,10,,, -,,10241,9,1,0,2,ѹ1Ͷ,1,Ͷ˳.ini,, -,,10241,10,1,0,5,ѹ1ֵ,1,,, -,,10241,11,1,0,6,ѹ1ʱֵ,10,,, -,,10242,12,1,0,2,ѹ2Ͷ,1,Ͷ˳.ini,, -,,10242,13,1,0,5,ѹ2ֵ,1,,, -,,10242,14,1,0,6,ѹ2ʱֵ,10,,, -,,12801,15,1,0,2,͵ѹ1Ͷ,1,Ͷ˳.ini,, -,,12801,16,1,0,6,͵ѹ1ֵ,1,,, -,,12801,17,1,0,7,͵ѹ1ʱֵ,10,,, -,,12802,18,1,0,2,͵ѹ2Ͷ,1,Ͷ˳.ini,, -,,12802,19,1,0,6,͵ѹ2ֵ,1,,, -,,12802,20,1,0,7,͵ѹ2ʱֵ,10,,, -,,20481,21,1,0,2,ӵع1Ͷ,1,Ͷ˳.ini,, -,,20481,22,1,0,9,ӵع1Aֵ,0.1,,, -,,20481,23,1,0,10,ӵع1Aʱ,10,,, -,,0,24,1,0,1,1,1,,, -,,0,25,1,0,2,2,1,,, -,,0,26,1,0,3,3,1,,, -,,0,27,1,0,4,4,1,,, -,,0,28,1,0,5,5,1,,, -,,0,29,1,0,6,6,1,,, -,,0,30,1,0,7,7,1,,, -,,0,31,1,0,8,8,1,,, -,,0,32,1,0,9,9,1,,, -,,0,33,1,0,10,10,1,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,0,1,0,0,5,1,BY,, -,,0,512,1,0,0,A,0.1,IA,, -,,0,514,1,0,0,B,0.1,IB,, -,,0,516,1,0,0,C,0.1,IC,, -,,0,534,1,0,0,ABߵѹ,0.001,UAB,, -,,0,536,1,0,0,BCߵѹ,0.001,UBC,, -,,0,538,1,0,0,ACߵѹ,0.001,UCA,, -,,0,540,1,0,0,AѹUa,0.001,VA,, -,,0,542,1,0,0,BѹUb,0.001,VB,, -,,0,544,1,0,0,CѹUc,0.001,VC,, -,,0,546,1,0,0,ѹUo,0.001,V0,, -,,0,552,1,0,0,Ƶ,0.01,F,, -,,0,554,1,0,0,й,0.1,P,, -,,0,556,1,0,0,޹,0.1,Q,, -,,0,558,1,0,0,ڹ,0.1,S,, -,,0,560,1,0,0,,0.01,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,51329,51328,0,·,0,0,Null,,, -,,51330,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,ϵ,ֵ,,װϵ,д,,, -[Point],YM,0,584,1,0,йEa+,0.1,Epd,,, -,,0,586,1,0,йEa-,0.1,Epr,,, -,,0,588,1,0,޹Er+,0.1,Eqd,,, -,,0,590,1,0,޹Er-,0.1,Eqr,,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#2,,, -[Point],YX,0,49408,I101,DI1,0,0,0,,, -,,0,49409,I102,DI2,0,0,0,,, -,,0,49410,I103,DI3,0,0,0,,, -,,0,49411,I104,DI4,0,0,0,,, -,,0,49412,I105,DI5,0,0,0,,, -,,0,49413,I106,DI6,0,0,0,,, -,,0,49414,I107,DI7,0,0,0,,, -,,0,49415,I108,DI8,0,0,0,,, -,,0,49416,I109,DI9,0,0,0,,, -,,0,49417,I110,DI10,0,0,0,,, -,,0,49418,I111,DI11,0,0,0,,, -,,0,49419,I112,DI12,0,0,0,,, -,,0,49420,I113,DI13,0,0,0,,, -,,0,49421,I114,DI14,0,0,0,,, -,,0,49424,I201,DI15,0,0,0,,, -,,0,49425,I202,DI16,0,0,0,,, -,,0,49426,I203,DI17,0,0,0,,, -,,0,49427,I204,DI18,0,0,0,,, -,,0,49428,I205,DI19,0,0,0,,, -,,0,49429,I206,DI20,0,0,0,,, -,,0,49430,I207,DI21,0,0,0,,, -,,0,49431,I208,DI22,0,0,0,,, -,,0,49432,I209,DI23,0,0,0,,, -,,0,49433,I210,DI24,0,0,0,,, -,,0,49434,I211,DI25,0,0,0,,, -,,0,49435,I212,DI26,0,0,0,,, -,,0,49436,I213,DI27,0,0,0,,, -,,0,49437,I214,DI28,0,0,0,,, -,,0,49440,I301,DI29,0,0,0,,, -,,0,49441,I302,DI30,0,0,0,,, -,,0,49442,I303,DI31,0,0,0,,, -,,0,49443,I304,DI32,0,0,0,,, -,,0,49444,I305,DI33,0,0,0,,, -,,0,49445,I306,DI34,0,0,0,,, -,,0,49446,I307,DI35,0,0,0,,, -,,0,49447,I308,DI36,0,0,0,,, -,,0,49448,I309,DI37,0,0,0,,, -,,0,49449,I310,DI38,0,0,0,,, -,,0,49450,I311,DI39,0,0,0,,, -,,0,49451,I312,DI40,0,0,0,,, -,,0,49452,I313,DI41,0,0,0,,, -,,0,49453,I314,DI42,0,0,0,,, -,,0,51457,ƹ,CF,0,0,0,,, -,,0,51458,բ·,TCS,0,0,0,,, -,,0,51460,Ϻsepamδλ,NRT,0,0,0,,, -,,0,51520,̵1,OC1,0,0,0,,, -,,0,51521,̵2,OC2,0,0,0,,, -,,0,51522,̵3,OC3,0,0,0,,, -,,0,51523,̵4,OC4,0,0,0,,, -,,0,51528,̵1,UnbOC1,0,0,0,,, -,,0,51536, Ƿѹ̵1,UV1,0,0,0,,, -,,0,51537, Ƿѹ̵2,UV2,0,0,0,,, -,,0,51544, ѹ̵1,OV1,0,0,0,,, -,,0,51545, ѹ̵2,OV2,0,0,0,,, -,,0,51546, ѹ̵3,OV3,0,0,0,,, -,,0,51547, ѹ̵4,OV4,0,0,0,,, -,,0,51548,ѹ̵1,EOV1,0,0,0,,, -,,0,51549,ѹ̵2,EOV2,0,0,0,,, -,,0,51664,·CT,CTS1,0,0,0,,, -,,0,51665,·PT,VTS1,0,0,0,,, -,,0,51667,·CT,CTS2,0,0,0,,, -,,0,51668,·PT,VTS2,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/T20.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/T20.CSV deleted file mode 100644 index e642645..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/T20.CSV +++ /dev/null @@ -1,60 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,S20,1#߱,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,4112,74,1,1000,0,0,1,300000,0 -,,3,262,10,16,1000,1,0,1,100,0 -,,6,257,16,1,1000,1,1,1,100,0 -,,6,258,16,1,1000,1,1,1,100,0 -,,6,513,16,1,1000,1,1,1,100,0 -,,6,769,4,1,1000,1,1,1,100,0 -[Title],,ֵ,ֵ,Ŵϵ,ֵ,ֵ,,װϵ,ֵļ,, -[Point],DZ,0,13,1,0,2,2,1,,, -,,0,12,1,0,1,1,1,,, -,,257,1,1,0,2,1Aֵ,0.1,,, -,,257,2,1,0,3,1Aʱ,10,,, -,,257,0,1,0,8,1Ͷ,1,Ͷ˳.ini,, -,,258,4,1,0,2,2Aֵ,0.1,,, -,,258,5,1,0,3,2Aʱ,10,,, -,,258,3,1,0,8,2Ͷ,1,Ͷ˳.ini,, -,,513,7,1,0,2,ӵع1Aֵ,0.1,,, -,,513,8,1,0,3,ӵع1Aʱ,10,,, -,,513,6,1,0,8,ӵع1Ͷ,1,Ͷ˳.ini,, -,,769,9,1,0,0,1Ͷ,1,Ͷ˳.ini,, -,,769,10,1,0,2,1Aֵ,1,,, -,,769,11,1,0,3,1Aʱ,10,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,262,1,0,0,A,0.1,IA,, -,,0,263,1,0,0,B,0.1,IB,, -,,0,264,1,0,0,C,0.1,IC,, -,,0,265,1,0,0,,0.1,I0,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,7937,7936,0,·,0,0,Null,,, -,,7940,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#1,,, -[Point],YX,0,0,1,BY1,0,0,0,,, -,,0,0,2,BY2,0,0,0,,, -,,0,4112,̵1A,OC1A,0,0,0,,, -,,0,4113,̵2A,OC2A,0,0,0,,, -,,0,4114,̵1B,OC1B,0,0,0,,, -,,0,4115,̵2B,OC2B,0,0,0,,, -,,0,4116,̵1A,EOC1A,0,0,0,,, -,,0,4117,̵2A,EOC2A,0,0,0,,, -,,0,4118,̵1B,EOC1B,0,0,0,,, -,,0,4119,̵2B,EOC2B,0,0,0,,, -,,0,4120,ȹر,ThOA,0,0,0,,, -,,0,4121,ȹբ,ThOT,0,0,0,,, -,,0,4152,Ϻsepamδλ,NRT,0,0,0,,, -,,0,4154,բ·,TCS,0,0,0,,, -,,0,4156,ƹ,CF,0,0,0,,, -,,0,4176,I11,DI1,0,0,0,,, -,,0,4177,I12,DI2,0,0,0,,, -,,0,4178,I13,DI3,0,0,0,,, -,,0,4179,I14,DI4,0,0,0,,, -,,0,4180,I21,DI5,0,0,0,,, -,,0,4181,I22,DI6,0,0,0,,, -,,0,4182,I23,DI7,0,0,0,,, -,,0,4183,I24,DI8,0,0,0,,, -,,0,4184,I25,DI9,0,0,0,,, -,,0,4185,I26,DI10,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/T81.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/T81.CSV deleted file mode 100644 index bd196da..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/T81.CSV +++ /dev/null @@ -1,140 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,T81,TML-1-1A,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,49408,80,1,1000,0,0,3,300000,0 -,,3,512,50,32,1000,1,0,3,100,0 -,,2,51456,224,1,1000,0,0,3,300000,0 -,,6,257,15,1,1000,1,1,3,100,0 -,,6,258,15,1,1000,1,1,3,100,0 -,,6,259,15,1,1000,1,1,3,100,0 -,,6,20481,27,1,1000,1,1,3,100,0 -,,6,12801,8,1,1000,1,1,3,100,0 -,,6,12802,8,1,1000,1,1,3,100,0 -,,6,10241,7,1,1000,1,1,3,100,0 -,,6,10242,7,1,1000,1,1,3,100,0 -,,3,584,8,32,1000,0,2,3,600000,0 -[Title] , , ֵ, ֵ, Ŵϵ, ֵ, ֵ, , װϵ, ֵļ,, -[Point],DZ,0,24,1,0,1,1,1,Null,, -,,0,25,1,0,2,2,1,Null,, -,,0,26,1,0,3,3,1,Null,, -,,0,27,1,0,4,4,1,Null,, -,,0,28,1,0,5,5,1,Null,, -,,0,29,1,0,6,6,1,Null,, -,,0,30,1,0,7,7,1,Null,, -,,0,31,1,0,8,8,1,Null,, -,,0,32,1,0,9,9,1,Null,, -,,0,33,1,0,10,10,1,Null,, -,,257,0,1,0,2,1Ͷ,1,Ͷ˳.ini,, -,,257,1,1,0,6,1Aֵ,0.1,Null,, -,,257,2,1,0,7,1Aʱ,10,Null,, -,,258,3,1,0,2,2Ͷ,1,Ͷ˳.ini,, -,,258,4,1,0,6,2Aֵ,0.1,Null,, -,,258,5,1,0,7,2Aʱ,10,Null,, -,,259,6,1,0,2,3Ͷ,1,Ͷ˳.ini,, -,,259,7,1,0,6,3Aֵ,0.1,Null,, -,,259,8,1,0,7,3Aʱ,10,Null,, -,,10241,9,1,0,2,ѹ1Ͷ,1,Ͷ˳.ini,, -,,10241,10,1,0,5,ѹ1ֵ,1,Null,, -,,10241,11,1,0,6,ѹ1ʱֵ,10,Null,, -,,10242,12,1,0,2,ѹ2Ͷ,1,Ͷ˳.ini,, -,,10242,13,1,0,5,ѹ2ֵ,1,Null,, -,,10242,14,1,0,6,ѹ2ʱֵ,10,Null,, -,,12801,15,1,0,2,͵ѹ1Ͷ,1,Ͷ˳.ini,, -,,12801,16,1,0,6,͵ѹ1ֵ,1,Null,, -,,12801,17,1,0,7,͵ѹ1ʱֵ,10,Null,, -,,12802,18,1,0,2,͵ѹ2Ͷ,1,Ͷ˳.ini,, -,,12802,19,1,0,6,͵ѹ2ֵ,1,Null,, -,,12802,20,1,0,7,͵ѹ2ʱֵ,10,Null,, -,,20481,21,1,0,2,ӵع1Ͷ,1,Ͷ˳.ini,, -,,20481,22,1,0,9,ӵع1Aֵ,0.1,Null,, -,,20481,23,1,0,10,ӵع1Aʱ,10,Null,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,1,1,BY1,, -,,0,512,1,0,0,A,0.1,IA,, -,,0,514,1,0,0,B,0.1,IB,, -,,0,516,1,0,0,C,0.1,IC,, -,,0,534,1,0,0,ABߵѹ,0.001,UAB,, -,,0,536,1,0,0,BCߵѹ,0.001,UBC,, -,,0,538,1,0,0,ACߵѹ,0.001,UCA,, -,,0,540,1,0,0,AѹUa,0.001,VA,, -,,0,542,1,0,0,BѹUb,0.001,VB,, -,,0,544,1,0,0,CѹUc,0.001,VC,, -,,0,546,1,0,0,ѹUo,0.001,V0,, -,,0,552,1,0,0,Ƶ,0.01,F,, -,,0,554,1,0,0,й,0.1,P,, -,,0,556,1,0,0,޹,0.1,Q,, -,,0,558,1,0,0,ڹ,0.1,S,, -,,0,560,1,0,0,,0.01,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,51329,51328,0,·,0,0,Null,,, -,,51330,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,584,1,0,йEa+,0.1,Epd,,, -,,0,586,1,0,йEa-,0.1,Epr,,, -,,0,588,1,0,޹Er+,0.1,Eqd,,, -,,0,590,1,0,޹Er-,0.1,Eqr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,49408,I101,DI1,0,0,0,,, -,,0,49409,I102,DI2,0,0,0,,, -,,0,49410,I103,DI3,0,0,0,,, -,,0,49411,I104,DI4,0,0,0,,, -,,0,49412,I105,DI5,0,0,0,,, -,,0,49413,I106,DI6,0,0,0,,, -,,0,49414,I107,DI7,0,0,0,,, -,,0,49415,I108,DI8,0,0,0,,, -,,0,49416,I109,DI9,0,0,0,,, -,,0,49417,I110,DI10,0,0,0,,, -,,0,49418,I111,DI11,0,0,0,,, -,,0,49419,I112,DI12,0,0,0,,, -,,0,49420,I113,DI13,0,0,0,,, -,,0,49421,I114,DI14,0,0,0,,, -,,0,49424,I201,DI15,0,0,0,,, -,,0,49425,I202,DI16,0,0,0,,, -,,0,49426,I203,DI17,0,0,0,,, -,,0,49427,I204,DI18,0,0,0,,, -,,0,49428,I205,DI19,0,0,0,,, -,,0,49429,I206,DI20,0,0,0,,, -,,0,49430,I207,DI21,0,0,0,,, -,,0,49431,I208,DI22,0,0,0,,, -,,0,49432,I209,DI23,0,0,0,,, -,,0,49433,I210,DI24,0,0,0,,, -,,0,49434,I211,DI25,0,0,0,,, -,,0,49435,I212,DI26,0,0,0,,, -,,0,49436,I213,DI27,0,0,0,,, -,,0,49437,I214,DI28,0,0,0,,, -,,0,49440,I301,DI29,0,0,0,,, -,,0,49441,I302,DI30,0,0,0,,, -,,0,49442,I303,DI31,0,0,0,,, -,,0,49443,I304,DI32,0,0,0,,, -,,0,49444,I305,DI33,0,0,0,,, -,,0,49445,I306,DI34,0,0,0,,, -,,0,49446,I307,DI35,0,0,0,,, -,,0,49447,I308,DI36,0,0,0,,, -,,0,49448,I309,DI37,0,0,0,,, -,,0,49449,I310,DI38,0,0,0,,, -,,0,49450,I311,DI39,0,0,0,,, -,,0,49451,I312,DI40,0,0,0,,, -,,0,49452,I313,DI41,0,0,0,,, -,,0,49453,I314,DI42,0,0,0,,, -,,0,51457,ƹ,CF,0,0,0,,, -,,0,51458,բ·,TCS,0,0,0,,, -,,0,51460,Ϻsepamδλ,NRT,0,0,0,,, -,,0,51520,̵1,OC1,0,0,0,,, -,,0,51521,̵2,OC2,0,0,0,,, -,,0,51522,̵3,OC3,0,0,0,,, -,,0,51523,̵4,OC4,0,0,0,,, -,,0,51536,Ƿѹ̵1,UV1,0,0,0,,, -,,0,51537,Ƿѹ̵2,UV2,0,0,0,,, -,,0,51544,ѹ̵1,OV1,0,0,0,,, -,,0,51545,ѹ̵2,OV2,0,0,0,,, -,,0,51554,̵1,DEOC1,0,0,0,,, -,,0,51568,ȹر,ThOA,0,0,0,,, -,,0,51569,ȹբ,ThOT,0,0,0,,, -,,0,51572,1,BY1,0,0,0,,, -,,0,51581,2,BY2,0,0,0,,, -,,0,51664,·CT,CTS1,0,0,0,,, -,,0,51665,·PT,VTS1,0,0,0,,, -,,0,51667,·CT,CTS2,0,0,0,,, -,,0,51668,·PT,VTS2,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/T87.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/T87.CSV deleted file mode 100644 index da7c7e9..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/T87.CSV +++ /dev/null @@ -1,142 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],7,7,1,T87,1#ѹ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,49408,80,1,1000,0,0,3,300000,0 -,,3,512,50,32,1000,1,0,3,100,0 -,,2,51456,224,1,1000,0,0,3,300000,0 -,,3,600,50,32,1000,1,0,3,100,0 -,,6,257,15,1,1000,1,1,3,100,0 -,,6,258,15,1,1000,1,1,3,100,0 -,,6,259,15,1,1000,1,1,3,100,0 -,,6,20481,27,1,1000,1,1,3,100,0 -,,6,12801,8,1,1000,1,1,3,100,0 -,,6,12802,8,1,1000,1,1,3,100,0 -,,6,10241,7,1,1000,1,1,3,100,0 -,,6,10242,7,1,1000,1,1,3,100,0 -,,6,24577,8,1,1000,1,1,3,100,0 -[Title],,ֵ,ֵ,Ŵϵ,ֵ,ֵ,,װϵ,ֵļ,, -[Point],DZ,257,0,1,0,2,1Ͷ,1,Ͷ˳.ini,, -,,257,1,1,0,6,1Aֵ,0.1,,, -,,257,2,1,0,7,1Aʱ,10,,, -,,258,3,1,0,2,2Ͷ,1,Ͷ˳.ini,, -,,258,4,1,0,6,2Aֵ,0.1,,, -,,258,5,1,0,7,2Aʱ,10,,, -,,259,6,1,0,2,3Ͷ,1,Ͷ˳.ini,, -,,259,7,1,0,6,3Aֵ,0.1,,, -,,259,8,1,0,7,3Aʱ,10,,, -,,10241,9,1,0,2,ѹ1Ͷ,1,Ͷ˳.ini,, -,,10241,10,1,0,5,ѹ1ֵ,1,,, -,,10241,11,1,0,6,ѹ1ʱֵ,10,,, -,,10242,12,1,0,2,ѹ2Ͷ,1,Ͷ˳.ini,, -,,10242,13,1,0,5,ѹ2ֵ,1,,, -,,10242,14,1,0,6,ѹ2ʱֵ,10,,, -,,12801,15,1,0,2,͵ѹ1Ͷ,1,Ͷ˳.ini,, -,,12801,16,1,0,6,͵ѹ1ֵ,1,,, -,,12801,17,1,0,7,͵ѹ1ʱֵ,10,,, -,,12802,18,1,0,2,͵ѹ2Ͷ,1,Ͷ˳.ini,, -,,12802,19,1,0,6,͵ѹ2ֵ,1,,, -,,12802,20,1,0,7,͵ѹ2ʱֵ,10,,, -,,20481,21,1,0,2,ӵع1Ͷ,1,Ͷ˳.ini,, -,,20481,22,1,0,9,ӵع1Aֵ,0.1,,, -,,20481,23,1,0,10,ӵع1Aʱ,10,,, -,,24577,24,1,0,2,ѹͶ,1,Ͷ˳.ini,, -,,24577,25,1,0,4,ֵ,1,,, -,,24577,26,1,0,5,ƶ,1,,, -,,0,27,1,0,1,1,1,,, -,,0,28,1,0,2,2,1,,, -,,0,29,1,0,3,3,1,,, -,,0,30,1,0,4,4,1,,, -,,0,31,1,0,5,5,1,,, -,,0,32,1,0,6,6,1,,, -,,0,33,1,0,7,7,1,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,512,1,0,0,A,0.1,IA1,, -,,0,514,1,0,0,B,0.1,IB1,, -,,0,516,1,0,0,C,0.1,IC1,, -,,0,520,1,0,0,,0.1,I01,, -,,0,534,1,0,0,ABߵѹ,0.001,UAB,, -,,0,536,1,0,0,BCߵѹ,0.001,UBC,, -,,0,538,1,0,0,ACߵѹ,0.001,UCA,, -,,0,552,1,0,0,Ƶ,0.01,F,, -,,0,554,1,0,0,й,0.1,P,, -,,0,556,1,0,0,޹,0.1,Q,, -,,0,558,1,0,0,ڹ,0.1,S,, -,,0,560,1,0,0,,0.01,PF,, -,,0,606,1,0,0,A_2,0.1,IA2,, -,,0,608,1,0,0,B_2,0.1,IB2,, -,,0,610,1,0,0,C_2,0.1,IC2,, -,,0,614,1,0,0,_2,0.1,I02,, -,,0,638,1,0,0,A,0.1,IAD,, -,,0,640,1,0,0,B,0.1,IBD,, -,,0,642,1,0,0,C,0.1,ICD,, -,,0,644,1,0,0,Aƶ,0.1,IAR,, -,,0,646,1,0,0,Bƶ,0.1,IBR,, -,,0,648,1,0,0,Cƶ,0.1,ICR,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,51329,51328,0,·,0,0,Null,,, -,,51330,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ1,,, -[Point],YX,0,49408,I101,DI1,0,0,0,,, -,,0,49409,I102,DI2,0,0,0,,, -,,0,49410,I103,DI3,0,0,0,,, -,,0,49411,I104,DI4,0,0,0,,, -,,0,49412,I105,DI5,0,0,0,,, -,,0,49413,I106,DI6,0,0,0,,, -,,0,49414,I107,DI7,0,0,0,,, -,,0,49415,I108,DI8,0,0,0,,, -,,0,49416,I109,DI9,0,0,0,,, -,,0,49417,I110,DI10,0,0,0,,, -,,0,49418,I111,DI11,0,0,0,,, -,,0,49419,I112,DI12,0,0,0,,, -,,0,49420,I113,DI13,0,0,0,,, -,,0,49421,I114,DI14,0,0,0,,, -,,0,49424,I201,DI15,0,0,0,,, -,,0,49425,I202,DI16,0,0,0,,, -,,0,49426,I203,DI17,0,0,0,,, -,,0,49427,I204,DI18,0,0,0,,, -,,0,49428,I205,DI19,0,0,0,,, -,,0,49429,I206,DI20,0,0,0,,, -,,0,49430,I207,DI21,0,0,0,,, -,,0,49431,I208,DI22,0,0,0,,, -,,0,49432,I209,DI23,0,0,0,,, -,,0,49433,I210,DI24,0,0,0,,, -,,0,49434,I211,DI25,0,0,0,,, -,,0,49435,I212,DI26,0,0,0,,, -,,0,49436,I213,DI27,0,0,0,,, -,,0,49437,I214,DI28,0,0,0,,, -,,0,49440,I301,DI29,0,0,0,,, -,,0,49441,I302,DI30,0,0,0,,, -,,0,49442,I303,DI31,0,0,0,,, -,,0,49443,I304,DI32,0,0,0,,, -,,0,49444,I305,DI33,0,0,0,,, -,,0,49445,I306,DI34,0,0,0,,, -,,0,49446,I307,DI35,0,0,0,,, -,,0,49447,I308,DI36,0,0,0,,, -,,0,49448,I309,DI37,0,0,0,,, -,,0,49449,I310,DI38,0,0,0,,, -,,0,49450,I311,DI39,0,0,0,,, -,,0,49451,I312,DI40,0,0,0,,, -,,0,49452,I313,DI41,0,0,0,,, -,,0,49453,I314,DI42,0,0,0,,, -,,0,51457,ƹ,CF,0,0,0,,, -,,0,51458,բ·,TCS,0,0,0,,, -,,0,51460,Ϻsepamδλ,NRT,0,0,0,,, -,,0,51520,̵1,OC1,0,0,0,,, -,,0,51521,̵2,OC2,0,0,0,,, -,,0,51522,̵3,OC3,0,0,0,,, -,,0,51523,̵4,OC4,0,0,0,,, -,,0,51528,̵1,EOC1,0,0,0,,, -,,0,51536, Ƿѹ̵1,UV1,0,0,0,,, -,,0,51537, Ƿѹ̵2,UV2,0,0,0,,, -,,0,51544, ѹ̵1,OV1,0,0,0,,, -,,0,51545, ѹ̵2,OV2,0,0,0,,, -,,0,51570,1,BY1,0,0,0,,, -,,0,51571,2,BY2,0,0,0,,, -,,0,51572,3,BY3,0,0,0,,, -,,0,51581,ѹ,TRDiff,0,0,0,,, -,,0,51664,·CT,CTS1,0,0,0,,, -,,0,51665,·PT,VTS1,0,0,0,,, -,,0,51667,·CT,CTS2,0,0,0,,, -,,0,51668,·PT,VTS2,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SEPAM/Z82.CSV b/PSCADA/电子行业模板/common/device_model/SEPAM/Z82.CSV deleted file mode 100644 index d37b458..0000000 --- a/PSCADA/电子行业模板/common/device_model/SEPAM/Z82.CSV +++ /dev/null @@ -1,60 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],36,15,1,T87,1#ѹ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,49408,80,1,1000,0,0,3,300000,0 -,,3,512,50,32,1000,1,0,3,100,0 -,,2,51456,224,1,1000,0,0,3,300000,0 -,,3,600,50,32,1000,1,0,3,100,0 -,,6,24577,8,1,1000,1,1,3,100,0 -[Title] , , ֵ, ֵ, Ŵϵ, ֵ, ֵ, , װϵ, ֵļ,, -[Point],DZ,0,3,1,0,0,1,1,Null,, -,,1,4,1,0,0,2,1,Null,, -,,24577,0,1,0,2,ѹͶ,1,Ͷ˳.ini,, -,,24577,1,1,0,4,ֵ,1,Null,, -,,24577,2,1,0,5,ƶ,1,Null,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,512,1,0,0,A,0.1,IA,, -,,0,514,1,0,0,B,0.1,IB,, -,,0,516,1,0,0,C,0.1,IC,, -,,0,520,1,0,0,,0.1,I01,, -,,0,552,1,0,0,Ƶ,0.01,F,, -,,0,560,1,0,0,,0.01,PF,, -,,0,606,1,0,0,A_2,0.1,IA2,, -,,0,608,1,0,0,B_2,0.1,IB2,, -,,0,610,1,0,0,C_2,0.1,IC2,, -,,0,614,1,0,0,_2,0.1,I02,, -,,0,638,1,0,0,A,0.1,IAD,, -,,0,640,1,0,0,B,0.1,IBD,, -,,0,642,1,0,0,C,0.1,ICD,, -,,0,644,1,0,0,Aƶ,0.1,IAR,, -,,0,646,1,0,0,Bƶ,0.1,IBR,, -,,0,648,1,0,0,Cƶ,0.1,ICR,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,51329,51328,0,·,0,0,Null,,, -,,51330,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,49408,I101,DI1,0,0,0,,, -,,0,49409,I102,DI2,0,0,0,,, -,,0,49410,˹բ,LG,0,0,0,,, -,,0,49411,˹,LLG,0,0,0,,, -,,0,49412,˹բ,LGT,0,0,0,,, -,,0,49413,˹,LLGA,0,0,0,,, -,,0,49414,բ,OTT,0,0,0,,, -,,0,49415,±,HTA,0,0,0,,, -,,0,49416,ѹͷբ,PRT,0,0,0,,, -,,0,49417,I110,DI10,0,0,0,,, -,,0,49418,I111,DI11,0,0,0,,, -,,0,49419,I112,DI12,0,0,0,,, -,,0,49420,I113,DI13,0,0,0,,, -,,0,49421,I114,DI14,0,0,0,,, -,,0,51457,ƹ,CF,0,0,0,,, -,,0,51458,բ·,TCS,0,0,0,,, -,,0,51460,Ϻsepamδλ,NRT,0,0,0,,, -,,0,51570,1,BY1,0,0,0,,, -,,0,51571,2,BY2,0,0,0,,, -,,0,51572,3,BY3,0,0,0,,, -,,0,51581,ѹ,TRDiff,0,0,0,,, -,,0,51664,·CT,CTS1,0,0,0,,, -,,0,51667,·CT,CTS2,0,0,0,,, -,,65534,65534,¼,LB,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SIEMENS/7RW600-103.CSV b/PSCADA/电子行业模板/common/device_model/SIEMENS/7RW600-103.CSV deleted file mode 100644 index 2072c51..0000000 --- a/PSCADA/电子行业模板/common/device_model/SIEMENS/7RW600-103.CSV +++ /dev/null @@ -1,10 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,7,11,7RW600,IPT,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,78,138,10000,0,2,Ux,0.001,Ux -,,78,138,10000,0,1,U,0.001,U -,,78,138,10000,0,0,F,0.005,F -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,78,68,բ,Trip,0,0,0, -,,78,84,,Fault,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ600-103.CSV b/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ600-103.CSV deleted file mode 100644 index 48a9a60..0000000 --- a/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ600-103.CSV +++ /dev/null @@ -1,8 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],7,7,11,7SJ600,͸,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,160,144,10000,0,0,IB,0.15,IB -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,160,68,բ,Trip,0,0,0, -,,160,84,,Fault,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ68-103.CSV b/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ68-103.CSV deleted file mode 100644 index fc98832..0000000 --- a/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ68-103.CSV +++ /dev/null @@ -1,47 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],95,5,11,7SJ68,1#߱,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,134,137,10000,0,0,IA,0.0001,IA -,,134,137,10000,0,1,IB,0.0001,IB -,,134,137,10000,0,2,IC,0.0001,IC -,,134,137,10000,0,3,IN,0.0001,IN -,,134,137,10000,0,4,UAN,0.0001,VA -,,134,137,10000,0,5,UBN,0.0001,VB -,,134,137,10000,0,6,UCN,0.0001,VC -,,134,137,10000,0,7,UAB,0.0001,UAB -,,134,137,10000,0,8,UBC,0.0001,UBC -,,134,137,10000,0,9,UCA,0.0001,UCA -,,134,137,10000,0,10,P,0.0001,P -,,134,137,10000,0,11,Q,0.0001,Q -,,134,137,10000,0,12,F,0.005,F -,,134,137,10000,0,13,PF,0.0001,PF -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,240,162,0,·,0,0,Null, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д, -[Point],YM,133,51,1,0,й,0.0000144,EPd, -,,133,52,1,0,й,0.0000144,EPr, -,,133,53,1,0,޹,0.0000144,EQd, -,,133,54,1,0,޹,0.0000144,EQr, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,60,58,ʱ޹,OC1,0,0,0, -,,74,39,Ƿѹ,UV,0,0,0, -,,74,70,ѹ,OV,0,0,0, -,,151,123,ӵٶ϶,SEOC1,0,0,0, -,,151,126,ӵع,SEOC2,0,0,0, -,,160,90,,OC2,0,0,0, -,,160,91,ٶ϶,OC3,0,0,0, -,,160,92,,EOC1,0,0,0, -,,160,93,ٶ϶,EOC2,0,0,0, -,,240,0,3,DI3,0,0,0, -,,240,1,4,DI4,0,0,0, -,,240,2,5,DI5,0,0,0, -,,240,3,6,DI6,0,0,0, -,,240,4,7,DI7,0,0,0, -,,240,5,8,DI8,0,0,0, -,,240,6,9,DI9,0,0,0, -,,240,7,10,DI10,0,0,0, -,,240,8,11,DI11,0,0,0, -,,240,161,·λ,PosOff,0,0,0, -,,240,162,·λ,PosOn,0,0,0, -,,255,255,PT,VTS,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686-103DZ.CSV b/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686-103DZ.CSV deleted file mode 100644 index 3800beb..0000000 --- a/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686-103DZ.CSV +++ /dev/null @@ -1,65 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,11,7SJ68,1#߱,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,6,16,1000,0,1,100,100,0 -[Title] , , ֵ, ֵ, Ŵϵ, ֵ, ֵ, , װϵ, ֵļ,, -[Point],DZ,10,1,1,0,0,IͶͶ,1,ӱͶ.ini,, -,,10,2,1,0,18,IξϵѹͶ,1,ӱͶ.ini,, -,,10,3,1,0,19,IξͶ,1,ӷͶ.ini,, -,,10,4,1,0,20,Iֵ,1,Null,, -,,10,5,1,0,21,Iʱ,1,Null,, -,,10,6,1,0,1,IIͶͶ,1,ӱͶ.ini,, -,,10,7,1,0,22,IIξϵѹͶ,1,ӱͶ.ini,, -,,10,8,1,0,23,IIξͶ,1,ӷͶ.ini,, -,,10,9,1,0,24,IIֵ,1,Null,, -,,10,10,1,0,25,IIʱ,1,Null,, -,,10,11,1,0,2,IIIͶͶ,1,ӱͶ.ini,, -,,10,12,1,0,26,IIIξϵѹͶ,1,ӱͶ.ini,, -,,10,13,1,0,27,IIIξͶ,1,ӷͶ.ini,, -,,10,14,1,0,28,IIIֵ,1,Null,, -,,10,15,1,0,29,IIIʱ,1,Null,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,134,137,10000,0,0,IA,0.0001,IA,, -,,134,137,10000,0,1,IB,0.0001,IB,, -,,134,137,10000,0,2,IC,0.0001,IC,, -,,134,137,10000,0,3,IN,0.0001,IN,, -,,134,137,10000,0,4,UAN,0.0001,VA,, -,,134,137,10000,0,5,UBN,0.0001,VB,, -,,134,137,10000,0,6,UCN,0.0001,VC,, -,,134,137,10000,0,7,UAB,0.0001,UAB,, -,,134,137,10000,0,8,UBC,0.0001,UBC,, -,,134,137,10000,0,9,UCA,0.0001,UCA,, -,,134,137,10000,0,10,P,0.0001,P,, -,,134,137,10000,0,11,Q,0.0001,Q,, -,,134,137,10000,0,12,F,0.005,F,, -,,134,137,10000,0,13,PF,0.0001,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,240,162,0,·,0,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,133,51,1,0,й,0.0000144,EPd,,, -,,133,52,1,0,й,0.0000144,EPr,,, -,,133,53,1,0,޹,0.0000144,EQd,,, -,,133,54,1,0,޹,0.0000144,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,60,58,ʱ޹,OC1,0,0,0,,, -,,74,39,Ƿѹ,UV,0,0,0,,, -,,74,70,ѹ,OV,0,0,0,,, -,,151,123,ӵٶ϶,SEOC1,0,0,0,,, -,,151,126,ӵع,SEOC2,0,0,0,,, -,,160,90,,OC2,0,0,0,,, -,,160,91,ٶ϶,OC3,0,0,0,,, -,,160,92,,EOC1,0,0,0,,, -,,160,93,ٶ϶,EOC2,0,0,0,,, -,,240,0,3,DI3,0,0,0,,, -,,240,1,4,DI4,0,0,0,,, -,,240,2,5,DI5,0,0,0,,, -,,240,3,6,DI6,0,0,0,,, -,,240,4,7,DI7,0,0,0,,, -,,240,5,8,DI8,0,0,0,,, -,,240,6,9,DI9,0,0,0,,, -,,240,7,10,DI10,0,0,0,,, -,,240,8,11,DI11,0,0,0,,, -,,240,161,·λ,PosOff,0,0,0,,, -,,240,162,·λ,PosOn,0,0,0,,, -,,255,255,PT,VTS,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686-TCP103.csv b/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686-TCP103.csv deleted file mode 100644 index 83b277f..0000000 --- a/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686-TCP103.csv +++ /dev/null @@ -1,38 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],16,5,388,NSP,192.168.3.42%1#ѹ,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,134,137,1,0,0,IA,1,IA -,,134,137,1,0,1,IB,1,IB -,,134,137,1,0,2,IC,1,IC -,,134,137,1,0,3,IN,1,IG -,,134,137,1,0,4,UAN,1,VA -,,134,137,1,0,5,UBN,1,VB -,,134,137,1,0,6,UCN,1,VC -,,134,137,1,0,7,UAB,1,UAB -,,134,137,1,0,8,UBC,1,UBC -,,134,137,1,0,9,UCA,1,UCA -,,134,137,1,0,10,P,1,P -,,134,137,1,0,11,Q,1,Q -,,134,137,1,0,12,F,1,F -,,134,137,1,0,13,PF,1,PF -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,254,255,0,ң,0,0,n, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,254,1,·λ,PosOn,0,0,0, -,,254,2,·λ,PosOff,0,0,0, -,,254,3,ֳλ,RkdIn,0,0,0, -,,254,4,ֳʵλ,RkdOut,0,0,0, -,,255,5,δ,NCGPos,0,0,0, -,,255,6,͵,Local,0,0,0, -,,255,7,ƻ·,TCS,0,0,0, -,,255,8,1,YXBY1,0,0,0, -,,255,9,2,YXBY2,0,0,0, -,,255,10,3,YXBY3,0,0,0, -,,255,11,4,YXBY4,0,0,0, -,,255,18,ѹ,XOC1,0,0,0, -,,74,40,͵ѹ,UV1,0,0,0, -,,500,1,5,YXBY8,0,0,0, -,,500,2,6,YXBY9,0,0,0, -,,500,3,7,YXBY10,0,0,0, -,,500,4,8,YXBY11,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686.CSV b/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686.CSV deleted file mode 100644 index bb50008..0000000 --- a/PSCADA/电子行业模板/common/device_model/SIEMENS/7SJ686.CSV +++ /dev/null @@ -1,50 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],4,5,1,7SJ6865A,AH4,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,0,14,16,1000,0,0,100,100,0 -,,2,176,6,1,1000,0,0,100,100,1 -,,2,1,50,1,1000,0,0,100,100,1 -,,2,88,5,1,1000,0,0,100,100,1 -,,2,192,4,1,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,A,0.1,IA,, -,,0,1,1,0,0,B,0.1,IB,, -,,0,2,1,0,0,C,0.1,IC,, -,,0,3,1,0,0,N,0.1,IN,, -,,0,4,1,0,0,Aѹ,0.01,VA,, -,,0,5,1,0,0,Bѹ,0.01,VB,, -,,0,6,1,0,0,Cѹ,0.01,VC,, -,,0,7,1,0,0,ABߵѹ,0.01,UAB,, -,,0,8,1,0,0,BCߵѹ,0.01,UBC,, -,,0,9,1,0,0,ACߵѹ,0.01,UCA,, -,,0,10,1,0,0,й,0.01,P,, -,,0,11,1,0,0,޹,0.01,Q,, -,,0,12,1,0,0,Ƶ,0.01,F,, -,,0,13,1,0,0,,0.0001,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,48,49,0,O3O4,65280,65280,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,1,1,OC1,0,0,0,,, -,,0,3,2,OC2,0,0,0,,, -,,0,5,3,OC3,0,0,0,,, -,,0,7,ʱ,OC4,0,0,0,,, -,,0,18,1,EOC1,0,0,0,,, -,,0,20,2,EOC2,0,0,0,,, -,,0,40,Ƿѹ1,UV1,0,0,0,,, -,,0,41,Ƿѹ2,UV2,0,0,0,,, -,,0,42,ѹ1,OV1,0,0,0,,, -,,0,43,ѹ2,OV2,0,0,0,,, -,,0,48,1բ,OLOADT,0,0,0,,, -,,0,88,1,UnbOC1,0,0,0,,, -,,0,89,2,UnbOC2,0,0,0,,, -,,0,91,ѹ1,EOV1,0,0,0,,, -,,0,176,·λ,PosOff,0,0,0,,, -,,0,177,·λ,PosOn,0,0,0,,, -,,0,178,ֳλ,RkdIn,0,0,0,,, -,,0,179,ӵؿغλ,ESPos,0,0,0,,, -,,0,180,δ,CGOff,0,0,0,,, -,,0,181,Զλ,LocRem,0,0,0,,, -,,0,192,1α,OLOADA,0,0,0,,, -,,0,194,PT,VTS,0,0,0,,, -,,0,195,CT,CTS,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/VAMP/0.VAMP57-MODBUS串口及TCP通讯总述.docx b/PSCADA/电子行业模板/common/device_model/VAMP/0.VAMP57-MODBUS串口及TCP通讯总述.docx deleted file mode 100644 index 1af1e9048e53553f74bf109228d18dfb01ff2448..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 418949 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�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

    ^BrRna#^$*%HT^oVeLiAcH>4RZ&hhHRrPi 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%0Dly)OVomP`6+H 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%0AP2ST_axCHW( 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/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 AJ^%m! diff --git a/PSCADA/电子行业模板/common/device_model/VAMP/255VAMP模板.CSV b/PSCADA/电子行业模板/common/device_model/VAMP/255VAMP模板.CSV deleted file mode 100644 index f8a9b97..0000000 --- a/PSCADA/电子行业模板/common/device_model/VAMP/255VAMP模板.CSV +++ /dev/null @@ -1,55 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,11,VAMP255,,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,160,147,10000,0,0,COS,1,PF -,,160,147,10000,0,1,UO,1,I0 -,,160,148,10000,0,0,IL1,1,IA -,,160,148,10000,0,1,IL2,1,IB -,,160,148,10000,0,2,IL3,1,IC -,,160,148,10000,0,3,UL1,1,VA -,,160,148,10000,0,4,UL2,1,VB -,,160,148,10000,0,5,UL3,1,VC -,,160,148,10000,0,6,P,1,P -,,160,148,10000,0,7,Q,1,Q -,,160,148,10000,0,8,F,1,F -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,55,163,0,ң,55,164,2, -,,160,19,0,,0,0,2, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,0,1,1,BY1,0,0,0, -,,0,2,2,BY2,0,0,0, -,,0,3,3,BY3,0,0,0, -,,0,4,4,BY4,0,0,0, -,,0,5,5,BY5,0,0,0, -,,0,6,6,BY6,0,0,0, -,,55,161,DI1,DI1,0,0,0, -,,55,162,DI2,DI2,0,0,0, -,,55,163,DI3,DI3,0,0,0, -,,55,164,DI4,DI4,0,0,0, -,,55,165,DI5,DI5,0,0,0, -,,55,166,DI6,DI6,0,0,0, -,,55,168,Ƿѹ1,UV1,0,0,0, -,,55,169,CT,CTS,0,0,0, -,,55,170,VT,VTS,0,0,0, -,,160,90,1,OC1,0,0,0, -,,160,91,2,OC2,0,0,0, -,,160,96,3,OC3,0,0,0, -,,160,92,1,EOC1,0,0,0, -,,160,93,2,EOC2,0,0,0, -,,160,103,ѹ1,EOV1,0,0,0, -,,160,105,ѹ2,EOV2,0,0,0, -,,160,107,,UnbOC1,0,0,0, -,,160,109,ȹ,ThO,0,0,0, -,,160,124,3,EOV3,0,0,0, -,,160,126,4,EOV4,0,0,0, -,,160,131,DI7,DI7,0,0,0, -,,160,132,DI8,DI8,0,0,0, -,,160,133,DI9,DI9,0,0,0, -,,160,134,DI10,DI10,0,0,0, -,,160,135,DI11,DI11,0,0,0, -,,160,136,DI12,DI12,0,0,0, -,,160,137,DI13,DI13,0,0,0, -,,160,138,DI14,DI14,0,0,0, -,,160,139,DI15,DI15,0,0,0, -,,160,140,DI16,DI16,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/VAMP/256VAMP模板.CSV b/PSCADA/电子行业模板/common/device_model/VAMP/256VAMP模板.CSV deleted file mode 100644 index d8fa3e7..0000000 --- a/PSCADA/电子行业模板/common/device_model/VAMP/256VAMP模板.CSV +++ /dev/null @@ -1,44 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,11,VAMP265,,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,160,73,10000,0,0,dIL1,1,IAD -,,160,73,10000,0,1,dIL2,1,IBD -,,160,73,10000,0,2,dIL3,1,ICD -,,160,148,10000,0,0,IL1,1,IA -,,160,148,10000,0,1,IL2,1,IB -,,160,148,10000,0,2,IL3,1,IC -,,160,148,10000,0,3,ԲIL1,1,IIA -,,160,148,10000,0,4,ԲIL2,1,IIB -,,160,148,10000,0,5,ԲIL3,1,IIC -,,160,148,10000,0,8,Ƶ,1,F -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,55,163,0,ң,55,164,2, -,,160,19,0,,0,0,2, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,0,1,1,BY1,0,0,0, -,,0,2,2,BY2,0,0,0, -,,0,3,3,BY3,0,0,0, -,,0,4,4,BY4,0,0,0, -,,0,5,5,BY5,0,0,0, -,,0,6,6,BY6,0,0,0, -,,55,161,DI1,DI1,0,0,0, -,,55,162,DI2,DI2,0,0,0, -,,55,163,DI3,DI3,0,0,0, -,,55,164,DI4,DI4,0,0,0, -,,55,165,DI5,DI5,0,0,0, -,,55,166,DI6,DI6,0,0,0, -,,160,90,1,OC1,0,0,0, -,,160,91,2,OC2,0,0,0, -,,160,92,1,EOC1,0,0,0, -,,160,93,2,EOC2,0,0,0, -,,160,98,CT,CTS,0,0,0, -,,160,103,1,Diff1,0,0,0, -,,160,105,2,Diff2,0,0,0, -,,160,107,,UnbOC1,0,0,0, -,,160,109,ȹ,ThO,0,0,0, -,,160,124,3,EOC3,0,0,0, -,,160,126,4,EOC4,0,0,0, -,,160,137,Բ1,IIOC1,0,0,0, -,,160,138,Բ2,IIOC2,0,0,0, -,,160,139,Բฺ,IIUnbOC1,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/VAMP/265VAMP模板.CSV b/PSCADA/电子行业模板/common/device_model/VAMP/265VAMP模板.CSV deleted file mode 100644 index 66e86a6..0000000 --- a/PSCADA/电子行业模板/common/device_model/VAMP/265VAMP模板.CSV +++ /dev/null @@ -1,43 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,11,VAMP265,,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,160,73,10000,0,0,dIL1,1,IAD -,,160,73,10000,0,1,dIL2,1,IBD -,,160,73,10000,0,2,dIL3,1,ICD -,,160,148,10000,0,0,IL1,1,IA -,,160,148,10000,0,1,IL2,1,IB -,,160,148,10000,0,2,IL3,1,IC -,,160,148,10000,0,3,ԲIL1,1,IIA -,,160,148,10000,0,4,ԲIL2,1,IIB -,,160,148,10000,0,5,ԲIL3,1,IIC -,,160,148,10000,0,8,Ƶ,1,F -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,55,163,0,ң,55,164,2, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,0,1,1,BY1,0,0,0, -,,0,2,2,BY2,0,0,0, -,,0,3,3,BY3,0,0,0, -,,0,4,4,BY4,0,0,0, -,,0,5,5,BY5,0,0,0, -,,0,6,6,BY6,0,0,0, -,,55,161,DI1,DI1,0,0,0, -,,55,162,DI2,DI2,0,0,0, -,,55,163,DI3,DI3,0,0,0, -,,55,164,DI4,DI4,0,0,0, -,,55,165,DI5,DI5,0,0,0, -,,55,166,DI6,DI6,0,0,0, -,,160,90,1,OC1,0,0,0, -,,160,91,2,OC2,0,0,0, -,,160,92,1,EOC1,0,0,0, -,,160,93,2,EOC2,0,0,0, -,,160,98,CT,CTS,0,0,0, -,,160,103,1,Diff1,0,0,0, -,,160,105,2,Diff2,0,0,0, -,,160,107,,UnbOC1,0,0,0, -,,160,109,ȹ,ThOA,0,0,0, -,,160,124,3,EOC3,0,0,0, -,,160,126,4,EOC4,0,0,0, -,,160,137,Բ1,II0C1,0,0,0, -,,160,138,Բ2,IIOC2,0,0,0, -,,160,139,Բฺ,IIUnbOC1,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/VAMP/50VAMP模板.CSV b/PSCADA/电子行业模板/common/device_model/VAMP/50VAMP模板.CSV deleted file mode 100644 index 7188e18..0000000 --- a/PSCADA/电子行业模板/common/device_model/VAMP/50VAMP模板.CSV +++ /dev/null @@ -1,30 +0,0 @@ - ,豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,11,VAMP50,,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,160,148,10000,0,0,IL1,1,IA -,,160,148,10000,0,1,IL2,1,IB -,,160,148,10000,0,2,IL3,1,IC -,,160,148,10000,0,3,IO1,1,IO1 -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,55,163,0,ң,55,164,2, -,,160,19,0,,0,0,2, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,0,1,1,BY1,0,0,0, -,,0,2,2,BY2,0,0,0, -,,0,3,3,BY3,0,0,0, -,,0,4,4,BY4,0,0,0, -,,0,5,5,BY5,0,0,0, -,,0,6,6,BY6,0,0,0, -,,55,161,DI1,DI1,0,0,0, -,,55,162,DI2,DI2,0,0,0, -,,55,166,CT,CTS,0,0,0, -,,160,90,1,OC1,0,0,0, -,,160,91,2,OC2,0,0,0, -,,160,96,3,OC3,0,0,0, -,,160,92,1,EOC1,0,0,0, -,,160,93,2,EOC2,0,0,0, -,,160,107,,UnbOC1,0,0,0, -,,160,109,ȹ,ThO,0,0,0, -,,160,124,3,EOC3,0,0,0, -,,160,126,4,EOC4,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/VAMP/55VAMP模板.CSV b/PSCADA/电子行业模板/common/device_model/VAMP/55VAMP模板.CSV deleted file mode 100644 index f8426d3..0000000 --- a/PSCADA/电子行业模板/common/device_model/VAMP/55VAMP模板.CSV +++ /dev/null @@ -1,26 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,11,VAMP55,,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,160,148,10000,0,2,U0,1,V0 -,,160,148,10000,0,3,UL1,1,VA -,,160,148,10000,0,4,UL2,1,VB -,,160,148,10000,0,5,UL3,1,VC -,,160,148,10000,0,8,F,1,F -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,55,163,0,ң,55,164,2, -,,160,19,0,,0,0,2, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,0,1,1,BY1,0,0,0, -,,0,2,2,BY2,0,0,0, -,,0,3,3,BY3,0,0,0, -,,0,4,4,BY4,0,0,0, -,,0,5,5,BY5,0,0,0, -,,0,6,6,BY6,0,0,0, -,,55,161,DI1,DI1,0,0,0, -,,55,162,DI2,DI2,0,0,0, -,,55,166,PT,VTS,0,0,0, -,,160,99,ѹ1,OV1,0,0,0, -,,160,101,Ƿѹ1,UV1,0,0,0, -,,160,103,ѹ1,EOV1,0,0,0, -,,160,105,ѹ2,EOV2,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/VAMP/V57-modbusTCP.CSV b/PSCADA/电子行业模板/common/device_model/VAMP/V57-modbusTCP.CSV deleted file mode 100644 index deae19f..0000000 --- a/PSCADA/电子行业模板/common/device_model/VAMP/V57-modbusTCP.CSV +++ /dev/null @@ -1,70 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,59,VAMP57,1AH1,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1995,5,1,1000,0,0,100,100,0 -,,3,2006,1,1,1000,0,0,100,100,1 -,,3,2008,13,16,1000,0,0,100,1000,0 -,,3,2025,12,16,1000,0,2,100,1000,0 -,,3,2021,4,16,1000,1,0,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,2008,1,0,0,IA,1,IA,, -,,0,2009,1,0,0,IB,1,IB,, -,,0,2010,1,0,0,IC,1,IC,, -,,0,2011,1,0,0,I0,0.01,I0,, -,,0,2013,1,0,0,UAB,0.001,UAB,, -,,0,2014,1,0,0,UBC,0.001,UBC,, -,,0,2015,1,0,0,UCA,0.001,UCA,, -,,0,2016,1,0,0,UA,0.001,UA,, -,,0,2017,1,0,0,UB,0.001,UB,, -,,0,2018,1,0,0,UC,0.001,UC,, -,,0,2020,1,0,0,F,0.01,F,, -,,0,2021,1,0,0,P,1,P,, -,,0,2022,1,0,0,Q,1,Q,, -,,0,2024,1,0,0,PF,0.01,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,2508,2507,0,1,2509,1,n,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,2025,1,0,й1,1,EPd1,,, -,,0,2026,1,0,й2,1,EPd2,,, -,,0,2027,1,0,й3,1,EPd3,,, -,,0,2028,1,0,޹1,1,EQd1,,, -,,0,2029,1,0,޹2,1,EQd2,,, -,,0,2030,1,0,޹3,1,EQd3,,, -,,0,2031,1,0,й1,1,EPr1,,, -,,0,2032,1,0,й2,1,EPr2,,, -,,0,2033,1,0,й3,1,EPr3,,, -,,0,2034,1,0,޹1,1,EQr1,,, -,,0,2035,1,0,޹2,1,EQr2,,, -,,0,2036,1,0,޹3,1,EQr3,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,1995,66,1ζ,OC1,0,0,0,,, -,,1995,68,1θ,OC1Rs,0,0,0,,, -,,1995,130,2ζ,OC2,0,0,0,,, -,,1995,132,2θ,OC2Rs,0,0,0,,, -,,1995,194,3ζ,OC3,0,0,0,,, -,,1995,196,3θ,OC3Rs,0,0,0,,, -,,1995,1282,1ζ,EOC1,0,0,0,,, -,,1995,1284,1θ,EOC1Rs,0,0,0,,, -,,1995,1346,2ζ,EOC2,0,0,0,,, -,,1995,1348,2θ,EOC2Rs,0,0,0,,, -,,1995,1922,ѹ,OV1,0,0,0,,, -,,1995,1924,ѹ,OV1Rs,0,0,0,,, -,,1995,2050,͵ѹ,UV1,0,0,0,,, -,,1995,2052,͵ѹ,UV1Rs,0,0,0,,, -,,2006,0,DI1,DI1,0,0,0,,, -,,2006,1,DI2,DI2,0,0,0,,, -,,2006,2,DI3,DI3,0,0,0,,, -,,2006,3,DI4,DI4,0,0,0,,, -,,2006,4,DI5,DI5,0,0,0,,, -,,2006,5,DI6,DI6,0,0,0,,, -,,2006,6,DI7,DI7,0,0,0,,, -,,2006,7,DI8,DI8,0,0,0,,, -,,2006,8,DI9,DI9,0,0,0,,, -,,2006,9,DI10,DI10,0,0,0,,, -,,2006,10,DI11,DI11,0,0,0,,, -,,2006,11,DI12,DI12,0,0,0,,, -,,2006,12,DI13,DI13,0,0,0,,, -,,2006,13,DI14,DI14,0,0,0,,, -,,2006,14,DI15,DI15,0,0,0,,, -,,2006,15,DI16,DI16,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/VAMP/V57.CSV b/PSCADA/电子行业模板/common/device_model/VAMP/V57.CSV deleted file mode 100644 index 155944e..0000000 --- a/PSCADA/电子行业模板/common/device_model/VAMP/V57.CSV +++ /dev/null @@ -1,69 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,VAMP57,1AH1,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1995,5,1,1000,0,0,100,100,0 -,,3,2006,1,1,1000,0,0,100,100,1 -,,3,2008,17,16,1000,0,0,100,1000,0 -,,3,2025,12,16,1000,0,2,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,2008,1,0,0,IA,1,IA,, -,,0,2009,1,0,0,IB,1,IB,, -,,0,2010,1,0,0,IC,1,IC,, -,,0,2011,1,0,0,I0,0.01,I0,, -,,0,2013,1,0,0,UAB,0.001,UAB,, -,,0,2014,1,0,0,UBC,0.001,UBC,, -,,0,2015,1,0,0,UCA,0.001,UCA,, -,,0,2016,1,0,0,UA,0.001,UA,, -,,0,2017,1,0,0,UB,0.001,UB,, -,,0,2018,1,0,0,UC,0.001,UC,, -,,0,2020,1,0,0,F,0.01,F,, -,,250,2021,1,0,0,P,1,P,, -,,250,2022,1,0,0,Q,1,Q,, -,,250,2024,1,0,0,PF,0.01,PF,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,2508,2507,0,1,2509,1,n,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,2025,1,0,й1,1,EPd1,,, -,,0,2026,1,0,й2,1,EPd2,,, -,,0,2027,1,0,й3,1,EPd3,,, -,,0,2028,1,0,޹1,1,EQd1,,, -,,0,2029,1,0,޹2,1,EQd2,,, -,,0,2030,1,0,޹3,1,EQd3,,, -,,0,2031,1,0,й1,1,EPr1,,, -,,0,2032,1,0,й2,1,EPr2,,, -,,0,2033,1,0,й3,1,EPr3,,, -,,0,2034,1,0,޹1,1,EQr1,,, -,,0,2035,1,0,޹2,1,EQr2,,, -,,0,2036,1,0,޹3,1,EQr3,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,1995,66,1ζ,OC1,0,0,0,,, -,,1995,68,1θ,OC1Rs,0,0,0,,, -,,1995,130,2ζ,OC2,0,0,0,,, -,,1995,132,2θ,OC2Rs,0,0,0,,, -,,1995,194,3ζ,OC3,0,0,0,,, -,,1995,196,3θ,OC3Rs,0,0,0,,, -,,1995,1282,1ζ,EOC1,0,0,0,,, -,,1995,1284,1θ,EOC1Rs,0,0,0,,, -,,1995,1346,2ζ,EOC2,0,0,0,,, -,,1995,1348,2θ,EOC2Rs,0,0,0,,, -,,1995,1922,ѹ,OV1,0,0,0,,, -,,1995,1924,ѹ,OV1Rs,0,0,0,,, -,,1995,2050,͵ѹ,UV1,0,0,0,,, -,,1995,2052,͵ѹ,UV1Rs,0,0,0,,, -,,2006,0,DI1,DI1,0,0,0,,, -,,2006,1,DI2,DI2,0,0,0,,, -,,2006,2,DI3,DI3,0,0,0,,, -,,2006,3,DI4,DI4,0,0,0,,, -,,2006,4,DI5,DI5,0,0,0,,, -,,2006,5,DI6,DI6,0,0,0,,, -,,2006,6,DI7,DI7,0,0,0,,, -,,2006,7,DI8,DI8,0,0,0,,, -,,2006,8,DI9,DI9,0,0,0,,, -,,2006,9,DI10,DI10,0,0,0,,, -,,2006,10,DI11,DI11,0,0,0,,, -,,2006,11,DI12,DI12,0,0,0,,, -,,2006,12,DI13,DI13,0,0,0,,, -,,2006,13,DI14,DI14,0,0,0,,, -,,2006,14,DI15,DI15,0,0,0,,, -,,2006,15,DI16,DI16,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/VAMP/V57遥控-Modbus.docx b/PSCADA/电子行业模板/common/device_model/VAMP/V57遥控-Modbus.docx deleted file mode 100644 index 92cf8979b548d2cf696b09790a7203e7d69c5509..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273199 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 `ll8 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

    #XQ`TQ3jI~yAv58mtSQdjy+?XDR+q#SdI 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%0DB(M_<4!Al9uG95rKyR@ zdEtc@P!lZ{^<4A82OWa3C>p0y@eVA!DsEGY*#OHGXbYsk?19QDXO9)g=XN7YZrmsa zA7oz8AHdCogMZ&%vu5{QcctL_)@@r3JM0ih7pbgpD&2Kg6pn;BhsA+f=gW~e2>2ax zCgqV}xm4rR%(giFi#|}BI<>zISPy#xTTaC>vb%87z@^%<_U*T-YemQfc8QfIESfip zFy(S>-MWPoNz5;d&%C*F@Ms2@0VMQIum|kS;gP`BZS5_stspZYsFjr%lTaDeR#l^| zd-};IYpN?zDx*^(l0%X$n=DvZvD6`y+;`stREEGY6q6uVD9g8a@lt>jD23OKN5Y5; z(P%`}30UF8{3G7|3XRGk@ghoQQc7zrCKpB6cRev+o9bFnL#a#LCCI`??2*`e7ZYlYx97@gLa~g1AqeV_l?pJv*Yg zxg`)7Cfg`%B{#4K&pPXeJoT+JzTvO%rHBF{@XtalPN=b|fg%J{B0KV^BM582v4@`` zksv?uAp5tn%D-$mw5PSbqw~Z2@7F)jivUQaV)WAZSy0&!WikMUB>;PagshX9(PV;$ z0PG$KQ7YC7sOf|)au5~r!LkwWxpkdTu8<8k&qR+QMKTI#?DxO_ z-4)B0!F9^Qr_&fYnP2SnFrm5**WA`NZsTSMI6y|I0jvZmqcCOyksvinFk;ww{f#$b zu^{|D#pUO;&S9&=n*ukWewGKP0@}p0K0+zoB}+~`@kH9+-r4!Y6HmYzz!HL1Sbi8E zFfx2Mo(!Gc-BiT`xvX5dQt<-Bcvo)Q)&-)`_3HFd6aw;M*(~P?Gza?+8Uo*d@j>dr zpxAgT{S~-gK*Pu)!u}i?9{$v)K800t*IjqHP$% zNyLTT?k+`dGi)t%pjh1*HG90JrLDK8AB>470%iu-C9ocIh!659Cx3p+ri}~c&0YP* z>zLYL%}@dJ)3$9}(XeBkV%kw#ty{Mau;g9vfIJJw4Z3e=ZUJ_BA(AbDV( zG-}nV@|(yPouADNNv1H6J2C+U#92xRHWcWSpZp|O(9|K;U}OSWXxA^5D~X6`H#?Jk z3s1_4(gJ6(XGqnWNCeX#Y^i2%5f_3(gA^_WzsKTHZ-pNoWoWRU^_5Iygs_v6gETM_ znIVVdAN?;s-a#5DDl1r4Rui`R!yn!s&Kjfy03d;}2boOjGBO9KgP2SxD>xAtW}9eN zJzy0!hzU%PpHRvXOQrxY8+)CnSW0f={w4F~g@=a;RNQgrogn8(W3+~@k6&5DcqD@2 zm<2^vkgSK2Yrw?9p$qEn?qJV>3U=Ia2jGyp1>gS8chK#?*aZWlN&!H5VZX=g>Fw#k zg%spHIx?)Hx}*#>ZZue}0Y%_vbaVs(78f$Gc5iPF_?_YO_4i|m+`bK$B$74s>mtMG z%=fw zR5Tbj+;APp1=pP=%NDiGZMpHr8(8TtoqEd8fBsX{d?34n4>@q-#`T2lkw#-AFgQFs z*xA{>#~!*=1({?!*&M(jkR-_=2QZazOUX@}{fFa{p z%zA0P9PqE42nTclKHjS$z$-vi$cr$El5pGZ!obruw+(uRqc9KxZNt=Y*b#>@pA3*u zpzr#`(MSK}CqMnfr#=n2oinEqWW+0I3P2hilA`t#4rTZ$BFdSs?|;jkfSkag^5xS3 zU$8`!*hSbn;D8VBxZ{eoYga$_+%voHzAN$pl4w&?!-qb!@7KTn)ss*D{PD+s4zU1+ znAO)l2m}2?xV7l8VGix%&k6Vu;8C%}xlQfu!{IP5Te^4w^_~2czC}p+JD8AA##9^rWGo_NJR|Lc>G<0V@0v z(0VEJa8x^qFcvs+K$@sA>XZ=$y+JvZppDQlDb_eL6qK_Mmq3)jg)th+U3SUJu`%Z{ zpW4UjN@T}I((!0RT|;0fdf*|4o^ZnFPWkee{MA*lNR;H&d^a_>l4ZzjcU^Gd#aCT( z%_EOKE>kJ{D}$?$Su(X{RWOkeliW;$bN(MdC<$pLt4!X77G;cdERsMCj!$wkWwTM0$pAv_aJlW+ZF&bJM|q_m z<&Wg#a5%*876WD`LpdWfH7sXseVukR8tflL&{IkP;tZ=GNGvdqV5)+`gJ`q{hB!&$ zuqa+iYJ^}Yj7vW3F!0Siw8jbE%xj#7p7dd(}jSC2b1X5jgq1S z{*ySbKsbV9J3e#6qXG1Rj1l*q>Iye1wMa04Jfuu;E;5p9KV=SVv%(!4Eu+DJ+e@v! zkk?lUX(0?78bF$8#9>7OC73{$t7JhKFAz*xBT<+pQvfl1v=rnsn;Eb6(P9Gwaw^VF zYP9ldxl&uldeJvBl6Lp>5zEcS6HjhD0fZQcZe74#)g{(Zbt=)cN`)g44e#>Ja$^kB zv3|()sNc|ivF@0}X`ij@^Lv;R5CLO>3nOE>)8XS?7=)z`vxHYmf;sUwRRlv+)hfzF zO#;3OmPjIr>jj*hlpxNgvAvU_nxU~A%9^E8Nk~d&9NmOYt9+gxyx{$AGc%LfD|^p$ zl#B_{fq|O)(Ts>vgBZ4Vc6eQG(%mPbv0x-zUsFqkYNl&6L_Oh3(z9R70^Yd7 zQ%e^TL>!<|rt#7xOH_s7Q8;&6#*j1`snH;3HVDD=)ud!Qv%2OCX);oi9$J%%vn}7u~dWlAZY>0jclDQItp~ zH&zVzQUMVLe#Wg5dL7iwlpfV^;>=GzXTVvI@h!vG6Cj>>&$14;pL`&Bx5;7$;Od3=+ zs?vdLU)a*2=|5?$ESL~cRg9Weoy{A&G#pMzdoIbFRXYj_-tC)(m1LCq#gdFD--SF~ zQJ_^i4>C3R)C%IH%rnJbi~FLqo{Ub*p~!aL!$Qvm?N8SKNJ2aHW8S<`b~0vhahm;7 z%wIaA`I*TaPP(Ujn(67i8>tg4kv~e{Wp-H(h%w(dq$SfSLV~CobI)D(p7EV;H8-~0 z|KI}-7cTQt$)t#b3yJWOooRdJm6uR9YF!Zddz=mjoLMGCb`u9WcX*nXCNc|ALvUCe zF_kJ9@_^GCV*0nqY~l}+5+xJ zJ56n)H`cC2a?%-1AQd%LwK_mmkW~rF5@te@Z^3A}thtJtAp@~+?uttw1MW|LYHtg* zXU2xfn8r@Fn|T_3$;}Mn+6(lUWRrL+R(h(4f@l+OPWscKAwuwHgLizd*C?A5fH$EGEdB{rSX0eaSocv(uTOrdV71qPvA zSrla|WQY_soI-~MDpK4Mx<6&Khzfp+4Q!JSmPM1plKdIk4K7b6r--J|rLx>~ zStlH!?|4y6olt!d^m?RwK zq$O^Hot--uL174ViLiwmFPn~PBH%ZETCkvP%a#sWUa(*;k;B{%nifls+c7c{qxsL6WMPAV|E6HnnAlr{MAD&!30y6YPImTmAa=+sHV#U{TZNExpK6lu@HW zl#o1y+c9&+WEVMCLD8^h#w;0lEo1&$Zdz?V`zOC#_3~D7a4lWlVz$GmX#{r9gf}hUTvS=Pr9L(vwfFVb6F1U)DlD$d;4?d-F*{IK zcjxz$?4UvtY_*%@H~n(SNvu8`;!Y}JxOnO*oeL8wd>!aU@-B-WL0v3dSCz_DVVUu% zkW{9^Hs{L#1NuS+-NwtR!qpD7ao+_XStrwcvr`Q>psPT_V7*rUS z8ld!3EwaM7`c5q@$QV`G0*$6LzE*vcD(*Zh5wXSA@;{;9m}a~RY!ufncgTsF_WW`b z=U;2YKg$PfyBm-=7D7nK0FnixGnG6}^J4jNs{ z!1d-3K+>?Mz7=Fn=wT_qs>ezZ{`mR(K?bJTNqQhNgPiwrTXEA(et#)1RdUX9DOWEw zPwJcQ2{A>(PUR@d_F+c{UlEguZV_iAfd(-JP5vkgZ57r{my0x6BeV)albTu%`)FWf z&fK;@fIOoBr#kBhmne3?@;i@_&zG^0dWHl3ExNf?^Zkh2!RF#1sd*K?Xw> z8Ol<+T**WnwGvx_Z=BFj8e?7P9~=cyBiTSepczmvh$53Sm0^$+XW|b}x_0~8HT_~6 zxZ>iK#+>^TpV`aiCYAj#xR3A_b53fnTTNt#w>WJcvTtI?&@pM+^%ZhN>pIY*$p4l| z17lhnJM-iHG9*mL?TW6Zc$CNl5}H5G2#>QUnQTIHwZ%bcIY57FQ9vL0D}_c%J5Zjr z$s>h4hAN#REp3#Yw0z?8DZh!DxWHNHAEg5->08-jT4|t!bt-*yf{v)Lq&j4L5_7Cy zCzw}7y%zq|9GsMF&}k8hoI)NYP9rrIMa<$O`eeE()$3c@rP83735F`AR}qq1j-4($ z|4I)(u2n2$WGB3_FmXcJWE#dfdc{SQ0H7wJn&Xh~F;$0Z!ci(AO_B+ur4LpqBro^? z>)I%lL0R~mP8v|15T=e? z<5>;-`R!R4xyC1|D1sS14*~%#V1VR}Lj!|s97#!{0*U$NoGaQyOw0Ne;ClRsD4I(u zU-Yi3FnuH(phQ|N_cJ;wL8-OOANk#9B7Ni-wgGF-ck_*FG#Plxm~$#JfZkz<$tIzd z-`l`6QgN)Ox5sWF$333BXe~r}O+(DM)?H`}SdI)(#Y}4zXL`)MX2ncfoOoZE?X4{Y z($C@s9JdhQ`HQ}GDj6t(FF$FOj$A?eT^MUA9P?9IB||AT%(JTn1UDTS5cPVwLsO|T z4a)7a60s(e?L3lFWT|u^wbf9Myrf6@$JOP$>P+EmAp;z^SZD?LWHK-fy8x)^#wX#0 zX(_ALOy+x}@T7WNn||`wiG^;R!ckkEhBcF**`UlCluJ1!4K1r2j&liBm9KELGwBq^PoIoBeHNh z$_zb^xK~WJvE}IaF5^Mcna2H~{09_X-tF6y7avoy=E;Bg%Q$g?_s zA_{Xtnl(qLy^nPE9q>4qn(JJ_s~96KFP8l9%A=t;LB(^eW9N135#GWLpl?Rx5+vTQ z!|yezfaHMIb;4Rm7e8r#P`-VY6(FOLV1PfxMT$)ECR8<2p99H2c-FjgME?Df{@Dy6 z!#3c*`Nq}epPlu~S6}K7rO>h_GsVCSIK`98iK@r+Mxs|lYiTm^Rc6Uz?Z_}X(%}7o-^5sw`Z86!xQn5-oW|SgX{cKSP&{ohqmRCvu zQCFC_sPEA?>&CU(WWu-VryjIiR|2D4QA#MzCw-S{J0_1qPlm$31uUq%cgs%Fv}iPc zcS%1>`Xf3KK?|x#`#5&jy)8ZRH9ZSMkfeh$6)F%5bl>u8r1d-sI@GGG_`SkW3XuX&Q)Zbf)3FQF?~L-lOal+PGqV%uXZh;#JYw1T zR~rjNsrAo=L)DMsKv5wX2`PY~xKh0VOSFR%n$#}E=dpMoQ4N z&!-hOT9}v$Kavz4C%X)+igWFnUSm9niTD{RGk@aPJ*?hTdTcP7h*ecpTa7L<>ymFr zIw$PPnAKqm1V1#btn>&q^3x<*806VW1Md&_F&&zlF3pZE^IbUd=VIbB zN_jOsuJQd@99?0&{3O7a6`@|S9!D;GCOU$`6;L%M1~V-y3hyQGm8F22_>QL5&?t-cri$6t4>(A-P}ks=2(eS3M}uQX&Tw^-{{5FriPn zHQk>H3L@19yfw=9f3_E=gNF}V8knx1(@6tVbX9<-MS=0LBL{$I!Aq6I^mr&gN!DPh z^-$K3I-F~!xGbUxJ+X3&Jq2z`M+Vp%0V{Osk#(os~jlk$WcwiBO2~onM&v((&poq{#rG<4PJRc;;$asD6Ei zovB+@ke$DOx@}o-K%CrIv4vtI>b=wI*xro{Nc$5WE>J<5rF@%yy^w(dNhs-%%w&EW zPbf+%##oi`P7}WTc=gSt1z~hk`t6gHU`6bZ7r!P>gCYY($58cKK_R12MuC!#uZ1E5 zvjI7C!83>smJn~vBxw>Q*EN~M!4%E4(w=c>@6=MXt|>vOztD7KK*P^eGB9=C-T}Kx$eDH!aJ`Q8c|w>YCCZ$pL0l zRf9+qS;gac)Z{6yN!Wb&ci3F8zrLB@;rew30Um+XBbG>~_R=A{IwiAy7x(j^NOeT@kLIVwo({?`lnFt5C??bxymHTzTGbleHkvQVX z39ZVesERJs3$p?CWSN$N)UNRiz?sU%sQ70y)Zco`YsLf)qZdD$NmGW5h9x`RzoBL9K6;Zd}) zJ_`bbq)c>}>H$vK?VM$a0CMn>yuE5mU?Lt4uUH^70;w1Q}=`g-blh&j_v z5eljNE*OmZPeVgwWWm=FI43)Zn+=7T7HB6Mq|CGOh@&J6_?Pt}Xo_=62CzDS8fcea zDF95e2L1#Xbdh>+2pC`K@uex1aFFdlu`?=T8zON*n1CpOmZX-duBHm9=&vFX=#ZQ3 zpbX9k&Ae3ToEM-95|Bu|JwX7n4G~WG6(>=j&k6Xk6Ny#Ug}z)K8_$HI1WuFsFj47q zjEqVwD%~T?sElahYQnHkhtg=Wr6PtaE?X_$56S~e&9Ue!MYU8bf&PZUfiRvzOlWua z2!E0UiDXT%|41PqLFNK9r}O8PKW0M%-X~Cb=Vr>nHRzan2@-uu46NH_Cy6w(fW+r= z$fhHO9M!kN1WvW`bXJ1oOwV+GTS~lC? zAEM|M_XC#ztJI(@d(3|FDHIIPfhs>7i89#whKhk+>LiO(HprKvYJL5~;9^4GLA%?w zcIbk*s8d1f+uOUUs-(aLqd<5C{yBjLY~S7s7KR1{M`D4|Fq}Vb70g&~&u~j?Z6rvQ zd9pc?@+Cv4FpkF>zr%S^^_SK{k$8pAQCDB-b=zWzG>*$om!-bOw_(%POlnNBeYvfW zbeG+jk(gm-!xf8(dX)aN)xikw0G_i2IhKI@4y>=r<-oZUNjMV4-e``o@v2C?VGy4} z5)1_5b#?y1!GPC82u|8&G2nwu;I1!~vHEoWPO5)3BA`kSZ&&^ctW60|T)0Mp6=xWQ^pYEiE|q zKoao(!7rZ#2S$dYGWz(G!UfWTB>-$9We346Py$W}SBKw1c8Nw)uxLtpfN`{L-PR40 z>T=>SRbDeT38IWiYy+1*lTMq@`0jp417=$~nU-)cQ;sp)L41RQqjfcv$gp55wk*?E zj1FeBDly_T(tx~b<{ZT=D;LjxXMkV}oU$@gVoDO3Ad3l(RN!{2!{_(%H;F(*E=y%h zRvQ_?sWc3Qgq>p~@mSjKv?gLH{F8kiDahX6JLIpd5RH)1A;ysi(peG{s`5}U3ps)? zD*T=>RT~XNT9E2CjSZiYNt}aLuo@*3Deg!AM#Lab#S`ghBvw)BC(oD6Quc z|1c_Q`F-PzA#Ac%KtcZt(tymiUJkxyE7BXWVu(-)2kl_36Dd*&xl^ezi_Ju@;;{sX zzPoo2_(mAedys^PQcuI>jK)ZDE=hN(HXNjwu#XBGur0W4*Z@$ziO9B-%|mf;UEO^x zEe${vt{S9L*G!&FX8%xCZH;iwNWo(UWRgfU0WaLq)j6lN75~3fBIWV9fXQ?g@+^S6lW;mEH*FTxp(Bx7k9DD970>OrJoCl3u%0BIVf1YHu{AHH%_lt8x% zQ%0*YS22_fq^URc4-AqAhJlBIQGcbI0d{ovRgf;g=hAP_DY*pB$>FhM!ViU`+~f7T z6G?K7SV%88cTQ_8o@9I5t!5Oncyd%$h`p|W@h0@OvxdQv6)3Rlq_Y2AQWqQ|PM{Y-3NlziZjYT=gD?u1Ur6@+qlcE~MEn6x@3m<|42 zE9j8C0b@doJswJg%7ejRLcI3v@;IBz?{`?tE)hA#62l{*swxc5IS?`XLT^JJfdiPm-KQYHMTh7WvpJHV>(X49kxmN!f(M1AW6)6_qgD=oazY ztgQ0IqU0K(&YHlF)&o17)?`BJg!}wbc{rRLBk#7)Yabj6Rag4tN?06N9m-?sU8Dg$ z!3Y6Bsn{eeG-CvKR>=mh33y zmtFvWR_i>gn`Z@X)4`pxV2egBgN_dtj|55%8-a*5$A9j#Xd9h&%e{BsLq%eT&3VmL zfA8%X^q~3}3XBd9FJHRshU;z$2V>2RHE+KDhTr39XsrLzsb2)Vkl+YE=^q$IumfwT zDJYYF6 zIMPs$Yp~^0pFZ}}pFVc|hHaf)11KCc<%c&1%}p~Gvzt!<5|~4k30|W?JdcB;0gtER z-~awMxEKciiItDjXG*P-^{}URfDG4^&6?BJN~)Ic|KNw>zihMo^{?kc1DH@a`qy56 z6F-M*ue~0u+Sf;7McA=iDwgi=8G!EARM%g2$(0D5?d{zwpL~Xv>+74SY>KTf7>=g1 zq~fAlY>4ufOvMf>R-E&*pA!>Q>34ni%DOO>gSEcr-aC;j@4x?HG83RUHW^WZS^s^@?Q9lmQ+s?K#!Kx?a26SgWfY0T@yDNV z=9y=b6`4N6gr+iMz@G^9v+e!=hwlfalzs{^Yp_A7G$F@cM&%Jg> zH^~+wAt1;dZ45~pD=QnWyY4!0Iy9iObAZ{p=bi_F-UlCi0xXXN09Ga8BYEAy{^)#= zD!}^~c=05vp?aB=Cahp#{8fB=pcaHEkZwnEk;dWBeFU!&YK3blG=SVeyq-Tn?v#q5 zMuo*>M+pp_0AqkyU<8G70Hb+LyB$9y@H)Lh2@G$60L^X(MZC3kJt--ldHQ)a*WGvD z?N%O}H~#AuoeKJri!V2ttfYK@`st^8`$z#i+}b*K)26MWHB$W0yC2C=?!w)zgU)6KWlR5v{T!YjwEmEr@5KV^be2FpBG+Pg+bz~YyaNf-Q%gKyy50s_>~4Py6keh+qZ0| z-G+iulFaH)B$-W)<-&R{F`~C;$^Wf-6?@-^$XPqS-S4fiS?p92rcP)7z))pv-Te^KkJ_g>xR~ z{euHQ4tYa~tbhL5=O|Fx+1^p*^UrB+x%q~FQK0nM=U!kD-(0p$nAamQXrM<%K zU$^@0#~yqX1q0=j(TNfI`qxV?1rby>HgDH4|jKF>0RBgr41^>dfIV)K@c02)h& z_tx9)9t}kKu!{W3JrI##C_WmBzqNjg+gDvv-}2XsuNW8(0Z5@}DiBT#jYc@xA7X>Bojn!R z(ta#C5{h!tKOAs){3e@|6F$-_azIEb1Nr{>PtRGhXzA9?+qQ3Q$7=ift8d(X>m6*O zj_sYj-F?-SH7~xf>ejpNYgxGD$roRFYs>aeAAiyjA3K_{^^fp|F+S{t(hpFCLO+tu zjg01g|GPKESy}tl=>x8iH2S<8$5o0U7>p=|sk|CwW*>U!0ZKth@(typMCQELUVRlG zscA^f?7T%4WBviMK4rs2Rd567FWTJFMClj`qloT1Yq=t zA0Z#C_G3Hfzyrt(rOOsdF4C$hNlZabf0a#o&pmdBA3yH6<3vKqWGH3MuRKNRg2N9# zluS}Ud@vM~L>5Y^h3=TXOiSu#H=kqJdv!u~dO~J@+|GD4LM3c3%n@BW>Zqg0{EizO z+0|cs@%g&?8p`ZYZMC6+ zw^PXy7Yh^`kr0YnFUi?Q2Z!KvPCD^K(r=MRnqv3(RPepu-uu9Xop8c&I6>10rT7rq z&|7hlEQ~m+wY9dAn%nE~P|N@YYkyAz|+XlOOG}>ker4_Stt26jxo{T?h>$qmrVLy!BGIBNihg3tghx zL^w+F6$@$saWsrdl?zzZn{U4PfI|)eNZ>B%o{O40HVaG4d=}$!-nHBRU%x@wFOA}J zod3?p^Wh_a!7>iYqMQqJ&S&+SHz);2=5sVf$l2t{XJX-$B@?j20Wg!-ABO#xzx*xo z*>%_5ZQ&kIL z^Q)`;JR6OL(ZnKpZrrd53FfS`&cd&h>WA8&6`1FQ+7%q^*@nitLk>B(YwK19!q5o$J%%U>QE=p$@G zl7Np6hk~R1eLWaa4?paXd+)hxaIlYas(_)*Z*FRk5}|YF{^A$E=pX2>udD6pk#Z}L zPtXJaD)U+413|1_{RZW0T3ebQe)vJk7?3l4#~oIL!$ESO;MJqu;84Fn0`9rzE>6Dr z&C}c4w^0m-TC805Ht?zV{U7GUig%E(`M`o3c>(}w>2OhYO z5R>Yvia;=c;DoM>`fCoW`IJ*muCK2Zm6X>@_ZT1`@yxSN{qFa_p;iW50*SFsJ@t!J zT2=upK?VXLL7G(YC7Gj-{>1Hf+)4!%po`?}c89g8rI9@H*u>5}^VcmI!m@cq|cUA1`8!W~yEf8f4*kN(8R_uXf&M<0G@uRV6(uzCizM8=2)4&1ybp+ZVaNTz}L$;)cw+pdEtt zQvhJ|=1on_bq61OpmO#Pk^&iY4{!p6Fgoxtk!TdsOPXZrI8piu)DPFq4^4*WsFw4jcJ8Evo_b=@K3NzQ*$#rb~F$K zwg!iX?!EV3XfKihFr=Xe)o@iM3PGtli!Y-pQ6iz_)bQelBai$jg2Enq>~-sHxAH4W zb{Kqt#RN9#?5b6-opa7PU;N^!yc9JEj>(4|b_6)3zkh(q$N5Cb0V%1}=#*^rh2_%& zD*c|_j6$oZjmI;T!6R9&ewh6OLxdX-Ltucb-+Bu^i$v<=zwK!6I_)c`i_5ajwfA28 zu6*JtWC&^z!yNtk*T06bg604JwRa|PZdT>~&%RD3v+vV(y06fMMT)c(D3%slDob6k zEQ(ZA^rEQfRZ;YcvdK~f0Rce}5d^JJYFR2GOKG8nmhSEB`%EU8nM`If$^ZMDlVmb8 z8Az1g|Ns84A-tb7^X7fed(Ly7{rNpWwOCD-j~stuPoS3uEd1)82kzIPD=1%B42KUM z;ubVxscUF_@%b07`|kJH423xbjg9q^2oWAwe)fvLKEL^t#iu^;gZ_m{Q=nO?I_lo2nZAq`e{WCU z0O^BNa@rc3nm7IRub=z;-E0z`WtmMwJ;!b zG@XIYBC@7BDTwCY*;yU};4TM1nU4J2yrP19x1H#?2}_iQV|cg(^+G}RF?9V|AOGjS zGJS?boktRpM@g{@&?r|yIP^N~PFNN(RpzawrH$Qz(Wdk9*7Q!A$&b+qSp3 zBWb~WrZq@ILsNBiEuV2$l7~R+2|i=^(SU}oWchiyxC*#F`FM1omlO}PS#)+-YlO5V z>2XcMg;WUp{SKx0?|k=N&Mz%5pFC|E?XI#t*|Z~+<|xWor%@-=rJ59F3+L&DheT=1 zs!HK>nvkaXQO6-!%%c&KLTjG3FBeQx{K zZS|}L{>){c_ZAe-TW}n~17BCbWVYfTUwHB<)R7K^rTs{KeIp$Y351?- z;z@LvnKXH7L1A%e1wM)w?!E7U^72ZW<({%=F>UhTL`;+_?{J-W-UW~*x&T%`O)T(t z;~anNvB#YRp{@2MOHQXn352zL`PnO1p8MVJejj|=jT<*16(&!f`qWc@+OuchiWM}% zhBf!0Q}O}KL8OUeExDr#-XrIX0Ww;tckYzUBZiPCDQb$;!?-e7Ks}7u`Sh?Anu^<)u^+Vk1RJ z_!>#^4kwv5PB)U(8IBN?cFvkL2MKY^tYhpJdv12_o_F5s?dmaxBYB=&Dh$Z7@dttv zswOepufFyM-u3{7c7CDD?Ww37|HjsB%zq!PaiYdRZ;<{rOO`A_x?syoq7>y0PHv|? zXfg7N?+VF1RBeeF!D6mnf$9; zl86kHgn|=~&kzSTRj0I8CT6ZB0nR|uevh3q=gB|(VbgQZ&6{)V(@#A4`m3)mJnx)) zP0>D?dnz*D%SNQ5ANhWH`MGFjpkNW=8<3h z>eZk7>?I(-0`?7mN8^AyqH!QLP(zqZjL<1lraklQCSse14;+{@Y04F!|LpF)`{~-X z?ai&6bK;37(W+wIx+_UDome#iS73jr54G{MC8y&Jd~V}kW$Q$!g^}8p#zvppr3Aia zbIC{fX9lhW)&?yIwE2bm z?|&#SukcS#Z+P>~H?fnX^{Z;zRFIe7+SZzrokKR~#toZ`ib@{){o}MuU{E=Ex&Cem z44|fAXcJ!AyJt^pOG`t2{n;y4boqQ_=V7xy@x&iVu-U%j?XBD2dgG1P=N)%Ejm7OQ z_o3<|`wkx3wd>twE6zUk^wWC!LNukqC5k3Rz=j$ND({#a)=MSiWvX(HMS~`P4^bH- zz8aE4tXAjt9Xn}zw&LuSS)OcMLTm(fyh`-;pcG+8+CX2iSn5@~61>UeU!Q*Z>Flg$ zpM4f1lBZ^_XgVG04YswkthwOA1@q>;u=z#uWkbOMyVZz0wyn8^mVY9$;zh^_y-0TU zhxKGfb=Q5!7f&I01W44t_LQnI_%l99)DiaGHP>9j+)>+vZAv@|B?gn44>#O!11s{% zE3d%%>1M3q`zb9Wi;vY2524d$Lubc@z|{orLDV>!CY#9)V#f&v0f|j^ zTW*dQuORyouQIkpc1|`nG!I0hOP{}M_3G7V-NXahI@)2;Y$Y1pQilj*!C2{RZl!5C z#YSvK8lb|yluv8ySByi@DIv5C6miha|Cl|bM7H}``&vM<>dsFaPP27ue|a~8pf_# zwd!X-``M~hE1H|zSxA^N6gPePbmn31+}Xr$F*EUj(5Rj6xMWOH21Sskth9(svMa8* z;{4UCiJ(6G@WbbyM+f3_V5uuttT=ViqHF*2Kj|67G~xVV=1CrhG->ht@=GtF)sj>A zjcM0i0p!Dg$jX`(DkmnGBqkjzn4ETBYys;`OtGjkpx!G9a5g3{v@@(uWV zz+R^q9f^){^MfD!0I$yM*~ctg_|b(67qaeNkGr455yF zaM9YenDgG;+;3ldZE?lv8Mo zjCBMU>r3}UG6Dp4A}-LAKmW@Q^#92Pm}*r$BR*yw+!opJa zhN|)GLN@dUr6aI(qK$$hP5F*ZUmUNDS*+(Cj#(a*cwF{mmGzP@z}32gL85?c2adRg z8XD-1DK27^25!d(LAu5-+%K(gkq0;i=#)u$3O`{C+Lg*Cf|Fc&>80!rdXRw9NkTkAKWKpv&G+*kQMH`T{u2x#aD4NOSFf{No=)5m*LBqpF!C z6IMzqC_uv(kjYEou^h!0C@=BSDj8TzP?1s=2;}GEGz=o5D=NzL2=LFKQ=kV>xyS6| zT7<%Ye^9BuRFfMU8d{L>To8iLift%7K-m<(ZEfpBTJXUdpMelyAHWT|?EZiN7G`BR z3G+(Lq1{4d8Pf}kXMvF)oXHREkY@Y^Ph)Cv`8nvaBsiVo1)_QYIjyV7@KdSB83L1t zRmmXP*%!>m>QcJi%UxT2LPN^DGmK05aO_Nc?43G zs8aEITv)WI2t2p~;0=%v$;9Sld;27XKa`V8%Zh%NTU@SK(`+ZSHn~N8BNtSNUF<+9 ze`kIKhf7G#g3m_JA@e3hJw;d;olF$-Of^H6J4WLqTCiPN9nO>jU2>{iR%{Z74Ja6? zis$=OGm(L)g#R|QG?$grz1GmyNh1*>&2M$PV}c(&!2qp;5!L97P0bA@#hfNy$L>IY z#f4xr+!$7VOLKEkaWNK;Hz()F;ln5#{FT`#EiY4@jASWQy=yC62E7(~(~wld!R&N* zqzuM?6!+DC*QLiY?2w(fNm*s^rE$*G);5y6kr)(OE2TX2e!*BImjTZSxkGqzbh17X z90bO?b?YAa-S4U&}(E6 z_A9AwgD8Iz8(_=?&qz&1$0z>GH~1CcR2(5cLjn(DrTYAP>M6ORh`Q&@= z{WZQ|rVUA^s-kWG@gH9&hlx3=uCC_cbq0$vCbSrk1HR1kGaOV9?C7?+7)uPmeo4=g zayy53;$UwI4GPd0^0(X?Pn*S4&Eay`mJkrBD8j7mF}X#Rpm?HbhF;%NUS340HM zP|;8pEQ!Q5C2YvQ0+LX4c~)D)8Hy>ZUYrce;7fkOXOxb{##TncO(`!V?8&CDscpnH z59K)>76q`=uVY`z3pd0RVwPD(T*4T2Sg7z4a~J}`69_Y976=bu=gQ1$jk$SL0z#-vWU_Y z*{X#->{UUdGgelPCyNAmKva-z4jI^70u+j>gzFN5?`Ul$dZ2A$f`teJt{|~u#bN~P z8X5z`PTA88=CspJ!-Y71{#>>LdkvPw_uL503_9uV31;Vd>Y7^1N(zBmIq8HG|MaIn zEjs0-eo!71<&RLYRnw>>F%T4M;HAL<%a^~RtO0uvyB897J97}B#l?B-Nwz4g&8;v7 zs3lf9vT!<}U?e^s?-`p+7ZNSz&gmmW0I~#KXT-TOq(f;2rEZ{Yf`m1|X90d8Uq~5x zFebji2!n(0fErp(bAMjspXKFw8ykh)Lo57{^H~W<1Q#W-f3Bl?a|%y~dBr$*6zUOP zrUFU|TtVTi>CY18HN{ZmATn+Te`9!>1f`@DK0>fdtt81rEP-^wRGP?$$I(-wzfbOw z`@vI1SBWUAX^vAK?sa0@18x`9`J#ZkJ#HwKKsR*R(AZd6QOZcz4j8SBgm_nIAc!4+ z2*IAf8gM(am^z3Rf+mq8CkKdj36AMWR(Zyv=5U0%h?H;!HW`L6^9Gd%y8B$fbwr4V ziwFdEf}N%yUnpAv#tscjAb*)F)`$TJ&`J-uZ&_FXtT9G_e5sMY^_={xV!+VV6Y%EX z_lGuuUbjH~AO^Vs_(u#F<4)Ve3ZBG_<%AdrvkMj4J4e_-eO+C7MFp%uK&Dg&T8%1P zO!wNh_FQEi5mtmSF#E{7(7={B8d8q`-(om34!&s;Wxv&JXcZ`EcO&_ZQ^n5ejBg!0}1W#tXzMBMg+sMPRh8 z7BkiWVFO{G;-mtk3weai-NP-kNMIL;cfk$799Uk?jIBR{eziT#%H7sF)@!ySWw^vXAPB{JL8Vzd102UABrlhhiOp==JIn*b1Wefg+i+E_ynI$ zB{GNRvwfIV;u?n?NHl4y{z z91|ZhMDmaU=v*%qXA|v-f8vSa>EO;VEW9y%hB&!9GJvW`6n{p@1`~fEyD>-sY!u}k zrFd`%0AiJ%uzIo!LsvO$*0SxKE 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 CvZr^~?;16)*G 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 diff --git a/PSCADA/电子行业模板/common/device_model/VAMP/VAMP57事件解析配置说明.doc b/PSCADA/电子行业模板/common/device_model/VAMP/VAMP57事件解析配置说明.doc deleted file mode 100644 index 8569619d6fdcf6971afcf1ab72a8e6e77c3764a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93696 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≪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 diff --git a/PSCADA/电子行业模板/common/device_model/XMT数显仪.CSV b/PSCADA/电子行业模板/common/device_model/XMT数显仪.CSV deleted file mode 100644 index 114e515..0000000 --- a/PSCADA/电子行业模板/common/device_model/XMT数显仪.CSV +++ /dev/null @@ -1,13 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],15,1,1,XMT,,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,0,1,16,1000,0,0,100,3000,0 -,,4,1,1,1,1000,0,0,100,3000,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,PV,1,PV,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,1,0,AL1,Arm1,0,0,0,,, -,,1,1,AL2,Arm2,0,0,0,,, -,,1,2,AL3,Arm3,0,0,0,,, -,,1,3,AL4,Arm4,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/中电PMC530A.CSV b/PSCADA/电子行业模板/common/device_model/中电PMC530A.CSV deleted file mode 100644 index 6f7324d..0000000 --- a/PSCADA/电子行业模板/common/device_model/中电PMC530A.CSV +++ /dev/null @@ -1,34 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],2,1,1,530A,T1-2ݹ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,40100,14,32,1000,1,2,100,60000,0 -,,3,40065,1,1,1000,0,0,100,500,1 -,,3,40000,40,32,1000,1,0,100,500,0 -,,3,40051,2,16,1000,1,0,100,500,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,40000,0.01,0,0,Aѹ,0.01,VA,, -,,0,40002,0.01,0,0,Bѹ,0.01,VB,, -,,0,40004,0.01,0,0,Cѹ,0.01,VC,, -,,0,40008,0.01,0,0,ABѹ,0.01,UAB,, -,,0,40010,0.01,0,0,BCѹ,0.01,UBC,, -,,0,40012,0.01,0,0,CAѹ,0.01,UCA,, -,,0,40016,0.01,0,0,A,0.001,IA,, -,,0,40018,0.01,0,0,B,0.001,IB,, -,,0,40020,0.01,0,0,C,0.001,IC,, -,,0,40030,0.01,0,0,й,0.001,P,, -,,0,40038,0.01,0,0,޹,0.001,Q,, -,,0,40051,1,0,0,,0.001,PF,, -,,0,40052,1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,40100,1,0,йܵ,0.001,EPd,,, -,,0,40102,1,0,йܵ,0.001,EQd,,, -,,0,40104,1,0,й,0.001,EP,,, -,,0,40106,1,0,޹ܵ,0.001,EPr,,, -,,0,40108,1,0,޹ܵ,0.001,EQr,,, -,,0,40110,1,0,޹,0.001,EQ,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,40065,0,غ,DI1,0,0,0,,, -,,40065,1,2,DI2,0,0,0,,, -,,40065,2,3,DI3,0,0,0,,, -,,40065,3,4,DI4,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/中电PMC53M.CSV b/PSCADA/电子行业模板/common/device_model/中电PMC53M.CSV deleted file mode 100644 index d1c28a7..0000000 --- a/PSCADA/电子行业模板/common/device_model/中电PMC53M.CSV +++ /dev/null @@ -1,28 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],5,1,1,53M,T1-4-2:BAP3䶳ȴ3#,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,40002,46,32,500,1,0,100,500,0 -,,3,40100,10,32,1000,0,2,100,10000,0 -,,3,40051,1,16,500,0,0,100,500,0 -,,3,40065,1,1,500,0,0,100,500,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,40002,0.01,0,0,Aѹ,1,VA,, -,,0,40004,0.01,0,0,Bѹ,1,VB,, -,,0,40006,0.01,0,0,Cѹ,1,VC,, -,,0,40008,0.01,0,0,ABߵѹ,1,UAB,, -,,0,40010,0.01,0,0,BCߵѹ,1,UBC,, -,,0,40012,0.01,0,0,CAߵѹ,1,UCA,, -,,0,40016,0.01,0,0,A,1,IA,, -,,0,40018,0.01,0,0,B,1,IB,, -,,0,40020,0.01,0,0,C,1,IC,, -,,0,40030,0.01,0,0,й,1,P,, -,,0,40038,0.01,0,0,޹,1,Q,, -,,0,40046,0.01,0,0,ڹ,1,S,, -,,0,40051,1,0,0,,1,PF,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,40100,0.1,0,й,1,Epd,,, -,,0,40106,0.1,0,޹,1,Eqd,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,40065,0,DI1,DI1,0,0,0,,, -,,40065,1,DI2,DI2,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/中电PMC630A.CSV b/PSCADA/电子行业模板/common/device_model/中电PMC630A.CSV deleted file mode 100644 index 90ea905..0000000 --- a/PSCADA/电子行业模板/common/device_model/中电PMC630A.CSV +++ /dev/null @@ -1,34 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,1,1,630A,1#ܿ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,40065,1,1,1000,0,0,100,1000,1 -,,3,40100,14,32,1000,1,2,100,60000,0 -,,3,40000,40,32,1000,1,0,100,500,0 -,,3,40051,2,16,1000,1,0,100,500,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,40000,0.01,0,0,Aѹ,0.01,VA,, -,,0,40002,0.01,0,0,Bѹ,0.01,VB,, -,,0,40004,0.01,0,0,Cѹ,0.01,VC,, -,,0,40008,0.01,0,0,ABѹ,0.01,UAB,, -,,0,40010,0.01,0,0,BCѹ,0.01,UBC,, -,,0,40012,0.01,0,0,CAѹ,0.01,UCA,, -,,0,40016,0.01,0,0,A,0.001,IA,, -,,0,40018,0.01,0,0,B,0.001,IB,, -,,0,40020,0.01,0,0,C,0.001,IC,, -,,0,40030,0.01,0,0,й,0.001,P,, -,,0,40038,0.01,0,0,޹,0.001,Q,, -,,0,40051,1,0,0,,0.001,PF,, -,,0,40052,1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,40100,1,0,йܵ,0.001,EPd,,, -,,0,40102,1,0,йܵ,0.001,EQd,,, -,,0,40104,1,0,й,0.001,EP,,, -,,0,40106,1,0,޹ܵ,0.001,EPr,,, -,,0,40108,1,0,޹ܵ,0.001,EQr,,, -,,0,40110,1,0,޹,0.001,EQ,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,40065,0,غ,DI1,0,0,0,,, -,,40065,1,2,DI2,0,0,0,,, -,,40065,2,3,DI3,0,0,0,,, -,,40065,3,4,DI4,0,0,0,,, -,,65535,65535,n,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/光伏设备/TPS6000.CSV b/PSCADA/电子行业模板/common/device_model/光伏设备/TPS6000.CSV deleted file mode 100644 index 83d6b64..0000000 --- a/PSCADA/电子行业模板/common/device_model/光伏设备/TPS6000.CSV +++ /dev/null @@ -1,61 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,TPS6000,,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,0,24,1,1000,0,0,100,1000,1 -,,3,0,25,16,1000,0,0,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,1Ia,1,IA1,, -,,0,1,1,0,0,1Ib,1,IB1,, -,,0,2,1,0,0,1Ic,1,IC1,, -,,0,3,1,0,0,1Ua,1,VA1,, -,,0,4,1,0,0,1Ub,1,VB1,, -,,0,5,1,0,0,1Uc,1,VC1,, -,,0,6,1,0,0,1P,1,P1,, -,,0,7,1,0,0,1Q,1,Q1,, -,,0,8,1,0,0,1COS,1,PF1,, -,,0,9,1,0,0,1F,1,F1,, -,,0,10,1,0,0,2Ia,1,IA2,, -,,0,11,1,0,0,2Ib,1,IB2,, -,,0,12,1,0,0,2Ic,1,IC2,, -,,0,13,1,0,0,2Ua,1,VA2,, -,,0,14,1,0,0,2Ub,1,VB2,, -,,0,15,1,0,0,2Uc,1,VC2,, -,,0,16,1,0,0,2P,1,P2,, -,,0,17,1,0,0,2Q,1,Q2,, -,,0,18,1,0,0,2COS,1,PF2,, -,,0,19,1,0,0,2F,1,F2,, -,,0,20,1,0,0,ֱ1,1,DC1,, -,,0,21,1,0,0,ֱ2,1,DC2,, -,,0,22,1,0,0,ֱ3,1,DC3,, -,,0,23,1,0,0,ֱ4,1,DC4,, -,,0,24,1,0,0,ֱ5,1,DC5,, -,,0,25,1,0,0,ֱ6,1,DC6,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,0,0,0,·1ң,0,3,Null,,, -,,1,1,0,·2ң,0,3,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,0,Ԥ1,DI1,0,0,0,,, -,,0,1,Ԥ2,DI2,0,0,0,,, -,,0,2,Ԥ3,DI3,0,0,0,,, -,,0,3,Ԥ4,DI4,0,0,0,,, -,,0,4,բź,HTT,0,0,0,,, -,,0,5,±ź,OTA,0,0,0,,, -,,0,6,λͱź,UOA,0,0,0,,, -,,0,7,ѹ쳣բź,AbnPT,0,0,0,,, -,,0,8,ѹɿغ,OVLSON,0,0,0,,, -,,0,9,ѹA۶۶ϱ,AFusFlt,0,0,0,,, -,,0,10,ѹB۶۶ϱ,BFusFlt,0,0,0,,, -,,0,11,ѹC۶۶ϱ,CFusFlt,0,0,0,,, -,,0,12,1#ѹ·λ,1PosOn,0,0,0,,, -,,0,13,1#ѹ·λ,1PosOff,0,0,0,,, -,,0,14,1#ѹ·,1PosERROR,0,0,0,,, -,,0,15,2#ѹ·λ,2PosOn,0,0,0,,, -,,2,16,2#ѹ·λ,2PosOff,0,0,0,,, -,,0,17,2#ѹ·,2PosERROR,0,0,0,,, -,,0,18,ѹλ,HPBoxDpos,0,0,0,,, -,,0,19,ѹλ,LPBoxDpos,0,0,0,,, -,,0,20,ѹλ,LPDpos,0,0,0,,, -,,0,21,ź,SMOKEALARM,0,0,0,,, -,,0,22,1#Զź,RDO1,0,0,0,,, -,,0,23,2#Զź,RDO2,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/光伏设备/临朐汇流箱.CSV b/PSCADA/电子行业模板/common/device_model/光伏设备/临朐汇流箱.CSV deleted file mode 100644 index 17cc08b..0000000 --- a/PSCADA/电子行业模板/common/device_model/光伏设备/临朐汇流箱.CSV +++ /dev/null @@ -1,43 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,SXO-X,I-14-01,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,16384,17,16,1000,1,0,100,100,0 -,,2,8192,18,1,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,16384,1,0,0,ֱĸߵѹֵV,1,UDCBUS,, -,,0,16385,1,0,0,1·ֵI,1,ILOOP1,, -,,0,16386,1,0,0,2·ֵI,1,ILOOP2,, -,,0,16387,1,0,0,3·ֵI,1,ILOOP3,, -,,0,16388,1,0,0,4·ֵI,1,ILOOP4,, -,,0,16389,1,0,0,5·ֵI,1,ILOOP5,, -,,0,16390,1,0,0,6·ֵI,1,ILOOP6,, -,,0,16391,1,0,0,7·ֵI,1,ILOOP7,, -,,0,16392,1,0,0,8·ֵI,1,ILOOP8,, -,,0,16393,1,0,0,9·ֵI,1,ILOOP9,, -,,0,16394,1,0,0,10·ֵI,1,ILOOP10,, -,,0,16395,1,0,0,11·ֵI,1,ILOOP11,, -,,0,16396,1,0,0,12·ֵI,1,ILOOP12,, -,,0,16397,1,0,0,13·ֵI,1,ILOOP13,, -,,0,16398,1,0,0,14·ֵI,1,ILOOP14,, -,,0,16399,1,0,0,15·ֵI,1,ILOOP15,, -,,0,16400,1,0,0,16·ֵI,1,ILOOP16,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,8192,0,״̬,LPSTATUS,0,0,0,,, -,,8192,1,տ״̬,CBOn,0,0,0,,, -,,8192,2,1··,LOOP1TRIP,0,0,0,,, -,,8192,3,2··,LOOP2TRIP,0,0,0,,, -,,8192,4,3··,LOOP3TRIP,0,0,0,,, -,,8192,5,4··,LOOP4TRIP,0,0,0,,, -,,8192,6,5··,LOOP5TRIP,0,0,0,,, -,,8192,7,6··,LOOP6TRIP,0,0,0,,, -,,8192,8,7··,LOOP7TRIP,0,0,0,,, -,,8192,9,8··,LOOP8TRIP,0,0,0,,, -,,8192,10,9··,LOOP9TRIP,0,0,0,,, -,,8192,11,10··,LOOP10TRIP,0,0,0,,, -,,8192,12,11··,LOOP11TRIP,0,0,0,,, -,,8192,13,12··,LOOP12TRIP,0,0,0,,, -,,8192,14,13··,LOOP13TRIP,0,0,0,,, -,,8192,15,14··,LOOP14TRIP,0,0,0,,, -,,8193,0,15··,LOOP15TRIP,0,0,0,,, -,,8193,1,16··,LOOP16TRIP,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/光伏设备/汇流箱.CSV b/PSCADA/电子行业模板/common/device_model/光伏设备/汇流箱.CSV deleted file mode 100644 index b0f8f35..0000000 --- a/PSCADA/电子行业模板/common/device_model/光伏设备/汇流箱.CSV +++ /dev/null @@ -1,50 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,SXO-X,,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,20,16,1000,0,0,100,1000,0 -,,3,20,2,32,1000,0,0,33,1000,0 -,,3,22,1,16,1000,1,0,100,1000,0 -,,3,768,6,1,1000,0,0,100,1000,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,ֱĸߵѹֵV,0.1,V,, -,,0,1,1,0,0,1·ֵ,0.01,ILOOP1,, -,,0,2,1,0,0,2·ֵ,0.01,ILOOP2,, -,,0,3,1,0,0,3·ֵ,0.01,ILOOP3,, -,,0,4,1,0,0,4·ֵ,0.01,ILOOP4,, -,,0,5,1,0,0,5·ֵ,0.01,ILOOP5,, -,,0,6,1,0,0,6·ֵ,0.01,ILOOP6,, -,,0,7,1,0,0,7·ֵ,0.01,ILOOP7,, -,,0,8,1,0,0,8·ֵ,0.01,ILOOP8,, -,,0,9,1,0,0,9·ֵ,0.01,ILOOP9,, -,,0,10,1,0,0,10·ֵ,0.01,ILOOP10,, -,,0,11,1,0,0,11·ֵ,0.01,ILOOP11,, -,,0,12,1,0,0,12·ֵ,0.01,ILOOP12,, -,,0,13,1,0,0,13·ֵ,0.01,ILOOP13,, -,,0,14,1,0,0,14·ֵ,0.01,ILOOP14,, -,,0,15,1,0,0,15·ֵ,0.01,ILOOP15,, -,,0,16,1,0,0,16·ֵ,0.01,ILOOP16,, -,,0,17,1,0,0,,0.01,Imax,, -,,0,18,1,0,0,ƽ,0.01,Iavg,, -,,0,19,1,0,0,ݲ,1,MaxError,, -,,0,20,1,0,0,ܵ,0.01,ITOT,, -,,0,22,1,0,0,¶,1,BOXTEMP,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,768,8,澯,LPALARM,0,0,0,,, -,,768,9,䳬¸澯,BOXOTEMP,0,0,0,,, -,,770,0,1··,LOOP1TRIP,0,0,0,,, -,,770,1,2··,LOOP2TRIP,0,0,0,,, -,,770,2,3··,LOOP3TRIP,0,0,0,,, -,,770,3,4··,LOOP4TRIP,0,0,0,,, -,,770,4,5··,LOOP5TRIP,0,0,0,,, -,,770,5,6··,LOOP6TRIP,0,0,0,,, -,,770,6,7··,LOOP7TRIP,0,0,0,,, -,,770,7,8··,LOOP8TRIP,0,0,0,,, -,,770,8,9··,LOOP9TRIP,0,0,0,,, -,,770,9,10··,LOOP10TRIP,0,0,0,,, -,,770,10,11··,LOOP11TRIP,0,0,0,,, -,,770,11,12··,LOOP12TRIP,0,0,0,,, -,,770,12,13··,LOOP13TRIP,0,0,0,,, -,,770,13,14··,LOOP14TRIP,0,0,0,,, -,,770,14,15··,LOOP15TRIP,0,0,0,,, -,,770,15,16··,LOOP16TRIP,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/光伏设备/电池巡检仪.CSV b/PSCADA/电子行业模板/common/device_model/光伏设备/电池巡检仪.CSV deleted file mode 100644 index b659e51..0000000 --- a/PSCADA/电子行业模板/common/device_model/光伏设备/电池巡检仪.CSV +++ /dev/null @@ -1,171 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,1,1,BMM,1#Ѳ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,1,0,120,1,1000,0,0,100,100,1 -,,3,52,150,16,1000,1,0,100,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,65,1,0,0,ѹ澯ֵ,1,YC1,, -,,0,66,1,0,0,ѹֵ,1,YC2,, -,,0,71,1,0,0,ѹ,1,YC3,, -,,0,72,1,0,0,ѹ,1,YC4,, -,,0,73,1,0,0,¶,1,YC5,, -,,0,74,1,0,0,¶,1,YC6,, -,,0,75,1,0,0,,1,YC7,, -,,0,76,1,0,0,ܵѹ,1,YC8,, -,,0,77,1,0,0,ܵѹ,1,YC9,, -,,0,83,1,0,0,ѹֵ,1,YC10,, -,,0,84,1,0,0,ѹֵ,1,YC11,, -,,0,85,1,0,0,¶ֵ,1,YC12,, -,,0,86,1,0,0,¶ֵ,1,YC13,, -,,0,87,1,0,0,ֵ,1,YC14,, -,,0,88,1,0,0,ܵѹֵ,1,YC15,, -,,0,89,1,0,0,ܵѹֵ,1,YC16,, -,,0,94,1,0,0,,1,I,, -,,0,95,1,0,0,˵ѹ,1,V,, -,,0,96,1,0,0,¶,1,TEMP,, -,,0,103,1,0,0,1ѹ,1,U1,, -,,0,104,1,0,0,2ѹ,1,U2,, -,,0,105,1,0,0,3ѹ,1,U3,, -,,0,106,1,0,0,4ѹ,1,U4,, -,,0,107,1,0,0,5ѹ,1,U5,, -,,0,108,1,0,0,6ѹ,1,U6,, -,,0,109,1,0,0,7ѹ,1,U7,, -,,0,110,1,0,0,8ѹ,1,U8,, -,,0,111,1,0,0,9ѹ,1,U9,, -,,0,112,1,0,0,10ѹ,1,U10,, -,,0,113,1,0,0,11ѹ,1,U11,, -,,0,114,1,0,0,12ѹ,1,U12,, -,,0,115,1,0,0,13ѹ,1,U13,, -,,0,116,1,0,0,14ѹ,1,U14,, -,,0,117,1,0,0,15ѹ,1,U15,, -,,0,118,1,0,0,16ѹ,1,U16,, -,,0,119,1,0,0,17ѹ,1,U17,, -,,0,120,1,0,0,18ѹ,1,U18,, -,,0,121,1,0,0,19ѹ,1,U19,, -,,0,122,1,0,0,20ѹ,1,U20,, -,,0,123,1,0,0,21ѹ,1,U21,, -,,0,124,1,0,0,22ѹ,1,U22,, -,,0,125,1,0,0,23ѹ,1,U23,, -,,0,126,1,0,0,24ѹ,1,U24,, -,,0,127,1,0,0,25ѹ,1,U25,, -,,0,128,1,0,0,26ѹ,1,U26,, -,,0,129,1,0,0,27ѹ,1,U27,, -,,0,130,1,0,0,28ѹ,1,U28,, -,,0,131,1,0,0,29ѹ,1,U29,, -,,0,132,1,0,0,30ѹ,1,U30,, -,,0,133,1,0,0,31ѹ,1,U31,, -,,0,134,1,0,0,32ѹ,1,U32,, -,,0,157,1,0,0,1,1,BY1,, -,,0,158,1,0,0,2,1,BY2,, -,,0,159,1,0,0,3,1,BY3,, -,,0,160,1,0,0,¶1,1,TEMP1,, -,,0,161,1,0,0,¶2,1,TEMP2,, -,,0,162,1,0,0,¶3,1,TEMP3,, -,,0,163,1,0,0,¶4,1,TEMP4,, -,,0,164,1,0,0,¶5,1,TEMP5,, -,,0,165,1,0,0,¶6,1,TEMP6,, -,,0,166,1,0,0,¶7,1,TEMP7,, -,,0,167,1,0,0,¶8,1,TEMP8,, -,,0,168,1,0,0,¶9,1,TEMP9,, -,,0,169,1,0,0,¶10,1,TEMP10,, -,,0,170,1,0,0,¶11,1,TEMP11,, -,,0,171,1,0,0,¶12,1,TEMP12,, -,,0,172,1,0,0,¶13,1,TEMP13,, -,,0,173,1,0,0,¶14,1,TEMP14,, -,,0,174,1,0,0,¶15,1,TEMP15,, -,,0,175,1,0,0,¶16,1,TEMP16,, -,,0,176,1,0,0,¶17,1,TEMP17,, -,,0,177,1,0,0,¶18,1,TEMP18,, -,,0,178,1,0,0,¶19,1,TEMP19,, -,,0,179,1,0,0,¶20,1,TEMP20,, -,,0,180,1,0,0,¶21,1,TEMP21,, -,,0,181,1,0,0,¶22,1,TEMP22,, -,,0,182,1,0,0,¶23,1,TEMP23,, -,,0,183,1,0,0,¶24,1,TEMP24,, -,,0,184,1,0,0,¶25,1,TEMP25,, -,,0,185,1,0,0,¶26,1,TEMP26,, -,,0,186,1,0,0,¶27,1,TEMP27,, -,,0,187,1,0,0,¶28,1,TEMP28,, -,,0,188,1,0,0,¶29,1,TEMP29,, -,,0,189,1,0,0,¶30,1,TEMP30,, -,,0,190,1,0,0,¶31,1,TEMP31,, -,,0,191,1,0,0,¶32,1,TEMP32,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,0,,YX1,0,0,0,,, -,,0,1,¶ȳ,YX2,0,0,0,,, -,,0,2,¶ȳ,YX3,0,0,0,,, -,,0,3,˵ѹ,YX4,0,0,0,,, -,,0,4,˵ѹ,YX5,0,0,0,,, -,,0,5,ѹ,YX6,0,0,0,,, -,,0,6,ѹ,YX7,0,0,0,,, -,,0,7,賬,YX8,0,0,0,,, -,,0,8,˳,YX9,0,0,0,,, -,,0,9,˳,YX10,0,0,0,,, -,,0,32,1ѹ,YX11,0,0,0,,, -,,0,33,2ѹ,YX12,0,0,0,,, -,,0,34,3ѹ,YX13,0,0,0,,, -,,0,35,4ѹ,YX14,0,0,0,,, -,,0,36,5ѹ,YX15,0,0,0,,, -,,0,37,6ѹ,YX16,0,0,0,,, -,,0,38,7ѹ,YX17,0,0,0,,, -,,0,39,8ѹ,YX18,0,0,0,,, -,,0,40,9ѹ,YX19,0,0,0,,, -,,0,41,10ѹ,YX20,0,0,0,,, -,,0,42,11ѹ,YX21,0,0,0,,, -,,0,43,12ѹ,YX22,0,0,0,,, -,,0,44,13ѹ,YX23,0,0,0,,, -,,0,45,14ѹ,YX24,0,0,0,,, -,,0,46,15ѹ,YX25,0,0,0,,, -,,0,47,16ѹ,YX26,0,0,0,,, -,,0,48,17ѹ,YX27,0,0,0,,, -,,0,49,18ѹ,YX28,0,0,0,,, -,,0,50,19ѹ,YX29,0,0,0,,, -,,0,51,20ѹ,YX30,0,0,0,,, -,,0,52,21ѹ,YX31,0,0,0,,, -,,0,53,22ѹ,YX32,0,0,0,,, -,,0,54,23ѹ,YX33,0,0,0,,, -,,0,55,24ѹ,YX34,0,0,0,,, -,,0,56,25ѹ,YX35,0,0,0,,, -,,0,57,26ѹ,YX36,0,0,0,,, -,,0,58,27ѹ,YX37,0,0,0,,, -,,0,59,28ѹ,YX38,0,0,0,,, -,,0,60,29ѹ,YX39,0,0,0,,, -,,0,61,30ѹ,YX40,0,0,0,,, -,,0,62,31ѹ,YX41,0,0,0,,, -,,0,63,32ѹ,YX42,0,0,0,,, -,,0,86,1¶ȳ,YX43,0,0,0,,, -,,0,87,2¶ȳ,YX44,0,0,0,,, -,,0,88,3¶ȳ,YX45,0,0,0,,, -,,0,89,4¶ȳ,YX46,0,0,0,,, -,,0,90,5¶ȳ,YX47,0,0,0,,, -,,0,91,6¶ȳ,YX48,0,0,0,,, -,,0,92,7¶ȳ,YX49,0,0,0,,, -,,0,93,8¶ȳ,YX50,0,0,0,,, -,,0,94,9¶ȳ,YX51,0,0,0,,, -,,0,95,10¶ȳ,YX52,0,0,0,,, -,,0,96,11¶ȳ,YX53,0,0,0,,, -,,0,97,12¶ȳ,YX54,0,0,0,,, -,,0,98,13¶ȳ,YX55,0,0,0,,, -,,0,99,14¶ȳ,YX56,0,0,0,,, -,,0,100,15¶ȳ,YX57,0,0,0,,, -,,0,101,16¶ȳ,YX58,0,0,0,,, -,,0,102,17¶ȳ,YX59,0,0,0,,, -,,0,103,18¶ȳ,YX60,0,0,0,,, -,,0,104,19¶ȳ,YX61,0,0,0,,, -,,0,105,20¶ȳ,YX62,0,0,0,,, -,,0,106,21¶ȳ,YX63,0,0,0,,, -,,0,107,22¶ȳ,YX64,0,0,0,,, -,,0,108,23¶ȳ,YX65,0,0,0,,, -,,0,109,24¶ȳ,YX66,0,0,0,,, -,,0,110,25¶ȳ,YX67,0,0,0,,, -,,0,111,26¶ȳ,YX68,0,0,0,,, -,,0,112,27¶ȳ,YX69,0,0,0,,, -,,0,113,28¶ȳ,YX70,0,0,0,,, -,,0,114,29¶ȳ,YX71,0,0,0,,, -,,0,115,30¶ȳ,YX72,0,0,0,,, -,,0,116,31¶ȳ,YX73,0,0,0,,, -,,0,117,32¶ȳ,YX74,0,0,0,,, -,,0,174,1,BY1,0,0,0,,, -,,0,175,2,BY2,0,0,0,,, -,,0,176,3,BY3,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/光伏设备/科华UPS.CSV b/PSCADA/电子行业模板/common/device_model/光伏设备/科华UPS.CSV deleted file mode 100644 index e3c6ef4..0000000 --- a/PSCADA/电子行业模板/common/device_model/光伏设备/科华UPS.CSV +++ /dev/null @@ -1,64 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,1,259,ƻUPS,n,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,71,49,41,16,1000,0,0,100,100,0 -,,71,50,28,1,1000,0,0,100,100,1 -,,71,51,73,16,1000,0,0,100,100,0 -,,81,49,47,16,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,120,0,0.1,0,0,صѹ,1,V,, -,,120,1,1,0,0,ʣٷ,1,yc2,, -,,120,2,1,0,0,ʣʱ,1,T,, -,,120,3,1,0,0,س/ŵ,0.1,I,, -,,120,4,1,0,0,¶,0.1,TEMP,, -,,120,5,1,0,0,Ƶ,0.1,F1IN,, -,,120,6,1,0,0,·Ƶ,0.1,FBY,, -,,120,7,1,0,0,Ƶ,0.1,FOUT,, -,,122,0,1,0,0,Aѹ,0.1,VA,, -,,122,1,1,0,0,Bѹ,0.1,VB,, -,,122,2,1,0,0,Cѹ,0.1,VC,, -,,122,3,1,0,0,A·ѹ,0.1,VABY,, -,,122,4,1,0,0,B·ѹ,0.1,VBBY,, -,,122,5,1,0,0,C·ѹ,0.1,VCBY,, -,,122,6,1,0,0,Aѹ,0.1,VAOUT,, -,,122,7,1,0,0,Bѹ,0.1,VBOUT,, -,,122,8,1,0,0,Cѹ,0.1,VCOUT,, -,,122,9,1,0,0,Aฺذٷֱ,0.1,PLOADA,, -,,122,10,1,0,0,Bฺذٷֱ,0.1,PLOADB,, -,,122,11,1,0,0,Cฺذٷֱ,0.1,PLOADC,, -,,130,0,1,0,0,ѹ,0.1,UIN,, -,,130,1,1,0,0,ϵѹ,0.1,VFIN,, -,,130,2,1,0,0,ѹ,0.1,UOUT,, -,,130,3,1,0,0,ٷֱ,1,PIOUT,, -,,130,4,1,0,0,Ƶ,0.1,F2IN,, -,,130,5,1,0,0,صѹ,0.01,UBAT,, -,,130,6,1,0,0,¶,0.1,TENVIR,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,121,2,쳣,YX1,0,0,0,,, -,,121,3,Ƿѹ,YX2,0,0,0,,, -,,121,4,Ƿѹ,YX3,0,0,0,,, -,,121,5,״̬,YX4,0,0,0,,, -,,121,6,е,YX5,0,0,0,,, -,,121,7,س״̬,YX6,0,0,0,,, -,,121,8,,YX7,0,0,0,,, -,,121,13,·Ƶ쳣,YX8,0,0,0,,, -,,121,14,ֶ·״̬,YX9,0,0,0,,, -,,121,15,·״̬,YX10,0,0,0,,, -,,121,16,̬·״̬,YX11,0,0,0,,, -,,121,17,״̬,YX12,0,0,0,,, -,,121,20,ͣ,YX13,0,0,0,,, -,,121,21,ֱͣ,YX14,0,0,0,,, -,,121,22,ֶ·պͣ,YX15,0,0,0,,, -,,121,23,ͣ,YX16,0,0,0,,, -,,121,24,ѹ쳣,YX17,0,0,0,,, -,,121,25,ͣ,YX18,0,0,0,,, -,,121,26,·ͣ,YX19,0,0,0,,, -,,130,0,״̬,YX20,0,0,0,,, -,,130,1,ػЧ,YX21,0,0,0,,, -,,130,2,,YX22,0,0,0,,, -,,130,3,UPSģʽ,YX23,0,0,0,,, -,,130,4,UPS,YX24,0,0,0,,, -,,130,5,Bypass,YX25,0,0,0,,, -,,130,6,ص͵ѹ,YX26,0,0,0,,, -,,130,7,еѹ쳣,YX27,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/光伏设备/科华交流配电.CSV b/PSCADA/电子行业模板/common/device_model/光伏设备/科华交流配电.CSV deleted file mode 100644 index 820178c..0000000 --- a/PSCADA/电子行业模板/common/device_model/光伏设备/科华交流配电.CSV +++ /dev/null @@ -1,181 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,1,1,AC,,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,0,96,1,1000,0,0,100,100,1 -,,3,2000,4,32,1000,2,0,100,1000,0 -,,3,2800,4,32,1000,2,0,100,1000,0 -,,3,0,19,16,1000,1,0,100,1000,0 -,,3,22,2,32,1000,2,0,100,1000,0 -,,3,26,16,16,1000,1,0,100,1000,0 -,,3,42,4,32,1000,2,0,100,1000,0 -,,3,50,19,16,1000,2,0,100,1000,0 -,,3,72,2,32,1000,2,0,100,1000,0 -,,3,76,16,16,1000,2,0,100,1000,0 -,,3,92,4,32,1000,2,0,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,UPS·_Ia,1,IA1,, -,,0,1,1,0,0,UPS·_Ib,1,IB1,, -,,0,2,1,0,0,UPS·_Ic,1,IC1,, -,,0,3,1,0,0,UPS·_Ua,1,VA1,, -,,0,4,1,0,0,UPS·_Ub,1,VB1,, -,,0,5,1,0,0,UPS·_Uc,1,VC1,, -,,0,6,1,0,0,UPS·_Sa,1,SA1,, -,,0,7,1,0,0,UPS·_Sb,1,SB1,, -,,0,8,1,0,0,UPS·_Sc,1,SC1,, -,,0,9,1,0,0,UPS·_Pfa,1,PFA1,, -,,0,10,1,0,0,UPS·_PFb,1,PFB1,, -,,0,11,1,0,0,UPS·_PFc,1,PFC1,, -,,0,12,1,0,0,UPS·_Pa,1,PA1,, -,,0,13,1,0,0,UPS·_Pb,1,PB1,, -,,0,14,1,0,0,UPS·_Pc,1,PC1,, -,,0,15,1,0,0,UPS·_Qa,1,QA1,, -,,0,16,1,0,0,UPS·_Qb,1,QB1,, -,,0,17,1,0,0,UPS·_Qc,1,QC1,, -,,0,18,1,0,0,UPS·_F,1,F1,, -,,0,22,1,0,0,UPS·_йܵλ,1,PHB1,, -,,0,23,1,0,0,UPS·_йܸλ,1,PLB1,, -,,0,26,1,0,0,UPS·_Uca,1,UCA1,, -,,0,27,1,0,0,UPS·_Uab,1,UAB1,, -,,0,28,1,0,0,UPS·_Ubc,1,UBC1,, -,,0,29,1,0,0,ƽѹ_Ue0,1,Vavg1,, -,,0,30,1,0,0,ƽߵѹ_Ue,1,Uavg1,, -,,0,31,1,0,0,ƽ_Iav,1,Iavg1,, -,,0,32,1,0,0,޹_Q,1,Q1,, -,,0,33,1,0,0,ܹ_PF,1,PF1,, -,,0,34,1,0,0,й_P,1,P1,, -,,0,35,1,0,0,ڹ_S,1,S1,, -,,0,36,1,0,0,THDI1,1,THDIA1,, -,,0,37,1,0,0,THDI2,1,THDIB1,, -,,0,38,1,0,0,THDI3,1,THDIC1,, -,,0,39,1,0,0,THDV1,1,THDVA1,, -,,0,40,1,0,0,THDV2,1,THDVB1,, -,,0,41,1,0,0,THDV3,1,THDVC1,, -,,0,42,1,0,0,THDAVGVλ,1,THDAVGVLBT1,, -,,0,43,1,0,0,THDAVGVλ,1,THDAVGVHBT1,, -,,0,44,1,0,0,THDAVGIλ,1,THDAVGILBT1,, -,,0,45,1,0,0,THDAVGIλ,1,THDAVGIHBT1,, -,,0,50,1,0,0,UPS·_Ia,1,IA2,, -,,0,51,1,0,0,UPS·_Ib,1,IB2,, -,,0,52,1,0,0,UPS·_Ic,1,IC2,, -,,0,53,1,0,0,UPS·_Ua,1,VA2,, -,,0,54,1,0,0,UPS·_Ub,1,VB2,, -,,0,55,1,0,0,UPS·_Uc,1,VC2,, -,,0,56,1,0,0,UPS·_Sa,1,SA2,, -,,0,57,1,0,0,UPS·_Sb,1,SB2,, -,,0,58,1,0,0,UPS·_Sc,1,SC2,, -,,0,59,1,0,0,UPS·_Pfa,1,PFA2,, -,,0,60,1,0,0,UPS·_PFb,1,PFB2,, -,,0,61,1,0,0,UPS·_PFc,1,PFC2,, -,,0,62,1,0,0,UPS·_Pa,1,PA2,, -,,0,63,1,0,0,UPS·_Pb,1,PB2,, -,,0,64,1,0,0,UPS·_Pc,1,PC2,, -,,0,65,1,0,0,UPS·_Qa,1,QA2,, -,,0,66,1,0,0,UPS·_Qb,1,QB2,, -,,0,67,1,0,0,UPS·_Qc,1,QC2,, -,,0,68,1,0,0,UPS·_F,1,F2,, -,,0,72,1,0,0,UPS·_йܵλ,1,PHB2,, -,,0,73,1,0,0,UPS·_йܸλ,1,PLB2,, -,,0,76,1,0,0,UPS·_Uca,1,UCA2,, -,,0,77,1,0,0,UPS·_Uab,1,UAB2,, -,,0,78,1,0,0,UPS·_Ubc,1,UBC2,, -,,0,79,1,0,0,ƽѹ_Ue0,1,Vavg2,, -,,0,80,1,0,0,ƽߵѹ_Ue,1,Uavg2,, -,,0,81,1,0,0,ƽ_Iav,1,Iavg2,, -,,0,82,1,0,0,޹_Q,1,Q2,, -,,0,83,1,0,0,ܹ_PF,1,PF2,, -,,0,84,1,0,0,й_P,1,P2,, -,,0,85,1,0,0,ڹ_S,1,S2,, -,,0,86,1,0,0,THDI1,1,THDIA2,, -,,0,87,1,0,0,THDI2,1,THDIB2,, -,,0,88,1,0,0,THDI3,1,THDIC2,, -,,0,89,1,0,0,THDV1,1,THDVA2,, -,,0,90,1,0,0,THDV2,1,THDVB2,, -,,0,91,1,0,0,THDV3,1,THDVC2,, -,,0,92,1,0,0,THDAVGVλ,1,THDAVGVLBT2,, -,,0,93,1,0,0,THDAVGVλ,1,THDAVGVHBT2,, -,,0,94,1,0,0,THDAVGIλ,1,THDAVGILBT2,, -,,0,95,1,0,0,THDAVGIλ,1,THDAVGIHBT2,, -,,0,2000,1,0,0,UPS·λ,1,IINHBT,, -,,0,2001,1,0,0,UPS·λ,1,IINLBT,, -,,0,2002,1,0,0,UPS·ȣCTλ,1,CT1LBT,, -,,0,2003,1,0,0,UPS·ȣCTλ,1,CT1HBT,, -,,0,2800,1,0,0,UPS·λ,1,IOUTHBT,, -,,0,2801,1,0,0,UPS·λ,1,IOUTLBT,, -,,0,2802,1,0,0,UPS·ȣCTλ,1,CT2LBT,, -,,0,2803,1,0,0,UPS·ȣCTλ,1,CT2HBT,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,0,1QF-OF,YX1,0,0,0,,, -,,0,8,2QF-OF,YX2,0,0,0,,, -,,0,16,QF1,YX3,0,0,0,,, -,,0,17,QF2,YX4,0,0,0,,, -,,0,18,QF3,YX5,0,0,0,,, -,,0,19,QF4,YX6,0,0,0,,, -,,0,20,QF5,YX7,0,0,0,,, -,,0,21,QF6,YX8,0,0,0,,, -,,0,22,QF7,YX9,0,0,0,,, -,,0,23,QF8,YX10,0,0,0,,, -,,0,24,QF9,YX11,0,0,0,,, -,,0,25,QF10,YX12,0,0,0,,, -,,0,26,QF11,YX13,0,0,0,,, -,,0,27,QF12,YX14,0,0,0,,, -,,0,28,QF13,YX15,0,0,0,,, -,,0,29,QF14,YX16,0,0,0,,, -,,0,30,QF15,YX17,0,0,0,,, -,,0,31,QF16,YX18,0,0,0,,, -,,0,32,QF17,YX19,0,0,0,,, -,,0,33,QF18,YX20,0,0,0,,, -,,0,34,QF19,YX21,0,0,0,,, -,,0,35,QF20,YX22,0,0,0,,, -,,0,36,QF21,YX23,0,0,0,,, -,,0,37,QF22,YX24,0,0,0,,, -,,0,38,QF23,YX25,0,0,0,,, -,,0,39,QF24,YX26,0,0,0,,, -,,0,40,QF25,YX27,0,0,0,,, -,,0,41,QF26,YX28,0,0,0,,, -,,0,48,QF1µʧ,YX29,0,0,0,,, -,,0,49,QF2µʧ,YX30,0,0,0,,, -,,0,50,QF3µʧ,YX31,0,0,0,,, -,,0,51,QF4µʧ,YX32,0,0,0,,, -,,0,52,QF5µʧ,YX33,0,0,0,,, -,,0,53,QF6µʧ,YX34,0,0,0,,, -,,0,54,QF7µʧ,YX35,0,0,0,,, -,,0,55,QF8µʧ,YX36,0,0,0,,, -,,0,56,QF9µʧ,YX37,0,0,0,,, -,,0,57,QF13µʧ,YX38,0,0,0,,, -,,0,58,QF14µʧ,YX39,0,0,0,,, -,,0,59,QF20µʧ,YX40,0,0,0,,, -,,0,60,QF21µʧ,YX41,0,0,0,,, -,,0,61,QF22µʧ,YX42,0,0,0,,, -,,0,62,QF23µʧ,YX43,0,0,0,,, -,,0,64,QF1µɹ,YX44,0,0,0,,, -,,0,65,QF2µɹ,YX45,0,0,0,,, -,,0,66,QF3µɹ,YX46,0,0,0,,, -,,0,67,QF4µɹ,YX47,0,0,0,,, -,,0,68,QF5µɹ,YX48,0,0,0,,, -,,0,69,QF6µɹ,YX49,0,0,0,,, -,,0,70,QF7µɹ,YX50,0,0,0,,, -,,0,71,QF8µɹ,YX51,0,0,0,,, -,,0,72,QF9µɹ,YX52,0,0,0,,, -,,0,73,QF13µɹ,YX53,0,0,0,,, -,,0,74,QF14µɹ,YX54,0,0,0,,, -,,0,75,QF20µɹ,YX55,0,0,0,,, -,,0,76,QF21µɹ,YX56,0,0,0,,, -,,0,77,QF22µɹ,YX57,0,0,0,,, -,,0,78,QF23µɹ,YX58,0,0,0,,, -,,0,80,̵KK01,YX59,0,0,0,,, -,,0,81,̵KK02,YX60,0,0,0,,, -,,0,82,̵KK03,YX61,0,0,0,,, -,,0,83,̵KK04,YX62,0,0,0,,, -,,0,84,̵KK05,YX63,0,0,0,,, -,,0,85,̵KK06,YX64,0,0,0,,, -,,0,86,̵KK07,YX65,0,0,0,,, -,,0,87,̵KK08,YX66,0,0,0,,, -,,0,88,̵KK09,YX67,0,0,0,,, -,,0,89,̵KK10,YX68,0,0,0,,, -,,0,90,̵KK11,YX69,0,0,0,,, -,,0,91,̵KK12,YX70,0,0,0,,, -,,0,92,̵KK13,YX71,0,0,0,,, -,,0,93,̵KK14,YX72,0,0,0,,, -,,0,94,̵KK15,YX73,0,0,0,,, -,,0,95,̵KK16,YX74,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/光伏设备/科华直流配电柜.CSV b/PSCADA/电子行业模板/common/device_model/光伏设备/科华直流配电柜.CSV deleted file mode 100644 index cc2eb98..0000000 --- a/PSCADA/电子行业模板/common/device_model/光伏设备/科华直流配电柜.CSV +++ /dev/null @@ -1,22 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,1,1,n,n,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,100,23,16,1000,0,0,100,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,100,1,0,0,һ·1,1,ILOOP1,, -,,0,101,1,0,0,һ·2,1,ILOOP2,, -,,0,102,1,0,0,ڶ·ѹ1,1,ULOOP1,, -,,0,103,1,0,0,ڶ·ѹ2,1,ULOOP2,, -,,0,104,1,0,0,֧·1,1,ILOOP3,, -,,0,105,1,0,0,֧·2,1,ILOOP4,, -,,0,106,1,0,0,֧·3,1,ILOOP5,, -,,0,107,1,0,0,֧·4,1,ILOOP6,, -,,0,108,1,0,0,֧·5,1,ILOOP7,, -,,0,109,1,0,0,֧·6,1,ILOOP8,, -,,0,110,1,0,0,֧·7,1,ILOOP9,, -,,0,111,1,0,0,֧·8,1,ILOOP10,, -,,0,120,1,0,0,Դѹ,1,UIN,, -,,0,121,1,0,0,ѹMAXѹ,1,UINMAX,, -,,0,122,1,0,0,ѹMINѹ,1,UINMIN,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/北京北斗银河低压马达保护BDM100-M.CSV b/PSCADA/电子行业模板/common/device_model/北京北斗银河低压马达保护BDM100-M.CSV deleted file mode 100644 index 288f773..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京北斗银河低压马达保护BDM100-M.CSV +++ /dev/null @@ -1,23 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],2,5,1,BDM100-M ,ӿƼѹ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,8,16,1000,0,0,100,500,0 -,,3,28,2,1,1000,0,0,100,500,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,A,1,IA,, -,,0,1,1,0,0,B,1,IB,, -,,0,2,1,0,0,C,1,IC,, -,,0,3,1,0,0,,1,IG,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,28,0,ͣ״̬,MorStop,0,0,65535,,, -,,28,1,ֵ״̬,GmodSts,0,0,65535,,, -,,28,2,״̬,MorStart,0,0,65535,,, -,,28,3,״̬,MorRun,0,0,65535,,, -,,28,4,״̬,MorFlt,0,0,65535,,, -,,29,0,0-·λ,PosOn,0,0,1,,, -,,29,0,1-Ӵλ,MCPos,0,0,2,,, -,,29,0,2-ź,ProIntBlk,0,0,4,,, -,,29,0,3-,YXBY3,0,0,8,,, -,,29,0,ѹ澯,OVArm,0,0,16,,, -,,29,0,ѹ澯,UVArm,0,0,32,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSC-163A光纤.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSC-163A光纤.CSV deleted file mode 100644 index c1d4f15..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSC-163A光纤.CSV +++ /dev/null @@ -1,35 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],8,7,11,CSC-163A,ķCSC163Aװ,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д -[Point],YC,9,1,1,0,0,Iaֵ,1,IA -,,9,3,1,0,0,Ibֵ,1,IB -,,9,5,1,0,0,Icֵ,1,IC -,,9,7,1,0,0,3I0ֵ,1,IG -,,9,11,1,0,0,Uaֵ,1,VA -,,9,13,1,0,0,Ubֵ,1,VB -,,9,15,1,0,0,Ucֵ,1,VC -,,9,17,1,0,0,Uxֵ,1,VG -,,9,19,1,0,0,ͨIaaֵ,1,IA2 -,,9,21,1,0,0,ͨIbbֵ,1,IB2 -,,9,23,1,0,13,ͨIccֵ,1,IC2 -,,9,25,1,0,18,һβ๦P1,1,P1 -,,9,26,1,0,18,һβ๦Q1,1,Q1 -,,9,27,1,0,18,β๦P2,1,P2 -,,9,28,1,0,18,β๦Q2,1,Q2 -,,9,29,1,0,18,AʵIca,1,IAD -,,9,30,1,0,18,BʵIcb,1,IBD -,,9,31,1,0,18,CʵIcc,1,ICD -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,1,1,0,ңբ,1,0,12, -,,255,19,2,,1,0,0, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,242,20,Iγ,DZ1p,0,0,0, -,,242,21,IIγ,DZ2p,0,0,0, -,,242,23,ӵؾIγ,DZ1e,0,0,0, -,,242,24,ӵؾIIγ,DZ2e,0,0,0, -,,242,33,Iγ,EOC1,0,0,0, -,,242,34,IIγ,EOC2,0,0,0, -,,242,42,Iγ,OC1,0,0,0, -,,242,43,IIγ,OC2,0,0,0, -,,242,73,,ODiff,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSC241B.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSC241B.CSV deleted file mode 100644 index 0d434e3..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSC241B.CSV +++ /dev/null @@ -1,53 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],2,7,11,CSC241B,35kV_1#,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,13,1,1000,0,0,Ia,0.0001,IA -,,13,2,1000,0,0,Ib,0.0001,IB -,,13,3,1000,0,0,Ic,0.0001,IC -,,13,4,100,0,0,Ua,0.0001,VA -,,13,5,100,0,0,Ub,0.0001,VB -,,13,6,100,0,0,Uc,0.0001,VC -,,13,7,100,0,0,P,0.0001,P -,,13,8,100,0,0,Q,0.0001,Q -,,13,9,100,0,0,COS,0.0001,PF -,,13,10,100,0,0,Uab,0.0001,UAB -,,13,11,100,0,0,Ubc,0.0001,UBC -,,13,12,100,0,0,Uca,0.0001,UCA -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,150,32,ѹ,OC1LP,0,0,0, -,,150,33,ѹ,OC2LP,0,0,0, -,,150,34,ѹ,OC3LP,0,0,0, -,,150,35,ѹ,OlOADLP,0,0,0, -,,150,36,ͨѹ,VENLP,0,0,0, -,,150,37,ѹѹ,LVBlkLP,0,0,0, -,,150,38,ѹ,BYLP,0,0,0, -,,150,39,ѹ,ASLP,0,0,0, -,,150,64,·λ,PosOn,0,0,0, -,,150,65,δ,NCGPos,0,0,0, -,,150,66,ֳλ,RkdIn,0,0,0, -,,150,67,ֳλ,RkdOut,0,0,0, -,,150,68,DI5,DI5,0,0,0, -,,150,69,ӵصλ,ESPos,0,0,0, -,,150,70,DI7,DI7,0,0,0, -,,150,71,DI8,DI8,0,0,0, -,,150,72,DI9,DI9,0,0,0, -,,150,73,Զλ,LocRem,0,0,0, -,,150,74,ֶңբ,MRTrp,0,0,0, -,,150,75,HWJ,DI12,0,0,0, -,,150,76,2YJJ,DI13,0,0,0, -,,150,77,TWJ,DI14,0,0,0, -,,150,78,¹,TotFlt,0,0,0, -,,150,79,澯,ALARM,0,0,0, -,,150,80,ⲿ,ExRs,0,0,0, -,,150,81,״̬,Osts,0,0,0, -,,150,82,X5.4,BY,0,0,0, -,,150,83,ƻ·,CF,0,0,0, -,,150,188,PT߻ʧѹ,VTS,0,0,0, -,,150,191,ɸ澯,OlOAD,0,0,0, -,,150,197,鸴,PTWGRs,0,0,0, -,,150,198,ζ,OC1,0,0,0, -,,150,199,ζ,OC2,0,0,0, -,,150,200,ζ,OC3,0,0,0, -,,150,201,䶯,SAC,0,0,0, -,,150,202,ѹ,LVB,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSC246.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSC246.CSV deleted file mode 100644 index 7b9b33c..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSC246.CSV +++ /dev/null @@ -1,69 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],6,7,11,CSC246,35kV_Ͷ,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,13,1,1000,0,0,Ia,0.0001,IA -,,13,2,1000,0,0,Ib,0.0001,IB -,,13,3,1000,0,0,Ic,0.0001,IC -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,134,32,ͶͶѹ,BZTEnbLP,0,0,0, -,,134,33,ѹ,ALCLP,0,0,0, -,,134,34,ѹ,OC1LP,0,0,0, -,,134,35,ѹ,OC2LP,0,0,0, -,,134,36,ٱѹ,OCASLP,0,0,0, -,,134,37,ѹ,EOC1LP,0,0,0, -,,134,38,ѹ,EOC2LP,0,0,0, -,,134,39,ٱѹ,EOCASLP,0,0,0, -,,134,64,1غλ,PosOn1,0,0,0, -,,134,65,2غλ,PosOn2,0,0,0, -,,134,66,DI3,DI3,0,0,0, -,,134,67,δ,NCGPos,0,0,0, -,,134,68,ֳλ,RkdIn1,0,0,0, -,,134,69,ֳλ,RkdIn2,0,0,0, -,,134,70,·λ,PosOn3,0,0,0, -,,134,71,ͶѹͶ,BZTLP,0,0,0, -,,134,72,Ͷܱ,BZTBlk,0,0,0, -,,134,73,Զλ,LocRem,0,0,0, -,,134,74,ֶңբ,MRTrp,0,0,0, -,,134,75,HWJ,DI12,0,0,0, -,,134,76,2YJJ,DI13,0,0,0, -,,134,77,TWJ,DI14,0,0,0, -,,134,78,¹,TotFlt,0,0,0, -,,134,79,澯,ALARM,0,0,0, -,,134,80,ⲿ,ExRs,0,0,0, -,,134,81,X5.3,BY1,0,0,0, -,,134,82,X5.4,BY2,0,0,0, -,,134,83,ƻ·,CF,0,0,0, -,,134,131,Ͷ,BATSCHA,0,0,0, -,,134,196,PT߻ʧѹ,VTS,0,0,0, -,,134,197,ƻ·,CF,0,0,0, -,,134,205,Ͷ,BZTBlk,0,0,0, -,,134,206,˳Ͷ,BZTExt,0,0,0, -,,134,216,Iζ,OC1,0,0,0, -,,134,217,IIζ,OC2,0,0,0, -,,134,218,1,JC1,0,0,0, -,,134,219,2,JC2,0,0,0, -,,134,220,綯,OCCHA,0,0,0, -,,134,221,¼3,BY3,0,0,0, -,,134,222,¼4,BY4,0,0,0, -,,134,223,Iζ,EOC1,0,0,0, -,,134,224,IIζ,EOC2,0,0,0, -,,134,225,綯,EOCCHA,0,0,0, -,,134,226,1ĸ3DL,DO1,0,0,0, -,,134,227,2ĸ3DL,DO2,0,0,0, -,,134,228,51DL,DO3,0,0,0, -,,134,229,һг6,DO4,0,0,0, -,,134,230,72DL,DO5,0,0,0, -,,134,231,ڶг8,DO6,0,0,0, -,,134,232,6Ͻ1DL,DO7,0,0,0, -,,134,233,8Ͻ2DL,DO8,0,0,0, -,,134,234,64DL,DO9,0,0,0, -,,134,235,8и,DO10,0,0,0, -,,134,236,11#߲1DL,DO11,0,0,0, -,,134,237,21#߲1DL,DO12,0,0,0, -,,134,238,32#߲2DL,DO13,0,0,0, -,,134,239,42#߲2DL,DO14,0,0,0, -,,134,240,51#Ͳ3DL,DO15,0,0,0, -,,134,241,61#Ͳ3DL,DO16,0,0,0, -,,134,242,72#Ͳ4DL,DO17,0,0,0, -,,134,243,82#Ͳ4DL,DO18,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSC281.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSC281.CSV deleted file mode 100644 index 99af584..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSC281.CSV +++ /dev/null @@ -1,68 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],4,7,11,CSC281,35kV_1#,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,13,1,1000,0,0,Ia,0.0001,IA -,,13,2,1000,0,0,Ib,0.0001,IB -,,13,3,1000,0,0,Ic,0.0001,IC -,,13,4,100,0,0,Ua,0.0001,VA -,,13,5,100,0,0,Ub,0.0001,VB -,,13,6,100,0,0,Uc,0.0001,VC -,,13,7,100,0,0,Uab,0.0001,VAB -,,13,8,100,0,0,Ubc,0.0001,VBC -,,13,9,100,0,0,Uca,0.0001,VCA -,,13,10,100,0,0,P,0.0001,P -,,13,11,100,0,0,Q,0.0001,Q -,,13,12,100,0,0,COS,0.0001,PF -,,13,13,100,0,0,F,0.0001,F -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,160,32,ѹ,OC1LP,0,0,0, -,,160,33,ѹ,OC2LP,0,0,0, -,,160,34,ѹ,OC3LP,0,0,0, -,,160,35,ѹ,EOC1LP,0,0,0, -,,160,36,ѹ,EOC2LP,0,0,0, -,,160,37,ѹ,EOC3LP,0,0,0, -,,160,38,ѹ,ASLP,0,0,0, -,,160,39,ѹ,OLOADLP,0,0,0, -,,160,40,غͶѹ,ReCEnbLP,0,0,0, -,,160,41,ܼѹ,LCLSLP,0,0,0, -,,160,42,ѹѹ,LPSCLP,0,0,0, -,,160,64,Զλ,LocRem,0,0,0, -,,160,65,ӵ,GTTrp,0,0,0, -,,160,66,״̬,Osts,0,0,0, -,,160,67,ⲿ,ExRs,0,0,0, -,,160,68,·λ,PosOn,0,0,0, -,,160,69,DI2,DI2,0,0,0, -,,160,70,ֳλ,RkdIn,0,0,0, -,,160,71,ֳλ,RkdOut,0,0,0, -,,160,72,DI5,DI5,0,0,0, -,,160,73,DI6,DI6,0,0,0, -,,160,74,DI7,DI7,0,0,0, -,,160,75,δ,NCGPos,0,0,0, -,,160,76,غբ,Recloser,0,0,0, -,,160,77,TWJ,DI14,0,0,0, -,,160,78,HWJ,DI15,0,0,0, -,,160,79,SYN,DI16,0,0,0, -,,160,80,װù,DevFlt,0,0,0, -,,160,81,,GFB,0,0,0, -,,160,82,¹,TotFlt,0,0,0, -,,160,83,澯,ALARM,0,0,0, -,,160,84,ƻ·,CF,0,0,0, -,,160,188,PT߻ʧѹ,VTS,0,0,0, -,,160,191,ɸ澯,OLOADA,0,0,0, -,,160,196,,RR,0,0,0, -,,160,197,ζ,OC1,0,0,0, -,,160,198,ζ,OC2,0,0,0, -,,160,199,ζ,OC3,0,0,0, -,,160,200,ζ,EOC1,0,0,0, -,,160,201,ζ,EOC2,0,0,0, -,,160,202,ζ,EOC3,0,0,0, -,,160,203,غբ,Recloser,0,0,0, -,,160,204,ٶζ,OCAS,0,0,0, -,,160,205,ٶζ,EOCAS,0,0,0, -,,160,206,ʱ޶,OC4,0,0,0, -,,160,207,ʱ޶,EOC4,0,0,0, -,,160,208,ӵѡ,GPTrp,0,0,0, -,,160,209,ܶ,LCAct,0,0,0, -,,160,210,FC,FCBlkOC,0,0,0, -,,160,211,ѹ,UV,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSC285V.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSC285V.CSV deleted file mode 100644 index 8aa862b..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSC285V.CSV +++ /dev/null @@ -1,47 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],5,7,11,CSC285V,CSC285V,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,13,1,100,0,0,Uab1,0.0001,UAB1 -,,13,2,100,0,0,Ubc1,0.0001,UBC1 -,,13,3,100,0,0,Uca1,0.0001,UCA1 -,,13,4,100,0,0,Uab2,0.0001,UAB2 -,,13,5,100,0,0,Ubc2,0.0001,UBC2 -,,13,6,100,0,0,Uca2,0.0001,UCA2 -,,13,7,100,0,0,F1,0.0001,F1 -,,13,8,100,0,0,F2,0.0001,F2 -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,133,32,͵ѹѹ,UVLP,0,0,0, -,,133,33,ѹѹ,EOVLP,0,0,0, -,,133,34,ѹѹ,OVLP,0,0,0, -,,133,35,ѹѹ,UnbOCLP,0,0,0, -,,133,64,Զλ,LocRem,0,0,0, -,,133,65,X2.2,BY,0,0,0, -,,133,66,״̬,Osts,0,0,0, -,,133,67,ⲿ,ExRs,0,0,0, -,,133,68,IĸPTֳλ,B1RkdIn,0,0,0, -,,133,69,IĸPTֳλ,B1RkdOut,0,0,0, -,,133,70,IIĸPTֳλ,B2RkdIn,0,0,0, -,,133,71,IIĸPTֳλ,B2RkdOut,0,0,0, -,,133,72,DI5,DI5,0,0,0, -,,133,73,DI6,DI6,0,0,0, -,,133,74,DI7,DI7,0,0,0, -,,133,75,DI8,DI8,0,0,0, -,,133,76,DI9,DI9,0,0,0, -,,133,77,TWJ,DI10,0,0,0, -,,133,78,HWJ,DI11,0,0,0, -,,133,79,SYN,DI12,0,0,0, -,,133,80,װù,DevFlt,0,0,0, -,,133,81,,GFB,0,0,0, -,,133,82,¹,TotFlt,0,0,0, -,,133,83,澯,ALARM,0,0,0, -,,133,185,Iĸѹ澯,B1UVALARM,0,0,0, -,,133,186,Iĸ澯,B1EALARM,0,0,0, -,,133,187,Iĸѹ澯,B1OVALARM,0,0,0, -,,133,188,Iĸ澯,B1UnbALARM,0,0,0, -,,133,189,IIĸѹ澯,B2UVALARM,0,0,0, -,,133,190,IIĸ澯,B2EALARM,0,0,0, -,,133,191,IIĸѹ澯,B2OVALARM,0,0,0, -,,133,192,IIĸ澯,B2UnbALARM,0,0,0, -,,133,195,IĸPT߻ʧѹ,B1VTS,0,0,0, -,,133,196,IIĸPT߻ʧѹ,B2VTS,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSC326GC.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSC326GC.CSV deleted file mode 100644 index 83938e7..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSC326GC.CSV +++ /dev/null @@ -1,24 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,7,11,CSC326GC,35kV_1#,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,13,1,1000,0,0,Iacd,0.0001,Iacd -,,13,2,1000,0,1,Ibcd,0.0001,Ibcd -,,13,3,1000,0,2,Iccd,0.0001,Iccd -,,13,4,1000,0,3,Iaxb,0.0001,Iaxb -,,13,5,1000,0,4,Ibxb,0.0001,Ibxb -,,13,6,1000,0,5,Icxb,0.0001,Icxb -,,13,7,1000,0,6,Iazd,0.0001,Iazd -,,13,8,1000,0,7,Ibzd,0.0001,Ibzd -,,13,9,1000,0,8,Iczd,0.0001,Iczd -,,13,10,100,0,9,ƽϵ,0.0001,Kbal -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,149,32,ٶѹ,DiffLP,0,0,0, -,,149,33,ʲѹ,TRDiffLP,0,0,0, -,,149,215,,PRORs,0,0,0, -,,149,216,Aʲ,TRDiffA,0,0,0, -,,149,217,Bʲ,TRDiffB,0,0,0, -,,149,218,Cʲ,TRDiffC,0,0,0, -,,149,219,Aٶ,TDiffA,0,0,0, -,,149,220,Bٶ,TDiffB,0,0,0, -,,149,221,Cٶ,TDiffC,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSC336B1.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSC336B1.CSV deleted file mode 100644 index 4c09bf6..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSC336B1.CSV +++ /dev/null @@ -1,17 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,, -[Device],3,7,11,CSC336B1,35kV_1#ǵ,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1 -[Point],YX,139,32,ʱʹѹ,LDELP,0,0,0 -,,139,64,DI1,DI1,0,0,0 -,,139,65,DI2,DI2,0,0,0 -,,139,66,˹,LG,0,0,0 -,,139,67,բ2,TRIP2,0,0,0 -,,139,68,բ3,TRIP3,0,0,0 -,,139,69,բ4,TRIP4,0,0,0 -,,139,70,ź1,SIG1,0,0,0 -,,139,71,ź2,SIG2,0,0,0 -,,139,72,ѹͷ,PR,0,0,0 -,,139,73,˹,LLG,0,0,0 -,,139,77,,HT,0,0,0 -,,139,78,λ,UOA,0,0,0 -,,65535,65535,ͨѶ״̬,TX,0,0,0 diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSI-200E.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSI-200E.CSV deleted file mode 100644 index d93e618..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSI-200E.CSV +++ /dev/null @@ -1,173 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],8,7,11,CSC-200E,ķCSC00E,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д -[Point],YC,13,1,1,0,0,IA,1,IA -,,13,2,1,0,1,IB,1,IB -,,13,3,1,0,2,IC,1,IC -,,13,4,1,0,3,UA,1,VA -,,13,5,1,0,4,UB,1,VB -,,13,6,1,0,5,UC,1,VC -,,13,7,1,0,6,UX,1,VX -,,13,8,1,0,7,UAB,1,UAB -,,13,9,1,0,8,UBC,1,UBC -,,13,10,1,0,9,UCA,1,UCA -,,13,11,1,0,10,P,1,P -,,13,12,1,0,14,Q,1,Q -,,13,13,1,0,15,COS,1,PF -,,13,14,1,0,17,F,1,F -,,1,15,1,0,18,,1,BY -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,1,1,0,ң1,1,0,12, -,,2,2,0,ң2,1,0,12, -,,3,3,0,ң3,1,0,12, -,,4,4,0,ң4,1,0,12, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,6,32,ֽͷѹ,TCLP,0,0,0, -,,6,33,ͬڹѹ,SynLP,0,0,0, -,,6,34,Ͷѹ,BZTLP,0,0,0, -,,6,35,߼Ͷѹ,CLILP,0,0,0, -,,6,36,ͬѹ,CSynLP,0,0,0, -,,6,37,ѹѹ,CNVLP,0,0,0, -,,6,38,׼ͬѹ,QSLP,0,0,0, -,,6,39,ͬڽڵ̶ʽ,SNFM,0,0,0, -,,6,40,ͬڽڵ12ʽ,SN12M,0,0,0, -,,6,41,ͬڽڵ13ʽ,SN13M,0,0,0, -,,6,42,ͬڽڵ14ʽ,SN14M,0,0,0, -,,6,43,ͬڽڵ23ʽ,SN23M,0,0,0, -,,6,44,ͬڽڵ24ʽ,SN24M,0,0,0, -,,6,45,ͬڽڵ34ʽ,SN34M,0,0,0, -,,6,46,͵ѹ,LocalLP,0,0,0, -,,6,47,ѹ,ULLP,0,0,0, -,,6,56,1,DI1,0,0,0, -,,6,57,2,DI2,0,0,0, -,,6,58,3,DI3,0,0,0, -,,6,59,4,DI4,0,0,0, -,,6,60,5,DI5,0,0,0, -,,6,61,6,DI6,0,0,0, -,,6,62,7,DI7,0,0,0, -,,6,63,8,DI8,0,0,0, -,,6,64,9,DI9,0,0,0, -,,6,65,10,DI10,0,0,0, -,,6,66,11,DI11,0,0,0, -,,6,67,12,DI12,0,0,0, -,,6,68,13,DI13,0,0,0, -,,6,69,14,DI14,0,0,0, -,,6,70,15,DI15,0,0,0, -,,6,71,16,DI16,0,0,0, -,,6,72,17,DI17,0,0,0, -,,6,73,18,DI18,0,0,0, -,,6,74,19,DI19,0,0,0, -,,6,75,20,DI20,0,0,0, -,,6,76,21,DI21,0,0,0, -,,6,77,22,DI22,0,0,0, -,,6,78,23,DI23,0,0,0, -,,6,79,24,DI24,0,0,0, -,,6,80,25,DI25,0,0,0, -,,6,81,26,DI26,0,0,0, -,,6,82,27,DI27,0,0,0, -,,6,83,28,DI28,0,0,0, -,,6,84,29,DI29,0,0,0, -,,6,85,30,DI30,0,0,0, -,,6,86,31,DI31,0,0,0, -,,6,87,32,DI32,0,0,0, -,,6,88,33,DI33,0,0,0, -,,6,89,34,DI34,0,0,0, -,,6,90,35,DI35,0,0,0, -,,6,91,36,DI36,0,0,0, -,,6,92,37,DI37,0,0,0, -,,6,93,38,DI38,0,0,0, -,,6,94,39,DI39,0,0,0, -,,6,95,40,DI40,0,0,0, -,,6,96,41,DI41,0,0,0, -,,6,97,42,DI42,0,0,0, -,,6,98,43,DI43,0,0,0, -,,6,99,44,DI44,0,0,0, -,,6,100,45,DI45,0,0,0, -,,6,101,46,DI46,0,0,0, -,,6,102,47,DI47,0,0,0, -,,6,103,48,DI48,0,0,0, -,,6,104,49,DI49,0,0,0, -,,6,105,50,DI50,0,0,0, -,,6,106,51,DI51,0,0,0, -,,6,107,52,DI52,0,0,0, -,,6,108,53,DI53,0,0,0, -,,6,109,54,DI54,0,0,0, -,,6,110,55,DI55,0,0,0, -,,6,111,56,DI56,0,0,0, -,,6,112,57,DI57,0,0,0, -,,6,113,58,DI58,0,0,0, -,,6,114,59,DI59,0,0,0, -,,6,115,60,DI60,0,0,0, -,,6,116,61,DI61,0,0,0, -,,6,117,62,DI62,0,0,0, -,,6,118,63,DI63,0,0,0, -,,6,119,64,DI64,0,0,0, -,,6,120,65,DI65,0,0,0, -,,6,121,66,DI66,0,0,0, -,,6,122,67,DI67,0,0,0, -,,6,123,68,DI68,0,0,0, -,,6,124,69,DI69,0,0,0, -,,6,125,70,DI70,0,0,0, -,,6,126,71,DI71,0,0,0, -,,6,127,72,DI72,0,0,0, -,,6,128,73,DI73,0,0,0, -,,6,129,74,DI74,0,0,0, -,,6,130,75,DI75,0,0,0, -,,6,131,76,DI76,0,0,0, -,,6,132,77,DI77,0,0,0, -,,6,133,78,DI78,0,0,0, -,,6,134,79,DI79,0,0,0, -,,6,135,80,DI80,0,0,0, -,,6,136,81,DI81,0,0,0, -,,6,137,82,DI82,0,0,0, -,,6,138,83,DI83,0,0,0, -,,6,139,84,DI84,0,0,0, -,,6,140,85,DI85,0,0,0, -,,6,141,86,DI86,0,0,0, -,,6,142,87,DI87,0,0,0, -,,6,143,88,DI88,0,0,0, -,,6,144,89,DI89,0,0,0, -,,6,145,90,DI90,0,0,0, -,,6,146,91,DI91,0,0,0, -,,6,147,92,DI92,0,0,0, -,,6,148,93,DI93,0,0,0, -,,6,149,94,DI94,0,0,0, -,,6,150,95,DI95,0,0,0, -,,6,151,96,DI96,0,0,0, -,,6,152,U1 PT߸澯 ,U1VTS,0,0,0, -,,6,153,U2 PT߸澯 ,U2VTS,0,0,0, -,,6,154,3U0ڵ1Խ޸澯 ,V0OL1ALARM,0,0,0, -,,6,155,3U0ڵ2Խ޸澯 ,V0OL2ALARM,0,0,0, -,,6,156,U5 PT߸澯 ,U5VTS,0,0,0, -,,6,157,U6 PT߸澯 ,U6VTS,0,0,0, -,,6,158,3U0ڵ3Խ޸澯 ,V0OL3ALARM,0,0,0, -,,6,159,3U0ڵ4Խ޸澯 ,V0OL4ALARM,0,0,0, -,,6,160,U9 PT߸澯 ,U9VTS,0,0,0, -,,6,161,U10 PT߸澯 ,V10VTS,0,0,0, -,,6,162,3U0ڵ5Խ޸澯 ,V0OL5ALARM,0,0,0, -,,6,163,3U0ڵ6Խ޸澯 ,V00OL6ALARM,0,0,0, -,,6,164,ѹ,PRSG,0,0,0, -,,6,165,׽ͬƵϸ,CFDUN,0,0,0, -,,6,166,׽ͬѹϸ,CVDUN,0,0,0, -,,6,167,׽ͬڽDzϸ,CPADUN,0,0,0, -,,6,168,׽ͬϸ,CEDUN,0,0,0, -,,6,169,ͬڽDzϸ ,VDUN,0,0,0, -,,6,170,ͬѹϸ ,PADUN,0,0,0, -,,6,171,ͬϸ ,EDUN,0,0,0, -,,6,172,ROM,ROMERROR,0,0,0, -,,6,173,ֵ,EISV,0,0,0, -,,6,174,ϵͳֵ,SEISV,0,0,0, -,,6,175,Ưδ,ZDOFF,0,0,0, -,,6,176,̶δ,SCAOFF,0,0,0, -,,6,177,Eeprom,EepromERROR,0,0,0, -,,6,178,ͨѶж,SCI,0,0,0, -,,6,179,ϵͳó,SCERROR,0,0,0, -,,6,180,CPUͨѶж,CPUCI,0,0,0, -,,6,181,ñ,CTERROR,0,0,0, -,,6,182,߼,LTERROR,0,0,0, -,,6,183,,DICERROR,0,0,0, -,,6,184,˫ңűλһ,DTDI,0,0,0, -,,6,185,ƯУ,ZDCERROR,0,0,0, -,,6,186,·͵,CBT,0,0,0, -,,6,187,ͨж,ICI,0,0,0, -,,6,188,ͨŻָ,ICR,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSI-200E测控.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSI-200E测控.CSV deleted file mode 100644 index 87018bb..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSI-200E测控.CSV +++ /dev/null @@ -1,188 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],8,7,11,CSC-200E,ķCSC200E,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д -[Point],YC,5,1,1,0,0,IU1A,1,1VA1 -,,5,2,1,0,0,IU1B,1,1VBA -,,5,3,1,0,0,IU1C,1,1VC1 -,,5,4,1,0,0,IU2A,1,1VA2 -,,5,5,1,0,0,IU2B,1,1VB2 -,,5,6,1,0,0,IU2C,1,1VC2 -,,5,7,1,0,0,IU3,1,1V3 -,,5,8,1,0,0,IU4,1,1V4 -,,5,9,1,0,0,II1,1,1I1 -,,5,10,1,0,0,II2,1,1I2 -,,5,11,1,0,0,II3,1,1I3 -,,5,12,1,0,0,II4,1,1I4 -,,6,1,1,0,0,IIU1A,1,2VA3 -,,6,2,1,0,0,IIU1B,1,2VB3 -,,6,3,1,0,0,IIU1C,1,2VC3 -,,6,4,1,0,0,IIU2A,1,2VA4 -,,6,5,1,0,0,IIU2B,1,2VB4 -,,6,6,1,0,0,IIU2C,1,2VC4 -,,6,9,1,0,0,III1,1,2I1 -,,6,10,1,0,0,III2,1,2I2 -,,6,11,1,0,0,III3,1,2I3 -,,6,12,1,0,0,III4,1,2I4 -,,6,13,1,0,13,III5,1,2I5 -,,6,14,1,0,17,III6,1,2I6 -,,7,1,1,0,18,1,1,BY1 -,,7,2,1,0,18,2,1,BY2 -,,7,3,1,0,18,3,1,BY3 -,,7,4,1,0,18,4,1,BY4 -,,7,5,1,0,18,5,1,BY5 -,,7,6,1,0,18,6,1,BY6 -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,1,1,0,ң1,1,0,12, -,,2,2,0,ң2,1,0,12, -,,3,3,0,ң3,1,0,12, -,,4,4,0,ң4,1,0,12, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,6,32,ֽͷѹ,TCLP,0,0,0, -,,6,33,ͬڹѹ,SynLP,0,0,0, -,,6,34,Ͷѹ,BZTLP,0,0,0, -,,6,35,߼Ͷѹ,CLILP,0,0,0, -,,6,36,ͬѹ,CSynLP,0,0,0, -,,6,37,ѹѹ,CNVLP,0,0,0, -,,6,38,׼ͬѹ,QSLP,0,0,0, -,,6,39,ͬڽڵ̶ʽ,SNFM,0,0,0, -,,6,40,ͬڽڵ12ʽ,SN12M,0,0,0, -,,6,41,ͬڽڵ13ʽ,SN13M,0,0,0, -,,6,42,ͬڽڵ14ʽ,SN14M,0,0,0, -,,6,43,ͬڽڵ23ʽ,SN23M,0,0,0, -,,6,44,ͬڽڵ24ʽ,SN24M,0,0,0, -,,6,45,ͬڽڵ34ʽ,SN34M,0,0,0, -,,6,46,͵ѹ,LocalLP,0,0,0, -,,6,47,ѹ,ULLP,0,0,0, -,,6,56,1,DI1,0,0,0, -,,6,57,2,DI2,0,0,0, -,,6,58,3,DI3,0,0,0, -,,6,59,4,DI4,0,0,0, -,,6,60,5,DI5,0,0,0, -,,6,61,6,DI6,0,0,0, -,,6,62,7,DI7,0,0,0, -,,6,63,8,DI8,0,0,0, -,,6,64,9,DI9,0,0,0, -,,6,65,10,DI10,0,0,0, -,,6,66,11,DI11,0,0,0, -,,6,67,12,DI12,0,0,0, -,,6,68,13,DI13,0,0,0, -,,6,69,14,DI14,0,0,0, -,,6,70,15,DI15,0,0,0, -,,6,71,16,DI16,0,0,0, -,,6,72,17,DI17,0,0,0, -,,6,73,18,DI18,0,0,0, -,,6,74,19,DI19,0,0,0, -,,6,75,20,DI20,0,0,0, -,,6,76,21,DI21,0,0,0, -,,6,77,22,DI22,0,0,0, -,,6,78,23,DI23,0,0,0, -,,6,79,24,DI24,0,0,0, -,,6,80,25,DI25,0,0,0, -,,6,81,26,DI26,0,0,0, -,,6,82,27,DI27,0,0,0, -,,6,83,28,DI28,0,0,0, -,,6,84,29,DI29,0,0,0, -,,6,85,30,DI30,0,0,0, -,,6,86,31,DI31,0,0,0, -,,6,87,32,DI32,0,0,0, -,,6,88,33,DI33,0,0,0, -,,6,89,34,DI34,0,0,0, -,,6,90,35,DI35,0,0,0, -,,6,91,36,DI36,0,0,0, -,,6,92,37,DI37,0,0,0, -,,6,93,38,DI38,0,0,0, -,,6,94,39,DI39,0,0,0, -,,6,95,40,DI40,0,0,0, -,,6,96,41,DI41,0,0,0, -,,6,97,42,DI42,0,0,0, -,,6,98,43,DI43,0,0,0, -,,6,99,44,DI44,0,0,0, -,,6,100,45,DI45,0,0,0, -,,6,101,46,DI46,0,0,0, -,,6,102,47,DI47,0,0,0, -,,6,103,48,DI48,0,0,0, -,,6,104,49,DI49,0,0,0, -,,6,105,50,DI50,0,0,0, -,,6,106,51,DI51,0,0,0, -,,6,107,52,DI52,0,0,0, -,,6,108,53,DI53,0,0,0, -,,6,109,54,DI54,0,0,0, -,,6,110,55,DI55,0,0,0, -,,6,111,56,DI56,0,0,0, -,,6,112,57,DI57,0,0,0, -,,6,113,58,DI58,0,0,0, -,,6,114,59,DI59,0,0,0, -,,6,115,60,DI60,0,0,0, -,,6,116,61,DI61,0,0,0, -,,6,117,62,DI62,0,0,0, -,,6,118,63,DI63,0,0,0, -,,6,119,64,DI64,0,0,0, -,,6,120,65,DI65,0,0,0, -,,6,121,66,DI66,0,0,0, -,,6,122,67,DI67,0,0,0, -,,6,123,68,DI68,0,0,0, -,,6,124,69,DI69,0,0,0, -,,6,125,70,DI70,0,0,0, -,,6,126,71,DI71,0,0,0, -,,6,127,72,DI72,0,0,0, -,,6,128,73,DI73,0,0,0, -,,6,129,74,DI74,0,0,0, -,,6,130,75,DI75,0,0,0, -,,6,131,76,DI76,0,0,0, -,,6,132,77,DI77,0,0,0, -,,6,133,78,DI78,0,0,0, -,,6,134,79,DI79,0,0,0, -,,6,135,80,DI80,0,0,0, -,,6,136,81,DI81,0,0,0, -,,6,137,82,DI82,0,0,0, -,,6,138,83,DI83,0,0,0, -,,6,139,84,DI84,0,0,0, -,,6,140,85,DI85,0,0,0, -,,6,141,86,DI86,0,0,0, -,,6,142,87,DI87,0,0,0, -,,6,143,88,DI88,0,0,0, -,,6,144,89,DI89,0,0,0, -,,6,145,90,DI90,0,0,0, -,,6,146,91,DI91,0,0,0, -,,6,147,92,DI92,0,0,0, -,,6,148,93,DI93,0,0,0, -,,6,149,94,DI94,0,0,0, -,,6,150,95,DI95,0,0,0, -,,6,151,96,DI96,0,0,0, -,,6,152,U1 PT߸澯 ,U1VTS,0,0,0, -,,6,153,U2 PT߸澯 ,U2VTS,0,0,0, -,,6,154,3U0ڵ1Խ޸澯 ,V0OL1ALARM,0,0,0, -,,6,155,3U0ڵ2Խ޸澯 ,V0OL2ALARM,0,0,0, -,,6,156,U5 PT߸澯 ,U5VTS,0,0,0, -,,6,157,U6 PT߸澯 ,U6VTS,0,0,0, -,,6,158,3U0ڵ3Խ޸澯 ,V0OL3ALARM,0,0,0, -,,6,159,3U0ڵ4Խ޸澯 ,V0OL4ALARM,0,0,0, -,,6,160,U9 PT߸澯 ,U9VTS,0,0,0, -,,6,161,U10 PT߸澯 ,V10VTS,0,0,0, -,,6,162,3U0ڵ5Խ޸澯 ,V0OL5ALARM,0,0,0, -,,6,163,3U0ڵ6Խ޸澯 ,V00OL6ALARM,0,0,0, -,,6,164,ѹ,PRSG,0,0,0, -,,6,165,׽ͬƵϸ,CFDUN,0,0,0, -,,6,166,׽ͬѹϸ,CVDUN,0,0,0, -,,6,167,׽ͬڽDzϸ,CPADUN,0,0,0, -,,6,168,׽ͬϸ,CEDUN,0,0,0, -,,6,169,ͬڽDzϸ ,VDUN,0,0,0, -,,6,170,ͬѹϸ ,PADUN,0,0,0, -,,6,171,ͬϸ ,EDUN,0,0,0, -,,6,172,ROM,ROMERROR,0,0,0, -,,6,173,ֵ,EISV,0,0,0, -,,6,174,ϵͳֵ,SEISV,0,0,0, -,,6,175,Ưδ,ZDOFF,0,0,0, -,,6,176,̶δ,SCAOFF,0,0,0, -,,6,177,Eeprom,EepromERROR,0,0,0, -,,6,178,ͨѶж,SCI,0,0,0, -,,6,179,ϵͳó,SCERROR,0,0,0, -,,6,180,CPUͨѶж,CPUCI,0,0,0, -,,6,181,ñ,CTERROR,0,0,0, -,,6,182,߼,LTERROR,0,0,0, -,,6,183,,DICERROR,0,0,0, -,,6,184,˫ңűλһ,DTDI,0,0,0, -,,6,185,ƯУ,ZDCERROR,0,0,0, -,,6,186,·͵,CBT,0,0,0, -,,6,187,ͨж,ICI,0,0,0, -,,6,188,ͨŻָ,ICR,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSI-211.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSI-211.CSV deleted file mode 100644 index d9c9dcb..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSI-211.CSV +++ /dev/null @@ -1,101 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],8,7,11,CSC-211,ķCSC211,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д -[Point],YC,13,1,1,0,0,IA,1,IA -,,13,2,1,0,0,IB,1,IB -,,13,3,1,0,0,IC,1,IC -,,13,4,1,0,0,UA,1,VA -,,13,5,1,0,0,UB,1,VB -,,13,6,1,0,0,UC,1,VC -,,13,7,1,0,0,UX,1,VX -,,13,8,1,0,0,UAB,1,UAB -,,13,9,1,0,0,UBC,1,UBC -,,13,10,1,0,0,UCA,1,UCA -,,13,11,1,0,0,P,1,P -,,13,12,1,0,0,Q,1,Q -,,13,13,1,0,0,COS,1,PF -,,13,14,1,0,0,F,1,F -,,1,15,1,0,0,,1,BY -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,1,1,0,ң1,2,1,12, -,,2,2,0,ң2,2,1,12, -,,3,3,0,ң3,2,1,12, -,,4,4,0,ң4,2,1,12, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,160,32,,OC1,0,0,0, -,,160,33,,OC2,0,0,0, -,,160,34,,OC3,0,0,0, -,,160,35,,EOC1,0,0,0, -,,160,36,,EOC2,0,0,0, -,,160,37,,EOC3,0,0,0, -,,160,38,,SP,0,0,0, -,,160,39,,OLOAD,0,0,0, -,,160,40,ܼ,LCLS,0,0,0, -,,160,41,غͶ,Recloser,0,0,0, -,,160,64,DI1غ,BLOCK79,0,0,0, -,,160,65,DI2δ,NCGPos,0,0,0, -,,160,66,DI3 ,DI3,0,0,0, -,,160,67,DI4ֺϿ,DI4,0,0,0, -,,160,68,DI5,DI5,0,0,0, -,,160,69,DI6,DI6,0,0,0, -,,160,70,DI7,DI7,0,0,0, -,,160,71,DI8,DI8,0,0,0, -,,160,72,DI9,DI9,0,0,0, -,,160,73,Զλ,LocRem,0,0,0, -,,160,74,ֶңբ,MRTrp,0,0,0, -,,160,75,HWJ,DI10,0,0,0, -,,160,76,2YJJ,DI11,0,0,0, -,,160,77,TWJ,DI12,0,0,0, -,,160,78,¹,TotFlt,0,0,0, -,,160,79,澯,ALARM,0,0,0, -,,160,80,ⲿ,ExRs,0,0,0, -,,160,81,״̬,Osts,0,0,0, -,,160,82,ӵѡ,GTS,0,0,0, -,,160,83,ƻ·,CF,0,0,0, -,,160,84,/P,LC,0,0,0, -,,160,85,/Q,OC,0,0,0, -,,160,176,װϵ,POWERUP,0,0,0, -,,160,177,RAM,RAMERROR,0,0,0, -,,160,178,EPROM,EPROMERROR,0,0,0, -,,160,179,,FLASHERROR,0,0,0, -,,160,180,쳣,DOAB,0,0,0, -,,160,181,AD,ADERROR,0,0,0, -,,160,182,ƯԽ,ZDOL,0,0,0, -,,160,183,Чֵ,ICA,0,0,0, -,,160,184,ֵУ,FVCERROR,0,0,0, -,,160,185,ô,PCERROR,0,0,0, -,,160,186,󱸵쳣,BA,0,0,0, -,,160,187,ӿ쳣,NIERROR,0,0,0, -,,160,188,PT߻ʧѹ,VTS,0,0,0, -,,160,189,ƻ·,CF,0,0,0, -,,160,190,բʧ,Tf,0,0,0, -,,160,191,غʧ,SCF,0,0,0, -,,160,192,·ӵ!,LocalEARTH,0,0,0, -,,160,193,ɸ澯,OVERLOADALARM,0,0,0, -,,160,194,ӵѡ,GTSDIERROR,0,0,0, -,,160,195,ȡ·PT,VTS2,0,0,0, -,,160,196,MMIͨѶ쳣,MMICERROR,0,0,0, -,,160,197,DI2澯,DI2ALARM,0,0,0, -,,160,198,ֺϿ,HDIERROR,0,0,0, -,,160,199,鸴,PTWGRs,0,0,0, -,,160,200,ζ,OC1,0,0,0, -,,160,201,ζ,OC2,0,0,0, -,,160,202,ζ,OC3,0,0,0, -,,160,203,ζ,EOC1,0,0,0, -,,160,204,ζ,EOC2,0,0,0, -,,160,205,ζ,EOC3,0,0,0, -,,160,206,غբ,Recloser,0,0,0, -,,160,207,ܶ,LC,0,0,0, -,,160,208,ɶ,OLOAD,0,0,0, -,,160,209,ӵѡ,GTS,0,0,0, -,,160,210,ʱ޶,OC4,0,0,0, -,,160,211,ʱ޶,EOC4,0,0,0, -,,160,212,ٶζ,OCAS,0,0,0, -,,160,213,ٶζ,EOCAS,0,0,0, -,,160,214,ѹж,LPSC,0,0,0, -,,160,215,׼ͬںբ,QSC,0,0,0, -,,160,216,غբ,SECRecloser,0,0,0, -,,160,217,,PSTART,0,0,0, -,,160,218,͵,CBT,0,0,0, -,,160,219,ֺϳ,HANDDO,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSI-213.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSI-213.CSV deleted file mode 100644 index a6ea14d..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSI-213.CSV +++ /dev/null @@ -1,101 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],8,7,11,CSC-213,CSC213,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д -[Point],YC,13,1,1,0,0,IA,1,IA -,,13,2,1,0,0,IB,1,IB -,,13,3,1,0,0,IC,1,IC -,,13,4,1,0,0,UA,1,VA -,,13,5,1,0,0,UB,1,VB -,,13,6,1,0,0,UC,1,VC -,,13,7,1,0,0,UX,1,VX -,,13,8,1,0,0,UAB,1,UAB -,,13,9,1,0,0,UBC,1,UBC -,,13,10,1,0,0,UCA,1,UCA -,,13,11,1,0,0,P,1,P -,,13,12,1,0,0,Q,1,Q -,,13,13,1,0,0,COS,1,PF -,,13,14,1,0,0,F,1,F -,,1,15,1,0,0,,1,BY -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,1,1,0,ң1,2,1,12, -,,2,2,0,ң2,2,1,12, -,,3,3,0,ң3,2,1,12, -,,4,4,0,ң4,2,1,12, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,160,32,,OC1,0,0,0, -,,160,33,,OC2,0,0,0, -,,160,34,,OC3,0,0,0, -,,160,35,,EOC1,0,0,0, -,,160,36,,EOC2,0,0,0, -,,160,37,,EOC3,0,0,0, -,,160,38,,SP,0,0,0, -,,160,39,,OLOAD,0,0,0, -,,160,40,ܼ,LCLS,0,0,0, -,,160,41,غͶ,Recloser,0,0,0, -,,160,64,DI1غ,BLOCK79,0,0,0, -,,160,65,DI2δ,CGOFF,0,0,0, -,,160,66,DI3 ,DI3,0,0,0, -,,160,67,DI4ֺϿ,DI4,0,0,0, -,,160,68,DI5,DI5,0,0,0, -,,160,69,DI6,DI6,0,0,0, -,,160,70,DI7,DI7,0,0,0, -,,160,71,DI8,DI8,0,0,0, -,,160,72,DI9,DI9,0,0,0, -,,160,73,Զλ,LocRem,0,0,0, -,,160,74,ֶңբ,MRTrp,0,0,0, -,,160,75,HWJ,DI10,0,0,0, -,,160,76,2YJJ,DI11,0,0,0, -,,160,77,TWJ,DI12,0,0,0, -,,160,78,¹,TotFlt,0,0,0, -,,160,79,澯,ALARM,0,0,0, -,,160,80,ⲿ,ExRs,0,0,0, -,,160,81,״̬,Osts,0,0,0, -,,160,82,ӵѡ,GTS,0,0,0, -,,160,83,ƻ·,CF,0,0,0, -,,160,84,/P,LC,0,0,0, -,,160,85,/Q,OC,0,0,0, -,,160,176,װϵ,POWERUP,0,0,0, -,,160,177,RAM,RAMERROR,0,0,0, -,,160,178,EPROM,EPROMERROR,0,0,0, -,,160,179,,FLASHERROR,0,0,0, -,,160,180,쳣,DOAB,0,0,0, -,,160,181,AD,ADERROR,0,0,0, -,,160,182,ƯԽ,ZDOL,0,0,0, -,,160,183,Чֵ,ICA,0,0,0, -,,160,184,ֵУ,FVCERROR,0,0,0, -,,160,185,ô,PCERROR,0,0,0, -,,160,186,󱸵쳣,BA,0,0,0, -,,160,187,ӿ쳣,NIERROR,0,0,0, -,,160,188,PT߻ʧѹ,VTS,0,0,0, -,,160,189,ƻ·,CF,0,0,0, -,,160,190,բʧ,Tf,0,0,0, -,,160,191,غʧ,SCF,0,0,0, -,,160,192,·ӵ!,LocalEARTH,0,0,0, -,,160,193,ɸ澯,OVERLOADALARM,0,0,0, -,,160,194,ӵѡ,GTSDIERROR,0,0,0, -,,160,195,ȡ·PT,VTS2,0,0,0, -,,160,196,MMIͨѶ쳣,MMICERROR,0,0,0, -,,160,197,DI2澯,DI2ALARM,0,0,0, -,,160,198,ֺϿ,HDIERROR,0,0,0, -,,160,199,鸴,PTWGRs,0,0,0, -,,160,200,ζ,OC1,0,0,0, -,,160,201,ζ,OC2,0,0,0, -,,160,202,ζ,OC3,0,0,0, -,,160,203,ζ,EOC1,0,0,0, -,,160,204,ζ,EOC2,0,0,0, -,,160,205,ζ,EOC3,0,0,0, -,,160,206,غբ,Recloser,0,0,0, -,,160,207,ܶ,LCAct,0,0,0, -,,160,208,ɶ,OLOAD,0,0,0, -,,160,209,ӵѡ,GTS,0,0,0, -,,160,210,ʱ޶,AntiOC,0,0,0, -,,160,211,ʱ޶,AntiEOC,0,0,0, -,,160,212,ٶζ,OCCL,0,0,0, -,,160,213,ٶζ,EOCCL,0,0,0, -,,160,214,ѹж,LPSC,0,0,0, -,,160,215,׼ͬںբ,QSC,0,0,0, -,,160,216,غբ,SECRecloser,0,0,0, -,,160,217,,PSTART,0,0,0, -,,160,218,͵,CBT,0,0,0, -,,160,219,ֺϳ,HANDDO,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSI-246.CSV b/PSCADA/电子行业模板/common/device_model/北京四方/CSI-246.CSV deleted file mode 100644 index 2b5ab45..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/CSI-246.CSV +++ /dev/null @@ -1,123 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],8,7,11,CSC-246,ķ246Ͷ,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д -[Point],YC,13,1,1,0,0,IA,1,IA -,,13,2,1,0,0,IB,1,IB -,,13,3,1,0,0,IC,1,IC -,,13,4,1,0,0,1,1,BY4 -,,13,5,1,0,0,2,1,BY5 -,,13,6,1,0,0,3,1,BY6 -,,13,7,1,0,0,4,1,BY7 -,,13,8,1,0,0,5,1,BY8 -,,13,9,1,0,0,6,1,BY9 -,,13,10,1,0,0,7,1,BY10 -,,13,11,1,0,0,8,1,BY11 -,,13,12,1,0,0,9,1,BY12 -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,1,1,0,ң1,2,1,12, -,,2,2,0,ң2,2,1,12, -,,3,3,0,ң3,2,1,12, -,,4,4,0,ң4,2,1,12, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,134,32,ͶͶ,BZTEnb,0,0,0, -,,134,33,,JC,0,0,0, -,,134,34,,OC1,0,0,0, -,,134,35,,OC2,0,0,0, -,,134,36,ٱ,OCAS,0,0,0, -,,134,37,,EOC1,0,0,0, -,,134,38,,EOC2,0,0,0, -,,134,39,ٱ,EOCAS,0,0,0, -,,134,40,ѹ9,BYLP9,0,0,0, -,,134,41,ѹ10,BYLP10,0,0,0, -,,134,64,DI1,DI1,0,0,0, -,,134,65,DI2,DI2,0,0,0, -,,134,66,DI3 ,DI3,0,0,0, -,,134,67,DI4,DI4,0,0,0, -,,134,68,DI5,DI5,0,0,0, -,,134,69,DI6,DI6,0,0,0, -,,134,70,DI7,DI7,0,0,0, -,,134,71,DI8,DI8,0,0,0, -,,134,72,DI9Ͷܱ,BZTBlk,0,0,0, -,,134,73,Զλ,LocRem,0,0,0, -,,134,74,ֶңբ,MRTrp,0,0,0, -,,134,75,HWJ,DI9,0,0,0, -,,134,76,2YJJ,DI10,0,0,0, -,,134,77,TWJ,DI11,0,0,0, -,,134,78,¹,TotFlt,0,0,0, -,,134,79,澯,ALARM,0,0,0, -,,134,80,ⲿ,ExRs,0,0,0, -,,134,81,X5.3,BY,0,0,0, -,,134,82,X5.4,BY,0,0,0, -,,134,83,ƻ·,CF,0,0,0, -,,134,84,Ӳѹ5X6,EOCHLP,0,0,0, -,,134,85,Ӳѹ5X7,OCHLP,0,0,0, -,,134,176,װϵ,POWERUP,0,0,0, -,,134,177,RAM,RAMERROR,0,0,0, -,,134,178,EPROM,EPROMERROR,0,0,0, -,,134,179,,FLASHERROR,0,0,0, -,,134,180,쳣,DOAB,0,0,0, -,,134,181,AD,ADERROR,0,0,0, -,,134,182,ƯԽ,ZDOL,0,0,0, -,,134,183,Чֵ,ICA,0,0,0, -,,134,184,ֵУ,FVCERROR,0,0,0, -,,134,185,ô,PCERROR,0,0,0, -,,134,186,쳣,BA,0,0,0, -,,134,187,ӿ쳣,NIERROR,0,0,0, -,,134,188,1ʧ,DO1ERROR,0,0,0, -,,134,189,2ʧ,DO2ERROR,0,0,0, -,,134,190,3ʧ,DO3ERROR,0,0,0, -,,134,191,4ʧ,DO4ERROR,0,0,0, -,,134,192,5ʧ,DO5ERROR,0,0,0, -,,134,193,6ʧ,DO6ERROR,0,0,0, -,,134,194,7ʧ,DO7ERROR,0,0,0, -,,134,195,8ʧ,DO8ERROR,0,0,0, -,,134,196,PT߻ʧѹ,VTS,0,0,0, -,,134,197,ƻ·,CF,0,0,0, -,,134,198,ø澯1,BYALARM1,0,0,0, -,,134,199,ø澯2,BYALARM2,0,0,0, -,,134,200,MMIͨѶ쳣,MMICERROR,0,0,0, -,,134,201,ø澯3,BY3ALARM,0,0,0, -,,134,202,բʧ,Tf,0,0,0, -,,134,203,Ͷ߼ã,BATSCHA,0,0,0, -,,134,204,Ͷ߼ɹã,BATS,0,0,0, -,,134,205,Ͷ,BATSB,0,0,0, -,,134,206,˳Ͷ,BATSOFF,0,0,0, -,,134,207,1,DO1,0,0,0, -,,134,208,2,DO2,0,0,0, -,,134,209,3,DO3,0,0,0, -,,134,210,4,DO4,0,0,0, -,,134,211,5,DO5,0,0,0, -,,134,212,6,DO6,0,0,0, -,,134,213,7,DO7,0,0,0, -,,134,214,8,DO8,0,0,0, -,,134,215,,START,0,0,0, -,,134,216,Iζ,OC1,0,0,0, -,,134,217,IIζ,OC2,0,0,0, -,,134,218,1,JC1,0,0,0, -,,134,219,2,JC2,0,0,0, -,,134,220,綯,OC,0,0,0, -,,134,221,¼1,BY5,0,0,0, -,,134,222,¼2,BY6,0,0,0, -,,134,223,Iζ,EOC1,0,0,0, -,,134,224,IIζ,EOC2,0,0,0, -,,134,225,綯,EOC3,0,0,0, -,,134,226,1ĸ3DL,yx83,0,0,0, -,,134,227,2ĸ3DL,yx84,0,0,0, -,,134,228,51DL,yx85,0,0,0, -,,134,229,һг6,yx86,0,0,0, -,,134,230,72DL,yx87,0,0,0, -,,134,231,ڶг8,yx88,0,0,0, -,,134,232,6Ͻ1DL,yx89,0,0,0, -,,134,233,8Ͻ2DL,yx90,0,0,0, -,,134,234,64DL,yx91,0,0,0, -,,134,235,8и,yx92,0,0,0, -,,134,236,11#߲1DL,yx93,0,0,0, -,,134,237,21#߲1DL,yx94,0,0,0, -,,134,238,32#߲2DL,yx95,0,0,0, -,,134,239,42#߲2DL,yx96,0,0,0, -,,134,240,51#Ͳ3DL,yx97,0,0,0, -,,134,241,61#Ͳ3DL,yx98,0,0,0, -,,134,242,72#Ͳ4DL,yx99,0,0,0, -,,134,243,82#Ͳ4DL,yx100,0,0,0, -,,134,244,־,yx101,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSI200EA中103协议说明.doc b/PSCADA/电子行业模板/common/device_model/北京四方/CSI200EA中103协议说明.doc deleted file mode 100644 index e04fcd437a89531f71cf0490a8295f9b1d37ae48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140288 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 RNUP`WEUDCapPeZw@c(!-82|tP diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/CSI200E通讯备注.doc b/PSCADA/电子行业模板/common/device_model/北京四方/CSI200E通讯备注.doc deleted file mode 100644 index 1bbadaf67df792d7d8e3a761e50a13a94d2b27ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24576 zcmeHP30%xu`#&>H%g{zjS{N!9QIn{YC0e91sZeR3_C4)FyR}pl;o2pxTuPL+QsLUN zQ}?B~k);rlN;UuInQ7eN-uu4pec%84|NP%~&h(vg&U2pgoO7PD{LVSQXS#8H(4*bO zN{`7`ZaNVmeH=Ow6QENdtjUkd5;6h8NbBQpI7l7`fS}O*Khi+!zH?*>gH9u))2;$L zkr3!va6qx96CzF6f$YHE>%G^x)Gxkh5(;GEU_y584a48h#M zrv51Uf?*{8UVKPDKY9oI!yEc*^?SY~@a%we%*W^70mOF@FYnLykNkn4DJ9_703YS) zfG+|5Ac&v{IV66guMT|KQiL!dV-YAz590ceeEce$gQZA0_)C|iI|MnJ5PM<*D}5aIBSrYUX)!+8`@O{M)LGY-C~;zJ zQ=PkQo9xTnk$Q3cm}sT!G0|dnOP9@r{HA09nFb{>$=|Z9S6}mXu~FunUmcn#LktY3L2_VZGiUCx;-Oh>uAGEaujT_2j5;xv$@#E~L9?Rt|w+7Ds)uQptQ zJSW2?=67!7aeDf_j`?V>3|x$ z7)CBD_5nMTkKDe%8BRX3Ro5}?b}to+GW46kqH`qsxyL~5u!a0S=GEd&e3N}z%#w(; zLAh>YqNz+NknnYx*h~CeSnDQxAHVi=Nf;L>Z>qnHJHNl2$t2=R82uk@qD{PmXijM{ zlZYV;#~+r3CC-6SqmYPNGxESz&$K;}j$?=)_n$w)592seqzGR(zjE;@JidvIql9S@J&5!P<D2Xg)xDsGIBQ& zcPjHvP>K^@Hr;PB84s)Xc%o0}EX=Vt+k%BH&20B0@wAA2%Ii74HVs*O5+oc}aL2NP zGxj3|G$++B6{T2(?DxX?K8LGSCNU$td4#RSQMKPo&(0`&eb!v|8~dlM3};z3ceZB@ zjF;q$oq{Uc;TwgzR9+mkt9oHq^c#z=W`XuguA>EJ#I_A8z z?@em8Z&>J){n(~7g5n{;Y2TQ;sl%szV|jXLB9?$7;MNix?N~0hDbeQFbqdFrpv;Ld zwj@8xFl6aMZhrpyEOpj67UsawmAppG4*MS-+y5UOJgpS~7XUv2S^=*CL*NOj0MG*% z02~2}0O9ZyiUAw~90i;KTmakx)B&CVUIV%TeSm}FzzgUB^Z}@_H4+2h-m<%seEzgN z{PlCA^HL|I{g*mPkw9$u0trgk7z$D3#Y`-RASJ|t&_V&x5)`70G%E{2Y%E2HCxk;R zXcCYm5r0vzapQPjxb=KZVCH zkjl#l9E4j&KE=WGCnzHy7j+_?c9eti7nuHygLGGjbJKtq(~yod*my#J<6P_$Y>6=Z zU!egig+jsk8Uw&F&@0&LFCu~o!tj5H25>E+GKo&M0cGMmDj89fqQxk>Fmq&)g!m|c zTJ|ncb$~_@Aw!GoMHGu3iAZMufVqV3KSl$x@U$=`-u>-?D+~cQQ~wRcifa8OQ6QZk zlp(Y>CPa?X2DHIaLMZS|Ap;0eBLmy;GJ`e~2Mq_lFjckr+2bm)w6-(dT`nxua$Fk&3tX zMpX2wT$x30-8WK0B8hPSDhJcvvD*u^XK1Wp?$L2@&^J5Z@Nn9b_WX!)&hxtt4P6)d zq_4TA#eb-2y3^JaR^hBF-6~FzCEULow0D7VDn|k*_f%gza<;2!X-xI>#1{|q8WVzT zvT_UM6c4U!7v|BtPE?}oGW&8T-GuUA+kIOfGp=u15$T4`Pcm0w3wDybHs z6sX4bywZ~0L|K9eWhOd$0oK~&65~uw@L(kesBWmK$M&}YQFPWZN*LH%nt>j5g zq35Zm^D5eQ1oVy9PEDH-ydZFjIt$mTTGfvIlqM6orTr2Luv&dOhtmN{Jx%;ozr@oo# zF^xLa*zc7z>te~UeQh zemUl{{r!HoSM=I;=}6Z+sFV&&W3p8Io50J~F-dVKp_2}-@_fF4W%sFBGPXhg>XsKy!@D&!HjFN~ z{_2g(F53Yu9W@Zedi)^XXF#pVtzmmMnmv40Gi4ibwzZu- z_rd+f9uK>*Wly^gXjj(dR^HUeqz%)F9P{eL%XSmWT55+Et@gxAj?=?E>vS_k6iw7W zDh2#duH&=6Cbcs^#&Vvbc|{GiPbae@c2iYeV#AxPW2VhvRv#&O1tV&d&Zksfpry3f z2d9<{k#{-#bKTGM!pMbmRZBUgGe_nu?+po9v+(|)<&<|mTKAXUP~SpYa%&&WyT8db zBAT+$@Wu@)cid8jk0gj4Rhp~}YlZN&vvdE#HWA z9M|rU(svvAQ@Ix9S?Exe)}EV}vlI?l?Yi@>wa#_XqaSWnH!7VzJ+yMO%lm63`-6jj z)~i>h1dctl(JB7g$l|`zxrIjeZb>i|1AO17%ydtDU7W{gaFY5|{P@t2(FOH>mh-67 z9mUo39=x@iX*+OGxY$<5q6x~z1N4@px~@FEOKYF)*;(;ZlT>>rD0sdLJFxV}!p!j6 z*Q9s#oAu#ct~aFT1eK9m`-_3cpQp6TlQ%ugxq9PW z#ns>dM^~lz0@{oP*ET;)EJ)K)+cDOY7QNZqFQFhUip|#Dl<~r8`P7Y8*~gWq+RxIj zUz6+qqn`Y*y*eh8%(k*!iGgMtPGn`uYP}a3l67svCChAG5o`B((}y*7t;_QcIJ#ge zbKs3VD`&?&I#zLY*$0|au~NZzu4j5WyiP0Ml&gO}I*_|ICn>p|6;JJuIV-2KVe{=V zB)HXw&??QT>*^mTuOpf}i|#oVjx>7VQ8?t@zMIoM2A>%6c5=B_W6^HyY#Pm&^#9db zcwFB;Sf^omVpCJb+4yd~tW2rfFHKdw7VSMy>+H~U4lcyJR#6#5Z?OMWX&EeFLcMn0 zl@A}Hi_(VO4Y#s?wInPww5P^&EsO2ELbYkz*x7}TPc6)mUKwhKdiHHRE#)Q?I^ub?<6et7GnTilI+Xe%b!>EU zX4U(FYvh%KL^+2T%UcrLN}iuTv{|EjnXU5aNfQc^${a43m(85m{{Vb$@#xrMEspv1 zF)F2I@gC-r&&&+&96s#F)0aKN?c7?M^Nzf1mvMSucCNkKyJ(x~r8R7+=Gi%&L*i^mg2R2CUHgi44Xc}r zm5mNWZ{0nAP*jzNWyr?F#;Df@#cc7(A>XrYhCkadU0!eCq%au*M;N)9*>*h+63n!nrX)k{% z8>vv%%XGKcAn2ZquiU|{>j!zBB^q{ z#CSvboj(q=tkz^FHX2+Bc3jjt#ci8aV~d>CxlyZE7%Mb^sFFISc#yihgT-KQVq#8?@^ttb=i8!3S2CL=`7C&&nM1?3R&+ z>5G@IJ5t%3>Yiox^Zt?cAs0k`cYcIHg@RaO`(gd zE*Uj%m-~=uY*{E)X~(W_moMoJ-eN(h`)C=DH%483Gj;K%#cI2Y)k-rW7kAq1sp$Kq zXqo2NF6(=AzxmZpdzWfF`mQT7cymM7e*O5fQ8xKkjvoG}Qn_`$bK>4H9b2AlpcS{L-l}Vf3b{>-~NEk`i9ejDg_d}h{EI-Y? z@otk|>7;8ZT1L68n~iNOGV)q7@39;w6IR_=CY^SWo*{8$wa%->n_k99U5l$VaENzG zO1A2$`-yWW(2-p|M85P*u7&A>)RIje-K{;NTYd=``>0UUb+7yBCjC7dZ$Dj~BY(X3 zY(RNl(1MVt(;z>WWVWSaQ-d9vbcO z37&KDWc%k?e)%i66RyAHMT91 zvJZCLQ`J$|rl*y;=<`Zw%rGa5wbrZ<9psc>;yv{TrP1d3sY@oGTO;LlIBU1Kz>;b5 zD9m?9%?|&yE*)?}Aal%EriW*Fq+nR+gc|s7(ZCQQ14nfV2>@RN8jT>toDk!;94h#d zV8h}Sw8{tUNHA4hL`R)?s*4bHVqz%|uOFyn9=v{Vx1i8GEfwJv1RdT_&?F+kkHXgt zzi}#Lrtv$@ZlVH`#R$ILJ{~kJ&B58;=4)28CW4!S!AM7gD)g}qiU1ElBw!@~?Hl$3 zN&$E|uLRcy1^`=t6Tk})42T8X1@r-+QG^080vrHr2GVDj1fitgp%{PWfOIa;zltIt zxL@*Lr{F~lx+Da*75`2OmW(b5@jE)iw0}?^LgU>=!%HXb0Kgk+yqy+w^XtqfZFy8B*+p8?$s4H zGvt8D(3S*ryxJNAK84WRP{7xYN_baZSPE7c`7OYo*iWZo>2Nn?0#{*J!3wC6EUBd6 zXud+(ri0gF5?@}6LCPTR6&cnA<;?{ zOBM(tKVH1yv_$Qo8PiYzwiJ6=9{@`UnG0|ScmTWr-hc=IPT?3pEMNryr}J7sI$$FJ zr}h@WHb4OYr};rZ8Q?6S98d+Q23!Hu0v-XL0X_n{0n$)Otp7-W9$*T<2!MBz^8mO^ zECe_J+yL%?06-uh0uTvU4oCnb0@47x0eb-F01bdRBAd5)Uc@VLt88`6>dk{#?#qYw`E;fr`meKq6o_ARmwg z?au`i1C9d5L7SKWUqCQ`*G64v8y}GZVGzLWF=fcf1xkuTex!wd)W^3zE4=W7c9FMp9e7)W*iO{q|6Wgy>5yStb^1n3a;~V($OUIS= zH~?2!bgj2Eh0tSFmfOb9aV+rbGKW#tuW?ow9w~n(s-K*aj^Ui zB|(5Nc*uuxw;0^y{@gq++37HIXs68k;lGaG<|47cex4i5nEFmw!n)2tGJv-Ji54<`=**ox->JU-Asm?ZeJ z;Db2=Q2`%LCi;Q$0%NAR&sJk`sAZwx+`djJZ>Ll8v4MgAs?b%~D?p!bKdPOPwq z5Kow_m|u_&+cA;Jqhncf1H2-_BEx*67!F|(-i#?)kY)^YQgs#PcYpXng6YSO%M>ns zQso%@^#{tqdZEwm_i@HzTSsl-|{s26mhXe4uzYKt9;xqvKZjEFBh5~W{ z_=*tk2V?>H06beC0w@6Ro&eANX8s$kW4*ce1(FcKLhu3rD}VKunu^boAue=64G1+L)PPU}LJbHtAk=_R140c5H6YZ0 zPy<2@{0C_O&%$^N#xpdYt??*~XLx)^j_>U8eLenvS3JMt*&NU5_--E0{dktgb3Ufy zc^(ZkS_zo}zFcyI6y@2uk zVT>b$?w{8HT1bU)&0NjE{wNBpn3jN+zuhT-^$5QfIEKXNIGT7iAK;mDBmH0Ds|>jR z8B+`5N&Pfau$hVi{8cxAP(PQC_4pP!Xmi3Hyx{48-Iym>Xas}B*k5tdFne$g@pbSm zGPo8zIC;SFjf+j87rej*3@zBOAHLNoLHlvO;=KLV_M>e4zrE;0!QKr^MJqY%`#Dg$ zFVrQ1ONj#8v@ot+8jt(8-(&uQ{_(%%^7StYhL2yi{Lj_L0LsU8>(A(altB3u_-O{( z2!_MY9@r!hQ~s124CUj9$My2h=-;=$6ke%5(DzYf9@K&F1QtYW_19}RKF`0hf2*xIew=HwH`gBR;Y`E4xDy$}S`dj2 Z@d=I6G9c|!j((Fhqu@vshW{@#@INE4lT-iz diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/portcfg-200E b/PSCADA/电子行业模板/common/device_model/北京四方/portcfg-200E deleted file mode 100644 index d03d60b..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/portcfg-200E +++ /dev/null @@ -1,16 +0,0 @@ -[4] -ٻ=1 -ٻ=120 -ٻ=1 -ٻ=280 -Чң=9 -[5] -ٻ=1 -ٻ=120 -ٻ=1 -ٻ=280 -Чң=1 -[Ͷ] -1-1=A -1-2=B -1-3=C diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/portcfg-213 b/PSCADA/电子行业模板/common/device_model/北京四方/portcfg-213 deleted file mode 100644 index 207c7c6..0000000 --- a/PSCADA/电子行业模板/common/device_model/北京四方/portcfg-213 +++ /dev/null @@ -1,12 +0,0 @@ -[4] -ٻ=1 -ٻ=120 -ٻ=1 -ٻ=280 -Чң=13- -[5] -ٻ=1 -ٻ=120 -ٻ=1 -ٻ=280 -Чң=13- \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/device_model/北京四方/四方CSC213光差保护遥控说明.doc b/PSCADA/电子行业模板/common/device_model/北京四方/四方CSC213光差保护遥控说明.doc deleted file mode 100644 index 2e6f4e70c7e06f85e412ddc3ddcda74ad41e1260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50688 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�Wth7lsM;jCAJP;kS5Aa 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 diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/274_IEC103 UDP协议配置说明.doc b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/274_IEC103 UDP协议配置说明.doc deleted file mode 100644 index 4ecb2f2a4242487b0f18c67e389ceb97ee06d5b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163328 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

    grmB*sBU57o%ba(S)r;MoMyb(hG6vMi@j~2Q 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 diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-串口103 b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-串口103 deleted file mode 100644 index 3ef3c24..0000000 --- a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-串口103 +++ /dev/null @@ -1,12 +0,0 @@ -[8] -ٻ=1 -ٻ=60 -ٻ=0 -ٻ=200 -ңٻ=0 -Чң=1- -Чң=2- -Чң=3- -ңⳬʱ=60 - - diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-南瑞、西门子网络103 b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-南瑞、西门子网络103 deleted file mode 100644 index 3d2d757..0000000 --- a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-南瑞、西门子网络103 +++ /dev/null @@ -1,9 +0,0 @@ -[1] -ٻ=1 -ٻ=60 -ٻ=1 -ٻ=60 -Чң=2- -Чң=3- - - diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-南自网络103 b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-南自网络103 deleted file mode 100644 index 40708cf..0000000 --- a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-南自网络103 +++ /dev/null @@ -1,131 +0,0 @@ -//103˿ -[1] -//TCP -TCP_SrcPort=1048 -TCP_DstPort=15920 -//UDP -UDP_SrcPort=1032 -UDP_DstPort=1032 -ٻ=0 -ٻ=120 -ٻ=1 -ٻ=50 -//6-Ϣ,7-ԶϢ -Чң=6-7 -//8-ңţʱĿ״̬,24-ʱϢ -Чң=8-24 -Чң=10 -[2] -//TCP -TCP_SrcPort=1048 -TCP_DstPort=15920 -//UDP -UDP_SrcPort=1032 -UDP_DstPort=1032 -ٻ=0 -ٻ=200 -ٻ=1 -ٻ=120 -//6-Ϣ,7-ԶϢ -Чң=6-7 -//8-ңţʱĿ״̬,24-ʱϢ -Чң=8-24 -Чң=10 -[3] -//TCP -TCP_SrcPort=1048 -TCP_DstPort=15920 -//UDP -UDP_SrcPort=1032 -UDP_DstPort=1032 -ٻ=0 -ٻ=60 -ٻ=1 -ٻ=60 -//6-Ϣ,7-ԶϢ -Чң=6-7 -//8-ңţʱĿ״̬,24-ʱϢ -Чң=8-24 -Чң=10 -[4] -//TCP -TCP_SrcPort=1048 -TCP_DstPort=15920 -//UDP -UDP_SrcPort=1032 -UDP_DstPort=1032 -ٻ=0 -ٻ=200 -ٻ=1 -ٻ=120 -//6-Ϣ,7-ԶϢ -Чң=6-7 -//8-ңţʱĿ״̬,24-ʱϢ -Чң=8-24 -Чң=10 -[6] -//TCP -TCP_SrcPort=1048 -TCP_DstPort=15920 -//UDP -UDP_SrcPort=1032 -UDP_DstPort=1032 -ٻ=0 -ٻ=120 -ٻ=1 -ٻ=50 -//6-Ϣ,7-ԶϢ -Чң=6-7 -//8-ңţʱĿ״̬,24-ʱϢ -Чң=8-24 -Чң=10 -[7] -//TCP -TCP_SrcPort=1048 -TCP_DstPort=15920 -//UDP -UDP_SrcPort=1032 -UDP_DstPort=1032 -ٻ=0 -ٻ=200 -ٻ=1 -ٻ=120 -//6-Ϣ,7-ԶϢ -Чң=6-7 -//8-ңţʱĿ״̬,24-ʱϢ -Чң=8-24 -Чң=10 -[8] -//TCP -TCP_SrcPort=1048 -TCP_DstPort=15920 -//UDP -UDP_SrcPort=1032 -UDP_DstPort=1032 -ٻ=0 -ٻ=60 -ٻ=1 -ٻ=60 -//6-Ϣ,7-ԶϢ -Чң=6-7 -//8-ңţʱĿ״̬,24-ʱϢ -Чң=8-24 -Чң=10 -[9] -//TCP -TCP_SrcPort=1048 -TCP_DstPort=15920 -//UDP -UDP_SrcPort=1032 -UDP_DstPort=1032 -ٻ=0 -ٻ=200 -ٻ=1 -ٻ=120 -//6-Ϣ,7-ԶϢ -Чң=6-7 -//8-ңţʱĿ״̬,24-ʱϢ -Чң=8-24 -Чң=10 - - diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-许继网络103 b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-许继网络103 deleted file mode 100644 index 06a24ac..0000000 --- a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/portcfg-许继网络103 +++ /dev/null @@ -1,9 +0,0 @@ -[8] -ٻ=1 -ٻ=60 -ٻ=0 -ٻ=200 -ٻ=1 -ٻ=300 - - diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/南瑞继保网络103协议说明.doc b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/南瑞继保网络103协议说明.doc deleted file mode 100644 index 154cdb49e7851a07b510bb8f6cd327ae858c76d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110592 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 o9Hh4sT>t<8 diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/南自网络103设计原则.doc b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/南自网络103设计原则.doc deleted file mode 100644 index 3fff7edbd72d452d7010de893b14ab814f8f4c9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117760 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 diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/icon_中.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/icon_中.png deleted file mode 100644 index 642c410844e46d6f8fe6e7d993fe611d7e88d728..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmV+g0s8)lP)4u*Y0002YNkl zI}U4u*Y0002XNkl zO%8%E5Jn%yMB*jXg&U8eF1(C-3-RYH9>EJ3b?Y%?hZ!<8wREiTB`jKo$JYnh>(VEY zh2B2@8cTt4;0nml3@EL^UZTw!m;w`E+qIEAd;^BMF16LOZKItBL63Q~hAof?UPbno zp8O= zQ9{Nr^aj8w<}iidg*O=W0r{MT|KU#sU>=VcL0@t=8jzk0FoTKWIdi}?PSBaud<@8a zVmuVZx0u9s1>i&04u*Y0002VNkl@zy#R-N+d7efT6#xJXP71Xcv{>*F2?$Q$-?pW!zsz z@*A;M8vs}DMw0o{`LnddTSS|v#EL0i6ODnpa-)f`#A~9xDoN!{d|Wh72zH7lq#-`6 zrUf_FH&zRIi4R2K5AGTfFCV8S8Uc?l-B_u`3(?_^5=jmmpYDn%0|-AD+yDRo07*qo IM6N<$f_&L!n*aa+ diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/icon_高.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/icon_高.png deleted file mode 100644 index 93891e3ace5f28f843d8e98d63cd2b0521328a96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmV4u*Y0002QNklG!{^qhHInuunNe!Id^!FIkNtsWo00000NkvXXu0mjf Dh;e1& diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/trend_dark.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/trend_dark.png deleted file mode 100644 index 1e403e5f7e87e777db443ea24c0add5c7f8a78a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmV;n0ZIOeP)4)jvzaKo|z_=dOZe=wJr1&05kAAn59-po^1qbBU9i zgPUCihl-oKT?ChY0avB{0M@K2f>03)nR+Mprm<l5Oi+r# z>?)*P0m2cDO%vlq!|yKiKO|Nq)J|-BV15rQ{v&z8`H1}!z;VGIJF~0K7%eDvj-pkn ziQ{H=T&fS$YI1W1P;C>vK6g{yJ+kC)J}t6D-xmI)hr-eH%b-uSOKvf}S7Q@51Zt7^ geBIpt`-uPx$wMj%lR7gwhmO)N~Koo}mho;il#Jbc#(%wK%V7-B!K$pS_Parq2D{v<_us4t! zs3(vFqRVQcVOk5%3|dknZH17oe5=VY^S<}~nfC_5ii}po!9S?7(wTJXS=a-?7Ovi_ z>}koy(x43^vKUG*c6SG5f+_`S7*9tE5|4}Xc) zAoc9ILrU_<=~@>`(gWi{xLUV`KRNt>6|FVJ_F7>JElCy%rYEW0RgUhL>c3(rV3qX1w} zIJ#ZN|FX5eGcrS4G+O;i*({)y>I}=GUi3W&k%F7J(dyQn$rPTyu(FS3^-{BO%7?PZ xe>~-~8vv86Nb9gfp_gfg|Nm#Gtmw+5`vm#z<{J(_``iEk002ovPDHLkV1lEy?BM_a diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/video_dark.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/video_dark.png deleted file mode 100644 index 7147d9d5a847c3fafbd93ec2c6033aa6e0a50c18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400 zcmV;B0dM|^P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0VPR9K~y+Tt&}Yi z!Y~kplX3?%0#gf`!Qq&}BQY3kt2qKQXpkrbntO19UVsz83!83!3+a%VZ`$4D<#m(E zRt$z?#w6nQ`XuFC;mpuW?(ZTpYvYe9Pi-3@Fyjq@#8Ik2oElwFIWJ~wnp0mZR+avA z0Evv0hp;^gY~=1NE>8rGvNJkSGBZ!|&l%7&ljT%CV#nzX0K^r$IN3y=k&4E(@ zX)#^$g0HTqVY)OaMss9 zXa@HrZCX?J!eWi0?WriXsXjrT(yw0)69QA!bEgJR+*RA*FHLan<;({^%ZN? u|2CUxFi2=qI_Vyu-&Ym8cxcm{499OKA_J%vc1{@p0000` j=fCd5JU9QH*bZ?8<`Wuax@BeB00000NkvXXu0mjfmC;>y diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/wave_dark.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/wave_dark.png deleted file mode 100644 index b18454fa55aeceb6a00df0a4671fe406540c0cd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 613 zcmV-r0-F7aP)){m5QSe)kz_mO0)Z+^+ax!TPXIoF$r5RUPhfI_kOlHqH%M}V$R~)_$W?Fxp=}bC zIyG`sQOTe`MtF7>cw%v2x^k^PY(OV-VT^r29A(;IEZsOSsC*R!bSG=#-(n@u=Sd^i+!FMYv0K z0u&=oLD#W;`K>DYp&PPRfD1SDiIH_dCRkbdDFp;gQsAL1^;rNe+%N{iC&DD9!8o3e zceyGj0}S1b2ha_ey~r^?mK9*aQr#h{gC25r5tFE>=BfErE&XrvrRjiN~tN9DG^cm+;B7dTBk00000NkvXXu0mjfaTO7b diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/wave_light.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/alarm/wave_light.png deleted file mode 100644 index 1df62d88bbe119c4f9ef2e9cd6c89e83caba35ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 963 zcmV;!13dhRP)5dKzoFIb+5Qvpr|F%@7cz^NeiDqmXFNZk?(Ip6txl!B@BW57h zeSf$BAb4#8(D*u-tz}`Vt6FC4GBoDUW zOxR_m>GI{4nwo2_l#@Xcn{+TR(xS3wd{_W7NKQfcZvHFHdoDSb!8iiZ@vKPiRKI#q z8l~{HE|iXKVKQtzSOB6sezFxmdsu3ycxQH4_54yzDSoWc2`&6jR4hCtyicxF%fgv~ zbp>E4swYnwHA!@nApwWm7M_*fg7P^7FwvW_!uX`z&=%phX)90*hO$f2{8k$Cnq$N> z07mR6T9#KQBWV?G1pr3o1tN3Psc_Z-5kb--!u5;=7ph+kU5d9q>L#25m@AvBAo05`v-*Y!f}NI|)7TIWxa#>DL$9aoVB8o=Zbo0N^^n zq&4%9c3!sPmD12gVGkCYJ=*B4@^ztnX|bN-YRcIdS>2G7t;Sm&Wt5u{>5&?rbYiIiOT< zuJh$)jn-^lOc+tNRDf}+q<7^~oLNmtH92Ox(xuCd^J0>tPgk=+zEq^SGt-k<%^o+b zX8TMq)XD|T6db{8Z?&2gb82`?Y*sAn&YwFhr_3(|yPPg;LMzRvtbnrjhW7wkL|iv3 l_}cZ{hT5#>7`RSXe*m;E`eM+AO@{yg002ovPDHLkV1n#hzT*G@ diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/asset/record.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/asset/record.png deleted file mode 100644 index 3841ef3476342698b32dc3b47761c8f197dc33da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1028 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 diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/bi/face_light.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/bi/face_light.png deleted file mode 100644 index 0d4918102cfa8790b43047a18181ae263ed973a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2612 zcmZ`*dpJ~EAD%Hx=xk>~r7c1(rCf?Z>WrBrw~R64Rv{;$Hl5s>h#2IqIF;tOlyRTQ zEkz=Cx(byo9Aea|j^ong7P*}@&hvcF^PT7W{@DB7zu$Ui?X`cu^}cHoXjF4Z5|+eZ zFp#CiAvy+wbpy|TiHm@{r)O;j00}>fqk$NVRGaX^rtOlF2f0s{hbZ>JzfZhNVaQm* zasI2{clDmP?U%79K+kk2eXYKaP0^NT8*?A+NQ_sCc{tJ%DK4%o@;u~2NYx9Y_1x6+ zd$WrgRxvY+r1Z)3Nz&9N3~3}j0*gT~WC+8>Vu%|A$PTz4x#( zOF@x$ZepQ*xHBSaTc_KB-Z@5ZS8uuJm%)0IxuEY0OYiAlI|^6jh)Ut2rSkfIubxo! z)@do|GhYo+uE+h}Ai_K2`{l^Db#Kx$LMk4(>FT2_tNS%oKkYT}Z^)~jT8>cK7gAPQ zu)o_-cV?_r<9^i#{Zmc`xL zTE(JB(>jC1b5#9Gdh5ix3+JMA*}VblpoyNZ3RqF}+* ztGjyTM!qFqwbhhBng(hX#Ej>SMpsJiaPV~#6Y`wslt9h%mJT%2H%E1Rx0cqE*X8W^ z0kJTCzO*|77A{3I%?BPxV1eiT!TMj5#ki3$LA@v43yW~@@v(nUbV9eWKB7Wv&t z%9mkovu}%U6o|cKP%@;O$-yJ6eo-O~_flO*HK0H!>qSLPRp~Sj%;j|^#NjgoM^t+0 zt6lz2W_+}=vj~rne;Zl!FplVwO*AVw2t9xQo$q?9(cA0ulvNCT?eXyHNNQjGbbG76 za4@%Ef8O-BBg0Lp^qkmJ{O_uLzh9;W2yKr|P1=c3r ziN0Lla}Yw6Mg|od%8!BNsb+NsH6l59B-Iar2OQQDY0-yH<;@>%rkSdUBd)DqOaiCZ zBeAeFg*FC;xFi%KOgm(0vT+%1TOD5cbAep#a@-BAxs6^}aB zD_HDGh;<~ILJ9oxSuJ?T(hp@R7aM36YN9>~KWTsYsX%fv*E~=iq5LP7zgNlkZ_<4E_HWJt1F>?*hKNNy{pwIDYVHcwq zJZm^Sdtd*nLU*q6&iuvu7sIp9j6UBXhgeAFeYg&yQF%GKE}AOq=-4~6L=tvT%oMsQ zubS0gQwJ*F4oOpUob9zx_ZkW_zp%oUM~nW5mnhPES8mT$_FoEaFrEH#d!Y4Oj|5Tm z>g{4f;_4(2Xbu$&{*ZFu&C(<9`nzkB(p`vQH+W(|xo=J$5vlj9G?<<0Nqk*|Us47x zB(3wH?&C>ogtad2*1p%TYVE>2260Po(v1zcN%DzA8r3ORq$qks_ z+-x89@B6;jDC=C>e7NyM7I?q1^ssHwEg2ig$mRX~Xk}n74;x3_YI2K7)hBYK+s3*_ zzrR&9Jq&RP#48hyTgZ^OOrFz5rW*sNY3{OVdxts~ds7~`4K~8SXH4wA1P!NRlvX=4 zQQWL+htssFHL(WbxV%LnJ0IwyrKF_H4hJ*{bb@6T0FEP(^GqaKa6pJX8&Qhi+!PMfga8T^@d`_Sf3lzb=&xEfqzA zNX5TSu=m+ly^hS|$754q_cZ0KUn?Y9%^@S%n@%UT75gOe;LZy(Fa>GKA>@T>U*eM? zu4n;$U!aHXTQ~8k(C4$FwDR9=ENuQMnhpG-hm@0@jfMZ0=5x~kL|lA;tyT+gua)qtU2<($Y) zf+&%HHpjUxG-BLkz;?HgUj1<@;x@I5xg7S+LwGt4?P+`%q!s!USqm;@>MkGXz2Ng_ z(6nd$C0b~$`4e@6>hVTStlSjhISWol1*bB#k>~=G(MoPox_mS>BR@8nuyjMrE<1%aCIMkTcz6dBO<9&Eh75bxMR}FQT*ckB0?Lxg58?P7&JeYD>;f^`9 z-9rYU_C>->!9e561XnG=>16dJ!Gu_{*#I1JX&G(5I9!9Jex>sU(KJWz_sxKrTC<1S f(iUwhHm_5c=-_cZY{dxt4a8WQQ4f_JbdUNQ>b|X$ diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/camera-hovered.svg b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/camera-hovered.svg deleted file mode 100644 index ff027f9..0000000 --- a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/camera-hovered.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/camera.svg b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/camera.svg deleted file mode 100644 index 9ef7bb9..0000000 --- a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/camera.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/down-clicked.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/down-clicked.png deleted file mode 100644 index 962230b5d848c265e59ae63086f6930b40be4af3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2635 zcmX9=d0Z3M7QPb(0TqK`k%Gb)5q^r)tuD}j0V5`$Bp1*$1nG%TTEsRVf{ zNV1k?^2+Hdytm`}zXnfXWaV694C%ZVaJSTw-F5 zG%UH%0+_$_rG(IcRc$H?(munIAE2#R?EUDRY!uXR3Re8_IRZ)=&q%Mh04&I1=jB)n zz}|mspT-3N(aqmA+zbTFftcQvZWch2?f=!0{S>hKqGO0B2UFhrs4c`BT#|cGI`$}2 zncm}mUyT0GO-HYK)_%{NjsBd9va#j5U4Hrn%G>mj%VBIWs&Lco@Y9dXrjH&?SVq5X zE$TSo)|jp zoo1GVbpkbllXR$V^2ay6C>~ z6HbPfos+tDjI&sZ)9mT4zkDfwTT7gk*8m_n;<9bH!Z|lZ#gd25-?3?NFL|er{3paByRRA~=evyPIg4lM}gm3O|Z) z_$arrp;cef`@2Bpl!aR4=U(e>{zeeaiZ$V_cZ1`V@&QXob+2rAIG$?2MW5j7UPP3R+!3gpjqulp%Rcfl z6Q#SL#5O0dohsW&JQR>R0$(kxow)qm=iU6O(tiFkGj1KVf9Kih zS|$ycgj(w+`Rs z$?^?vX`40t=MrJhFRsz|h=sR#`+;Omj5iIqb=e8SW?Wx~Ixsb2W0y?3Z>-^bhfgdF&Jz92Z|J zIVKUvyx{o4{gvagt%*|Er$LPW*0N{QpYmp4o{v8_Z>u_TLm>O4zio-Wx#83l?gce= zMdX~lQ1v0*faj5R+oUV9wVWVE0qG)K%Wm`h>9nB85<1{ZlLNeZ8+E`Uql}!hxicS% zCvgYZ#pW%#<+eMCVH(q^q}eT5MOI*^w%4( zFJUZDkGI26xrK6_BIg+FAzYi)!*!C;;wP}Z4f1jdwAm77?g;U{QCDsfJNE;z3P~w0 za?a8ux_@aLZPB6&%SG-{&}dpTY_Gb(&L~uyO0JzS3mU`2J8RWD{$AMAKq?k!z&DcG zQ|d+(Ifvm>@^>xkXTjk`&``2rt6kmvwmB#_DwzFBk2}G}@Tk@s6geW8hd333M0E3)^m~gJn`{5E;pf{aRMiR- zW%X}i9jlC4h6R{eYP(!w%AKb!{jCq|w#x0FxT_-qrab6ixBaCU^8Ot)T(-{OgMUbB z(!Ia)(h(~km}0j7$@r@e!UvB!Fjx9@$R)01Zg~^f{n?fN5s0zUFdxgQe#d8}7XK`W z{k;yv&>5!c1c@N_`lIQ*iLiK%Zw6H;`H8u2__5rp&32=*9!$u2?mi@ruK+3Zm1M@l ztysp-!z}$?%as98e{g|>bXnAwn|r^j^8I!>Rj^RC!vcYr~M6 z_=^QUmP2w?#Wm2p`GqL+PaQ1t8l^G4(!AJ6`aiO|&fbK`%Ks-8d*4z26KXZ9zS zktGM4K-j@ngPmtD+=1oLBJunM(}i#c8!8Tfb(?jf%vVB4V;ygbS^M24H*;h(aUG*YuJ1KYD6a~xtqQ{JsbY20J^fMK`5gBQ^Lq!)glQN(Tc*9jE*dvqW z&5a||JWz9dqQv`GAP!sBgEql)QQy#42^$em?_Xn)Zw;)P-V~32PXQOsNURxd0L!oB zzH38)i{nB!VGv+4PF`#O1D>%q(t~tYfLJ)>BMXP!{+@NE%M$^^uSJnft^jM3Y_2{| anMEGkD+f)#b+dzqM8Me=#Jc5oFy;Rs2Ie0C diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/down-hovered.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/down-hovered.png deleted file mode 100644 index b91ab250ff3686b21f69e84ef54b6e2ba683b18d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2743 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 diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/down.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/down.png deleted file mode 100644 index de66529fb47ba8eb7917c85c5d5b2fef21663cbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2813 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 aTqd_Ki@#S|rLh?3Y6eeNKbLh*2~7Y#Usl8b diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon-.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon-.png deleted file mode 100644 index 259bf2b8be2b1a3987eb4c219624efec2357f353..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8194 zcmeAS@N?(olHy`uVBq!ia0y~yU~gbxV6os}1B$%3e9)PJLH?wti(^Q|oHqv<8G(XL z3;wOo>o@>pje^k-7!3isguo}d*fPj1Il(;09Y_!7De%+7mO*YugUuj!AYGg{S||X6 zd9+Xf2Eu5e01SlDLIG6jj1~&OKo~6)fPpYtC;$Utv`_#B0!<5r2X8MZiZ(ciuwLY6 zUBJ$@lXXMN(IAF)6@JMZ#R2c*?9)IF7z&`FVko$h)^0p9+Q|YIopQ7e=AmHz$06WI zh1(PCfX-~NJ6?G=bZcGD{Mzj9r$B)Z{TIW5l$EdS%^b5K;Ez!!j)uT!2#kinXb8|Q z1RO?34S|9C2sDW|(t*I}C_1pwG}_?-=7SN^;b~9_{mR5E&Z^vAp8N%r{XJd%T-G@y GGywoxSV33- diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_Silence.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_Silence.png deleted file mode 100644 index 0c7f6118dfba7e0974eca11645472ff7f28f5fdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 413 zcmV;O0b>4%P)1vuwWp`2mWsO69~8t*ac~nW;^Z}W4KB`3){F20ya88nP(hp&M<;Rd2P?LO z)Fe%8gwdC1Muvf$7xHSpcVV<5m(BLmmw*h=NX`l${=3>!W$=6e3s3B}AbnP>MYjk#{uiCRqtTDvCAWIjdnl(j1bZR%Ve_F(k$%iY%v_W>0|y-}BxFTG2_;YjKj!n4-v~5RZUwX`bJaQXqxckUs#} zu?E0AFlNExZh8Z_3Csc)w5kT3}x`vL(cPhkv&#`MwI8Ap43QP9Rx8DGVO;H>&MKS6AJ_ddPi}f&E*Q7seg^m7^u~7>&%|^|WLVN_S z10Mi8;1`AOe;%$!`!-kSFdCNiWh?HC`rbhI)WRxhDl=xv9_&W+Vx?mx?T^Z%FZRcH ryOT@Tdg<1NZ&`eLLSOGQ(lo00000NkvXXu0mjf_4O*Y diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_down.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_down.png deleted file mode 100644 index 92a157f2bc64ee492cec155b423e01ca01b7db25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmV-r0h<1aP)IV2kH7{S0s$MUxCVmm{E3wVa094df&*|21{Nk%sTj);+sG!Z ztTZ4t-X)6jK6$^NL=5g9iL?M*0jod(I3NW+flJ_gY^{Rp*=*xsX}*mM32Khl_5a{Y5kzIie8|Z3G}RqoPy{pR^*TSm zW>Z(m1~4p&S-QtN&+8o8woSX;q}yGqZ7q)HhBdMcJZwCM8YTEe_IOb>_IR?B-C~<%y4!^!ciR@#|hKvyFw=lsaH+)KqP!HVTFPq zht7cO(yw~}`y%1J!Wu{codTEUrRv{dY6NTn=Vf~f0bj2Ne%W$p=?4G+002ovPDHLk FV1nq|n+5;? diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_key.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_key.png deleted file mode 100644 index cee4ecb050cda49e0b5d7c7a80e0cf177aa5a0d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14567 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 R)cXJc002ovPDHLkV1mtO`qlsd diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_left.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_left.png deleted file mode 100644 index b25f030c8379f10f0da46713c6ee9b9b17ec0b33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmV-c0jd6pP)cJgiFqOFZV{fxOza5eZU9KR4>TrirxWm0<^1Om7rq_^SIS;Yd}6vP@j43 z*upq+Et4$EWN#T*tKgr?g03UXL&q|y>3UI3&siM|lUo&?j7I&5plb_b3Qr=8rJ_`M zehF5j;1t+%E%6KfYb3GTYB=>pV8(*BAI9M@`C3?T32X;ZoPW+p@;v7|O%+vaX}ZQ6 zVAGG{^QPwrIXDUTU*A6DtQ3dK|Kzc}#vZU0L~*a_Il884vUd+`%=?6Lu7UL+iU;Fn oVfl|h<__5L!*_Z8w2}sX06djoqRtpOYXATM07*qoM6N<$f>*+mtN;K2 diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_left_click.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_left_click.png deleted file mode 100644 index 0552d0dd894032356a03fcd29394e30dc73e819b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355 zcmV-p0i6DcP);tRS40pX9(J5M9`mAuh2uZO=uCc3B+}a85b3~8B>$8 z5hf?@rC>(7YJG6va_;%Qd(OFEEVuK32K&GZaG@)Zh--3(z!^}RMb-(_g~*;-R>=T@ zc>;;4b6tqciD~BW{ZE-Qfz=uO`|u8q%H`~_Bqx)GO7waoT=z}O9uB?EPX`A=WFlmV zLLsd}hi3C}MGBk)d#1S@AukHK#9hlOB~q!sllc~?*|z)I?~nd1a0P5RPB$0~J|dTs zNr311zs7j%tD5jHtOJ+TYH=x_Pb+e(^(5PR);um}z6<-H0c<)>w^6ASZ7q#hc(!5Tz=5DPBeBMGp!hsMm@jURt4eQn2UZpPQh9R7E_f z2Sud4h~QcDQt+~r?QXJ@nd~O=vPsQuk`_PM&Fp06H*dc8X14bF{VFOn1K=!xX#o2G zXaN2I_y*u@`YFgL={pW!ku!GM;tZx?K-ab8#W0Fm;b3?qkm_2X!ZiT%06yj?PXgym zW-PfDhhy==O1h>c3($KZ)iFPiAEXKw0o*AA&bc;Us@oO}U9YlXOEx#b8AG?Go}I?gwz5fR`N0tb$R@M2X2GGV+V;G00HUqY5bqx80U=Gy%F zuDSze6ptm9ktYHVz;b57WnToJER&%&GB?Xw(`3e4)n$>%3naBJ0#KPhpJh0>zv=fg za}%|u_GnYh#3V(b7n@l>h_qSMc@$F1H#Fz>MXYa=5&1%xC0jc1ITlr;n*$U8t}&# z^#ZaAXjNvQZ5lehYs++{AHClKYrta(I5Q1>3zW+6hOXh-=4kA@4xqI9QQQSKfItB2 z&4!1j)yan9BrNx%_y*{RE34(4fOxhgHR-8kk^ZWAPtu_+0JS>%-}N#WJ&6;kK|0Jc z@?rHk6h%Q(f7a)95D~`7Ij}2$qu}}N07#~Uw3-cf$+5m}LL!H8atZ9nTmTnEo2E_} zC-(v0fhdEP)ZH|P+3grXqmV?^D8h`_UV71rD+ zvGh890B`4_vcn^l3DF|qz}$ZTo(#!k zqySt2k-^2l7i1Nf8Y3=-!$H#NUhE#N%eq7l=}- zU|H>JU;}s(zol4=3Sw7Ua Z0iRbfP;0PWBM<-p002ovPDHLkV1nTJu3i8D diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_suspend.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/icon_suspend.png deleted file mode 100644 index fe8209b269f5283f75a697b191bb57dba4c8e8c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 667 zcmV;M0%ZM(P)cmk_NcH2|Vn(rx; zZ8!F9S{-bwL)Ufi-DF=sj2?$NJ_1~u4mrvMPErKCW_PhbO9p8@}f@$VPIFMy)Z0QogHX`EcA7;IyZlMG>G1Y5w=E z-$T)2&i7p3b=my26&JBL+w~^dQrlI|e4yi1+2N_KavDb&gpvGQ0agZ~W)O|zTflya z>+tejo)N;sVvRbIER%o48eh{aBhBMYxr+5Ji2A@mA>3n{W+TDO`?*l|x#;gqn>a=O zyd)=iyZ;NuBk*n75ehYTfUFV^+Mb#f`9kj21h17&PzF)q^s*b)q2(>vH zaZ&o^Ofh>E!z7^}YJx}$*@g06z3NgB>9;|o*L_zlyUNDubV|j^vWz56iS&>`q-APu z0uOezspS(OlYbUC4jd@#BKQe>1YQDOK8259V{L7r_%1er4`3=0#FQxniCCGgf)$7K4_66W|QkHwB~(J`cE5%2^1*;kwp-4>y`Ik(>A%>98nZ)2SFGDtt6=8OffVm zDQ%O_X9V61f^ZPS0xkm=N;y?2&!kjJ;Bn@yAP8T8bLsKM^BhX0c}AlM+qR6b$aM>H z9BAzq1nhLXk59lWu-a^T#U$M8J=5tt$lUILEHDOFrea$Cez;LA%G;;3_T|0{oW@Q& zQBBhRGJ#ovwqOK8259V{L7r_%1er4`3=0#FQxniCCGgf)$7K4_66W|QkHwB~(J`cE5%2^1*;kwp-4>y`Ik(>A%>98nZ)2SFGDtt6=8OffVm zDQ%O_X9V61f^ZPS0xkm=N;y?2&!kjJ;Bn@yAP8T8bLsKM^BhX0c}AlM+qR6b$aM>H z9BAzq1nhLXk59lWu-a^T#U$M8J=5tt$lUILEHDOFrea$Cez;LA%G;;3_T|0{oW@Q& zQBBhRGJ#ovwq4A2uk#0^k9!%8Du_xw|#j zSq5&8#7*Emuv7%9V=hb48{czo+SMw(DE=~%&wv@L}eJdv=K`;WsY5<4f+PL^dQ`u@Ymc#yOl%M#6|fjGz@1(c-)eV5@<$sLUv{9Sw3cs~Dm!f{mXlO{YInnR l;QUBV0gHnqm8P2je*updk$=x2F`@tf002ovPDHLkV1fdp;*S6T diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/left-clicked.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/left-clicked.png deleted file mode 100644 index 7978adc09b9af8642a5f0a88335000cd14df8908..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2382 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 diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/left.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/left.png deleted file mode 100644 index 74755b9f5fb2771d9ce8197b976ff2e91ab725b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2409 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 JRy&2T{{uk!Q_}zd diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/pause.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/pause.png deleted file mode 100644 index e7ef825d3bfec21f9cb9f1581511253c6343e34f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2958 zcmeHJ`&ZIu9Hu49WT~xY&Qi>svLr8wd5NLJEHw*nSuCAeGx1Iv%}XQ{YTh#KvP?*D zt>(c}bCjY+q!!o-#gR|V0WS<3Ah7Q)|H97pgFn3Qd(L~F&-24`-uHQ)@+frZ z8Y>4Y5D2s;JS-#zIQ#!xmLCFpGp2k7>ABS2fp647h7}Bp30_Nd4G_(bcyT zYPea80TAs-Gy^G|e^>Hr$37(X2AxisBnGjNJN1b3bQ`_$(m*Jwn&o;m2hc!z|I7S9 zyV!wVUaNMDRP~+IzaAgKRJW~BbDj`fNy$U>v86jl(@iiLnSY87hq9eUasI4AoWD$u zPS06FLSyJk;%HGJ;#CLOAWHs0lYC#zeckY_d%s^~Hf{$8>BB6?wD-)+0`mUYHn_17 zKQ*9|iDy1rD@!l*(md)y;!}3LsSB@m8zB#4chkRFd~c@wj65)N`fIt+d|7&E9LmX_ zc%r=Xh`42;%`R9Nl#pf))OIokVWVUpgiWVTC%hiGvn@~eTU*f6K)-hdv89n`yzjOq zT`*er^!D`;4I-i9r`@fGAl|!P25b_OHf@AsSU4fh^Dnd}RdJST_Ru2oEoGR*H2THD zoF+BK7DWTEt&ut&L!G)KcHLfvMx%USRxbY0wkyiX@52~dx0iWDE?+GxvHT{Mzrw#_ z3e#|QkxK6Rf+RE2dX~hn7lMQN$zQj32!itiw6NmWNl*`debt|4wLh-rS)Ejo;Y3{L z_;NJR>pE$H^EX<{Sd15H>B81~YnRk82%hsd{(*Bhr9S=$UsiTO_o_jrKRFKPyP%bq>9mq+(@DjgvIo9dh&n;UZ?!OtoX_6GZl8M+G>onAJu(IE zBz{_zssMUL#>Ap@oSbNxDmljat|hJ3UR^jn@YW{B^!yr?G|5$*ujS8-H^@xUe3=uE z>DJ~vD$jFLDMgrg8T4*$ZTIX)PAy#}5t(-$+|E=?Bs%gS`!#4PN$K4xncXaQHD~|c1O;Fx2q)c69GVR3vgDid-_Q-s)CUBu)rE9Y}Wlt zA>V*8HE*PjI9d_V=vI0MMJKGVyT!`mQ5DXQ$>V4Fk?a5W6y{YLY&q)taQbziXM@7` LqC;AOlgWPotg`k} diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/play-hovered.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/play-hovered.png deleted file mode 100644 index ce6d5db57e577d403254c7a979791e244d4b8a6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`dp%toLoEFFUiRi=bQEcQ_+RIc zT|`4i;}NEug9luiI$J!}A7DD7)-xfZD^;R%M^UM{=Vkt@ol@5xd*9u)+~w@T>y?{1 zBpA4t#DGg*5A>Xo#uF0pBM+v4k=&J%f!r - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/play.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/play.png deleted file mode 100644 index c5fae9b69a9928d2dd53896b1b0b2f6b0ea22f20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5454 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 Ms~h0RYBr(&0|k!wrT_o{ diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/right-clicked.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/right-clicked.png deleted file mode 100644 index e0083d9c5889d25113f2764115fe11da5a33c426..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2253 zcmX|DeLRzEA7_nj?r_gE)G1?)lb2FTFP1iDGlX<7t(2)Ko20y?3wc+0Z4ybTbL~{mANPG-pYQd(zTfY4eeUab-ICxyrit+a zV?8}R6P7PM1hh@M2Qmcja&|?Lo*tCXqSJm#jT|l9l>Eb*d4|vLHDAk5dUVlk*I@c1 zsT)0}>CwM(p2;XhPgeN~R6!5zk4s~#1Zn*AFni|0*`H@;N^VTGo#=b~#C+taAO&+z zt6vYl<;0c4Z;yDKsLzU%;V^+lu~1^a~V(bW}s~uOH)onqzJ?Gpkhg$0lYyq@v z(sbAdKxuNz-o{QWfL6FCnGS9S(E5p2pRX1HR`N#A4`x<00DU_6dg|Coz)JRD95y3t z0?;k_>$iJ08+@>W-*>$k`m)H_2Ko(;E`wy1GrqxEl5m~~f!&_&!LBs&a^|_)C&4im zne3Zml+rGWoTyR`^@UvDnM^~)!w;*6a!VmE=d$(gN!g)zKzhV0?WisWB*)8JF8l5V zq__vuY8PDpT+iEd?!NrQc!u=C$NMSptMd~*9NVV!LqFGOwY~#wDDlF3c}9(Ez03Ky zmp(N#>8qR5@jb6{S}Lg0;qrkx@pZYM+?>{5-d`skc%U4kO2=DqaGo5N<7qFq`Z!bW zJ)VunKG}nl|n?cXb{Rl?% z?@O~Kt}^ZV)_p-<$m;wv#yEI~vOfkV8W}W@X%~<6{>KirIy+>@jS4+K(}2(~T&uQ| zRpx7ylTZ~hb()ETKMpp0aiAd?o4_8c@z?|EoL?^^u*Yi?(b`z01CvPT?6AQ;?+_f% zb0FM?{Ek?QV(~Z1na;fC_h*KnDyy5yK2$uP80jJ;hO<6!n9jE@IzUx=RpTU7Y@$y> zZ95uDBw`Z*3DsBUk|pAT9um4T*kJ$_7c3AG{fLFX*b<6(^F#rdd6k9i)M6I2Qh&K7 zjN2nTX4|A!-OWM81}1bwzigMkM7(^J1#KDC?^Y&znspGjWc(dm!EpYhM-V|*f4dXH z?fKQ7p8F`XDJ;xP`3kZp<)N0o0WU z!?uzPLjBlxcU=(1KROB}wjq2RF2c&j014{+IKWj2;z9-Jq}W%k@> zP*;O_yuQ2Xffz?H=o)4P2bb1*4TK!YNr_|pb7-)cAo7cAkIWHFJYD_XDHUtG}c zXO>3{;g;=SQ8y?G7B8kPm<0o2IA#?H_HQC_1)|Y(w#BKphcrPJA1%zJbUK zp5Me0E0%+R?O9+q{%AdO{F^Lg*dHX+rC@)WEQ$Uq>pYgmZ5MXxKKY#-l<%HJ3BMAfhY(${j%YCf&M&)j*c;O@!dEZR=}MDH;Vw z4r3$qB0k_$iu=@!PFX}a%88P#3DYmWf))A3j&l5Yb&?Gt9wuX4rczkaB3!%?r>co0 z3ICOKU^rE}H*?4Ut#^e4qUx(Fj^k?jW#(Wa?HvT%Rz X+Lu$yhoEQRH${)-6G*S{+9~=Q-#GJv diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/right-hovered.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/right-hovered.png deleted file mode 100644 index be780155001981f6ab559de0bc57e6a1691cacde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2294 zcmX|@eLPe9AHcUcbZlgvrW7_pzw%T!H)X?^r%ByhF)hleE@eZmr;4nhj+>UsL=RLH zg_!ysl!v8xNaYr#Y389zLW^8nNxH{&vM!6gQO))9#thnx=<|n!iqL~)^ssDW z*CS<=u97)o*9g*O=J{ms>?tu63zp{8C(x zD(Bgf8gSxP=7i7I!Rmyb`2!ytlZlZ`Czp)TS9O`at=H!26622e3zV_zu-ch? z2clm5-Rs$QF5ysggaCJZ4bB9pHXOJdMbjquKT9<>2i)*cwd+OY=lg$8PsIHMROkM| zicfOz-C}0*D-r5{{Ag(E3-AsfWp5-JpD!uOb`qZ=UntflY-3@AKEpg~I-J_&7Xnc6 z&K4gyp6iX8?~)}AIU743%l(NdEa~Hlebgo5Ato zTVz4X>Uvudupmiu0ow1XsI=!sOj-7JRFWIu<(3PzT=QoSMS)R&wOsIc|G~G&3Y>_& zoKP8AG}u|C#_ujf!=W61o*_693J+PI?JG=GDmnZ`m$)y_px3hI&($1d{>w92W28GF zx;M4x1Nj3FQU{-ACF1CB+}$m@+ro3qH48#~B@ML6tauVVx`|;?^5{jN9`ItNs;Jz| zTd$VLNK%tD%x)=+VG!*nB@MBhlQC|@qc0^5)9KH8c;w$glMZaLpbGx~<`R*izTedZ z>c@N3F^T)ysBr2~q+Y!)UDBdsL?-#A9O%H)IaSR2S_H39^*gQ^55-0`0+#eoi+M*? z{>%!zs60Q14Ce>e*rS--MTV0p3Go2bKiomj7&a-|j1fiZnte3}UW6QceU>E^D3)B& z+-EoOQBR8yXHpWuBTtpo?9d`;WP^M)9%l{@1-pnr2#kvigMyX%KnN4F(+diYnFOy3 zUb?zK!8g{CVJ(jfTsZYXGoLI6T0jh31%&$vqJ50SX36VH8%Hx7ApuQU>H>( z=A((y*&033lyYB-baIKp0_P=Z0N01n;>U!%(S?P+*1)c&2Jr2Enq6~_I1K&AeXcR6 z?Q<(%5FzBEL4X z+3?=HhQE_Y-axy6#_(v)aoZR+|CNYULk0!yA>x zj*X8c87=Jg4Hj#ON~04%V^g=UM{!<_Nc$%WoVjdjBaYCt$RW5V->fG$}?<%R<0X_DAYGcVZ?eFT@5$#3w@@(dJ6*-nT zBK6zsfR@Ux%#|X+v0yufD{_aq_9`dH2IJk1Opc6Z3=F%yufU2*+gU`0YQd?WCCJEL zCt^%NhrX6f|EfDtsVJF^63(6IQq@$N#yySAlbN(&T3XA<$PSg+A_Kl!iu~&uNEV*b zu7aNZ=fYfR?9#Y-*f#B`JS>enYPa0)lPUyO-nA8R&7Dp+Yci6rhigFWz}!GNv4D^_ z@<@W*wu`w)ftNPtT1gPvWO|+}aj#fIrY&nL*gX{v+-fKYVsMHDFK<%#(#YCgp)__C zR~Scu@lChQB*>2J1YHXJl?rne%P-Yp=}(`NAhtd7XtN3Ia1dfA-t5?H44WN+*xnbd zj!@vXWiU6!?*1sBOf#V%iffgUyI{M686=C1eL_tmPi)tewdPoU0nnROAVqR_WHW&- zBU6#WA-`M~y@&5fkYK&~X$XwU(-CnMD#~Rp8I?+AhE)u*gro+?CV7+bqTybmkP->qXC<5x+qvD_WWWKiw2*XZ*U*BuaS} zS%Q2}?7^*7b>`T|Z;F@e=b;hK$Oc@lBOT@zmMUAko~H1?d(rz%F$z%c75qOr=(f6Y=Icw zhL$NKfg3UHwOU lfR&3}D37jU9l<$bpDk0?>C|o?K)+`&o~~ONcbxa|{{=wv4ru@Y diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/right.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/right.png deleted file mode 100644 index 4c0daf34a31b585da98590eeb50d789a2ae40370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2381 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 DkJT-| diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/up-clicked.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/up-clicked.png deleted file mode 100644 index f50f42a543eae879ea377e45d71d39d1016a7531..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2699 zcma)8`#;nBAOCFbWMbsFq$PAT(!FdHHQDB}a@k=E-E{g06GzM?JDk&5ebXW4lKOPI z%!;OBESIK|3{e?VOO0I438R!t9L{;~`}qC=-yc4o&*OD_zMik=`~7%--e>pudmHLo z>O&A@NFkE~z*nk%bhW`-7*c^ikbVG#t*dYmrfh zIi|Q@54oNoqiUK=4j=4IQ2gGKx-FJjCa3X6Q+x`8=7W-=i&Dq!8ps^YZCLWrJ!rdo zS0K)Ym3DEfQP3ebGUQQ&GI?qLh{#>Py)4rX!g;R0bY#>7S{@b~q(y-|G7oHN>9&V( zb$z$=FG3v6+T#~)`#>H))$TX5LqU4+udD+LA4Jt-`Zl8AN8727RD&1x{1%f{@=2!+H2S8aYoM1^v!ipqCAkG-*C12M(>|m}-}%{9Vc7GXhATM50!+ zZWP%wq|EzE8osB?HdDa&TVI9o*pwBptKd&2T-YM(awrVd!4-Snw!wc91~Iw1NWr$+ z^8~0>moiPRW$_hz0kYKr|COAfn>X2eLD4D32{m%qZH=52k0-teMJopYoBDk^IK$n% zbP2C!4d5FOb>V7-_G5E&#hGtAfo+x8kQIap8U>DuIkf`{aIH;f@0k{g3f6)o`#QUN@ggAPWODqRIYtwrHoqq@NwGUma|0eA_;GVN+x9i?=hV3vxxcAp!1av zpffYWkmVgS-nCJ}+m_(w92pN?UlyCg;;UBBe2T3($1|7BjWEL-P`@t~rshMBydPX80?Cd?dy z?6y0VNP=T$1uq8RNC&m*7SqD``d#T58h*1Y)T-B3!{Q}mCcNl}Bkgo>y}K(XnPJ4o z@~eaYv!@1t-K@65C>W3RT0`yPuHBh}#MQ1)?J_B%#CBt%CkbxO(EjI_X-ewJmwWUO z`QG@3tmy3S*OTHdOkE9zX5gWJtVPTUj(d5-`?ILiu7xOtzh6qnJL8fW(8Z0!ggLr} zj{AZxBBwYtWc3*xU9Y4X0Gx+I(9m}|G}|d(VrX9X0F06r??+_fu1)_DOygbOd&+Sm zKvGUW2t0gK{Pw@hnr9EMeD98MrRFMAzi{*SvJY$IMM~_~C&9@y{5IVEG`w^EHFx1( zoI9(8^4~)mYOuO0xLM1tl*L~(@(iKj9dIYr%nrE=Z*dyTa|;!)9>cs#c1}lE(qkiO zVl#|UkHuYUOgd%fv~(pro9z0weF)v!n61Pmy5ryoMIq=%V z-AVOT!5zzh--SdfofeH~YAVZCStb$vKEfUPz@0%V{VE#K0N!1e*i=RWDwDO<Y?;lK1|f1cPCql-d$1x4b`ur@cV(7z3nI4$-Z!3u6?u+s!cevMH>oL7kO63o zU)z`~7`9rThHsDa9e~+7n#wkUZKu0)qq@ZV2%6Tu88=5iz5L`D{0$IlGqME13=m}h z(j*iN8-vQb+#O#_lQyE1kStm1UfZCVL4c8(CiRv`(ry@b5TAOdL;`-q?p!+%#>r!{; za?sst&(m9iNFxwTKK|W|$O)avGBY<$Knk2e<%jEsx@DExx)L*P(UfQ$%4BI-YP&mI zfjU&nN%XPPvoH0*P`LO@oU=-IYa@_&JbLYhzmtrd)w#Azy=AkaX8=;mvKN~SPU#0r zAth^{feCv?z!^1N&vh%vmp490%E(r)(L!SVySUerHWyGpAJt7vbea?xXfRd(P1koR zTtN?*6)*S#Usp{urtUxk16wsxd3FM!M*y}5{Q37wm1OE<%5=ASpztKZ!p<;vAp+=j z?5tbt?Cp?^0x5$VU!AQAG^drD1MVla#l4jJWQGbzHoA3#@hm(6S8D-1?ptD>M~#4I0E&bLr6r4cN7Jv$)!T3;LJJ?_*Iy>!sp<5L@$Wv=J1{L; z4f3ozS2Q&2e@oqK42Pi0eqhgbyoO;JJ?!tuaYAsP|n8Ms`5Nd=xM9h ztC1p2=&0|+_$au2os8cva&s@Q!n^Ir@) B^y>fs diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/up-hovered.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/up-hovered.png deleted file mode 100644 index 73ade91b79683b12c8577854d5fd94d872dc38cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2751 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 diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/up.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/up.png deleted file mode 100644 index 0cd949304a3e2b939b8e188c8a456c3a9aa58175..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2911 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 diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol-hovered.svg b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol-hovered.svg deleted file mode 100644 index 2a42f67..0000000 --- a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol-hovered.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol-mute.svg b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol-mute.svg deleted file mode 100644 index 8120d37..0000000 --- a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol-mute.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol.svg b/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol.svg deleted file mode 100644 index c733030..0000000 --- a/PSCADA/电子行业模板/common/resource/zh/gui/icon/ipc/vol.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/charge.gif b/PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/charge.gif deleted file mode 100644 index b9f66660d511a71c18415dd1ef6ca039d5d6a650..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23177 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 z 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

    mytK?aAJsOE6^rbN&9$Oh-arNZ5p(!yJ8E< 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 Z^Isw0?}_AMMZo|7002ovPDHLkV1oCrfHnXC diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/down_arrow.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/down_arrow.png deleted file mode 100644 index 10fb526dadc0844671283c8c332e5f2f105d4462..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1040 zcmaJ=J8#oa7`0SXpwJ37id5<1E=9tR>o|36VnSj&G>C*KjnoVb_2Z_oTKgLNmbhJz zI+X>9k%d11Vnu?X6=GpxLPEg6Kgf)PRIbycWeBxo--pln&i8!QY}}ijxjw@%%xrDN zY|-^%_FkB#-(N4Luh3oeBZ|Cu6RAiVb-*0zFr~W{5 zalqRdhEIctvKgjWN+a9dLic4M@<+i1JHo384y zr8}UQYSci0hz-(UD@?RhXNPt*y3ei!77QU|Q)iEz>eQRSz%c@OKF_(L1c9RRFfXeR z-U5;ca{?3vN#!8aWJQC^VDzw5E%v%v%dC#H=t*aLghZMk^!t6jpW|`7AwX4C1yK?t ziK7TE*$IiAa$&MKwqT;fjs1xDI0TtR+risJXQ`*hAp}vqequOGMv0;+6H+@8ATJ6* zki|7bC!~c=-I$0@+B*>vS}4KWu}kaGT^y5X?#>p^@hIaR4tEV-bRjWUFmT&`9u zbGd4&`NFbUQKT`q7AC|FT{PDAsrHDgoXORU7}*5JZH%|ZUC``df|DMOfMI~8H9z!l zKe?Gz=r~{##r_lIRbw20VTv_>g1jhMIkgHcDqqN4uc#HHtjMNJd%!A7Id;VLCZuh| zt^SuQP-ld!KmO^L@fB^tYc-)x zyXV0DtC#k_9Xu^HZZ9k>%)eZ}{Ai~6##r0`c>ed?{NTsCLFxUq#jkq|IAmVemWqS4 Q^)s8%n$|?AbFXM-27VH5{e^M!@e>0Mt1H>7C9; zwL%a>7R%%)LqQ4MQdAK7?l65t3he4trjaXLBSgu8HBM@Xz^)Nbm9p5Q1@=^9 z_7Oj9?L{Bj5*kvrOF>bT?SL9L0SEbX})63vjTy8MUIk|N ztMs;)VJ3l~XRl!97a^W`5b8LRn#p&wlX>@+C>6tKAB!FrXAiv%39Ew{`7=8wf%>K( zf%l*xaiGZoER_{PYKFUnuu+rgsWl>02?Vu8r1~YOae^&47eiHqQ3tU7pJ8SJ^iIy~ z)JRU!J*3}tM!P6P$T=>m7iUZZ?u}D| zU$h}1rQ$z0AXgqiu5>^WJD92YlAADyQ#ke;GuL-_a8fNKiuSiudSVCanaT3z3e3P4 zf^)`{KE+ZwWuH^|Zajp!rGV0U;nY!>kuT&z5&UzjY@dRr2v>?tIs9d#jJdg7-*elH}h9bG)acsfRMcth;r z99zgu2*DZK{s9!%$(2+|Z+%g${T(E(Q{Z+t&$UKu=Q5`H1+(iF>9HT!?qzJ}2g#AI zB8@X#SE@Oq?sLYK@nkk*Dxae+7okhXAOu&oz-$=76%y3~({+Uzc!Mrf^4xfcZGXpT zOG1}El^*#HGxCNRdCE>wVFo@_DpiQea8%FILI+ROQl;6k8_#f77mP8YnKG@LQo zhtXQ0nxQ`aJ}$uy=ujVT-yqGtb(etyppOkT2Wp>Lrz{@PC-dVUO`h{RZ~R`{nsB1?QMb1uA1h$ z`hUHP_S+$hdvLJ7rkvclbLV8wDarZ;y2&YMXwaUaD5t0>L%TvI=)7;RL#T{zknrD6 z&~*uN3iR*~_VDvX?>*7M(eG^VAq;J#zajYe|MOViAlYAVWS#tc*L}Z{P(@if9}=!ulMf7 zf{#D#&AKju9w9Ey`hk8v=wFyMJ^uSxH2&-J{<_!szmEm~U+>#_eZqw z+57RIxTXE_PvpD!(!xEE7S}-P?#}kltsk4;zkU6(vA(wY`P0hB<)shr-z_f8&%K?U zdGq?!^vkIilh2<`j6Z!cHahZncxZ5-zpuBayQ{OKy{+}p!vbu%wFCp+uL^~{WG>1nA~Q?4W@B__nj#l}QOMUo=IFNa;a zc;S5LxsbELL4g7Oe!f25UY;KAZmurQPL2-tXHK88J865u=D4+$rG>c}@z_yQ6JsMo zgCqKSx;g|rPW$j7t%I5x>T0Sg%1Vj~@^Z2=(o&KVSaC5?5n+rFT2O$WkC%s=>i{PQ zik*!W$->OU$UskrfWx2=Fo?D~2>pOSApj~snzm2?_V!Q!f(m%oo%FqYrZx(}^4PYI zlHVDJ6gJ8;s4VDC;!^UQ?hCN)h=#sl%2OM;-G2>hQDWC$b!YH~ywgCQVfEeNT=k%( z>Hg|_Be!u;^!!FO_s0qiu1TI6s40GWk637Q)2Oy&qSU6^^VL9Y>GKNv&P0CWx(6?+ z-Jh168mudOS?@nLaMQTH{8e-4#?q_7`ieKL5nu)ZlLpFcXFR*q>7jZ z=l9jQ!Q01LAMO0y+-TL-@4;ES%}hQSiGXmr&yWye_h%v*Ro~A>XfDj-dVZY<<@ z*L_&b_3x2*C-W}Ba1rS$kaag#2vvB8?YOK%N6g87LTA1*B#Ny1(q`s;VT$AhG$)Kt zvPS{VNdy<=g)DuzM~;L?9VBYWv z&!%_HaEYtAEPzq%~CocG#7}=3yLO1lzk)lHdjB&HE)9ETKQ>j6x6I%RHa^= zkrF8pT_b&Hi}mTsOk!iZF1Gqc;OJImi9N*Z*n|*`>f?F?=E<#XmfUGuPs4N9ncOM;D?aq=pC$I2cLGUpX1P631T9BXbuI z#&C}59QiW9BwEy!(HEIu^PU~Wj{-@{w}Y&Q_&D9(ad>15>pV_PH+huB7@#EtY)_rw zDrN=wY30LUIAPP#Spf2tBd_a;$a<}=WRIdXQDsUS0A?RyWLuRE#UZ(~{QHkyV7rzx zKQDew0l*N76ca;40!1xJ+1W9$r=cBci(O)>j1Ii_rW3w9RvF*!bL7>r2g|$|PdPll zE_Fs^;$DeC#_300*@qM|6c3$^JmLw@gqRQT1Y2q@!nu9D7<(DuzxP`X2ECfISy}aDI=GPVD zgT>GbfOH^OHNq)#ow3+xD^(6^)yCcM;Prufl^xKDn!K<+i%0_U&XG^4OvmQ2>V*Rx zpcpcwSGoUP(*=C~+oL6j5`fkWH+zBD`{IGwlE_GO3S|jdYHONe$DYxa(}pXkFMNM` z`8hs!)SjU)Io;QI!vfLet@(CVPV#7gg3zsMMZ0K!NAha=t5 zar8#u^X45uteP@I)|c|2 zz$i`?`2^r7P~O?#JGEcgh7iH`h2ER&L{uG9jAUzrNDmgV$hfDb7y*qhKWK(lJ z#8OO{-}80T56Stl;t^J8yUWiuNRsxAw{2$VBJaYK?d{pv84L3l5B1-pD>}p8+1>r_ z{iswV;8~XY6mFaXOA70NxF@r4%_49{MyaCUTH8L|PrV*H7zS{W@EBi7n_S0*We{+V z?k)X*GFvJcX)T;0$qnG-kpy~$au3z1$8v2w@s>_KtMlZsOYMmr2zc|nm>5z=CoO=1 zN-2WPuG&I1r?27E`0_>D8t~?I7&tUke@q}_?0OyEg48RGZ3lAl~uhL4_NcE}SwD_&ZY`{+84B|p~(bb+$qo$YIz zUW7s?9V)=&#ZFFNeS4(p7Af^nI=?Hh5#kwkW-8$OWfWl6)>xmj2>A4N^XXw{`%8?G zjGtB^pM$ZNRZrH6y0;-AZ;0N{o`t?~0y5U2+W~25*Z_CxT`AY*1O=4k3(BQeEG4>d;|)z_=J@0wXjv_JRV_2`ltRoZ<>cz)C9H*(l+& z)E?N=HVDGnxs3>TM%K9nzrcZHCf8pGiI2O4k4FT?OQglq6+n`?qS=Lk%n^ZtfsCu) zWum`9nyu{=HiaBr6C#8X;ejvmY0=$U;20cd5dk1DT>~QEAw4;9p z8&``vdIA?~sAy%J%Jve#e7f_zxC7wXC}=WOU?>aoL7yQq^sHNvGF7YKuMO}F*4iR z8RlN1au@kbL%qtm=Vx)QK$QsS$q2@BY+4r)xRbB*vd!V?WNNc2*H$e0JM|u0e=0LH zg0Ytf_^^6)4ncyLGb`G&gOPwYNYJ4BrMd{l!n-@YMKLk#AIGAB*i>2Rh&-Qu44U(??RNFuR(oz#A6&u%grv$INnW|Ex~ zz{2B!9jWjh!aRorlDAAh^)g6Z(k_QamgT?amS_gDdd|{?1_^)D8zqK6I1;Nh=Dr1Dky}KsBCgoiLu>#n4UJslxNQBP zizT8A_GtTySfmv z(75^>b}$9f*_Pqs=?rzte1v5F_@h*#l4)gz2}%UEMKDgFnWg}VLpfzrO=Z(lWv{o& zW_ZfqYL?I2mM>l?f1gvn)Kva)s{GSd`6^Gvx@N@}+lp@&DmHT}wwfxor)UhZ0>DcF z9i%``QeYP;h+GPNGllUbh5081$y>>Guo88$lJjCES8gRwb0y!)N`ar1Xx=K!!77oH zRbm%QB>(_hA|lrxAp5fl4uGox009yC_0$VMTYH#%bG6n*fU7^)ZN{_k0tg@vK6J6> zP%~JP0#ju;3P7_M@YWvkf=Qxl7Eo~i(JJ%i+JnvD1EV!P`Jgdmtv?xh(;w)bTX&NT zlIE?oZL6uj06KB82FFk@N2+#uS*?@`vj52|VPB(VTpMzbT^ztb*c&)mku7w{aIyo5Cw>6 zl069at~E_#s0P^ADh0rXDb=>*=0;ZdLx$=KFH~i7^_gbA{N*Y&K#NL1lYBF{_99>J z&nhKclb%q$?Q&JO7oT`rgFH32#V8G=ncGA*d|36f*)*V8Hn+LAvc=W^k;&S_v4amg z0)U-^462^~)TaXLo+neR3I+|JA-}17<$S?;SJa`nyPlS2`j#VKMYC5A<&ySP+ z9r!*uJi=_K{{dfDus@`zrTboTvx6S^Ttr{lP=APbkFrCTPfN$kmk*`$2O6gbEL&j8 zW36i2?f099Wb*sFhXx3YgG%ik4AOku(tYa4p0T_>jR>$xT4yKzk^I4S>B`|(CcT!@ zeG>ToEJi;1O9093q1?R31ZjDdfw9imi5@jWi5TsSA%z?hdS}Cr-s;I z04R2Kbcw13J=ZpZoqZz9+j`(5&qOXmy#K?imTiJ)h-w7LK^_`R0SKOASED?Hw>{~0 zsA-f(5F-$uli3!M5Q1cAG;UZGKL$rX84zlTj{vF4BW9-AjPlqsE&)#X@VOD`3HEdj zsZXSY9;=!)%9lP`K+!QE>Es-S;WN*b1AuW}4<}3cl-nMolb?#GwI6P7dYLmE{d4@_ z%f>^deDm8?iyzsJNj1K?Fxndoa-*~qFE_qg8sYX~Q|E1$Z?4Y`V|9{vVg?sQ?|3oWT?W#eh_=2z3N zUcE-{yqe*E{r1r7`BSeK`CkKpe?+1@fB+B;U zBJC`yFd_Q$Yf*PHT1jBEDrvP`ICl@5h%7 z-~fsO4$xj$^!E!RU;6X?^+LE~yg?e7gTyYSKP0p|+9k^)?8uccOT=FjVoK*LHlIn$ z;5we3fe4z>%T_mjmYf}Q2d^8C{Wc^q+R@4qMMm&TZV28Cze~2^$uJhNxDAGj5`-X} zU8PENmywR(#QPQYOgWlu-vG9Esp_2G7jfM>SN+QvvtB+MI$6L_SXnk1B(C!ymYw%o z$z=Y6*nb`P0iZB|oi^}*zXu)__m`!jxCD%pxdICG;@o%n2@vRjUhFAYL4S{gg&5fA9EzPH-G&P+HXy#VamVS%a6YW8wkMFra*R|OaBtI! z>2(}mm8=#UltXF-7!iN`l?C7giU2rhqqzR}C?YxcM&VC}>(K`-cp8jF!D9rYaryU0 z3ouD=Q>H3q1Z!_3rv*U-QArCARn=SD^)pUJsSr8+D2&LW2}#Y5{$u1u#Mo_Wq~urZ z=zTMQ_?Wa+Q{XiV4)J@kdK+>%PqS@{F=x4~-`kK~0&bb+gvh+8@_lpk6!!sNyGDHH zw4O(ZT)X~d4cQZ1$o)h8+tc>|)SW00G_5TP!7hn%cbjczNq}kOz4sp?SPzr$w}L!z@W8OXO!L{q>uUTt8f_amQ&O~zSWP-|{_!nsJ%Uj~ zq%lE{nzFwAW8_1}4bVyRT0=9bv9gmwVbGrzQYT7PWYWuC1g{)>;5B?SdP()pbZxM> zY+3Hvx2Nhg_;$;3g)4}U*uhlZq)?%h9sv)Ne>F2JElPQ5W^SUHc{|mZHVbKEH^F|6 zx`JmAHZpmSgmxux30w17$`|%V(Bq&K*Rp~Z>o^XK?4n27i z{>kMWAh5*r`6r^{22}O64E4n~iT6}kF{eC{OBQ!vZ^pfw#w9IJJ%oV5biUp@UaEbs zYFhN$#}g&gp(Z`!v*jmi^;RxS)Mg}|F2%bwZS&TCdJ`^NOweSkU$T2}Ef> zmeU5b7>S2#BxKxdge))@`a6;=q!p%uK9cJDbKEH#)r74PDG3zOFNA} z@OJZf*T|i_K5T5Jwnd&+WYEfX=T!BLiIU5^rY-|#-#xFO7FaWRetGb+O6vR0#ko3J z^IK;(9{o6{>-M_I|M>3Nmq8S(qZikBb~R$(Wp(SNALhSQ@0Q!{a9+g4R_)_r^qC!z z-4@DP*S>Wt2f#p^2ZA(2?KB7JLZI}R--zUA;X(<~^PV&Jq?%fRcobz2dtAu232%Ko@&OQFQRZsTm zH>+h8(Xn=?os63aS*4RbF{ie?^IY#uw1a@}_!z&roi<83|IIcx*kLmK1P2WAXUgOO z5I`XS=C_~dbiV-qMzwlIR_J>4C3l0$x2-IyM8>K7nlyG2U289{74YGCC{t^g<%X ztmQ4|{zt4_wIwFdj3)!o$PcB%je!pZWav2jUN>KUdcoy~C}l=0nknc|u8o3ix35pi z*OSMkj0LD5>U^Xc_QsH17;6DEQ?kbz~xvH;P#? zuTTC)s;(-TIGyGH6extn1oCmOL>LN1>8B`rtl#F$lrnuCQM}&9n4|16yT9h~zD-OY zOlKLP?EW+yBF}2IIugfHaJa~I#|`el&Y;|E%P(a`29{{OORlxGp1Dz$r2mAyA!LQG z>3D!+$;lhI(>b0$)_qFNDYF_3DJWGf8&UI~OAd!)wZ6Rp zTAc5}eYbw}v*sPD5Nv#9|3X0qfPn%4EDc}(9=`8F2Quuydoyb_3W-vMDdZWfwZTzX zm{3t)zzpds!TZvCgZ09Ge22kx<>IP^-s|#KZU3jHQ)id4+GiRLx}u1@-v&4af~+&@ z8ddkVT0nO3H#JA^8wt>p6HT{9mdz_fHsblEMkTGG?&4e3O(A8LFrriYgTdoo#yr74 z)^AoHr_5XrWqN+d%4TiqjwFA@%>=7J>w_{fZnab9WlkLdhDLQi^c3c^CEg<*NLgWz z4WYoGKk;}I0Hk?Ol7{XX4IQ7sY9}1qh@hb((q`FpZ=8og4tP4Cc8-v=DsN-{8 zgYxJ4Sf5pOAuou+W)3yQN-Dj^9?<>xw& z!*r(#847HwVGkH(h@2VVE7tpuP-(?Ees`d*nE=(sed|X4J>Wgi34`t>ixROiXye;) zqY%mVVn;JgQR8od@dhV`Upo(mpeJjDTA#c+__c2kM|E7`mp;BY(;2&JtECkx?bMVa z_=Y13>C6sGul01qaSII$Nh2^@5fs<%+N<|umrOKy42F^!EI8@d{Kq?)oNSfR@+_xx zn5|;FHY$d-ANxv`*L+yNedb^IO%7leAOet~8DQ?W0nm60VxW*>ABCo2!!l-rW{!3cr}b-Dm0kIr(3C-3~w$AWOsj`8RGdo}^|Qh6|?T>qNOS^KFWE z#UimRN~#%HRwzAhlyag--&%wowo$)iev@SYo+(c?O#UBLS=(zJql{Fn$l90B2FDJX zX>1!Sa=70tzI9h~r@!{2cA1q%D9=SD?-P~a* zCUDfi#ulk{DTj_*qmm)Tdh;{A(F?mTMf?l;TC%>HuV_^VxOaFP-x_hK&qCYh5Z6j4Iz_d<rN8*&f)5PW2GZe(!|_VTHe-iI2T%N$~)!z_=zXW z8{Ofr%1hzr1D?Iono?Pq(o_R~72&EN($iSfzatj?747f;MjQoa6X=7+Oti-#nIyH) zU9n79R;9yv@da~aJ02b8Ja;D~DjB0EhS~(04gB|7yct>W@Z^wxOs|eEA>(a}qdbi- z5bd4?S1p~1jT}47$Rl$0F1t9ArC~g0JyD>XIwPQ5h!jh2a2sLU)=c$1m34k3gnu(+ zRkw|_ahWaDnq?xpl+9TG=Vt>G9$#_ey5jRy0y#I;MlSJc%9}p9b5k02vuXKN);WuV zKZZ1F+Vqs2&Ix#5D_JbR>cvA@|7_tnrNxc9WV(N?+jBSem%IOfhp_NPY_M>4#35NF zEfIPKgpBW{SDB)ZUFwi>i3e^Unm ze(qXUt7xmBGG43waLi}6<052W!EkeJt}e+7mhSzcYNp}lL5880b+7l2vwSoU?`#Ub zsYy6NeI;=*@Xgf0erx8P6XMHt@qQ;^Io>`FMSZ#3!eRTtXVbt-{Q|%A$MZlmZJ`%x z2g8T9m**)3I`K#4%=#X8Y);Mu7DtpD4EA!xd= z1z<03VJwex*94`3SKp-mLr7dYZGo!bp||$&3o-0r+`6e zpZb%&ub8z&(DB?~K7h4vi=om1pq8Iz+o*h>e-t}R%nhCo|J1#m_37B-Eb;Hbj9Zl1 zCvohbb(w6GN2H33l@4E-`ugsPj?jsHwPL^;dywhPR!)8_SM zZ7%#0!vPoRwko%WJSmK?#8<1`3b|Kv4xc(->o!0TZH_gu{N`O$&Dtq&LA~Cht(;?y z`O(?h6ZFw?pE-?5p93rJ?9Qfg?@LYd005vYEeZgLtv^P9=a}Jz_d0P{45kC{oLxy= zRKtu-Qf5Ljn#EUZ6$nja2_Tg4Vb^XWuc;c9FX_NP5M6`c zMp}vaOPuq@*RMKshR}(9(*%yTc1Hf#I+e_^J{z7QxUsg(5$V#GBcZgj(OC1U(cHLn zS83M3bK*MHQIzT6w~td~I;HL_4J7`G7PYwUq?5relRcG7W8NB#L9V3{1UnKO zqEDz&+Q)rv0YE@G08Oe!y!m4eI)TwDu|0E8`Loo8^=Rf0Ke`<^h%T^;mru-4XH8@h zQg>&JR_udiqzcpK1_?7pW&p7=5rpP-Owt-{ZYh8DdrG<vmJV5(SgFS+drq zEn`u9v?WbtnZ$kS-y4(aNMbFfTrTD9*t09UgSl#*b}bRC11il1X#19PPyzhK%~f2N zhmOjvy!zD>1J@=T@8*RBx%S-R_ro64RJO;t8Rzca1Jb=8_0}moz5GMQwLXbzcv$P? z=eG6>x!Z#`RrX=tBkpp)i2DW&^Y#s?zll4o8Ox49+~a!%-6Yqy(pszSu~+a2xy0#E zbm0RM+?>90&7sIRL&Df|`+(8{+ClEjGv#<=`{6tsyZ|@W7cm0HlQ6atYdts)L(<}w zyn#XAeKYNvuK&}F71oH*O|GR=+kT0QG!Sc`Pnhgp?(-FUDDtsw!g$k{(CMUv5HV4A zc+;HJ@g#LHYfYPt`bAUnWMlQ|F8d!l%gc?5?Y7xKH44yf^OMu57>EL=K?s8I4eP>6s_vGW+42kJ)oQu02GiVWwfxV-HOZ8J%{ ziKAxc1z_Hr-hkI|9kOL(McEkpF)yjRA z>&Jc=0xFPYWf*_Y;(*518ORKdb%9}^_EgbA>4H)T(>}p%FE3F4l^6WB&!4=2Ha8ep znW`MX^t8F5;Hw$Y7c0seg>vOHTz^Bl2FKb;_p=EPfT^$rPeXRhK#scLt?~4IO?zgs z;&Oa034y%{cSO#VL};$N6r(Ja7TFwi5ET!&v=MmHTkvGk-7ed$(GMT>u!^rvqa^m4 z_N2jd$r1IlS06E+X}J#x?QA`eE+PbzCQ_UXp>%^~^EUGH;jypKi^f*hX9qGx8Ll%l z)wobds_v>xTZ%T%?!I!~VdVXy{n*m$rD~p4y;HviyX%*S>N@_>T*63d!h0~`7LwyR zED?KS!=1~k`CBn^QE%!_J(Z({PT@r>EZf_Ob1U6B>gAD#&Cxvj7S+9-MdR1b@|UIl zNg!yJVsYbB2Xw>eg#^)_)As}3cHyz!j01g@MTR5+iK&Rdsyl{PX_lgq$hoeZ|GTjo zT;o(x!W9oE0P+YXjXF!6?h+$5VOgw+lrko%SZBItXaetbgX=2leLWquFzx%@jfhV= zlIb7Wl5x7ZxmVLIyl=v=aOLIYAWZtfAmP=~gKF*L25%d3`!y{} zbgZm zw~@RAvhH-B0!A;9#<;o0D~tL`f-LsY>B~jNDS}k|kJYM0{Y2IO)dJeI9ja5(?k+fN zBQq(zU>zms5XO(_?lCy+1f|K~{jkzon))lsP-qM?_TZ5Z_FWsD=p2o++fE`4;+PiI zvsmk)8|Xr=V{~$|Ci0&i+sSA=VOKvNP}ZaAY4}2;+BrJ>=E3JvKjnyz?T9wlO-z5j z`S83l-||XmPRNpNkkYv?rp*D5v-lFuU2j%e$i6Zl&a0iGn}OLwzGOPurg#1f9}Rab5j3vd>t1G*xT=)Fc0ERzlNOW=Ki!-F%$GoKE*u zw6^28yAC2F6>GuPh0yDZvqM@9K+dlT7T78MFJt}HFRKT%=Wkejd!-Ci=nxGKjxM=1 zEbm&wZQ%+b35$J|{`y%&SC^<&lA-waP0^#n+LJQ~(WyB61*;Srz8m(CMnzLRH>2J< z8mn%$>%y2tevvI0jUY|R`x!k>KC2a3D(u$TrE;wB^tNAgN>5T~3DXCcI=?=xW&t8_ zz0Pl3v*inl_vhT&n`1u?znj+F3htp=AE^l2k!HL9+~*kkt8F{qPxpJmoUE=|nQw&; zMD14%f7@vvl$I?y9#ol<7iN`vrIU=e_9%Gr;=$WiaC~5lOad+w*R1|h zQn`?_fVh2ueSO7v-3;FXdN>}u{A}?J>8j~s6V`mCv(?GtI!`pliP$Og(9y(8F;MrZ zXe)tL3>DDd5ENeUNb{$=Px-x@^c|;GzqQs9y_%Vsv+LKwb7TJ<`JrE2{;ws6Ce!~( zWQ2{B?-PYkLXBdc)7Z+la8!c#r5S^&qPD~+;v^E(U1WTPo{A@}&+7Et_)kmDKONOg zLoo)DU3O8nwuj=a`ufUX&4gn5>oa%5qhPg?UaGD~B?!ZoT5TcZ=|l}y1W)2~5lK9P zII$B)_Md$SVLhT^$Hg&CBIO%73~?!fZVWFj-myC&=Q=E>k#sq`vBGfd{;8CqT6ty9 z$B7z*N|GZ{=y?TG>yW5O8d9d&Zn69$TN={%Obp9at+TGmd4qDs{JZYUUX&DK0;k<| z*4ZAa!8YAV%ewZN=p*~pyS>Hc_x#z@UVoPo;lDDS{LUCSbJmaNA81=Uv#|cQ8X}Q1 z8LhMXG!z#vilU`?m+mVZpyySMM%x-zJIK=Vy`l&Ix!;_8H}LVLrPZiZeB*spX_da7 zqh$<@r*G1Kv)8>@FhEOf&15>!;`J^P|{{m@^(Xc`)gy)b205%XH#~-+Vm74+85t-tmpQuvw~U@eCG)DsahBkmT$} zpAH`z5KesJj{BoZ?jtF)fN)>$#68>K%=lxu(136PiG$A!YN?308q2hoJLsw==qFAIBjK6cF{01ur#yK z(Vs(z9)Ff90^RzVqab}E4L+2&|H!~6TS&;p(lFNj&yfL#+|3F=O1YQBpnhiym z4*1c$O_t*X-A1I#P{Z$}gKID8K&AbYbU=gXDn%ehL&E4ISt`&UkLx=YvNr$9@nk@Vc=&3Xh63tByFls zWv;wmmk>C+gLWQ`>pRD)C$+!U_B*kVr{QX);o4Ubpb=^oT4KRP(-;0qENCg^|7T)x z!P~j*9f^!%Ez1aXBGVV)g2K2&L_{p_3)-Ik52rl5I5}viJmd~1{yF8LHaq<&qP>a9 zMBT5tFyLHQv{&Nd+uA$P>azXcqL@&P&gC)hSrfDCk>a*4xeR8dG5a;rLI9AKFDuh9 zHUGji3;wIhLDPm=2($t>Em_iw%VoZVBRP)7C86;GG;usW^{SACrpS4~7@1enNl`?i zdeJ0H)j~l28piEty3*0jjQ;hA>-oAzFp(gJ;vqaAoXNi=Fcpa+_?tr$5Cy63C#?v0 z?*EUID_WKUuiS;_=zsREmlflqc$#Az!O(&Lc^%;+kI{vLGn0Uc{C+$P+HdCq&1CXtfD$9o6a32uy|@#=Y9D@|3=kZf=@#6Dy|~R`u{Y zW(yxL%KIQbCo+=IhcAyh&8ZixTKu0*PWj5Y3zc+Fwq7ByGO;OgU^DQlMCDzLz9-M^ z;%V7G0BUqHcmGuS4Mpp(&>J^*e@e0=lF@9x`+Il=vO;GB=~1eOX&HdoTiqnpXxs+_ zMT{PnaCqLn6oSx6w}3Hz}y>FYychZ%#s-A%XpO+a-U&r!osfV?++n zjK8IIWt!*rq;;GBCawQ{#;-s)U0+3$F!8k1Mo0D9c#o_qK=flS1(InvEf-x$j|+N7?&JgjXZ%8K&(ea27w@xt@>VnR_! zei@g}9`b;W;R{MM!QglSDxWMPd9~CGFg76Ys)lDjC)tZ&EI^ay;qKoXH<~7V(n{V2 zt8G9fs^(tF`?gLTm6lwXS30#P!J};m!0tlBB<7%eih~ZK;F@?4Er-n)`Q3W)pK0Z< zV~m>qY!jvWWsaw~n1r909`NIX(naWxl^?iz+5HEwV2q~HAy`9DX{ovdf4cEXV&-F( zsOT(=dZK%|9o-M#Q$r1F$FNbS1ys7%!B6Z|=WSJuBxMuvH?%`lrWohPxbI#qFl_>R z>|b-C=WYI69>zW5~mGD-;!8Vy;C*kuFmOS zRVCU~r41Gt)4K8cy+1s0R@J4tKil7|@NWk+PpKz*OoSi5x|Egk^)~OFlknJ`7nw89 zDlN_xoNBQCP;}R)cHP@m)k8T6HFv8fw6pw3G~-}SG-ke2Cm~WpADjR(vL_RX%GQbQ z$V7Y#t@OJ}!n&P@;+buEn2az&nrX~c!RJ53;R$4f#f9gy=1KyYpZZLHMm*Waze;J; zQtTK1`bPsNxmu2@??oyYdCo3%f#RqakJP3pI#fFC6#~e(HKCN=YgF_uyW$gli46IC z9Jlg&@K7$*`|W=LdrebcW}^N5{gm+Ja?C_~re}MJc6G>vk^Is~<*7>gaWe+&RL${+ z--0*lWG8Q(eRFHL^nl!(%8S&~50jL7wA)>kHg{e=TRGE#&E3S9pIy!PqjxrUEDN^fjr4GAhjlyG9oi#Vjz=E3p#LGj2*6ROJAi2Txe=cU z%S6CcV&lLuu)}H&eC{xegw|m>0riISZpAD)Ct#W1flySuZ9Fr;;H?h8F3+lv;t!nlIeyFP%&Lsj zq?F?W?E=1#r_Yuhm^=bhWu?ZeCi1Vu0tdtJ`qSvDzBslW(%!rP?Lqp|5xB<(Uv0o{05>Q%p^hihkd3j zCGdtKmyHUh#>tkq?HX-Ywv-;cs5mr|Q=4efsa-BNUT~#9bLK={aKHW`hB^sB66keo zckYdWt8mcVGnv86_?hnH1?Ehx?9Y}Djj4^pv=i8F`RkfTk{T>0wUgn=IXudUS{hX$ zq7&WkVo`g|I2!VuSW}^>zyN*A{am*cKo7+JQqlH0lzyuKFc!Xs2pZ;CdX|rSn7iZQ zmNvA&b}B~k>97rn(mEbaV=OKsBSGD985q;DnlJh6CTT?2LX!j=>tCnNGiH(s3>=Ko zGioHv?rQI-T$+s~7v>+~H+nKNE|FQz9G>yvLhXzV1zOGaAki9aA!7I=IA$ufoLK8a zos|iVaaSZ|kAKoDvA2g%a!r_`bL;mAhu>>=>0?5ZM+E~NJ~o;6Ef&R-DK%>vAJE3w zXm?odGC1P~-@kg4iH2^kL+Qgm=n&Lw?o=AONH|6Suu5^%Nq~pYJSxxAqr|7fyuHej zD4!;jKZ&E!7o(KBmbRE5>2qk_c+bFXoW;EnlJ;fm@zu9_qWK8^he#WgL`MOU>VXbL zd5GROgP#6TKYma8u1&7Bk7TgNWcAUJl1y99C6-#}Fh>sT%*u-r&3ygy0M4>wcbt!X zjY(AVGsECI>4#>NA|1;e_Ps#9{N-4N9%S1;drTJerT_a({pC>C9?}yxyPaz` zTQpi+gMYV2i$6~1{G!E3|6v*}<{rQ1v~MDp09b*Nv@Pp*uKC-y2r9o#=w2NYUMQnw z4=d1%9~Kj6=o_2Wwc*!ci+1enL7zr|6M{E?F-(sEi=OXltNYxmmImEk#&ffnytO%8?8>#mQmnlL3r?*2sU zA}|+ZuZclRESFmCh=&<7id8-sS0HX)mpMsShA)$QzUx1K-Tp}mHU7cQ@k-xm!Al{Z zzDiNvX&;~tY=5PTr_4m!zEl)tJU}?n3r-tYNo=G{KlYQm2H5%Br%j*F$q;OqgN8mT zWANQNB3Y+%qVAt>N#HKQ*6^}s*l`C5Z^`%dw9eNR7vR?TE_juw2F8x>%z}-F_M4=H z*7Pk25T===Vb3JkQP8h$WV?7Gc&}=}mS9l%f+mD>Sr;J2F#56C%+{W5Y2@A{9(H|o zb8~c0GGhWjGxW|vs~v$>bkPea7$)6;kC zh;c`cKd@)rMHr8|p(^NBQqLOH&FiQ7T)DMI*g1|^L=+D4le$DyPu zk}koXmK3s!-@ZXC)Mpa3$gyiw5KV(Y_eIg7-QRF=on_ zh{WpN9%Q<>#fPgY9ijTrvuN$3A|mgqfM5Qa0ju=C-Hr7pfMb!ul9#ZR7~Mop zC8MFDN*eoQIIsiOjYju|^TKXH3{ztX7*Rue=WL|waJq8Pl1RLTeMU@#mi|G1^xKh} zR8`hP{!aEI;keyH!;N1603H|%+kLvg_vW|Yf_xJ{+GA5$Tw$L6O{*+@zX*1Zzoe-y ztx3P#CE!8t9>FHuKQe1{y)p0v1SKS89_uA|To?1}dqPwQ+|gJif`zL0rPWLFH<%g= z4H-l@4s@d@z(HYX`jht6CADrd>^5dT8&dhmc&YYRK z_4Y!>-GwfWoUFl(mAfW%oY)HP8q^W#TLGgE=k6GsW&mSHyZuBdKytA2EwSDmj zrxe*U6S_4;HuJsUaFUQzyGLM9Z!q10kQ>W5`Rz|#(+sBHS7BqYbBMCgn|rKkVejHY z2fI|n&zCcGUjr1vfZ_kxp5SGD!C=VjyhKc3P#MX_o?CPB3#_sw(=C^k#NHT&y5i7M zt`*pp~FyNEgE$P5H7Wq?f1@V%&<=WPW|e8F)#w=??EsvGTO3cGCIHuKLuYn zdC90aHPBrJ*a84;E7enO&`EVYY)w12Qk}+n_W}&`GWuO0bBHVdrzUzRC|sVc9_Xz6 zKZyvht$U^sp?gdd1e4)NVE|Dn*O z@yegipGMndyOZ9#b^*)=4LDKl`7HnZe^R}7`ZqSa@Pg*cqsm}3{l#6Ng(U2DxPV9i zvij=$Z&#rD1i`D&7;WBBVY%SO@tA>MS+{`MreP$)$x)p ziqQ{vOBfBjC+wX)8&GUt&SmpBk=fmafg%G_FHw^XQ^>;lc-apHE%}z?PpjuE+BH7r zB6ghSri1WfIby>p(Py;CiNZ+6+pSd|O^-$T+mZ` zR&~|$j4`1rJ3H83e>!mJR%|8IS<~UX-r<)aZik5hqb*$gk8IsXJ9%5y4b!ZS5C@m| zBeR9_@nco*q5G|V402!T*|+%{n9)_`=k)#tW*r4)T5qrVL_e;G;8 ze+{4)LBlZ+mI4%@V(uIj2Gzu$qX%O8@-*$N{F9MbY5{8X_$wH1tcG`$Vuc&BoyV4$ zoD7F3*x@~8ZIRzYo&_3@RFTB*wqIbQNAr9j9oxTatn}N;C%lCW->WZa2|lY;nzLS` z&~nNo=(lHy=Xwi?qgG6T7E{CJJdg&}KWcb7b3zr}Y4NJ&%y$1u;qST0cc zzi4Z~RLtc5E9BzmX&c?rhc9sR>&ak%&3_v-89GA-WIMP$%(vDfT}46X+6rU-Q4Ul; zNTj`9H^}xT_@ZMIj0bYHR9YS$3knlt8XhfXxAPi?c_gC^p;NnmK$hB3xNDjEEnzu6 zWzV0EjAbvrX_~h>?P*_*H1)2ZYwe1*8 zkGus!&a1DhM-^x=_;;+a>xg1lzo0J~`FWb{ihOsPGT2MJ zbF8(W&kzyyl&k<4;$ic;*$7T-vu1A|6keoB4or9TDKm!F_(R{ORq}34)j^2YUbkF~ z)@7U~7nuH0MDL@{NnD?3W=><%i+@R*YvZ^ncdU=CvD%E-0?Nd6!hq1> z93?@dvjO#lNqf)R00klcc^5~CK8P?1KR#493o+9AzCw2Xk*yACXCZ!E(3_`ybRTA$ zfyvCr?9;o}l)c!WZ%TzvZMH}G^7Sv2Clq(QcvRw`;5>2c>xMMG7`Ae4C9u9LSnhoJ zsdsO>yK1REb*HW{TBbODm8!~%YrmKmh4N0|gbA-%L1L`&@q6D$-GZ_>iGR9Kro%%C z?lA4Bm?$nnpMWw-gPjExgS+#m%}VcVzgSMH-vp%7UA<(2dLc+60jS~J`W=6uFxkYx zHO3pDQ#m5~RA%5I&q9PjI68L1#8Vqt1Vg=3gZZQz?l|R4GqF@77}ecBJ@Cay5hCJG z|F`3dV-=c3lKcE%_IK0y|-hiX=o&h}ZOB-@b9}3Sm6Q!whBN{EU+@%S+Wzx<22TFx#DKARd|o zN)Ei(dn0^BpE0%lD$z>cc;=K~hM;mr!X#nGU{|%cYAva!Cwhcyd8wG~R7UepH>#Lt zzeF{=-%<8aAEh4&`vEMI(}YDL>N;+oo8D$PRH&fbSE6vH5Fj~miHvq+eDiF!n;DJ9 z`#b2(ceoHfGOyVP-R1s4PlZZ*Rve_zmg+MgaOGfV_ zPwSN0>6HTaqDyF|qQd_)WdKR`BX-YOUptN7pj}NId@g@@u2A}>U{|Di04|_E6iiGg zsskd`3K6dToN-7+*Nx-Y{=_32C0_4xOqlO7Q8D76a@wDeIWQOJ8!?GXWCX;grPRrW zOUbkFzKpJ%H1)1hJFzUPz~Kk04aM)c%}-+{Z++U zzNbBGRimBFMVt8^9AqziN(X7;#jX|+`(ikA)FQE4%Z=oOS?>bEQM_o{M1^Z;72F|8 zj-zGU(q!eiI1BPi(O^$B?}p_?x8$z$uAoMJ@d0{A8OEzX`PSvno8y0xZ&C|{ zpTpkW+kHw+nybM5tuEe!U~$$y&>~2kyKq85INR3aqaaKz0n>xQAt6echja0o%{h-+zK$X|wpq(2`mu8pPtMa+b&wA+V=6DW}~Os^Px( zVuo=91--6KTJ1>b!Hn`;>Du#MzD5C>NtP@+2KrCMIA6ke7a0zRygeplgcqeAxMI^D zOse-z*ToucZ6}1brdElL<0=zEN6IXH)blmJ##4(e?mn2Jb`^gHrFmqhf ztdUZNl8N&xV@8Q*CfqRYUh-XmmlhhT7ZTsMFqn;1NoOQ)Ggpjkl9k)k7wx{0;2tdsz~xM^g>;71V+ zN=6+(5-33uKg-+Yb{n zCO#J_z8~L-G#+5-dn{9%R*m{Ij6JFr19_poWf%j8=IxGUA%EW|KTYvBLY@?)FtTuI zcBTOpPDNUWeULXPHP)K#i@KB0!?*BvmeDDY)kE3vN9O)_lWz5>i64m0mXM6GuIK;X zSyV$Z0Ag1S;|hQ|LaT>M5Od9`DTWTN$t~eDwz9#AQo`C3av^;GiI8cYKv)3#jOscR z6hV`-q+Ul85z9U$+6ph@ayCP%xLD$Ht8P-h0V^W?iKh>uZ<4S0AJ@p-aXChd#tX|Y zg}?or-UhTwY!5~R_DTupA9C15vZe$eQK(jr!OW3eAc~HjK<7oDg9g;M)v-Oyiv>}R zTO@1<@=|s7UPmXt458^+P`&brq@W(GDrrar?d$E!6#J?!_9eUsFp@jkhvP4YPAHgH z=pE>^X$)?byB|7FNOQY^M;~!H$v&4=Pzd83zE%L*C0>(t(J~;>4 z4GKr zD?SZIJT>RdU?M_@;>O!a@={>h2zclvXt!b_H>&C_dM~hbQImX*t1CY1z~Hw z(ZsjNM68gz-Eq^ez$UC}3$|F(Rze_Ip*!nts@1yXqLp*+nN8O2*S<;Iuw_mOG{k!! z_A-%;1E~kCT2B8_H2$HfXaX_;y&FTaV-cWtL+bep*J_G@3>g+ULt)i8 zx~%{bR}&&$fa=F=g4^|G4cVdVWE$8*)V)#dLoQk(t#`9 z60R*!d@Uj#C~v(fcw8pFg6vDt5Pnf^@KnaMnOpBy@0c)aGwd@9uOzeJf4-0<4%BKm z_4`kMz0li+SF-wUbuGZFP8aInYw=+W`d>g2vflNcioj@?H6yOQikf?aJ!6i7_QnR` zI(eaYI2W*n%J;|N2%gxv4wXEaOR0bux8YX8G9PCcL~0#>#vY-ZmcO7Lq7fKF%c7;_ zhTLzjD5Kfc`yPO?8-zB54~umFHXaU3U#gA4asGAV4${7fR=XOaXm= zzmzMGO}{SMic7W`Z9Jo-al%pOZbXk2%*E>=lQBoN!X7Z+vg3}EfsWv;eB#q#a)ov5 zFpAR=fn?EQ61VElM*3UvAT1#eN}>ZeL|ymSLSpowJR z7Yf=UIFaQqGx?+i^d2D`kI;%tgjh3Y`whDbdmR^rPG*Ghij1r^QI&|r!2*bnx_#{A zTwk%}$?s8}ZwmYPB;@<z&=kzK;{;96YVISacdgtH89}*3EI?_nC5tn(aey=uC(96XU#32Aq~=a%3aZ!- zY@=Mkc&AX_EG~chO&uje!8;0dEMciD)7;z2RcFPhitkA6dE6-%?P+heuMIIByfi3K zCSl5)7!kf@6kZ$S{hcN+F2Y;&@Q`9Hy+#>%S=O(kcC1b1i?~J9KCtp^Zj!Dq)t#~n z478bO39xw3&xu!0u<&!;nh$n#lL$6teVRIEK`1_Qp*u^>B?=OYXmIBd%zmBc2Qj+~ zwS!gJP8yL13rH?r%=?v#1KgbMW(uieY|5swY1c-J-vk%Ajd{Y_IAP zd!>VG6XHPzRWtYHbDzMo6peODV8GyS7D}P*STfS2J6|(43GLG{--DJv5K_wNz){PT zo$&0G_C`vjm2UdIPK|KsE{WZ^0;H)6;KR4adLE%6z?hwtxt~i-l(Zd0pJC^ztXxY~ zoc&Twc9Eg2I?4yJ=$)zJVr#FMI1AX{!7I2`QWQ{|d3;{Psa+l|vnEaV5!*8kRicp9 zC_>1KCpiHc%jbxsTeRC@_So0QNOdX&a?Vn{OzIwT#!W^_lu4db+a2@54BNv$%pB*vAXgAI zhdi&fX8?+t@$>G!Gek z7{_m&>(9u>U7uOust&R6hv1KEH!xY{I?kRA$+iu>70C17WjX3dH&J#1wz~lB627Pt*g$9D57wb| zgBp7COgW%XViH4D*}5mCtq#oY z?nW{05&Kqg7JiRi$+eCR>pbdT{_BOK1Fb^aYAXJp5D@vUFi2AV;I+V$(`z)VmkT9|%V` zGe&DU@|FR(l<`n$H@+)gkf{PB2-^XKFcmDWi80rcZh&>ZMj*|5a5T-#8#b*Y27pK9 z_7OU;J{hJi!qu2{reBGbzOV8-(z3Uo+)~526!x+(lWhIulyo)rSCVruxH}xdCAQ!E zg|>;S>XBYN`p$8nYnvg35X6_%s#quKk@}%!!TY-n|p88!S z4=eiTq6+vx$|6iTV!W1;10kIN8f|I^3NZ?8ii#6qLqJ24Lqk0`}+uKbfAh5 zl3{Oze*^%eW`qdif-HHJU19*g2=I`eP(PS&pdhVZ8Q@12_?3YHUl)+RUU~qGkdu?y X1N=czW=W(^Zx5}J3bQ}{H<$kdf$=`9 diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/free.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/free.png deleted file mode 100644 index 3a8d148cc7dc7181cc5af00a6191b247c2016538..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42966 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 diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/overhaul.gif b/PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/overhaul.gif deleted file mode 100644 index 8ad2b78e7f5b46428564857c7e9e8b3fd7cbbb11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138602 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 qxMigjlY}& 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⩔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%0A_D8CPb*MFXr1?Fu& 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�=nknAQ{B~O>Pf_*xu6=Qk{cu9XY{&YLl_(myF4xlU(Jy!mcf7cH`wTnKd zqgO6AZ~AqJtk3)8b(jS3+^$l715i7iM0ZZ9Upo(UH)$G$$}HVTBxGHT{RZlH=})hH_CzC*buy_myO$ zi0pw0{xL_H+L>36Y?AjSE}woXX@O&`Vf35XP(vzgRr84C&ojJny$6O$Yh_eOM7a1j zt%T)q>Cq-@CsyujKkL?}RUuto{c8`Ud9u@x#)oP>r*`gIKK5R&(w=w0GdYqZvR#+WZeNcgyp-R!J_5XBf4%9Ho5>i7-bt6+dD3*D60JD1^x=C=I?9Lt5OKeS<6wh;^DC zJ^QkxQXKDSLZ#@y3re5fhuF*~w>>z6Hx@o8OqlEL{PAl8dINPJ%IG8^V#i*z$<`%za#(<| z4qfHbZ=H3viq{W5-qx=?4M%lIvSEMR##;=leL;bOh%_hb_UiU88ZEl3a5gQZcP_Gih4X8 zXDR=MX%=9u(bO&4XO1%HA68SU-$de%&5>a&ww1ya#Ac27va*Y_MN5Mp37Mui+5~F@5 zVrl>Y3|-p-0H^^gl*sxsz!*a?0^sA7&~Z&%v>3ZC5exDHnF{oo>(D$tVu6onP9zpF zGGA#z8A|*uak?mRzq^#UAWKn#QOdLD#jrh!w2dT{TT+!;E@7T0DC`1)`THsM zkYG9T^%3-1smgvailRi~7~qy+0VPyu(uH1Np+WszTQ9&Vk-5(MDWQZjB=`qSWV4c3 zCr5(^g9sMljY;7=IG#z$Ld$@iH2e}%ES3xF^W7ihm9Io$n)xbPVCPhR@C&slidBUF zE8{c60OCwV@jQS(D;K`X0o1|YVB~(vE>tiHYT^sVQ6Tsa;szNafv>`r0X7O)XJX0e z9OP-KiX;)UiI0RXIbeJPC;>J#`5?emOU9A|_K{@>=>H6G*8r#fmn;_Z$S4Hm6|05* zKP>4f&6<0qd2v|GQ6U6sl%WM$(%p?4y?AEajorhSfPy8kDA1C=V$wpmYpx!0Bi28U zZkh(lVzrY@3v%q$36tp1!SfLZer1YViXYl9Ziv+lSY_ZCRFM4aat%5Hw4_y_1-w(Q z+r8$bn}7QVPiAUYmUig6?WL3zldnLY(n$C2YAl}j%W6h;(pxJo{Tieh>gySrJX=h@ z{Xv+m-$$E1^`mRsyC=)c9*BIQZKv`oht#B%i6t8T(#%^EeBnNir3Wp3sgO*zdC*;=9ay zPccR{A*h$P-@g_RlSsi!EtZiN2}v4Zts(O~o{xw+f9jQ|_Qf!d1B>+Q;T(G@2>bh! zMLoe}xlQ2+ma~~{vF5*WT09Hj@>0IzuO}@Z(ISvl(st01cL?N-$aC6^h5D=9Tx?*`XM+#0jDi(rNw z^C1h@Hf4tY=x!Anro=dPXpxrC9(&zSJ9|tQ#SxG5a!ikMom^Le)xz*VaO6>|E9JwQ zc?mSeV`~-Pgmdx2!ntEM4-!($qgdWk?WYj48&=xK`GW)!%NM^i7RUGRWlW_Ua=AyT)nALTVQcg1)0$d;jEliS-XAE7kAIh@lf{$(%2 z=n{vBr;kLZu0*MZ2@Ac`X*CeXi?eU~46j+bB|?7JR~=%O)(3Oy_gxryXLw3A_B$dx z@K2vC)O6H-)kUKb0bmgEyqJoL=Y8^=*CB6AyQ8E0I27ThAC~47p=vsO*H>bHZP}?g zd&lMXKLOY}?*+AMX!89}KB^(lFFZB&cbS{g+~ybi9nk1`UJRpFZEFsS-XXnoyYB@r z#ly*mfzT^0ptrsSYo8Btf2hlbIrD%gYfCB97V|OCDqL21P3_BdW_dl`hzay!I1fV+O(hT4grbnSTiNm;ti$nPJnb48rARJWwdZ}eYt zzYWf*wYI+>zcgk+dEZ@tM=lYphc_yk1oTs(vjKYe$2HCA${3tf<+)D$d$%=HRs!2^ zojS2zOd<`N4x>S90v{JY<1y0As2$V4M$Vz#_2V9X>QqzP-HP+~2!-CiucJRKa6m_= znk*Foahpm! zO+D~Ui5{v1u?UC|ActhHuO(c=;HHX`2|SM}nZ_-ZhGG#+WlX&q5D|M@u=x=&6iN(2 zyNWJ`m1Q{{ON8O&0-$(Yq(j+g@8u@g{gA>(Yn*i`IWFOg12;k*4|h0sOw!NEyv^fo zzzvfDn9(>AlFlwv*-57Acg4_*SVibj#hPk?7-@VAbH%i|A2@ZQS;bXPqXn@6(+3_n;nWzr=1IMR@$mPR}&nV&+vTAtn zY7+{~btEO*YdQE%T49$k3sQ7SqLNrZh@(S#~N8Q=72U{njk~7Hrq4%^0|R zFk?ct>8?y*eur_lTmeAsxk3PWv+z>VfZp-umg&?HU?rSIE~Uy4tHsVKYavi<(RqD; zK(xu>t3H9{6-9(V9DRX+hX&B}6{op`_UJ6bE+O1dUg+rd=J=eFUp49#R(gllf{v#H z9$Et-_CF>*8(xRxO!aKKR$r`}kOxsCu}*1!22ex6!CS0b2?iujjmIu9*WLR6IAuz1 z*Fhi_+pV($68WU$Xko%$*j?3-af1jM`&d}0#&EOHsZkz?XGsqJINFM+62787{I+N- z*Q?-0t(;!l0t=@`XPi$#qNZ9f4=S?9%9U(+WYD_CM7~Y=hb67hK5Sq`tFl^9p^9#~ zr6G9F9NR?(N)p_^n7WJBdm^8=hLkPoEAgQ^UbWLZQ6M5K|2)dyDgEG2XBg3F7LSX-$H zPjiD)<@SwvY(TXafcZ-ikA)UdE*Gc?D-CPVt`aWMGMYy=wfnd|0B=!9$HYDa$kaV0 z0!Va+e*j^!kuFqoySQlTyoc(geQOR!((!uD0(i9qAM|q;wr<5&$VYpjMlA%YIm~DM zzMO6Ri2JB|d5aBKkQrScvuHgDcKAbh9xU^rUMTCctj;#etg6%f(ye`FJ1X13>*t&j zH4poP+$?ego$u7vXt!(FDR1G+HLHc4NzDB(P_Y$?!!BG0TIf=S5$pL_YHdShSapw4 zuA%mi$V^wbH1^e0CXpIp_VD$m;!S|$=dUm!0WC?7 zem}NYD)QM4LmYD9qv}`%=St;Bq|KSppRZozACWy=tmIT<^b5>-1%;JCe!I-p99zQC zLVv7)k`E^d`s>#HIA3gG>%zxAe^u>qBk0f9(CfcO%I;n1D8B!^wC~Tmr3#3J@cC6&cjZG6Tm_GZD2oA%;zd$8ySR5ak>TxVGSC-JiNw#Wj>U!8YTZ- zH~~x`gHCj;9C@CHz9q(~brB-uf_Fz?>I@-M3I&;i%Op5k5`qn8LBO4NZh8Z_Rz3qu zki$B`b##de2%tVgf@PcOcR3x@gY3qG6rFLg#ZNfE#sry>VdJJNNXiAnor0C0L_J5 z0T>ujDp6pHJdc&$EFmrc7@AzgPMHgO*gqLL;F`={m-O@ET)YB$22{xm(wG9R!GbVB zIHH(1hJqfUg8nyw0kU$AErCDGh zNB_82}Z(WfAG$kE(U8 zQzM%~TWinr+O|&s?BkZzb9M>-X4ft}KT+(KczXD2pq`<}M8uQ<{r&U1F*zXO?Q+ju z+XeqWw`#uhyvQ{e0;*H@5HR^&LxEZ$jC-dX$T~hzLkR>*qCk>?U{rK2QZFWJmlLMQuM;z2V zdy`OcF8;)qo0{1B1-_e>4$+aqq`B1Dry!-jvb0n(&<&b%9hzD~2=Gab3TcD+w>6xmi zygoO)^Idmfa126qy_)_`PO4j(Knou0Ck}Pu{ZZPReTzE8G?Po%D#p2jqBi0sgH{7O z&9Oc@q(UJ*_cWg77@_-z%u;dwZqahLHl(y&-Sg+0`)c(K3wR9%oF-b!G@7t1X>FG( z^&j?0X?d?#fur;&PiA1iYjrcrJRs$#!Iok1PmUv267xO>6}FL3s2)yu7~pK2W9{ll zzqkgiS{b`y7ddI)ja;i6_YdxL?rO*j)T&x+edA81%Bg&1z-*{cG5oYu;5ENn{@_C9 z`WmMx_x@DRx948TK5?+2C)r6ZKi^>9DZY*o8JZ3*Gx`eiyBN}i@6Q|X#RVt+WJ@92 z8qVu^NMO@omCH;$A33)=SzA2oi)5j|GEBTM-NC{TQ8)!0390;$}M^2CeDSJI;f2 zOc{g!&16`e8H6J;(WGGaDPo^8>)h1i95Y`<&MwkP4YPhP7c(4c?)!Qqn%^ogP1y6| z`)jHX4@!JN!|3w?)Z)wcoCqSVYSJ63=8dj|3YJR7?NJ(v+etJ_KvP|KOhTgj+ed+G z_s5P=&y*mD^`o#2q%i|yTmJD`Px#5gjg~%g9I=WIWH;3^)gXsjmc2O;R9*!%JK05^ z+k%gDX@zj}uuwUV%rPBqD_j)dj;3e$o_t1C+BZYttbIATVHfMqnxoJxT@;P7w(G3< zYSYdl+h~suiI3s<(k&EltaPb!%tByf?6)B7fp)w2W)s}*(dva*Kg+ePT`)MYnq>M) zA>u>jPi>)`fxL6;8oMZNYSq6L1JpOXEGKhI{0mE8oqapAY;z@KCx!s=WT-gJ&?fLh zK>dP{bNxg@t44uEmrgyHESB=H-(&MktR>RA6)}V@ehwJqLxzDB^2agXqP0SmEJ}O}>ddlU2$i7|WAc0m z!eYTt6*0_BiX+_%i=)@3N!dmNEPnB5xqyt`V%k}MCN92>k`6b-S2aKD-rJk8i&X&UdQ<}S=X{CR9%t94ehSuWHpw_ z3`}MF`_E?M8t%jHy1a0I?5IXeg)H(oAMHMp$Jx_Vcxs}dK-Zi0V)HA-4d&SfaNY&t zC6CraCGyYx0s@l>0)Qjl{C2g+iett#WqYSOmy>r^)*Y4*&-FlKE}nY|)C)BW4rJ>- z)Q1Pr=nLBa4Cb0{Hiwq|@?7e&p>?&IH~f3;y*mf}E%5^^k#>CyRiEVrI5A+xO}s@x zB$@jDiN}u1+tyO1a}t6XqPk~_MdwOc`LFLiBLHm;uw*#ALjp0@VL`$7E%odR9Om_t z>Q|*%S`Ct1bVD}roGUAP@|e-%y04n6cs~g1)`~3AEtzLO=AceGjA)Ha;J~vQdAssN zx|^p5)M5H^*#&`ay$AF``nBp`HSmS}2YM-uO8r}7%P_CPUznAN)Hz%s<%JA+P5fCs zFwq;|JEBSo9zL9NtKS;K>z#h+aA&iIVD?&{W;o8CbE?L zj{M)K?X=@AZ>a0|ISVsid4io`cXj%c+ssKV^P26WYAFon)bWxWD-n(Qxa+Q?P!(r7 z)Pn!^K2-@)|701ld=T*men4npAwj0}!%l21mk;JUa!D#h0Q!~;eNxWP<-#7k$APhE zyc{_TDrs=*h6_`d3(#@|MV1O`$Ui=WojhP42?Oq}crzfcxhPPYTeBd&asL{+;j3tn zVBoj$KqKD*Ffbl1<`H|}BSG~%CP#NFkt@0~Dila?JO*D6gjZyNlDbEM{&hWLb26$( zNo-Lcmu2`5Mf|ETAF^Dz6 z*(B$-JEMVr8R@UZKr$Zzrnqr5m~8~#RgA50Np+K;z+4KGk9y0^D5Aj_3Su1>(jo`w zB-nYERCN+^XBV)Y7G4y=2U#k6ucsbULP7a^k_(~8!yfYBhrrOY7h0zOvHu`1Ko1ihvw9I5-dSkCx)5myj#X+f~gBx2FNqH@IDo+HAX36w@k5Le33Sag6G4j*fP|tvhdFn04GIIW>c{n zur@M&OX5K@Od56ratt8M$3ajwW@X??CK%;e%Pm}DR_3ilW%H2xNag);kiXdy#=*NY zsT6LyuUT4;80GsvHM9h%`fm-*D;1)DC(q<;p)f@M9_0A*eh0b0NG;9khTYqa3bgM3 z9^}ZEnPQ^KOZpCJ!2kU7cZsr3V0K<@_0t^>2>z}ae;w;lI&|^F=2T;P9Ozi5{PKL; z{bU7sF|D@O|JsCChGw9A%rE9?R?en3Jx0ylhr{#1d#2sA0{uMgA;m-8szcBzAYH>+G0Bae#g?UxzGw6_PF&f|T}<*$v=ta-Zk@K-FP<=BR=x8<=h>N(`4 zZvJ)~x3MFacl0cNIPe-1t$O)EvkQlF<&J8w>WMqHt>w9UOK~m3Y`9$yOfzkvX2s%D z$fcw?UUS_fx73kzgl`k1x556K^V=#U=Bj7=OPMadMx*(#5{V!{i{E}S!?HbG7=U^(e1f@> z)!tbYpe{L;Fb_m>nU-$N{dS(y&e=N#&GJoY0% zhcvtMgny~;P_f?f-r#pU-6?ecqQcGPLM`s%4?f8J-X-C{AZJWQjrHH%#Z(%33(1ve zttX__sk43R3x@ezls0d5FmsSmbGA01+pJ&9-WQ{4Yr@M6W;Q7nSX&}xFBtv$)o}jC zIv2My!OTb&W9uqepxvtr2-C@8^2gOw|vYGSTQc*tq$D0BQ>dUQi z=5B`#X5Im@jKs}lO^VMYaj`6ZTcxU`{g$@+J)wF5)Qd$)J7-)-F5}-W-@e7|az{Jb zYG;RIZH(1~({KeBpA47NgOb_C&^XwgE%w6$P($>ZG3rkg7RAXf)SZjX{a^QQM-v-?> zWO0OAzpgFMJcIdp#aG40WWJ1)Umtx3 zjGwJ~;eM@bd0`FNWQL_R&O<=uEb?*1`fHE9wd=cuh@-h{eG-EIX;r1CSssNW#g|2` zvvh5!sStloDM*7$gqppQN5|j}-&Woym<&gA7SPB-6|~uQLo@)fRu=dr2+0X$Xv#%J zL2Kk>K1f2tZA*kXDiqM8l_g9hBhx)B0R5Xpk9*Bj zY$tV-cip#WoLrgFjvP&nmw2yy2vOKe&|*pHnw#zU9xl}f(eH|hxZ?5{61yjRoM;ih z!6aN1#|)GS?B>1#&_Ykh)9wYx)|h+94J-(yTnw>gHLm`cdwN+xvS`b3$R={+8lblo zezl~GcU%f3RO~a<2pp_7OI&ePM+R3Tx9hcw`ENRukd?_amHF82jn@8ypL8&=cJUB3 zj&z|16OH_&;~O}AIk1&3s6&K`(C&$uM>@)n=6aYfd5~;KlmO7X+|$%Kc9D6rzaX5O zNg}fGcr@E{*o7Z<+7+&qOT#SR=3Nuv3H^YBpM7Uw6(WQ4 zp5I8Q5n%Tk;QbT%H-nzKwfp^8MT`MnnF9{(3;^mm{wbH)rXw4XSzT7WcLtFj`Nj_ErvEE-oaG=hPp+g|4zj}3%$tF5qHQ#y34 zss(*>6EqZ`mpe2ph}%yd310Qdjzk~6j1`9NBuAUV#wJz?*hR$HkrvCtwScPnhK#AE zB0m<0SD+PMv^sTb*RR(|LoPtGxR=j0U^@>#J##Tlp?XyDTJ@paQ6pideQdXc+|F~2 zF61r139M}R;b@g0ml15yt#6xh#@Dybw!#G$=yna^h{2HDI#2FL)QUtQ*;GhwPZp`a z6C?3e0E{L1t|m@GG+&ObzFRbTSbeM4rK!y3-vbxImP+&1lW4%9I}Rj6UV)i%6#Mq7 z?~`M|+w*D8r4g$hpodlLgvY}kZQc6gyv15fU;s}yl)B?$-%pXuI2uM0x0BF^P2P5d zIzEe#{<18Xhz%Hh1Yhj^v*8IbQY?c!&Ao_uTm#>}_yeZm8p1~G8AB<))%DhR_~woe zUp`{su%pf6#%QSkKQ;S$bd3e0`Q3xuRGx!x)=XZPAAU7jQ_TI{i6qch7Tp@l02bC7R;&MWKL6{+r%M%iu@f!Y^UB&4)y9eKMB-qe^so##^T|gORW*ccdaYUEf$y>{jKe1qK}60>JZ5!hT-* zDIdf`6ao}`@0GAv7E+POe=A3Vo-dZqKlu~-JRF4-r+wGN#Y&(Ll>lBzjNkzoKT~w5 zI28p>O%4n=r=3>dZYok2B*N2Agf{U=JJYlUrSKg;)75u>vovkd44z3%TL49-4EeAV z?d7uHn2N)L;Atu9gC=edm+K+BoVmxIZKeI-Gdzgq-kpet0YLSTffP%%u@Bj9b zh*u!v$J1kGvOwO(c9-mG6NJeO(FS}2oaXm+B4W_F$2IYQBvFV@ZrD#G3T%`I5@%AUdASwiDPdq4l9x~95e{_$os9gmC>VHE zs+o&uoJrkTUvM@K;+`mMVPx!7Tn79{`j`oFII4ll|0P-3q2`&dctuL&zwvHyR#HOd$(P0Qcybe9mO1{-NID3*~lYbh}Kvq zW?p^ss{N?`#%|wIwM032@$R;x<#BWRz3lXfwig^1(MB$_QO&kvGjHdkZcWq=doL7y z<3O*++>`+eNbWfMh_1&s6 zzBuUp@h@kV#>&Nd9>Zd|xh6>}FkirJmD?{Krd?#s#b;(VacWK;_blid?bN?h;V-sX zOyb>heLvmSsRoe-l*c=yLB{F&6a#_0?YDr+*-?Rqn^xEGe?E1nC z?`~9-ec=O0+mf+9l4-g1KBgfcNEo-Bg|WA7-E;*uu7X)6W2E0*hgNMWxQNVLTTlb3 z!eNf*neVfG@m}3YV+TmTHWln-J}6Xm+9H$F1kGvFnT4^AkX>C96Tdbf-X7e<%X$gN zycDP}s-Jb$Tff_WkmSJ1LOYRwum}N=pDZ%0znllbu~&J0^8tDWucrI*k{;ZzLN}7G zXH0#-Emp7s!52SqxF#r7mQ8{y5qpLe0B44U>0qJI5dv6#uIz}1VUt7PsTFfBfbBxq znagA~)+WQ@<9<-!@V6zCd2hda(y`(!6JI{&C0C0mD1mFPRKj~d9lyVVfj_#04ZmB# zF?M2OrkB+sTKOk+-p`yfD~!&;leLU;l$P081k z2n>zcg^;Fx<0Vgty3S9DYocggqDr_5zd75M)UQ{jWKFGe_KBW?U_#@C@YQ^XW3RFV zohl;9v#nQDv*A-$ikYs70)wGEhk0$Ck$5q}Cn@A$0hg{)OmbVdBq_zFCkhyEGG@jC zF+G87t*Fj3ajyM_E8HFzIULUZr{TjQa&wiP9^|fA9&DV3Wib#A3r&Wk!2N_~_Q!T` z`=Gyl-B!7b>L3$o#E)QnsV&nYK|VSJ2CF)-R?ocUR_4qpit}*36Pngkddz{h_Lfk+ zcC2{4R90|lmj|XbS8EFpZDHKZ_uFSKbX4czbP=bS){=wiAbn1MW}O@@J(wBTg1i== zP2!oCrmG2%OC8T<-<-y6bJ&3WRI$;@nSntaQiB?cBbkq*5$J1Hh^5V~>{965Q z%VmTxx&Vh(V8i@(@O7=MI-#pu{;9R{49FD+n;DUN;_sRn3rEgs>c4f zVtl&YhQ`QVu{uT5C<5#Ob zj#V*cKwwrR+0IIuM@>kK*M((m;C(clKBSU6Jnji;5{N7-6qv=_R(ypRt^?jHIM9%d zBJW6MOsM#bQLdI^0OAkMXQvH7k=HAh(W zIx%F{<*pN(VsuDG{#6UFyl@2ump}FGUDD}gDY&=j^J({GABj7sH^cN)weJ2Jf?91F z)H6e~klbsr#y`)lP;<0izN{-}>0Z`C{M8Sk>Mwdciyp9bHwb%{J*f?OL%y~(z(t1p zK!chjD{+Cj5;-9nVKgP^jr)MIk>wpbbnRMDy3Bj`F9AMEwY#>I+oq|*dKc%yhd)=( zKkoh^ICS03)bXBOeFakHBwc`0a7*Q=68!7kJ!%pI=y=sG& zD=#eH^q`0GGgHG<9JbadI?J|Jz*kMaA`g+~p-o${qE|UccPR{4FGP@CJdkxXz&5G{ zBDkPXcLO{Z9Tco7lWLT5whG?Mugm!4!!-x> z{ELYJQct=!jR)0^xQJZ1EHIp!L8B9RNF%Y+XPsAxJnl)#T?Ieo{IbsDx?{l5Ov8^A ze&0(s4Hs8Np;Z;7k7{yiM|4sh)dUp|HB0~5J5PG-$@^SSPThPa{O;lrwMkLw6lO!T zroW%#6SzsBCsn+-i1N5<@8#zwyBhm5%;_#?SWTKGtSb0Pkk)XFn51ZJn3(+D; zwDo;GG46@beQnQS_nX;4luOemGxnk@#UlN9K=Yx+tM3lZ|E%Kf2zjJkH*)d+oId`4 zZv6gt^Y6?K{?dw8^mrfJA)+NME*XL>@`W3}(-W%m=}1af`jQwi771_D0{)evh~T1r ziZdR+$JO!vi>_u$G${7qCSp{V$@eM%JG6dTP&6-iOf{IwG}dTO_U2s7 z4iGO*;zR3mFaQ)bjM#@xi&A88x^mKIh#RGd)CEusv(Q;HsquU?IP&;LjM}e+!N7(b z7qUd6!e;SR7Mm2DC2tAP6h-dUK{{F zqrk=UvSPU?jJV)II1J0+(-p|2dr*8iKUx91pqbX7fJLzQVTw$TP(l(f#(B=`PLz;+OFa;t9 zwxahwcRt9pRY1Q75|~4_YxAId!;pP{|9Z_E3kb-c^H)XJcITGytMY~~onY+I zH=SMTcctzDSUlavYCRLfWClTXj^$mc?>~jeyG%1XPel50z^O(5#>|s8>47nW;Jxpo zOFVYWpYN)4ZMU9e8Pq<%UEF zipKLM<9pt==xQ#NtPYvi`|#rvs@`>61+>2^b+~%zaP!vV?6@dnvS$-%oW|auwv+2* zCRP)WiJM$9gFRy_=&2~x=n&E3!^vex>;S{)Qe*-lk&G*f4AD)z`Riaf9OG{TR;Kxe_n6bfY6MNPJyG;7f6 zZTZ6%P z4YHSBsF0jzx0#`WFe0>Z96?})RymuEg zf$uw*-~t(NUs_=Qq9Az^nmw;0^w${no+uz$uTBkt7j4Fsz)+HoHCTNY+Xfamnl2KW zm%)3DwcYx+apF>Ky^Z_umjxu}Hj4la?Wrg-!_zH9s1fcvM6}W(mA&6pUe53UbH7%? zq0rE8x#&P&MwZhc&we-aHb*yj2P{>(rG3tFAv(Z0z7pOGIKcUtTIZDdRW@EETJVm_ ziNuEMb7BQVEEpX7i^)i-vs@gdoO!phx%0ZNQ*QOFU+H0^7i51oyZt7t-j~HNtFG-7 zhHkAA4PO<(22h%EWtWX=pa!DRY^pW?oqp=jmU|_z?zESl7)-x~4L@VTD zs$`{SfU$22cD3BdpQ|hQ!{+a)u#Pcsf!H>qa0E9pXk1KlB(9H_vl-3ShAP`Bk4GRFsRCF@YsI)rAlu4C!oXnzy*bYiLZ$17R}bF{uG@TO*&51aGkIV7On?VwsMUu@+Te9&D$`tN zhO{1`upq1OJwBi9I^mWH-Nm9T6+bMrQCKj@A8khu)yga4Omko^sOi?o3j#DU?ki~(*T?1w1LmPIQH&Vz)bQ?kQZm4DF_7u(NS}1wW6FjuHWliw_7LWS5Bu&e zmd%wC5kb8crsFGNPcSYCrmkKR{&-xhHA*DtjA8XFM27J+sBIHmdyA6vgTu&L2hyh1 z*Jz=QIC4?%*!~n^clYTekyJt`%P)?W1(CK+z5k{6^=#aekJ7JT^=?Y*#+7O zEcliPq*c1sWh1!<5E-A1QJCD#d1X_$nQ8z>vtVk+{eZgVqfZ}-;N#QTKvJY6ZR0Hr zzV?0jlF$=Ds@a`hGtn563jO#>7)_G+~^fq)BXG0K5^F+F~Ro^g+nV}@UmV6*OeZ&9@6{o?Fy14?b(R z``Je6S{`g|RwFPQt|>^~+|4R_9%*NA!)QI}T;YTtALb%}f3uWnjxw?=X>4u8c$0goP3u9r##57vI}6gsHF!yYiGNN5;|nj|Bgu(n02Q8leia^z|3 z&de2sVZqqb9Fuf5Ov_hDmdzwsFJ*`zB+si3%>abP%2`qv4LjT~L!E1PHgSc+DwCbh z{rVW0wkE0uW#@o9a3eF;+9No|22*639qeZ1K{nMe0>{&BPS_YPiI>_Unf3#Ie6%Z z+!S*X92C_%#V9)fGpLC>Da9^H#3tk-4vMpnfD)CFhE?KidBkljLLr!(7NcerX;ED{ zhZW%jcYa2p66ln}q7<-N9`<1(5v;_m6$1z3Qy5~jM{~yX7$QTF25R8xsT6QsTxABP zqU75L6QX3@P_7;8k_M{z3+Vk|FEBbW{euiPFT=VkVW#ou6j?!q zCVrZqF~%V5lOc}JKz}9{p3Fho@Y1aT=y^sOD1b*z_bX}mUpz38oQ7thC1}BEFx(9g z22DuTJmhEJ{cE_$cb$X?610{F%p~tuBf-Ti0$qmWDf#EYAh`m@;}POP&bAnJ@kqc! zF6=)hR{o0K3gF0ph~BEzf4=YgH_>}f02^XiDuX-$KQrt961~~FYL_GQgI7U}To&(f z`73&lRr)8dj#aG`EjhX!w2r3~H7d@HMPmk{++NT+KBhD9868kMH{mPpx%#P{4yjhU z-QXO5awQ(M_@nXkyAl=q!Je%BBfcCaLQEU+`t&*?XYpd&s(@kRtLAaEgXioLGg)Ac z$fbSnDe2p?oav&(E_*PRjC9_{)z1#{T(^O>e%-c`4%eJks;3UWl@pU$Ftj}8!J3$S zVxN|)oN*cU{5c}4cl`0K6i=-nt!MNVmp%Drb@-0{cej7DGPFdx3sa#RyY8iV5UeNP zzFc}*V*;=L)NtoO(fQBciMJVEb2%mRa2g*(IG1%epnkCR{4CY#Pk4LkeuJbFTz%Tv zaXfA*b8}SiNY28axYA^r)0q*r{^9zQo{j2F9I{16GPeMJyhY>}*d8v|(vC8CvvF~` zg9wlMVGw}S$0-fMwcv4Fh)Vu$hzGUmGVUlk&@B4mI^k-X7)zQ##pq z9PG(>W6obiSCv=CrN)NK7afY^V36rx5Q4hrmD!MvzpiMxR+8Tk1WVvL#ADtqT1_z` zk4MNIev8!lNt+GL&pMfgZTaA*pKPjw40dwBsO|-=vo16t-j&N-AyIrdYor_EB_V9A zVH+0_9Q-g3x<D_YBWsx5cqp>BW_2IMYMCcxepQn<(zIy{_kpF$ar+?%IONTl*J%}K zEp{0(qkv6nb= zuhX<{M8$eZ*E@&ZuVxJ-3;O$wVe1c18@{ZaY$34f{l$lZdZW+1+4Ec(_{x|?3p3W! zvCYDS!WX=Bf?~yN)oTtl4^@4V6#@-^5?%PD;n8Qv&g;`WJu2 z6Xz*SeJFT&tLE1L9&|ZN_742v zZZ!>ICiEA5aU46a7*O2&HBw+hQW(yQ`Fd);t<&B50WT+g;H}0j#u6|+Um*Ko*wLcF zkr~d%doZOTcB@i4^)$sm-aWU0|vUg(IC{D|B7kZb=N zYj6Gzb^rhUzh+;|jF+)Z))~f5#x5x{42Gz&RFuxf7L}Z%Bswj#VaAdnm7*F_Nva{0 zma}G1w2xA0AEnZA7NwHH_3C|H*Z1@O9G~O+{T|nGef|Nza2)Qh`}6*|-TE)j)HbKE z6|29Be0v{!eTiLWZ%&@3$u={x#2vmpN^? zV~)HctgRR6wyX-Vf;%$gFAq7_-i~$E;o*GN+U#N6slI0|z|hx*1X*H^|d@4$|rXyzcN3-WY=~NtMst12sdw562*zHStD%`5Kr6#qKYrd5( zLc->47u%rNzcT_?X8&eOx}c&Wb3&APE#9(2Q{kM_2<9tmkRN5Ys}~Me+8q>zhdP#s zZzSs1Q_)_wda$rxFZ4XQy(nMhWv8Yl(`>BD47ulTUH-)ScsT|1riwb&@NoLC)-IWb z3HRSoS~}9~wpC)|(kTgtR+3Glv>))t2}(5z%XV-?F7H(AFy~$_p;0MDm(;_$%(0&5kbG z{qTL;9sc$B@a8)?%c9|4pSNGj%x&87vfRYYK1)jDcH=Y6OBwsQV!pPZT7bLwKDeWN}yJQe5=JSSc}5q^T+ zh;(Y}Y}(Ua084?n;ps`R+M(XPwXtQ3PQS=Z+Ie(O%Ib=utEPI^w5+yv^1+#RHpQQF z#m>}?)nC0Z^e0`6@YCABUjrk+qb3w49R~IuMVcy9eG{qgjjj4joy=jghzRKy(qb;o zt7RCG!S%U*yH$hEGo755N zeSi^iAKmrAekI0c38HryV_R%Ja<69~K5qP8WVuuk#FxVt_Vw@foD^U>7(@)un&hov z+6k(|dB6cgsV^Jfut>H>7dXPP39$qjs`m>^q-5qw539*@3oG%RbeQmQ#GiDbt zH@6(Xy;l~yl<_Xu#rcy~Pj(yZ1N66=nw1_g3q&@R%_DJ7wZ_dhHyO0AL#+dUzQp`_ zrYq6HaCd3_Yp*kBo3n0x+4u9;8>a3#P3hu^Ce!Ir&XRL?cHNpdG=KUnx9Z&B;l*ED zS5Ci+yM6BdnOk3v|26%dr+a>=Z}GQ|`sokpOU^%faO>OY^V9$EtIj`pv-tbD_i6BG zuG;8Z=C-0Z>W(xYfq@3Py6Mu6u|`F@6)L={YOmqBp<T!B`8nnGGI@|?4w z%Sw*GfXst=4#LQ4Rk!5@@Yk_7fN}G3f$3ItF)AGnF?<7OiF~)I6n4|piYhqtgGrW3 zI3bl%z<^f$I+F^bn#VTK?B6^m!b0z`f^eQ%1ogn1^-+c0?syhCxG^3O_9ZdO_M=ng zCv(RzMSbEwphPXmyYwbEnu|GL40qH@mZiap#t^&hFoTC(+vNC33@Vq8$xPq;(q}6K zWkxGpA#6t7cX+y{bQyF**uV9>h>DtFV4WZunjK>AF3&_eS#1lVa*TLH4&m%ba{H3x zP`p&RH5C9@f;^TIb&FY+9Ex>ilG;jv0~l1-7}`yfoBjYrW6J62d@6 z|09+r^+wJr=hfP<19uR2|BC-t7rR}r=&7&u_?#1)*LlN&{?*0S!c*R+xvkVUDE%Ev zJ84ST?62B{iBG_(-N6UK7vL&NaEI*ce~J7~9eq$bGuL2j>6Zw!Ny4Sp>33Bn-W}ez z^WztNcRJkG~c^OH)Zk)ZY2x6B{kCUs_7 zZ!%_XVwssXsa9$Me4k408p`#$!6KYq9vsA0NP;X4Pj3kdnrX~lT}p3a z2g>g5?US2$di8My_N_Y-qvlV(zG}z1Jh?-Rb!oa4R;$!-1Ewb$uYi7Amj(tEjBv;> zI7Gztp6^`S96R7OAq?~AheNYjP&l|FI9S6Df>Y6f1z~+bo>_1 ziC!D2(&()V>K<&VFC$!?ttm#|Cj21q58tVUhM}Zh1NTDDHrXP4UP)8^1M&e~NI}TTsM06SGrp*xC&?m89HVA=x_%|w?j zMpUO>HvADpbU&~c*=S{HJW>^4)`ngkaPx++1G>c13K=HLA%gRKapqMLV$ylLG5YjizNTEQo;W(ROS z=$|}j)iOH(*YW0P)q0TzdVL1ADME>NC)TaoWC$C>B(H0IrE3$GYlZaw>V7Qz6?ikE z$3RPFH|yKjLvNd%W2}+)%D%bhUGrm;Uai=5X`1bkq;bFLDLClFHfas@{9?UC=>t|L zr2~H9$ra8&CkFL@R2(T?Mf#`4PANG4Hc2t|YhdQronDVEk%%l-_ITXVo|}BwY?;`wEx;lRz#r5xjp&z9=4XkkpGFo+W2r&=plJe~g|O%J zP+n_@PM+4Q*bs$6>V^x`XyM4o%ahJ_GDkD$fK0_y(%n6hcv}3Lh~{66PTB5QE{Eqd1}$D{8v&U$xD40Mc#+6{uPll_6XDyeCY1!uPW#6*t+alDjx=ao*p zvk;jRCvue24UM-$c){{lyAxSr<#|* zx2&u658;M;uQ?*!%RsB_de6X#k(DrQKxxrE?)eW^JvwAT1rs8_oM_c(4{%> z90Qe&=-xf|cY3(*HInXLYTJAr;R$7;66V9A*@+&cUr!qrdtU88FQ=i_i)N5b#19Nd zRP7Mk)^@yniRhmLhvth0I<8sY%}YX?4u#^jraz{hKAZsSSIJ+*z>}I&vCEWdS=~;e zOUsKt!{q`ae{L64*y-Dj9&{DT2zCb2wUG)IGd|_!1J?buljEUyZq}jt$d|w}sQI;J z0S0EnzHdK^%|B2HWdCH`B44p{in_G;k=v?ZkRKY9;`fkcgfs20y4a??SD)33@ZlD_ z9M^Qey85{{;xBloU#l>uo7AzGBNmukf#p1N&WWDN`l|IP&RAoJLau^)9~!`{pauc9 zO4c8{p1^_$1_5VIb=*j*0QD2Jvr5Cy7)GI5bZhe=&QhpEa}x+nAt_vVE<6aSg8BB% zq3HPvoIhmL6&WU(tdA2Tpn>arXs2;aA4|saMty%K>(96E#o>DrHe?%nWvvLFV?l+Qjb9r;fN+CH8kQkY1(Mwf;UL7Oa zE1!z<&@gcp>mSD-Itn=M-R|NuE_9t}1aFVswYpC&v1_p+!bZ_?$Do&HdlCAQR7Lk| z?AEt{A3Ic>COnMUzfe-oJslx5ENMh;_E#HS=LO=ha?#xtzm%Sn&)_;>k5ha?rm^l> z|8k~2xj82-V|JbdTajAh0kG)yXBsZD726!f?&zxu1JN0fEGn0&bM=p$le$WT6M%T_ z_PxwSSdEL7s*YweQOMDoLLH4(uSN=ZNuiMyM4t%_-FoM??dPhhy)LPtA0B4y%GrGU zKVs?Q>5sX$&p-Qq>%XImeZ1E&lUi)CX12s6PPKEtD~15w<{Nhof3H)as83Y*Cx0%~ zjp71EP{w`zuZ#bohK)RPv)=U;T@s< zfdGi27H=~~{l0G#kf5|%0Tj57BL3#%yhh;(%#zAo#hN!_H!4O3!trB(8>F*S7C=~u zoc`QbJl*Sk*gGox--BB8IW8iPOWMdS4p3t5+2z!hqInboL@T@U27Ogo5SlBk?8E1B z#Q_>D-q$0Kr;DCMxby$IzbkJ}mypHBqZuB53UHb;_<6jtZOci2Y2mu|DCpG85Ta>l z;eYZ8-J`h!JSVVbCmP0fCE2OBb(XU>B(H`$MrbZY5Cwm{QP& zARZV45`e9%1USemELY+il{$dKRzL-$fF%+>exVX*XKqd4LPa;8!2|Nfhz#adNL6x9 zTjWjw|AX1^yML|ux1cNM$wa7so-qF{=)MRFw>R@m@JuRmjI9;GPI92p!FKyOQ}xZg zOL~LpA0i$yorAAIitA@)+`#%1WfyN5%sIKX`4%MYAWdu$7GJ5EKF(7NupnuNZRw5n zug*3&9I_RXcAOpt^~P8aw#c4=MC9Ya4)>7w?un5{l0SgS)U9YXYVF3w3vS zKD<6TdI%vfpE2+aVGD>R0!`o(?vRjH8MNQu^UAgn=e72<4~(nVWN8gLQ;rj^Cq^IZ z3!}b_jO{kLM-oO^QP;S4yQ;FBbhlaMurfCF1`fKYd|C0y=Ukp|lh**Ho1VR%wV;;h zb{A%KX02Wl51pymWh|TUd0n}gb;OW zJeJkT-E;@E=!Xv%_IQp6v*|x#u3}9)&VYf1jI8aT&2b+^H0D(QQyJE#IvTg?YL}TF zVQ*AexQQo}Sbaw+4{(GZ>X%`v7TU-hj_+D}ytjKNB^=}5+lQq{eGV@5ZBTQ)Pw&Wv zk-;BU5ju$cwL1)nKlD<B&32)&*Ag%!0}p ztQNL;KHqZRXgn;6GH8)1tU6%X2q!9Fx{eA@Z#a|1wYGFJxCe}y;&I)I7mSkviQEZi&9qbiCe=;6Gbl0GDNmFkCmMm!n*=*&pFhmNVXX$)vOcy!(L8~@==AD8;?;Z4J16c;ne+F2a zF?;@|-4U)~Uvz%KPqIi*4$_cj?d{AKKOO@1VKW11Q=7ZnfMH6lyGvez1eyZOHHzLj zyPDSZ={>4M-MCht5g3WA@o(x!A>&{yA6SJ@jP_7~!2YmftH0^KK^*KcgacmYGX4-W!S~Gfo?7M!$W`$eByAzd1!7u*~Zrw znEH5Ly#B<}a~rhkL?c6iC}7)Bc9;pLcRn{@C0XsbSa0Z#&!?f%x$l;iayry{i_-n0 zye;X*)d4H=+&fNO9LfR&gZqW8VTIcT_;{6BhsDbq&iU1vV|GSx1%t{tN}9_R(U z2V`ONN_50Y(Wb?Bs@yWxxfZ+?%V&S_#m^lymU@7w?v}XKH04El*vb`m_Zgi!a)gzc zJwFibFOn854IsJvw>KDb|2bNBZGILTm@)s4ih$2P6PUBDiT{wTMy8#+wh4L|0sR7C8l7nr+ND`1Q6;|ok7 zcj{CY&}P_c8SZ-os)a9s<%C~*`!0BBZ|9Q!}-*g%G;m6`|9xw1&tVr)un6)T{ zhcHvHkb`pK>PVWn0t#xcdGI&YZI%yJ!24Tobp0Y4ou}ijxGZh5l9&za9qEOYPgSGz zBV^b%-Z!lMWEmNvqe&syz zbGimDJw8U5BT(sndMG=JXX|Xe+4jdx{INBBZRNt^o!(azSQ4l}&i@;}x~PmzNMLcw zN8eJGb_>tV8nBn_iL_w-f<@=e8$R}(-f{sN=lG^TDi0tc;Qkow71dRL9XCahPeYs4 zouE1l2^gTL($SY)q}L@dY$_4aq2sGo9!u}m-O_)aemSB0#q6qN-1<#nG{QLfg<*|$ zu@HC(x9wUIAW0OH>mF3gYnyQ$RDkZwA^bg&Uu>J-=B~ffJth3wkDd5ra=dY-rAQ$q9Qz>r6WXPmg z1;X@^ykRrbO_dRnC!aFU!4>jler@B z<@+_Z&$PvU;WjpGIVvE(otmG!x$Uw*vL=Ft=vo%2lPQ4Nw$N}UOf}j$`G1~~QtVDN z-e423?-vDl*Ms{8Zi=t~_8vq4=PNh(#nBGv_4fjw_dJg6cC-QSs!~#sYog70_(%OE z<`+(ttQi6@+qGLR*Ks@@oT@2;#R~7A2dRZ+rnjrYo7B0*Xo(TmW>`%94p$y$T+WHphT_ao7AJf@PNi zrlyK#$MwhIA%gt`TK~*vpQ;j2uo_bWAWR@*@us#HnBgTz!u|buI$YS4pBDQZ+SLMx z=R8;l06<9<%OEXK743RZID7{F9I7n2Fi2~?RfB*)1`sUxsc|)xOwZe>6woM$E{zDPb)op0IR+m-jPZ%fn+L^REgA~achZQ1XC#N@ z*n4L%p`1Kj2vQ8f)2S%gm}Jmc0`YhWxuoU3c{~*W?QR+Nh(vC|Z%zZCn=2?Hs8DJ4 zdC>~s-g3-5km#<&%jBemAQ2*vX^ruRNQVKHq@fDQ3 z$hZP1uV2R?T!BJEE@CeQnj2tNNKr*&g8ogI*)t{8b!F8LgqDyDgG=fU!mopvW9j9U z6x2Enx^PrCM4)5Y5B#Yrw;sw{0O1zCBVKY5v4W!G*z$7+^MbI2kSg%cf5quGkm$zP z+QuMFJ^)gH!bC_=4Im)eZ}S@jO91et03O6G08vi7tv>`f=qo}C!g;FlXu;NW9#*D= zXYzpVy1Z9Z6uMt_+xNe;xmEuja;arrC|uId2gif{-At!{OQ}Eb;N+V5uQk3St_Pry z8`Db9l?sf?E>3;@`G$okt#N|Pba~{s!*k%1DV=xO2%84~?T%1f?WxqWFZi06l?{bl z`}qmJ?lG@U+Uf}s%@=t$1;8KWzxBU+BmCi+Kc^iW<=NFZENS@N(sxU0>`swy|I%k1 zeApSRU+}PtnsXv~FF7T$IT(34!0+j(R_XQ+K`SYYP2Cz{a`4ieVyn;No^OWbu$s(? z@h{5#+sS#0-X9wM)V*DrvpAz>^pjlbyU1d$BRTQRCYi$^wlEHhI#_0o&6PJWR+3|H zLv8M_uRm$tW)6%ylXrF~oau{uuYXd~=A~Pmb;-eM4o@>@KhN`F>i~F3?`FHFs#O94 zo{e+Sz1p!P+$`m;wixOEg$wIxglGoeR@px%bV3+hq~)P(k<|IznWpfcntMsPOr~eh zVx60l2|Bt9HoaVWk=kgTKuK8Ioecqji_t;vmNkca7}#?I$_-TP?a6MtLCbd)_o`fT zlya+`;WD6lzGI|SFWdd<#$MMS)w{P_8QG3pM<3cDpai=Yu=>D_A3MYJz*HeGq$(w= zIs#s+NmMw(w)dueOa$yh9C%7a@U*5wOqU zB&{{XT5=~EpM0ncaYQ$AQ#T?0!)|WCP%bDqW`A=4!}s|mHelOf5!J31Z01!;a7H*c z;C8++NNmpS2(#7mZ;jb%<7kJ*x6F9-q8E>Z%RzexLIy4y5;V&S(+{B6mewt*q3ElDZ54tJhI40FT&}ci<^9Tp8}wHNbzOAs9AThcSoH|*TaiEX5}NZ z&b=`K!HjS6i=_$j;4DTDS3ngmNr}+Q4gB5T7~_5k%<6&aLSH8QoAv6fxr(x) zBcBK{iXMt5Uu0@Oj9ty_HrzLSR>2w}Jk{)?+r8Bttvr^2@g0o*wxcBN-s?G8am#@D z44hZoKXK*Q1ncFvYPW1b&32^GDDtqx_1W!w&um?nJ93N9u;i6=frV4lohq^!YUdQW zMm9B!$w*+Cu8)&MbOIOJYcnb2@yq0eisQ1;qYg<-^JPEz2W)VRu(E)z|sswJrdyRZ@R>ke+2gxy~bT^v+&H9%eF!udNn3#Nq0 z3s`zJ4G75;tt3kwyn2~@FZ(1zESy^fj9%zBk&hv9ZJR7xa(msT2V(T62M?_E-3if- zn0kb-_!WMw2_!yB7X8|I1Ulcd2o$aH6r$L5Y6_Nt<5Bf@=DH8WEqJ$3KQf4D)hj?6 z-O-&-$Z(x1Q{i50I<;2G%YXI+$-&)`T-v&`Cetm-GO%8L(d>OqOmDsO{Ygqu_69uJ zM(Cn?8M$uOOdA(7`JP?Ez>z3lS9U8ltW7?&u;c6m+Njvs<~1KFn}XqzIhlb179!Yi zgm7Id#jxt)sLs|1+kQB?mwR^Jhwap<7yZt~ucM9XzO*=KnU%+1>tNEgf5XFI_+K0w zBYU`^*m;C@iE+h!-vF#TPUIPLKEe$2SvNy<9nE(m!VJ`C3WNxuDrH~%Le>rPM84wF zE4Y#0;i&!{5qJS|gMk)*SB1v;pA2`n+M8bWrO()+TM|kAGH)uJh5L|mN?*nUeomAc zmIa?T(fzoNo$LCi$Cw-u@uH7;{{cnLNZPFlH1q(4hFl&ZacF3hL$!>^2D|mP8qZ#c z=c|ICRf%)jL(8X16t2v<+)0&26mBAPq$h@W+UBZHLC9O%ht#l*0+dOHyZF2NjqJ=n zL#C!sdeFsoRT~StVU_KkDw~qL)11|V)cbKM!+~z#6(i^l55`c6>9vAW?_E|-b~Ij% zIlptI(>yU^N-J5@%Q7ePgpN{1#T*5XkWB@MEiBxncja5>4I`?Q%_nG}0<{Qu&P);B zCFH8m%oe!*Lg>s>3K&ALK(~^yhhZeOjGvMV)>ziNwFHgo>pMh5?_Ay-#s$dJRRYd#@Xsl*@Zp*EKZioE47zi(hlXs6|v zC#x6guE~Y{KW#1(u$tiJ7p%Hy7WF^dTn0S|Cga0qq4fd~!F@ity_98jddap`7hq^F zevc_Zjs0vb(iyGtcbZY=ZxsA%IGfJH8;ucPYS05`;QsQWsyAqvssIY7Zje_Fgv-VN zf9Sm)DltLiWLm*?I23wx*)D`IpUiF00d~Xs#2Z?h`EU88d)#rzl7Y1e+#+4Aq+Wj z*`NP?NgL$VJ>@mnLJE>as+|9|qzw}~aKn5NQ7;2%r%O`bfuEai*84h49q6Q$pD4>W zi+BjQA09XmGM(zj6pb`_QPQ)S;ip=Ii(nB$^kJHc2GMs-%_CZ4LU7&uenMxvuXns)sU&uhGd*bE$KSh zPjoiDHWm1Whbbx}rR(SOdrMC2OAcz5jHLCL>mBlosJ87nDZWTgkVpPf1lV5Eg(kJ* zazh;PXRPDm0^Z>@q(!kGfZ=}D!uZamv#uZiEZHk=bUCDWIYNCu-r+Eh?aiax*v=j9 zSzddPw(XqJ2GQ=qvG@Uv;kimAAse~vjBo?Wp_&@@&@;|l593nP8#Y7S~=0u^y-UV z+~tExoL7x~Ab{Lds|?by@Sk-nb~I!A-Pul>C+K0<`K9!&Z%Ju?&77VP6Lo48YYiDe zpgxRf7N@6Lxb6v6t$)EF`on2RcNSu{sn$RMlDtyuf>dmk;YWE>0>3HVuXD~()Egx4iAQq4q?@BE5;-q&WXgpE)jSL#$Ii&#=k1Z zUMOKg{i<&0bR5$Cg%*in=%tF^iVd5vZbcOt#nWAZ9_|X1QFdEgE9d1>lACNbTL4^N z)Vp%YWCC+zpx5@N?FpSZti*tT#9=Zkn?%{C=Myc)nB?ur&hnDW zmPoFMVHVw%iexs;zrfTpiTr>YAh zScusV7G8=Jx$T9cZGvOv0f#2r*D{$6K$z*|pjV^_P*$qe`3{N2sk3qV+lu4RiIpC*RH)o1KI}!U z`099Y4QvjoE0C6XeZIkm>p3%gv-TOG#B?H?Z0}F7vla;FvNqu2DdJ;(Ke3-ky%n>H zUh8v0@w!z<=WrCkmiKw39-Wmdclrx$zrNPhHA7;DT#n{Uy9vlx#qo>E9?Z9+XJ{=} zIZXykbOaUHfK5aW#lbB<+MhGD;O#`u0U(`<+}dAs67dl*=dHP#WG(=%81w_4RF>~P zA3&OFxr=fYivdxSR`%0zTHek1t4GhqO}a(lT5Z4yj?l2jz+o zoEP>+t?yqi1>}wgN#>@n2sS6ay7Ka>bYbq0QBq++(chIr?H|+#0wYFy&Moa>D zs~|)YdGjwJn6CUHz?-8OP>JKH&VXBxmo=TV>^p;X|>JH9_1(;%CrafCrKzFW8hah}z zHtfq%Th6$Wr-TysV08t3DsQeR4o&kI&@^`S^ zcmXiR+ly!IyKY01g@Dh`hc16>=fW5&1=`Cu*ny%dFrL)@stQ0;c2*V7r6j@!0F0Lw zbxnzZf@+E!J5Nwl`JFhdDu5URV|@J^&J)9ah4-ATER)A!ec;8zcGrQt2ClBeMwmNP}9yfVn|;YZ@K2>US*X z0(c{ZR0^GX0R_Hso86S~$9=#`txUR{^qL`RQUE$wSIEoZr;wf3qFSZ7TgCvhNyIk> zY%Kcs!Xi~J4W{Hlr(1@q0?2$f0}^$h*v};GQsK|m&>#l)p(Qz<0er4Gk zGyssC>IgId+Ebw2K!jMCC*i`f`$Fpy4p?8m3_24g9UD>by2jN1zkO zD3L0GqA|I`2dgX4InRW>Vs5K?Lm2xFp^)|c`*2|)G+ZeAPjOc*>K0`9{l{=&oHyT= zRB+6piQNkkw*JK&YYs4Rrq7K}wz^szG!qUn$2QUNZiYV>TvsG=ZtP)-(F=N6qPFUb zGpB}-5iNHQ(_*B#pEF+TJ2@!UJ>5FS6*x?%Pp!30!ag{;Vp@+`(`mckYLlO0ug>6e zSAFu~UI#w@3ue_}t9)<-)ws&7bNMqkCfXb_fN*^5H@gXu=&t%A>dJiR22R(Uc>dG z-F4S{n*t~4M8%UG3172PIAt2EsDO(TLN&@Qhl%sL#0kVP>X+8uWEG~%huNyh+(V2| zx$Scrg8K!F0j2U@;`Io1xy#S&umNZkkb1a_76AjWFcXX5m1<8U%s87rr|OhE`=hsX~N`8d}wjMi@H0Wk_!LF?i&_3gTxqcO!6c$N)V31Yx7 z4XYyHMQeHG>cQ}_@*oGMfE~Fgmv>o3*g(2Lr=%mM0@?!S2-u3U@YW+O-X|S{-rWGy zK)sIk^%diN6{#vdDgL>BTL?LW132kDd}7PzA|XJ^9G7|hptqhd%4HD|le>(zHAk)s za0T!Q!Lzv3Qm=+Y4!nOLsJTSAP~L30dNd^Xmm3oPgon#|9P2&HRjRS}BH-yzA5Os2 zp$|DFwsNb~I01&*E|Aeb-_<4CueG`as@*$=1>bS9Kd}w{ zuSr=#U%4vRU;KhtuNF?oj!|!qmH>yr@TEhyXjjjwNVN*m22Xd>HDrW%>&x;r6~lj$ za6DutSKt@;p^Evo59>aU!}D*m^c}nUn$F!($kA2?nyMf-rWCjVpnL_Yh3Ti-*D@O8 z_SEulFPMvu6T*Tvy-qP?xpI{$N1pOlD@y*A{-YS zxfe6P*Re$!f0*;|>muK&WCU$9)@2W0Oa_^Ima=IR-5$j;r0654LCUYGEO_!gXc5bi zam*Fyb&4vU@mMd*T_D!UrXIKVLqF zZ(;p%!{N*%DER`c&0MNTceeAE{-Ys^B^twcTp32t7BLu?|pE zJGiueUdxw=Tg2#guTOMOaP@&2EzYVxJV=lQo0#ad45q?$+~ueg zY@$hyyx21Dk*Q)j`Sj!$Am@S74F;;p_C7STIp? zhu|Eh`AsIgsD1qTGhZO0dps1=(ufwL)^nVhsHe!lN`xfjBw!I1V8nu7mn#L2cHesK z$0%_aIW{YZp~7J#b!=FL8olg(eT=m23~|!XyWScAKc>WHqzq#zKqF4l7_!^{CI0QT zA(ORkrMXvzEcGUtBcfM20g{dZ8chgxaFIAO0nS88TM#6wG|g=bs5fN-I~(u(T@z=U zW6$)+NEDkwX*O92DTv?bzTK9BL-Ew*`khy?4B9c~crhY7WE2O~g{C6&N z|9@o@#vya=bV)wXW^FS=GQJtfh46$i@w?d`)YZu#!oKHIe`Yrlp*h3sB(!JvJga~| z{_gwEMWEweYYC%4v9Crb_&kf4eiHh(hlRE<2g%Z{=0d=5^j`w(D?7ZCyy);QK>McX zJD*_0*X3(;^abdvyh6T0(ENtrK315ZCA`+4qylUgfVl-A0wAUV0GRl0MJoWcigXna z(zJzckef_PI1h^FYD7(G08Jr^{mttVL+O{OMce|=pWcWYF%m~9<`$LsB8@om0Eo`T zzY0Y!#%@K+v5qacTOe*}Zt+$vVI#M2L{q%~4I!3WxIv?nrxd^HBhjEqu>j{*hs_wx zvx_Svjsdr*sBhGw49HFv z0SEQu4Pl{DdSpztZx@C^A&kg{%O;3(RkCY}GKCcFU@vY{&hx`cqj=?2>ADzu%#2bJ z2Z{}OFx6Z)wQulX-WjcsC02*bs088Y_T^_B7pFEu!h=n8RE=WK`~0 zj`8CbhEmYg&`d$GtplS|0-(NqN6%1ETe*MTV&XsVf{Y!N&07dNM`iEq{!@MXJI_l0 zQ=VmsF*BQe|0B;<^A1ZN#c9rJPc-#aQG-gJc(y+$ue77PKx(ani^^2)|J2<-k<{qA z)*JTM)styUoWjinwO%iP(jZ8lc5w9ewQ3Km0vDObp_g}##^G|0LR?F#@*It~{?JkCyEqs!0d)+uFaTY$i z*Q`AVm!aFovGvtH$I%K&Q|F?)9berg*epnKze;0-Bg;k?*bB(-9;2rJ5o`rl?%AO` z{cztZ<@1X`*YD7h=LuLeLS$a%#KpHjg5m?XJ2ty_}D0+>TcODsSN|VZy*ac?US45VZwMoG? zMqHGaCKYwV_9r8;$H3ENUF#7auJwRE0Vls2dMRa=wueGDh))O@GN8eW!csQ|H67lw zb-nDJhWQYj@0`R9Sl|5Hk+H{a5sWR78QQFyP`^HsU=<`_KlSWnFV+8XvdWy`z`6+} z=kiOAA$O#g`WgOlS*`y#=gk0l*u?XywFBsh)F(cK?!A1xJD1Q1s~Uv?GiINqCf4jl zO|B>&pVRFsV?gw%uQ8$xm!xAXo#2!#K|69lZW%<+m|C^Y#aS)4Je?2u$%Eqb`lQ#t zCHMI~&3=6sWwWfeuVV=ZECo6%c%{y^w-Q10g_~2iU1xnM@wfypPolX`pcxDu=p308 zkWbwNzwY{~?o<$|w-Jx`t%FgG41^e}ac}AT;8>{G_Qlp#UdB8Ws<(oF zb_iWQ?dfa7BuhI}wlBLeuJ$BEChMS0Iq>m!wO33t0_Y!jU>~vltfytMai;|7?GC|p z%fJE5$nl>-f*x#<=OM+KrXLb8%(50nJi1)h&5^ZhvI4aARsI7D(I12nQIiwMy`+C4 zWY{G@ffMds+;|I15Z(<#no`Q_&tUS_PrsWTi^|#qL)xY@k)bV%1N;FW5s*xR=gKVi zDX=HZQ#RLh3BP+j(1j_ejN1NQS6@LHH%z6!K6ljwsRQZ9{2)s5#ex>?=k(>b*!^dz zNPKUNhrN(ul)-s5dxs~oQ7xiw2<&EHHI-x@Qzu?kf?w1GgS}p}2wkmmU3NzJ`D+lt zKAnT1N6Cu7DywNO$|l{e_qoFhAkg<^KzMJd9#x1up%WIs;8*Kh%M_T!?X~K%>U8&( zq#=E~v4J@#!Y`{lvM_ENU$cvaxqw z4bMEeOF!n<04(^4YR&a?;h0OC)n9AVF%U(TIGBj(gQQ}6Di+)NDqy+>YJC##en96i z((QtC`e3vqw8XyT##c5aMwN6yGT7UUspTI3MZ zdDi@kbE0`e!z&Q_PqMzG8C=o@BemF>ksEo1XQM*D&7Bu&mw~1Gz(eeIj_+TIYb5K{ z#k1+VS=mcR@P{8Wku#Wficu-H!_!V)vN&gM=L@+#1V9FpDNzcEC#q-m_;Qv?SYf=3?g|}J9mpsID&qP z42z#5K{=hWSSHBA>J7c1L60OWL&F6G3euEp(hsx=-~{I$BnRv^*;nma_N)w7o`YY*s>e0vNQeXdwI`0ezw&3mza_l)xH zXwiwQ>MijK;le$e_N?2qO38NTJ^7Y=`LJ*Z_!fn1KaIm?3tE_k!n3E2X>9TgoXDem zQ`R!IG$b>mP?uGKjZ36lpei{=Zg7|ZY}fY!cQ)QF=1FYktmVxXzD5Fll-oC=PIrl( zCu}TnN@>J}tC-{~ykb{rFD#y)0y^ls!8;ZCd;W?kThOsUzeS8Mxhu@ulzCnRKJq8>~Q@#!Bz5A%#_Vz77&3h^D0M2JpwU9fm6R!EI`Sr41R2`lV zw5C(n+-2(BqV@@S$@m@xYxVS0b(zlh7aL}qC02X}idHvhd~&?lE>oUT{$*s?zN)!> znkLc*Vb~?gV)8;kSt90%&EZ>l!81NU(yzy_!!P-^ANW56A^hLgx0`k9tPP7ef9qPw>NQWD(}~QSLT(FVUaKkl7uj*AYl{{ zO#%S|f(AuJK@Ed~igXZUP=-v*AOTTP9D>qFE4Beqv7N%8fMY;fk;XP4Dh}Np6%_}_ zUB0Jwy?gI-Z=HMVo;rU5MHM{j`90sy2b+==;MChPZO$M2mUj^V6!$@{UShgXA~$gs z5n$q{1*it_Kz>dlxtN^`f7CZBDJ2rHgpR^PsGW2|hb|A@p84a-Oouel5O!$50dpb@ z%-TRF!IdZnz?wH@?$G4HS7uKoMhqwD2Tehb{No~SUTvn!f6Q*X6LUC8gc5Pi616<* zGf)l@i^Y_uDj;Br(xJsPYA`%N@=~S9{1;OpN{50sy^iq2L5JKd#{CSR!fAjQO+kh^ ziXhH`R|tz$xb-UFkeG}IP<`~=%XEx5D)YG>_x3Z&U4+PnX9?>3o*Qg(vVgpcjgUuW z!rgMuXIW|icFdf38g`vUWzzJ36};+XOKcDnK!Sl=*xedJeN^TOHNj*8`IC?g$;q1p zplm27e+_v_s_pNVVH6h?_CDe6*@6D|`f%Yvy9s@zy5(aM6j zbAr;W%hCf_$6j&*J$D>H-V&18`mCoy1SrliNPuECIm06Rvjo(!bBl$9Dj|6<4wb9| zB86}uugG0PhFfPpZb_LL^zRe1AIY}lza-lZS;o5b|ID?G>j+;&KWZ$g?>>=Fbont% zV1)#Fe;350Kfg`3Dhh*}+LZ}Kl^EyuYpXXsh4Q`R1k>05tSR$neG5nJsPEFA6uR6z zJa9kZdgAgKQpv6Jr#r~sz79@$YzhlIn^f=naeP}`ba9R%3UTPd{P2A9vEI_+x5p&L z!!xUP4!NR8my7!eQx`iz(V`~Lw-znk_06-YsoQ?_LEo?}Dx3K^)dGR4zJ>i(@{FWI&BtI&y1 zH-Z&w=WN%x`&xgJ-CX+-^)f`{g;$$7i4AVY`KzqQgO50DVnuM47E3#V>vn2G_NFz} zEAT^Cerc);O>l@%;2tygqD@x4T57!|Eb$S>qRFn%wd~qLWu1eV{eWd}OsDR{Sc|2N z>vtLkkofu)mN1e*96ZL52LorZduAO&~6&xlsj?K9}`cxbCB)jNUCMQrm6cy85foPartU3^ZOMYB1M@Xpx9 zmT-z<#9baYsr*fha5`}x$6x(fX|r6U_21g6q~AWiK>6i9W7VLukYR7_Z_a0iJy6=r zV#D->I;CUz1KCGABNvONxr2;4PehdkmDSPlFv~0EjeC(XALzs4A0X}5%{K7wAc(Zn z%PvHp6k1U?&i;dfU!LGZv)}6ko36sL1X`+hc?*8z@Hd)jEXPcbq233*Z~TU-2iMtJ z0qeA^5TDpz1GY@MKf9tr!eEYMlbL|?Qq@RQz7$?q_81oIfAR@`HgK|~A7r3e9 zIIil%-c@%I90w{_T-8RO7y#^bjfDLlyUd<>^ltZypr!GE)s%NV5XeR2a)fygrnshu zxMg#Gox8@8@4uDI#`n%aq6DvS)S5IUIYwto3=PH7>C}APJ;KT;|9`j`&B4j|b*_>A zTm2&7Cg?b52MIXVszTz;mju(AV%ic3{LbrwhZRDS2b%f5MaB zM_F=N7|>Kxz=BW}0gA`0P-Ve~3N+r?2|?1`H2fTIsyc|7#I4}Ibbtc}>ho?ez$q4E zqUHh);2o+0ZVx?ASbkWzAJsi>m+1T6__jKcuZ}>&CvRoLO(?uBT@=@D5l@u3xaoNTsIarkb{9#@_CN_*e%Ui3#9K|h=CjXV@ed4Z> ztpIX^B&SwxOW?lJArfY9!!Nf8So-W$<-&vy^ztqsyko1<=q(DhO;ACi{GBIc0DePnZf@(m~kFSSbz6myqJaoHzCLZg0ZcAjlw;WmP z)tIV2=CO!dR2aUh4PD=XE!IhM4C`YL-ClZ^XjEMS~g`@br;MKcCEr>|5_NF zv7cw1R7Cgh)w;edaCIEXFg`!mnHnZh+|IbTf50Ppy=O1t%C(EORBa4@g;G)eDZs)~ z8--{by&d{@h*=J({+`Es`f+v~(USh!7gHi#vzUc^!#3Mjj=fhsIQPhjQaN+ox${PB zM$E1AT_ywE@{2C;g}id7ZCJx*{JFy;hx(E8*sqXG5uz=LN!;!SuYqf&;CwZ{b{XF+mn}W` zyM(>q!;tN2K!%#@^K6TL3=G!>)w+z88N&x_E2ZP(0&eCvaYD0kq3x3<$gMK5)ORCiyKn>Z#?nPm=u zdE(?1wb0S-K+0dnTPFfe1(%|u)v8^HtnTGU7Z~5Oi5o*@rgxlqO$p_4k!w^S{*=~Y z>-e`uOT(k7n`y6lLy|-`i7E%)S0XwPIFZIa>oft^#H`{7w&#yhUvu}|dqMaUKU=JZMd>Bc{fNo6HtEXQqKWe%I;#fj0@P&Yel$6DV9{xo6 z9Q>zcBRw|(LcU-lvf=MFG0selVMuag0o2UrtY$6vESMZ4B%g!`3<$X%Kt0!BqTm}e zZT^#&SsRq_I+ondM)X5SI5Wbdh80TOPC#A^N%v&pis`bSh2&`ck9mSngr%u*&rYIz zhO&H}WIHqjcW&-OQ7%Zw!7AWKpHU&bSsV07CI~D63m)PyFlRSQk~?2nP?m_8CxI1c zlzuhg5l&vBLCGcfIqig`rYzg6Tp>)*5&npT?HVjwL)cBv69U-m+N`G+^GQ7rTCO9) z>s2qPM6N65iE(AMSu_>yQ4#QrodHwAiYHKYy~T1RaWg25{!lbulFNh547FKHEMz(% zqFL=_ro!hm728kcXQ~U|N-*v^3XM);I1zS=5a*h*@_T`y9^fQ^(hdPc5&CX>)(SoF z8b@ZRfMXyiSK{vJvI`}$x3CvZRJa}hL`vLI93fJOP3ott?hr$ww+PQ|9Ny9#|zy@|5|cleB;T0|B-FS zdl^lBVKtjh9z2w9^RH~%z}Xto_T|*j{bk0ay10jM^^%0fvjn%SQWe}@7+<@>x|OH7 zled=M0OM;9ut&?kHDWMW!8HR4oLxJBJMyEchwc&Fb1h*-_Wg`y}ozQ zTheqs}SARejeA_E98qP6=70F`nPwUt)4MUcKlWIO}JCPE)cCwgk0)s(gj8p zh$gz5XOuBOu!7hke#lfTj1B8uRgKN{@mYbZ^NYJ-5tb!+#M}l7{R03G?!n*o;f){Qw?b0B z4b<}I68HK6QNXq0RQaA3o9a!#K7mBxDx%JTs^Fv=VYK3}cshR?eAb6wwZprJitMdE zsib@i@Lxc?VX^NZ4Sz}D!W{Qr1rpHjwIiwbg* zNK&Nt#yx|T)UJqu3M=ngRk(*Mng4|6PYkYRE+`#b>9Oy-?4g6RZq7>1@Q6y$@>oe{ z*;>R5Y00cFCwMz>yO_5Rp+9!@SY9~%`##QE%{K_YdV5rHyC_r-^1?NaLD?p+615&b z#ffmX5wHvZGS6C9!hAx7T|9T(Bn_%T*IDScR$Uv40f_e2ez8T@P$6?Q z_|s;lv_@RtdyMguDZ5E6p=Z&!)!HoCT^PCMhT?g~^h0TcXTKK&i0~+zaaJM?MCdm)jf0ck}o9gbZdVEBu zYg6`Ot!tMFH?5ATnYpALyraB9jW;T}yL|46xgqbmy?tK?Jm9M8@QiaEu7wWBcazTu zj&{9JB(iFY=O`9I*KkhhE1|{XmKMO;x6~d4vB@Fsnv()ITY4HXQc1QI`kUQTb4n&p zpzq&4^7EKIfQ)%%n`PDnhhgVt?e4peUPdBgbagq#%f2x5HcM8W@l7gVbh zo1GD1tXDka3s!?B3NSAgx%Jm970R;(Dci)sDxoq z3|-D|3wOwist!*#2k07#kNZMYj}y(E)UDoj%Ja}sg-A{oC#kpe(KivQkKSFY&{!O0n-TI40^q#j>&0K>Ieri$lG?!-#S3d#fZszn?JB&GHo z-Jx9ya{aX<_4I_H36}SDv2v3i@|coU%t5D1DI+S&VMyaic9IyH?8q-oG&rW@P6_xI zRGJjTZ&j5pt8b%M4*^(rz&iR?VIn$JW?HzpI$RWjPILMbn?7j0uKTPocnD|i!ff*t z+@(ME(O6)$5i-7r$oKI#Bd81i{GA9svIgzxdPKBn1^R`1$yDTA_bfdPWZ4S@8Fq~;S%xVGB$Zu3JFX3)dm}Y%s#wo#=H%TpRYg>&XGpdrn<;pTug9`0UN zg_V{5O?I777REMnVD@4i_9j-%{5_}R%(k1vp<&Cji^tG*;-tG@J8q{mWzap7{ACP# zYBI=$!)B%69=FWVDHazQI%ggA5owlSDmAekNn;5hQ49cjwV4_u*TU7vE z6QPJn5^_rNyzGn*pqJ1ij+He@Lu)##lp1`Xs005g789q6Oj_;Z&zsT~%@JrGAf|3C z{)t3CyE6d)YlTIH{d?kecmlmhBQ^Eqy}iFvhg_gXx#W=E2B+&D`u`E}=({n(WT=xI z(b^09g*Q3ChUY@#^LYgqNW)@AM25k>C67CG8tA^-umeY z@h-tda}#phQRqCf@c!qDL`u*v$7Zi1_=*asHFUg%j}#obmDu2zJM#D7 z#rW|7f`p{wIA zdMxHU-QuCTkSjALqUoKuzNfxpw|P>!C*8szf_3H8Dx$fP0Y_fo)4qSQ?3%~Eahd{P zr!LCkN(Z!^n-4i@@@}5<$KL;pnkPaxLn!vY?#uEa?C-&#n>N4nWnKpt+b%-)t8l0F zNP-r0V}p_K&=l4)0Me3R1QDjzDhbV80#Tm}uV(XMIRflg0Ps7wvf^L@F$!y<1d??! zWEBxNgqaA&_+(}If_X7Y)J`b(K@k|EK^1aylf{a{&sewshUF0bYUDDw$E7P$;7tRa zU?eIi$fUq#2%#F-pvP|F<{G%IrRY;NQV$c`()J$hWeE;~p>DN!56aLb3yv$1RtXHjZu`QJ+1|30^6 zk%hkL{|4fY@w_PC9=~HDaJVx1kGbvpr;>%?34xRLY;qyO9#;Hr=|6^L(T}|wUQp6_ z|Cr~>^m99d8eDOqNC0)KZO#po_-jq9FUf=>O#y3{H}~53RUaa8psK^QCwiZ{`XVC3TRuF(#&p)& zXADW&8Me|R#Ec2OpaN23|9U&C`qIaMkYQ_IC*yZeg<}n6_9fkKnH>xZYqMc?>MITo zXLDG8_q#0#LHbMAH1SUrx+w0@W$gaVr#fO8_;LexvHDy_RZ&y8mHQT&KyDf&pt#0eHTiuY_MH`Bm7%M9~%neIr_BtwY2ln-v>^9fd-*k_=;xx{2oef_kpYm)A z2xIsT-uK`Vm3EtpRK@ZH7WgVIV0w~K%byw9p|oYzcouG4<_iVmueUqM(3qqx_5A4? z?rNTSv3Q)jlFYho;pRe(;N*lo>qu8@hnZMARu3*WG6vg9Kz_4a;b>*TALDt{M0QeX zun!ERLgK`=bCT6J%a|YIkz@}iLw~u&w!^Wbq?0py$9Wx9Z4D<{=~Ahw^=7ZJb#Ct% zeA~{X>~0B4ng}huu@1dbU=^O~->~k>xqFGUg{hh)xV~3R>K4dE5>Q#5&fANv0_GpM z1{8Ll5C4*eil$VlmQkyx?AW;&{6ZwP=A+%6v&L==D!VIdftI;a1>p`oUpG{QPHXQO z1f2BSAnF1%UEhcN9I9;c_e_NYgQr~*CsaI7Ys{JU7xP+^fH1Tpm|9pd&$U0;=!rI6 z;8?0UE~S2;qPtm6$KY!K$a4@mw+_rf?U?Rv`I~#tx8^iIfE@$5G=X7w1TM+0h4(T} z9YU}p>5UN6riPYNy_g%R(%&&(M)hk*~2t~=e1ama3XFSu)cm{wI!m$*vx0)MJD=)?p|>TT0)ySRQ9_BUe* zElVe!hJaL1CTlWPP%u6SuUiWsD>O+wkLJIiI`JAq%q8X4Mt6K|0k^-^nZFI_Ut&nn z7i=c=F{j0y2j+uEWc~iYg+sI|b<1IyXU8ssPHr>!uF@?=R2(c>6A&aUK`-Wu0#s7! zR}JpLrQ%3L6D-4JT&tRlCuUvNHLhOWlQ$wMFi0ehb7eQAesYYNqPNf64U0GFROHm$ zpzd+nnC3=roow zqkl^ND;{N%ULnRHZn~m{y+W^gE`8xz^q{ID(PS?(&q-!wWv8ZS&p=J$Vvcw-#CUsR ztA^-+_S2WwPR0|M0PDrbP3c@ZugI)F$cV2+h+9)Oc_h(!->VD?`B42V-S>uoxo${a z)i^O%)EVs0RBP*xW1hG5dK}VAgC%Ll;{1+Km0OnVF;nCqPY7gr3Tm%P!}XD|+v-U!%u)PGC3l2A zR^}ycUM_l%^D5RVJ(E_^Z6un?Rw01vja&Mh>7OLtD&MR<4prVAiVkJ|zA+hT8qW

    ztC=)af^QqLKJYcQ&`YE`NwVxjFn3eX9jw|dwup7(a&)oH!L zDlhfIv+AV|EUwHqvP!WK-E6oc*eSa$`UHw1?|RJuSbM$*1;jtYTlr9nnj&PU_B2p7 z3X!x=v8PVi@Om-Q)|yn+bIJSK+ZNp&v_mghMvptpR!w2hzex$1R)fq8NP89s~ImR2oQM|KH2i8aZY|%eyVCfLgV~;8+ zXu&tNy}unULyU3GFlUl`Ww=u+X^Inh({S>HgGp*i@|z@j(p#*NyDxREmWkpvDa=>u zk^|TI9{y+9XO_3RysIFAbTJtz~Eg<3%+deUV4Te#szcbyO4+LsV|#3 z^TkLO`wJt-!0jYAN&i-E3l^d1T$nt4>wLBdRmcAIcCH;;1Pf<9YLPBMbR$l4J(LH@ zsC>5K@!v7Qj*{$u7-(nY{( zk}m%)H18-M~)RF@SJAH=5DOIG?B2KI4+ z40B_&5|N|}!w}r$^hV6&v%0=%4_qP0gn2>D5|hux-HUTnfHQ0_gQM&_T(%iR{=Emx zhfvLMD%7CNbXWy|hY1G1h;gWitlwaHRxn0Rhvfo@J|XT0B3B6}KtuvvqBGB~fGJ-( zFfa= zau`Q=3YC?@+B2vqK?L?ip-SM?+KYLvDla_%91`Xl^gxiZ48FIch@|V2vQ328=RH8X z7W+%_kLxnkMSvm9B?08k7HEnZ*7O?HKf(~X6`2b+9sK$KA#z1f4Yb514}S1&2>{ zo5xT^0S<874XGaJ4Ky^uJ5VJYce#Nk?*dzo+3d6~1lHe*Y~Vy%-s_$`H$S|zG3wlG zxZsVxelVwP`@}EjogbKNNt%B961{K5Iq{aSWlHHpSK?hXJ)8OBSo2xZ7wcDM7sYqN zXEO;+gL6AMfoRZrDj4~a7h6Kwc0uq8)jfwKwHed%B+Z4>{GpLMUm5H`fwfsD!fm{f zxq`AwJ+KSD8Q0W~FDZVum7i}O)x6N>_{HU+#$Xgr%Iy53bdOErm+&fib>ZE^b%v42 zZN3m;2=`sa-}6(zV7>=;X0Pp06QG)0B$oZKPy600`Qru-`dK3SWp!q8A!L*hetbSq2X-?y&$vuYZY zG;(d&RZb-i#;2>RSF#wV*3Kl2Ch`3NhKzI96m5rJ3bM)%p`K`K63trH35;zOzwG1i zN46>fi>T52muGSk&q(aT>bvn*bc2%{cVwcaM1B8|T#RGYF9P4l!STfZa!=_;EY zsjy1p>nPZQ?+@;qFo}cjc)8Ats5sI>^&RR8Ur&+k?S@$Wa@qz+L%w7+-eE_%zG&+O zY>VjKW#;7X_pP=j{am;S{bdE(D=jCYc>UaCZWU^Ng4OYy5=b`sJ-E1@&8_w$PV72(~k;ZXgJv-e(BBBBsruaHUn zR#jo+)Pbjz_uUj=yNB+)nHRdWlcigwL^Rnkm8bpjCRK%~<`dzRwMb)!u}U(L4&bt| zFXuKfs@1onu?qtLBF39&-ED5E>40`LddQ*>o=Y!v(Cpv;8Xh$YKGt;^ZE8DT?8hS+ zz3ZXu?N%H(B3^+F=>(jzm5)qxj){5=h6`4`G)Cd5>MnYSKax@-+P^TM?tCe|l{VHw zr;4NOZK)F1DTUd-c_lwS42=Cc(oHWRjT-lPbmMQYBkOc{<4rE>H113ry2f3TO{3h2 z1Nm7C|S$1l*>0bc}FQIi|OXsV;o#A-Dlgj5mG7qnnvb=AH zm_U@w;VF$WOtt1(oY(SNn2^}UK!Ez{IU0+%i1!yq^2$}9Pty~=uM+)T_ct-l3Gl9Y zqx2d#W5Q7r#}*=y4Z5r02miKa(a|LqTP$a(qWMk{1+nht%r^*`Rn43#|5`3GOwffP zzkAqzWgB&il6!Mxkir-e5l^T0vRctyrM>>dH^Ljl32sGq;5Z>w)WPOU&Ph`mQFTKa z-=;Mi*Op5#2<0kX6XR^Pk_#BkmzpXc_x)q0ptPxPAgUpW*9xkkbN(kB$y2Yee6$8! z1#)ZYo>6ARG^RsPOX=FfgPB_Zyk9hux`!SN(m&qi>@rWU7Bj8B$;`b4vO7p6mJ$}g z60COLdxYpaZ#B=zg^nbH?2r`(Fts-V_hG2Wa%u$qocNt9J=7D&Kvg3z*$_~dPiZrIjL1Q~UU zb;V)Nj6Pch2zs`s+`Tf7#soS&<_zE*BFq2$m~!_r-%ch9y1;l474-O)jb3nnlWj26 zDa3cqpO0zcNZOoItz%RxkCe;gaI%ANmr>zZDt( zHtZR^@Lt;gZY|mWn_gFPQM0(ArRdgm298#{`AKCeVYh-#+zu{wn5&mq*93e>Eef9N zFOmF5Ztac0EjXO_axj9K?5@0f_Pb(%k#-F0}9Rs6W;VddS&6c13j37 zYl`Df=3o7cgm2yc8AHKEZn6^CT)X>=9(Cd-tc5Qz`MD=(-Bj5Z-HCxU4IX}?hQ*=Vn{zC<%rEpgDV4Y|6&i{1o!%r3! zFbRP${fMD4t}dJLx&-WiNeCvCwO_`9H(z&UF7tnKYoDlO3+#>Z89d*-GC$4F{>-H& zNJ`%P?BNym&l~yFwcTNTbXIhC-s^FK13r0$@nz%R)BoVVlCeMwrC`u^XiE`;7&3cB z*MrgF3@mTJ$IYJk;ue<@@r>?YQB7NoRZMi-+N{3c!46!_;p82% z$1mjHU3aj$#^>#ax&$$~>$=51Jx4B|orj*EVXzw2cGQ-Q+W7Xbz8VL&b!_2Ze@@#@ z)9Rd0tsN7RV#;g;{u_2PubMwKPt^7t;f~pp07#v=UXpzYX4*76h2|h9XVNlmx$>f)d(FIe;(u23(>qAAo$JzHgl2*-?z<-n6FTwNr@A)q z2m|lYQJ+@LQF3tBtg@f%D>{yaj`SPi0)WBVg4c(!UR}R%u6&jA3LZD7$+4@4G%GpF zuVnXkZZ2sg$bX1bg;?%6sB-wJzwoiR==(qk7NFYTtC zwQ9r8y)t|J4KG8BAPQ!j80EQr1ka#0?0PO0(Pr&gVS3x7v&c37OBLx-KsRfkP`^DU zK9@+AzvIpn!-j-K(1$-sQ=if>#|QC0BkrqO)p)n~Av(Vs+Ua;2JiiVd<`Bqnv(Kd< zKJ5*d8Aormo@G7pwgYc#xS{f1zq+CKBzQ#po>2$CA9^Tf&Ub^s}pqgbnpyvp7RmUGm za7Avv^w=$4LD)5)8yDA3U1d9&U`USLyfY8@@XkOMDm#Tt40y_*44wHe9YOg2HL3aBm_4^+@4z~+mM2^pR)EQLtd%U3g{0eE zPtnkgmLw#on9@F$KZ@3rP&&M>h7_7){5OdXxMT%QL49ax?wd#kdet8O{?PkgsZ0ox z3t8erkI@4Js_F()<713~I%>qM(46myYEP>KklEB}Qj^49uxuPk%R&mj)+;}hDAq)q zbRZrIjakrW1;Y+xBiVM_o9k1L&g$nXL#*8TS@0jIn3zR)Ov}(f^ zl?Ypf!TN}A$&)E3W_;}+8fRyJ1GvndvAQVQpVPz;srxqc-;Y+o*_4I3-n6k z2Te1ZiYR@Z7Ohssq6VF!q-$4p9UOOc%|68RHC-fyI%YptHfAwPiwMUHKBJbp&BI|;XurLPulQvw8*w4WS> zSZ`<9VeS_;FK>Ma)rH<`8dg5`@xo-F^eq;9uSt_LI~MiX9v%c}%CuiU8#zy@D-(k& za+7%Y1zb0`$eaeP_3>G!RG6K3`!YMI!$7cxEylIVf?@vzt0=Obb-~)|?}#{R(B_{G zuAiX9sm8GHufAE<$WUyKVO+_)_rdy;^Td*QSy~eWmfb8Y*wXws?byy<&qfW>E9`6U z)EUo4`yESHsnQ*`(a--f=gG*bo*Tz%BzH_V_!-A$`Qsb+0H?OEx7^?rWhzjo@ei@F zv5yW7&11^cUQOP{jB>F?bv>Sc28fp==&&C+1~BA>|JT}_c4q6 z?KcUG?8BiyzQ6Fff9W3l zv;Kcq=q~DT0Z?q!v$xUg8))qO$#~T$wM5LDHLS06ALL;hop68T<`pewp%5^Izza<+ z7b#B|rD(r(X6KbhD(Vp(^Z*N)q?j&3yw?eW$3Fj>wqAsM?>kg5yIoxBGH!>K;Ckj~ zX|fMTtBfR%I&85WggF*G%VrdUXFhVd0bB$5((tHE`lkn!8LJHZlHva`I zBXEji=XcQZ3|<fkPSd23oxxmh?BfTo)nV%CD@Zf zRI`{!pF%~8iHpEA6LwCA2$ZWMtMu9M@z}rt*}_D`Wo6ztmv9|N&E$fwKBHhiM7TxT zJzRF52z^g84@PPgI2LTNNbAw#W`X3NRYdrhivhqX7)VlO1;KY^K-P8%c?CoUi!tue zI?PU=v<3|T8)DY0Cs6Edd)SnIjz49_d!)T6Vwl`7qq2M07Jq6fP$8TAJr7hn4tKHjyoJM8?{ zqV%8nd&w>(ooH|l^<&>Uva_ z0=G?FWW_uG7{(=CPhSO*dVL~`LGx6dFwPKCI;z&qqLVS^QI>!yiL$@VqV;x9R9=ydpXl-xX zzQy<;)^eiE7I`KD&)Yf?qI9K>1PDmaN+u4*P(l!0D;6rDhi2$5;_4KV%2) zHG8WTY_i_1yqWF##}T?I+xGBarHw!YapOHn3>csw5Z|aPS?zu};JO1r z!2)q2l%`drZsom++SNaVdKY`!BWL3EZOb?(1Y+3qs@W`Pnfj%WbK#0%cbajD8M_M~ zm{qcl6CQc7az&O+P!aV?FEi=Xg)Ln$`gCnuOq#=ljWHhacC(T*>@c_d<+KTRlylH3 zJ*bCO(SL#G4L#@pofY9e7t!Q<#B z)GzCm>@d%CXM4}csvFdEpEuM&!76SSuLkWSV%);{6%>%|4<_w4G$Z(T|4JD|mYY82 z8#y>CJ{ou1*3dP$M&RnzFNj$egmSre0)_&EJK$-mMQ=fan@@squ!X!U*#TN&Ic{my zUVM5&qoUeS$zOjOAp_x#C?rh|euoQY+Ioz7j{S$2FL^x@Vas)L_OwWH9j-tZ>4}qEh z6=u)w0HnSBj^==bINMMQ#6L;z(Ila4J+g24@wio29x^73CU=8glcrVvVWYMopal1f zUS*u4scd+waR60{EmNaPlfF)T*zeb+Q4IfIsQy-%0qMdK4fA6n z3nZdeRJ5u!0*_F?vq06-sipgHNvdLsH3Dy^4`6y=HAV0P+L2kMz-HYqMR^p{ z*=iJjkD5{eKd1X82O*YSTtPMA0c)ZvUs7)}tM(3uod84Hfp_j6xJZV;Cc?AIMcGmq z$l7tN$iCO(D7~|6>KT%%D)4hehIjjQ(X52%)h@>^>DH`SAf{SbToW}bR6$v$2WT&V z8&$;(3l)paf1BZzEit6G*w)1%5#O^fd}{~=5JTNdF0jyD1#M3LQ9UG~M!KL{$qE?i zCT3{M^TB$^X?*~8rk{^&h(-G`d5B`YNy3ty*kHca^I@zEd8cG6wMCAv5#25>*Wq2X z64MQ@R_-N=Ky$T>$p@riF(Pk>p06F6{KfUDMsJ}XtBt>Gl<{tktkz&{D< zD0HmRO93ce5pfW2U8IrHe5ApKs7});Hg1tw0uX*>V2DyWP@c44A3Tv93XK^fKjm^2^IX zJ-<~&z05LRdzgC{S2^{$St4~7x-qx;Am@^8-t93A+t%s0_IIKJbcGKDDY5;e-J&Gf0?ng!}Fb(4+e{jY?TzYU)J zKTIn4IzT&Wx^M_-F@wO)AJ-r|f^rs?)8(r~Ok%rhfbWV3)ave|db1&a-#m!8Eh>QC z0p6snP9;3GTmR4VtN_RgBDzliG@erzrD-`9<7xOTIV&|Fn+zz7pN+ZY&tvp#<4% z$?lUsTwvu8rdb8M9dco(f=Gmb*#%Z0)~qS>NAC&Sz986+AVV7eP>;C^bC)P(*%xKB z32cgzc(W)69-%g>fIdf*Z*k@?8qfvAEmVR$xI$GEf*?G+YCW#Tg=A$$Xn+nCYO@Zr zLxt-5Oc~dLcs-C{f&EEcknvg3cM=cldY|c$JUwL({BSQZ8vLA>0y7HKz+aEBn>B=6 z5I!2h>xE={cq`DYB&a{?n6q`$=t-2 zlocjG!2Y~z_a?W!fAca>WH`)klk@*DrY#F{UN^2aKO0>5;hr_K?^clm>ubqum!!nN~z{PO30-QKww@dNO~-ih!}v1Nn7CW@C-w zQFY;i>Zm8A9Y94&SR>JJcAL<1?=sw$C|(RSR4|X?#q~Tm!t1g_w@3S#bd+LUww2@h z&8;C%&5}?M;7c((x!qey+m(+4Y=|A59=P?X@;n+zECo-|87lsC`8z7wBFn$bX1X{+ z#;cb6uC+E>PnSkw8C|h_o40$Vwq0vslUP`m=C)@JF_W8)vXLP-;oRO;1)_V~;{y*m z+ucrL9&x+t@vP(%AHaB}LVMO6#SjU((1LytR}j*<(-3w7%PaL^$pot#Li!yRIQ!4$ zFLi>2VTm=4!%TrdBK2PJF}}+Vh2bXhFg5lAq>`XW0KIa@%lkB;@5v6vOvBc$gLg+H za^}p4L5&SUHn=IVkl8q5H**s$g7cvH1VVoK3#wa%{TP91{-yCNrkIJ{*^-g^v%FWR51Kw8+ zZVBxK#a-568=n7xEwEN7Oy8T0-@pF6o?F7L5wW*%{O{0}RNRr4mjWjV+}L8AJ+St) zTjMraV+^<@wMyD0M5hjOHnL&N}+%CsWVkuIq|*$$eq? zRH2!5vO5kd82_qFTB>DALFbiCW@PWSR}O)(v~5a`OZP&dhix+TEce=M1y3-Or2fRY zmc=dMXyEApS>W@35%->9O(k%*?@r$dDLbKso`g_E4T=aBNCN^=f}(=r5Q>6|8l{Lz zNkV|oBp@pGfT-x;7!Vc9Xec76Xh2j{9D`yVoB;iAKJ`Qp9V&mKE)0nj7Jm9@(;J|q%Z1p9%Nyk zG|jY$YZw+*-)xi>&)PxmdvSM>*e@SC%gn5iTi9#^NrUSG|3P#?Fb<3@d9~~OA%k!c zr|`8MTVbZ_0_{dd z{JBx*K1n1rR4rQCEG=;AZuE(uJMx?(7pZ)7rbc*4>&paYG74+s3NQkep6K)(;)4F? zMO3l)hCEi1_7r}2dsY?vfGP3IqAS0xTVVv&(}a8ZF?JCF}!ezz<)Co)C7TdBZoMfc{1V*MO}xIY2@h#0m{70HbCE;H#*~n_CzU zTzQ~PzdR1q>}L*lEcnt_{6#*pZ>CQoPt8HcPrtH+Ms8YHc|GV}zL&A2hL2yMT~-7q zKRl_u<|ShYvZ|Rq&5*g=dDSPc=N87i%MW|&yRg`dYe%Q&e{!EgnFqpk((wY1IqM4$ z=zdl;XBAI7&XPkid>n-G-W)>1g(5&}EuV1My%NxJiT4hR7TB;3w%KcJfW_`Ov;@Mz zDPyN-EG27!w&b4BS_U+ z>>GgKeBk;_@tz23S7w^Em`B`RS+DVKzJ@gJs zLP9X_nvle_7Pg+E(2;=hQX5S0$? z?cEK|(Uj1nlHQW=y$5+mQoc^*)2Oa;bjjq5xJedyp{8Rtx%Mb+5#o;Wwt_amEfPFy zK5=4t-aMfO?dd_geZM=<_M~RF8_@GxkWPoqMT|-kF}n_E^5bNWDQ5yZ5plpdb8$h+ z#yHF_w2vHrl2@ndu8VZ35xAV$v^ny~Dw@&vVgL*vbiY>e$LH%y&#)Lsyehs$XZoxV zWj_{`p)t*Qe@tk>E44|g(-G&-_dTmqdfY9!98T|YymD}B;i(Nkg|SAC78wAGyuYo; z(R}CmF`o`n?mO(6EWp-CP&N_+;G)~#Ta=qNZ`n)8PUG9Re;TTq`}6;husw9t4J!g{ zFOF5rl-6RmyIwLJ=|d632}C_~U)v_Chx= zW{KnniZDyp>Hn0A{d2BvO80n|aW)W{6Im@Myw&LZlf(!+^l=0+OE5XU8AvmWGh=3< zW_*&A(4!4DCt$o5gFxVb|0Hi;%pw1M3y|mt90smdi`>Zp@mc_ubny%lE_!?57!pps zDs_Z;8sMQNoH)g87o&J%@)=rr`djQxn1wAt>=Y~DFS$dcsIlB)gCY%=Pj@BZC6rtH zv#qjl<(ljsL;kk6*tL?JIRGV3tb`rgS!37*leq+)a_fFn@tFLo8fLL(KPm!RB?OLE z0nc#7g4=)B$l&xW92}NQu61OEPfEkZaT;cSsPMxrkT>=AHq| zZ0E=bdX#K3(^CT8ev34NJVnttn;57)lbJAVAzqvPt3>7;NxmY(t5Zsf_5&xR@&#kS zYqk5{hHQ8s>=?Km3!o|n0Um^(R^xV!p&Ufu{ry>9qB5fxcT!4F!E+N3QU~TJEb$q7 zSdddRdd%%psQqwnOP8gTnZU;Ls0s=owvlwck-!}s{csyuO}?J0=^@_3-8vw7Zl+;Nf4wcW&_y3%a5{}M2`6pP8xs~wD9=1b=aN`yV6 z=1FWHxLhMu#~D?_JQGX`rjv~#4a@hV4sdDIl}YO((OW{Q5#;F!Hytk<)WcJ#lgE{I zd&9QYaReN;-g)sg0+7$qmbLq>63F4B@e_Km?xyNEa-E7FZo8j zQSF44k|!{P{a<_`r)K&<1l9800-t;pB}C&Y27S16%UZCaJ6Df zmBrT709u#_FFnJ0G8=N@(}c&-h<681^C^x8O*MLW1f z;fPufti>>Sw4|>TiLJuJyS1HGIRDV~P=U#M4euW{@Ou%1N2;zlbnfX}wb@XkL&VtX zfFByAnmD{3*B3bd+G~m=mE{-bgTf>`nxxvw{V(iP%{H>RMN1+hW(0{lr*&(gxH4wC z*|@-ZvtuQ>p*AzjL-FJqhB#SkFj*PhNxrbuznC$c_xxLt{~{?wYxs+?g3&I^zNt9w zH4;E->%v`}ROcN2ld+QC@gek01rtg{oq>>h73~+j$VsN0!@VT!TnkXE3E?yz+S1$Ip`(&mhV!=3Y`qE)LhPGw5^&t(4MJ!!taNcpDGva+KIIJbz3Yr%ewb8y_6!UIf@HeJ%ZPd-v7KonNV?H+9 z@tsvQQE)r5zbHc@K~?#j7Rcf;QG~VBB`N_8yC4DJJ8N4y(8Wxn{okOZ|0b zAH(X^E}8)DsoVAIY#BgMBYfxAuDoC;$5LrJ@QT-?>UlhK+GWK|j=C_eb2D3@=|BXk zFREI+w`6A(lEe_A#;8gHG)KyzW^U<;jD3tHDTTBuNr9P1;v%HD9Vh1DJF3uhH+X?1 zlu>qwq(om`e#`d3e8my-`RpQbI}6{A%LuQhg!yb-_1#Q1kIuFUfHkN6@X!Iy2r|(} zMhjG9;wN~(AUwEQ+fwYw;GNm=&ufy9Q+&jaZF=kTLm~Rtq4vTD4tpWNjU*DBeDAlUXgn18BEoUHLu2;lQ2hi%W1jPZfHEa(aKN3kGw)Q$)Yk+Ej&q zR)4Ejm;m2;IJ;prEX}w6JLYk4cpISDS6;ch9-xU)c1a7CB|SSG(b*kAty*81D`7-G zyy$)GD#)a0_pz4LAPG8;zcPc)6vBp(JBLu|)QG}Vq+Po1h#~eyB@p=PfQ>)(vm;V8 zFTRIQUUl;<_Pnb@eb9GV?%RrHLBK=8i}~k%j+cf*r%=Q9vf6pHb(Q}M@&Q->zYc@F zZ|s))hV!!M#5!B%i=Dn3v_;D$?HJ?^gv}ou5XGMUV4(qKL9p>kWYdi)D6n3#L%UyK z9S5~%T4LgvL z@;(FhkFS)?4Ed5|aQYHqkqm1!xg%9WTsJy)qsOp~jG~ZRm@6;}%VM*NlScv3DCyMppb~r=*7+k>E)dL{c zPr^}Jyr($xpbn@R1i-Q4O?u2ht;xDegs-@rMi~aC3S7_1grf#$ih!#Sey1jrA_Ivs z6JM!n!!1HAfb|s@^8Pa|>fsF+IQ|DM%B6)*uWwZ+)ZTpOzTZIW%?SxD$^m2>!tC_nDx0xf6}rO~%bBIX>Nj zD#qbS#j2O)Q5A(ZYn?`Cog2h1I}A;2Ec1>d;^XZ_Zqa?nnYZCZE!xUS`6_=Ll&EIQ z=2Z)YD_lL10xM#4pEF&pHUu>r9zI)lq*x3Wzz4e2CDbWLJofh;u1j&OGC(8DjEYuo zV~19@StDWfnu0`_^1^YxoWOuRKLiTit0y4UGt6V@D?tn!5xN6@&mvPpNc`4XZuOu}e}v&# z`!;C0{-M~L9y;e8H^T3cf~}Yq2rQ7FJ8bJQoa#c+lK^AOs}n}3O^gU8eu&^5uos%3 zQB$z4T~E+faBX~~51BJX>0PEyqIIvG5z?%--*8jsUnIIfd-yxOJ(y~b`9wVrpNkD( zC+AA$-Xx)kOxqPIw@1UgpQ#da0cs>zoNS{4l+f-IQ^E@ds}>P{P?1z{gZlZr(%W03 zHCu5UBh5E;oc^`bk%TYZVv*ePH3ET1mv-=yHJmDN*$4I#wa~Tw@sb0OtbNX4da53L ze)pO6bvqNa5I3E!*79mg&@Q5%5=X3wQ?+^jC1_Ni+(!BQV10L-VTl?i&n0x0ZYZC4 zXuXvv(Dj;bs#Ae8p}QHv7zk>e#e9j-r)Jv+Cm9($xV5be{VE_ZOwaZ=87h?b9(RHWzgEc})Y zR4kBeyPnQ-NcFSr#uf9<_@nf)HnWYb-B0c!U8%Cm$es)G!tH_qBF&?e^OhIsXJI8M z$+C~aEi_y$QwHz8C@0d8HDfB69_D9_YG_?jupQuR{s~Ig4mB+-qO6Fn1 zdjDp`4?3$s0141^PMcK;y=tyj1}w1!-O1w4d+)*+12sI;mcF@nPi!Do?t-r`P3MZz zB`DGX>@wUz7j^Y&+c@3KgCSkKF=9ye;qQ|aB}$waVF;|FGYf~ zC3jN1Ti2BR@KlCrDlH`SBGWD?NUoPGZh@$73)9f-(Bq!DwxGitu}Cf9Qc*w%gVaxq z@+xB~>N;n;M=ED<8<~S*3~5%d+P8&a^2ewhZ*q*dXI>|o)q0ZWz4c;|+F)|Ym4`p- zWh@~1j#z!P!OwK$;P5~4%aJ|p#GO+WVJQYMTts$rm>a3^XhYA0+5iS0H3Z(I%v7%x zVa*Z5q;ZBd<1H8DD#aJi*Ev|pXL7U%UC$mSdaQ3ru8ZQ+!iKkgZArH5 zeUO@on5R+D>heMKqDZIx9`R`JhWC@gmlR}HHRC!LxqX@{zp1LN=W3jlac6yRcCC7F~ZMPl7)pvMG|0}@@T#tUlF^l z*&!#ZozrOGrf!g|F)nBnwltN+>k((*x2SE#VVTR2#G#_0ky`{Hh@G`9x!HlMQY9$m z(kQ1y6?dznLh;=FGizB2ujS>t3X@Srs%T7yM{4oU2y1C9Nn50vfyO1(0!W`jcYg3l zHelOt#NiI}5)O(CBp!r^Lvh)E9(9J|iEdG+4IegQz}P!CCcXtZv!rrBE2LJ}bgn3F zLf}U&^5PCC+=Xgxp=|;&vsM(nX$%3fKb&l%ne_`(PXrd;bvV+{Q0IIjcT;+$FY z&u`CAG0kqGetO94lm<9};b_5Y?t z9iChL(txmjV_$5WC4aPJdm)C^r%K`&{;p}zp@t-gYd3NrKk)w=Ca443d;i_7Zv{KmO9JhAV-{AG_0aL_8u zJyqBl*hoSkT>NLMuz%%kmM=~{YCFfZ$ZY}u+=Wc*?erp7#W>2rZ!u_BP9(fwIux zDsBNlYnrDFM!mv|hln{+8Ek}(NU%Hf;PhA70!vaWjDr;;ECAH3u`DAOZsDU|j3L!4 z5saEN%p@Eb#aciZo&iZz6W{6x63q_0PrlDv;ymsyP>-?TAT~o72@LdyP%j??JPs&S zrTq>76{k>U+;Et_b+8DtTUy|=lFZR#U!BUn`jQAs$mwK4k}B;N0DOkSZxfRh?RgbJ z@~zRzlZHZ)0m*?mtvbvCPVRPnkq=Jk&sDT0K`5AXaQrQDwMON83snodpa5nKe6%mZ zG{M_ioQz5>@|$)?k~RlMRGGo^THK66H8^Rh+5&HDNis~-M1yvRKjU918*NEiV?fpb zK%=DC?=2AzVYWyL_PS6J|4B)zJ@v<*|2?!i?w~E9<8v9~`u!eBLH$1#4ls}R>~W=R zE`j1vXTsbZR-Jx#YqyKV3hS<+o(If%Nb7+kZI6mD@}ov;d#K&zl~vLP3)Yd6Pii(8 z8anap%JO|@O%@e#qxUt()wkV4qj?nWKn$9-rWXm!Q3s3cRbqg&&2B&b5*5k zy>V>R=CyMGtGdk9Z>zA%z4zOsXV}I@A`>`83RZvEJ(Q z`9S7L5)3r$F&~Mb4T?sN@hW~iAm(Gt$K-OCJ_cf!bAYHFOa@z4^JpO z)HQujFek8&MaBtCxHY*hn}e1uzE>tx1I z+l5wFS7Vp>Oz^f?@zjaOTr(I3fxSN7mA7=k#k*NZ5~si;^Yq+3+@!O{3j&A3b?Nzn zts_wlyy+UL+72xUwuJ7KV-Q5O4dgitFTJloMqt?Iv%fM6)jOr%w}t6FjmGs#|EzkMwVz z>??C`5RM&KE$uOX$36AtPN$km_QDWIAK}e1>rV7tjHO_Jg3rm~5clpHSJou7rlL zp;%7g&gF>%6w`r`)t%jmMBX1eaJcIUuM}-9R=gKcx!U{{X%10BtYCwFgg50HTc)glW0#;CxNbtC@u8D2AeCl zzkVO&ZN|Jlf67sj2q^IPwCzP%T1IUMizn16LadUkhfTX*sX67l%{vj@?W*tY{9?PB zUPiLGeZ%B771K4rVJltkp;S>94jC*rgf7SL){s(T8y%J#WY~k^U^8D?KO}6wWVX8Vl#V3C5$}t;6**5bVa`!;2TbvO0)R(li7XO5E;&`Bdfu3_Cb| zUn>-G%6KR1#nlV|YD|alvL42Oh>z{m^Uj#DQ1n6B<10JVCX3=(ZyH6d4PNGXp)b>L zz6u^Z*I)_`6R!)4p+(w!z@y|O`Mqv-OPj?n@NLlkd9gnz_09K@6&fJ~gytaAj*dHE zkASplwNmzp>7w#=oT8zG;PQL5`w64rm8p%0(slw_0w=%aD0Moofg{8<8LDxRB ztHyK=r`wC>g~rpP7r*v8%YCR=bR4`o`a0%Rya};PZe2iYx5q7Ivs5yAMHt>GT&8?z zWUZYcQgiXM^mohBQTW|V`KT-3WM)*I&B2W-e=jvgks?5@3*n`1PY~JoZ1@e;gbH$Q z2IE5Ic!Vafg+n{Io-@|i+>JCbd>#~JFC&JD3$T3r!_#O3I?h$O3IC}&uf>2aY3#O2 z8J0g^rDWOF@Gf%{MTOHa5`@E&mL*AQloHY<>jtV}dj@%z(+lE44F zWwx1t3{Iz>aJemV7-&=a%7Uvc+O_gRjx4BUH@3ki#QBrEnw<0!C7O&1*e5G@)@=lS z&)EYiWzXef?N|qG`ybM~zpt`WVdtuK<>^l=k~tIWU606Potx1SEjnZE=g)Ii69USB z&TTPCzo5%eTp2Sup1h$OnRzM_{h)5&oo!#r{jp;vX0B~nNzMrGW`lAz<5d~j4`FAq z_g%PUiS>%;V^uHqFN22xfe^iH^}^l{axMp1aU64WCm)IX8&##+d||)IL;Q>ep560u zyhAEOvFF3L!E2vx!99P)y2crf8(R^lD#JeJr%WOrr*juNZo?uZvQrPq+jq;EcDhTi%i#nYg%e46b@qT;u{4f3qi78s!PF87@c5EJM_v=gTPD>kp zC+QpnlJ55Zv%>T0&yTmfxwFd*g;yRkuoi=t`i~$gcE!HL5FwD2xs|+3%l|uYc9GkN z4nD^xGTJ6_7VgrL4#9IP-@yV`MIV6Xz^f3GJd}c02u0bC^Z&l-<2{>zO<|e$>+=^w za!mgX2CV^i1#wZI6{!S>jashP&Njk)C6d-AQ!uZocO7%l*&n`z9)saW?mvdje&GbT zcEjM%)Y_@V6)>o^iUO?AaS?}%IMiJUVpc1I?mvl|-0|16q?Jpt$l`v((2(;}j!j(U z_ z9z6I}hgzGJwp42}bPK4L0Hkq}2HG);LCQ!`n(4EWG{8v%#e#ua4`ODdsB!sOX}6_# zF^~r<%~%4pe!7|Jix;mX`!Yze(t_0g=z3-YB>*f?K_g(q+lsWB zwtUdkJ@#MMv(U~ygdLp%H}vUqr~hQU?<BOfxxCN@-8h<@&>?G$pak;^5It)O3f_(U zNHz(mx;ghjhTH)7l29a;00?<7ag`Yan&i$ygTx0LE)=NrfO?o7CGumbbt&Mxse zLBgR`4{9d1+_o;@9?sq0AmV>3J>64Om(D#-sM^HjWBPxl1Ht8m@v_-6eF7PgBzq z`3J=4WH#Fb@{$GXZI}B!;n`+<`3Ehw*<`rI%Lsp?_HPJ{*0Z*`kKCUFp8luwC}t|L zowr2Ac@%3uFjavHt@(VPiZ9RT!&ip41gGHU8JUTEZSD!QU77ESSbum~ltSV&qGlwl zte3yc9f%%pGX~Q!>e&ES7&cvDCcOgWAEsv`NUR$ww z%kj(GU*{oHWGAefZH1=;gInK=my&Cw`C!$e&r3rwExTZCYg;8ISkH>;q(^U_KBjwAO;gkVX)P1FUM-p}#ufk=O{s#b}e8CU&q z#hNfS+MRG@mmV}rybX~Zht=l-fn5q7z?<*2at*;)ipZIDBSq{#SDmfy#rE)10$pu) zLJp-Kr=QMs9NgAEyU3|N`nNSpj7sG>JYsq|^}MwZ%@0jM-yH@&>iKh%$Hr&t!nGQ? z2vfPvdV`zG2>yKHue{Jr0n*Eq79;|7fmgLr*mE6Qt8RyGREs-9&;I&|;=N2FBlPI- zmWPBN(1wUxn4IyId6c0Ya6&L8ePqP#l9!DWO^xsM^RvmYG~vhqwqSj9-?~#~q_*Pr^6OT?`Ff8--!RS)pQ}Kmed_+>^!oNgHLAWXC9@TWDrJU!4a^;zJ zau478*+K5eD&-ly#*WNjge`q)!gX5Ig!bzWbBxo&zvekuCq_K!$e%@|cbY;s*IRPb z*7iO2ER!Q=lknc$BX^oD5w@;O`OL$ry$SCQI_j`xOY~jlKY%W|S_W>g6}^NM<#wTw zOML_)hcXvx-eED-NhNSd8t*I^a*HVX5rl@xdb7Vt89y2KU2rdDtZW8yctLjyZ5!~F zJ%XgQ9^<6~7mFb^oi*5Iwoj*C4>3j9%K-IYAI@)g730>ATjslUN+5eZd&X0=ldN)& zYI1`TAG{|pvswY(HNewyDyRzT$kRsvj@)D6oeVi88bN>U)eUu?RDaZR85=*L1&=t! z{Lpo95l!6ro!Csy+s#And+!*9miT_TY09*9wG)&q>ruj2U;cQ|e69$JGusSU4>Gq} z^Glbzk60}eV?t7#sT-n1u9;d4A%!E0+K^-_^y&r=x)jG}ZT0Q>Q3T|!>&kDe1?hB@ zr~NlI3!TA2EY#UHe~BP_buf~nyGRGO7Swqr;g|UUgjugC8LAQne@sU{+%r%F9JdQ{ zRg0_m3dh4b!i7#1i(PV;Z^l1jvXzUidWv5hBR?LV^7ii24V61mM^9T&yFj+KB1qhx zpS(WM)>tc+PYi<_fA%wf@?@rqhC#ZkoE2?tmKV*#KlPa*&^9ri8^^=Vmt8oqoVf(r zw{o{5>CKKBkOhn5k=JxttFpRVoLrQGB& zlNf#dLm4h%SBn49+Fwq1XB>Gk2c3{EKzY|7X=;vwWs3k=stb)azaKXZG+5p^-gdaC zceEhsy~DcA7h6t+ecZ76`_sXD7cX9do07Y}KQoXowcZN*YulmkL+`>bU3uL5SLW64 z&&PIOy7o5g@14)S|1o**()F*sf9HPx{sN%1>Tuy>3Y#AWFru~H^8ar`-=q^5;{=e_ z9nI%y`Ge@~U3RR>iX_R)w@mn7lfXe7MqRUAnu10t;>+deR}TK~kk%!CNRvloP#uU} z2yu7kagZh?5Nk#A%sBqfRosd0E3UEn0^GYcT&gR|tn(;1zh=z~Y*t5q02Rs6wj=Sa zs2QwEvIiPPi0bZmK7IsnPx+m=MG`=skW>U}n3TY1jFm#JTIMnR#~W_vaAF&Q?#lSn zs6)F&j~8;#`L>kFYrnf06cP@DV4+5Rz*MQMM>KGgQ#Sf%*mp^_9Qk4}-~lEfn;=91 z5tLhF@7H99%7$$;(bN74DtZ>%pH7NyGfuqCDPdf*hjxs$QI1Yi&;xB|v91CR!*loe zoz;ZetSiV+YW~tz8P%u(Vx_oO>I`*q-uMc#A7^_RTtL*D#A?h8XipC6J%vX0enD zM!ZG7ljh?=?1doguMlclf;g?s1p#38J87SU0*>v>f^YbYok?n9C0F?m7S#h~&eCBC zW9ggV1zDdhuVwHZ9=2q13~KPQm~5I%FxT!P>9K$WZN9(Y&|_dkjH{GxJvD|bli|rV zg87g)5|Bc-QQi7{mwqTXPbWitU2=3As!23`@ ze{yiGpT~5-A~$hwdouE13Z1d%%^dZQC;G?!h%>@;Nyy$|XR_;} z?m4TpaR?Caw0J}kxx#^TnFXD3P4M9gMYIpXyRmoDtM-O0 zYn>%bSZg@Rj!0Q-dR#tSv(9-(@u09~T@eVW7?F3iFSMam;aRk8ZyKtC@bga}$gGOk zXLV%B$;pRd%Mtx#jO+T$wHt59MPjy@eB=~F6>M9HzPO%Tx?bn-<@~E9O%L*Zt{N~p zWr2HT1uq`1?berlX`fwwB4Q}2K=`G&q-inlqEK?)3mc#z3!Hz<1?KG;n*dE?d^BpB zSNB)FGktIzn(45pQtuVUf#;+WK=vKdVQMwn+hka(_BRT}d~7zOKFo>c4LfZ)wztF< zPLr?h)4?@cQSNq=gPn7cIm3^+E0UHiRXPr2Rr<4jT-2K;PP(e$ra6quuhvdR;4$C? z5nBxo$laUSX2%3V(T+&K!g&PYzKRxw2E*_ERWBZn#JPb}f z7~%y$>SW&ZqE(PL!nS$!{D_u+l_8KO!k5~%2x;aSrbV&pb;eFK|D0RW9^OwaB+D3l zKM0?5=gGx#3zF%t0=Ki(XLtpAPjkM`Y?~StF?i|~mnN!Hc|&X1se+%9d<0@qhPMu5 zBVydWu*QzDf={RqN5$+R5hB}%OK|FWXs#=ua6Gk5$fkIv$3zNMj}k`m14}i{ZFl{*mdCpYaFZ^ z;sczSR+$RCyG!StL%0(edh;(OJ!%gdWj!nK`XIAwj&*9)NuixcLBL)!J1h2gNv~4- z+rIk7E5_X1rQSy0q)iq540Y5YTw4z7p$ffms|+GXBq0$5YOdb0&@vt1rzuB|#Zc6^utb{yX9P{rMAew@dCS54NENUhV|EbZv;=q}Vti zhxxoxgcXX<=cV#d8SbEi(OY|g_LbqWlj7H|Prjy;pMgKCOufS8g?jolsGlm!@j@`q9 zlhU@l#x{!$Dz2%+Hbs#}7FqrQ8;~u;Te|UpWEEBLO{y?c&jCE3_!*e~Za>>$^mC50 z8;)-xyvX1`FasxOb?6PD?_pe>5_=swp=88k7yk&lq8^s5U7)nMGbuCAuI`oVMNCJX z4#4V-2!O^8_wfJ_>z(iLU--}JXfSxKLBNN-yaW=Qs`cZ2- zDS*-b3i?#$*1#fBTipb*Hs6C2DExAI$LxzMXnC=K71lSO)+j@~w5?*U^l2x*N>#C~E?4Jj)Lva1-HvJ0tC2hvC~V6 z8Ypx7DOKRAB$(gAZ=u$ifiu?JE-m?`rC?f%q#osJL!kA|7R3Oeb@|@EjEq{0s|NAG zeh%QIA7{=z`##Ln2fyJ*-EU3^th;Qi!l`w_p`Zp^W&6?u2LdP-qcHjJ$HmBHy)(C2LuXW6`RRr9S0q$SsC_hdo zf|h!&X%Zsj@*oeKIVfX~eN9-9a)JqKXuNo90xe=a({HB|By%u?ji($OYuZWPT-h)E z@kD#=eSRkcv4i!v`)F;aW4{K?^tqh<#fF=K~JWSnmxU z=Q>zIi(cJF$2XzLXC_l<&l!B`;qETjE z9VD~_M>`CcvyK)*YVD%L)z3;eW^yb?L$F{EqhhXHY+ZvTf)vJ{J@)^LmEnKJZrZc3 z1Nov`-XBIKt*HP0GU%KfPO}uAacqa`Rc+{_ep^v&E`kG(@p(7o^vHEnJAg#=D?UNxG7} ziI?O?4w9*bi0FDpN_kwC{ZhnN?{1B)XO_UtI)3+}P92m47MlD4?JRi9pdN|C%&3P- zE*Tw(yCfK5EJXAW*M7loN1+t8`8ch@?7AiB%<=>Q!x}_)Q0u3BDt4}GA|lZeG=A-s z76n!>wtC{xL+b5fg+UYXNmiS0KKJreTZ zNvLw2(jLU!c?>Wam}w5eOoM_eP_0s2v`D&LP1sU|nW0B*mhB?R@T;YTm}K~)?F#_l zsyI^(An(bxVKpY5x5x$tAUc8!N36E9nf|pH;$AFp1=pGFU z7Mw0FU_;{StqJmkIRowuaB1GW`640Tr;*fU(NOI|$`3U2LY z%RqD{9Hz|IvA7IH{juKM>-);A#;OdQf^iWe<_lbIKPsA^saBpTp&!D0KYdlLj_z;B z>>Qd5dVgkRfm?2$uO9b-7q|Y3g>9ms_heDjyjgDQr2fZOQEq*pE+Ndna8(N2U+T#B zUbw8w$2P70l@%p%f#LU%;66IOecC&gl>j=CE~Zp!FQZZS3s{RTj5sFU8#zk*y2I!A zRILSZE5XC_``^W?f)2vNzuw&uRy}rc+v?h<{2CDRAcbN~E>Z<35on)@*PPYBh3>gn zW7f+>$DhpY4fLQzvvqA`gxZts*(*5gjQs7#tD|H1Gh_6~r9CN>U`Y`Fe)iT5Z0H12 zjSAI9LG$d#_N!f->N&yATeeD(a|S&oKpAB*{};h^U|i)dWDEqEuu@;%XFE5#n4_^d z3}Voc6mh2&{s=cgU>6+;3hoba%l(lgZ71)+-C@ce)X5t zXWP(DQRMpDFasTGr4Ne{3&8I6n0nHAfW&`N*2LlQ?I)H6?a`I?#U(S&-zBbyDvJ!A`!LC# zaLR7v{u!icsvd!xSx0aB+1=la_R*{73W`Miy`+|uAw6{~bK)8AVpNzIw|d9CmLBJz-r{`aNkaqEr12#=lQcqbt5^MhNK^s?c! zU%c+tDy5Y5dxUs!=06{Ku8a{m3zv~&Zi+8vwBto;?H>WzliLEYF45yF*6ydigI@|l z-&fFaiyu7U9V+|2o!5+(ig?oo!$YXtioL|TW7(V@zxi3)unzR81RO0iRy=5+R@{ zOwMURQvwrkiv?%j-cKE}O2S)(b~BCMeWZC=2CJd8V%jXV0Qs+m6I<{JO+?p_N+vhj zmM1Pyr^F|PU8)n1i*dxfbR=?qx6Zn%rZS*~OY;>5n4mf3GLrI_Om;Wxpj>{(svZER zjtB~+NFG^e@j?HLf7cm5!cw#60K%fk|QJ^C+V@A8Hy~j&K%y?@t z@OIZW5xrwDem{9Dm&#!%5b95i4V)w%p|38C__u>uRJRvHe|O)};}83Ri+0v7$!EI3(h49=N5Rkp-0D-{<4PWhLb7 zJATg1^*MtcO8qB=tHitW05kj@?L525-< zkBZu{{X3D6t!wF;4FY7an7#*;o{*<>U?a_)gZ$o@$91!8JoGwDG^EezI&zVz;X1G6SJEEC9Uxt%uM9Y z7x$INrCf0FX*DdLZpLDYH7l)Zg(fLaApaTz;G@#b-}JWcak|6<2ECg<;+)Gh9&S5^ zP%DEiUs6J9fU~4vy<%Ve*?chzN$2pq_Ze=;?-pA|q_ok!#1D%aF0g-FXv24{MB^59 zk|PXnoJvcfeWLbx5v~fb50-0BDSsi!X_*vmdY=QRMzXWoCVFbyY13nK|8~w&+Ys1 zWOf@imi3XJ#H>ag{>$5q#H_djmL%_p3{V76q6*Hg5K94e$l^DKiYVA&w+kumJI3Sg=)2irxO1l zCIfbLs5|2_`kNhVPL-bg+@G*7?PxLOB}?J7~F=K?>iZagr(}du+apY?}Odp z7n}F@j;>qy{fU0}|2|vsn&T~1p;_Rp0$#Mv3Td1V8l@PEtjQD9Dd;oee>5q=w01hY&j?&pmIyLjee*5 z9Q#Jt8M%AmP(0Ftj`Je*g?1S^MP%@<)fvY7Z(N;t_hOaey@h7c2#+J5-+hEpU)1qlaP05f zMig+u|0j1$S~j!W&bIN^eC9TLs|>#~`!giA)K;MxuxK`(+KPFU1R)Bf{}%9;dn_0Ied;N1W<0KJ?@=f8nXvX7 zae^PO58sw{9|yQ65sPbX-sUB^c8Pz!U7}IvrD4m~EL77-)DZ2afWZh-ubf)AgH|_! zyt&%)Sn+AE%8yYYC0!zh=gL|aBr@+Krw@0MP9o3uVqPA7!R&Cw#fn}HhrTNK>BnXC zj}nfZ{aLLCenvd9e(E%T4Y&5*FnwBlVUKJ_070=@E6fdhJORR>f=tD~j5Rz#eEf0Sm>90<9E$`A`1Z6`7w z#VcZz6157C9pAUSTqxjjLmixdxYL~d?XaOch<59gUJE_951Hq>ROrc8IOA}JKv8yC zcoq{axEova$5}TazRaWFaf00^+`2~UVw172;mZS*lk-Pd(8S^u$5q5$?G;1?PoX^M zWv6X7H{0ig`FGnL{h80zD&9l1?u4h-Lpwz>PC=cPNO%~yK~G`2RcEU4?I_FQDe zMzmWj+BvQ=l#E&!Jn}b;ldOw#Bm~kVb@7D7;?g&sp0q7Y&F!a4l&p;012fYlh`iA{^KM2Sf@Tvmj&f^}50;blE^ zER%iZa|mBed<{niY!tZ)t4TNHrWLiZ70eweVK&jJ0<@&>li(MEO>jLUN*nAQ&iFg% z(`Vvwrg;nT#7F6F_?%sz%ck6SPI|{PsPYT}=YroLY6(|uTX0qzd5(m|F@Q#J)kak%P@ zj=V2I>D0i*Re>s?o$y;}ZW8%*6?rXwhtgd&j9qCK9mXH zq?&EjArOEgueas`o)F*B{;ra)P9en2JIOzDnnvJ_c<&q<4Vj5!*r4)>htVfq{%}Ow zPPU?=X2}8OBZ4UzgWljnP7{j2K>Jke(h7Med9=tjF2g!T870WPfe8|tIr8H>2ovh4 z#q%+k+p19d{#{1Yb$YwigsNjfu!=Iz^Sz0E018{PR2ESJqZhKF`LjMKLPxmi{xxlp zpN~`sORuoCH8LjW4iX$7%C?+JhFlWlIv~bZHWEEbcn2p2>WKSh!Un0uD3(RL)tL;? zi#v%bp4dcQ7J#NNg7S;MmWsKWJA_{!5|<{7(bflG!nIRNsC`x8)lA9$j>=23x;0!` zYy_iGkFp2~CH`{?{Ha=n3Jcg4)m&Gw+~EyEfWv3F5CjiLVPKZfc{gL~`CY1+@O;QCW1T1Y-q4v3^PYQY8DvXHvqOW*68h z#C}CUVfrE-F33HV`20CA_t3XK3!hZ8ssRA6)ZZ!@_(;4jM&lEPr3NOCitx?&rxzNZ z11(r)_6dj45~X)CgspSdBuP+YYBhv*LKIqG4G~16I}WLJBnB%fCo9`cJwd2BIQRlp zh(@p1%k0iX(vz5_cd*DVkElhyt#)nFkmycGKuO9;6lT}ChEl;hCHAWMbQh+koyp^I z+_z6y4`c!O+L(2oNKKGK|ZXt6l$o~n~W^}Z<;xCQI zlT1Vk4)YxZaNm^y+h_907M))j{}z?x<)5N78`?tbRYWU4Rj!AO-( z{0NSu88tUCHV0TPYAGq(kzkz(1i0vU(#?_)#sW2J)-#m^KjVbW$_hNYSgH_1E%peN z_WtqRG&FOB8LNkROh-)JW*c%6h{r@GNke$6*(RMZ#X~X`AHVu>ylFVCnOz|2Ud3Mj zx|O|Lv>B+K|5%&_^X@^Yr8y(-jUb*AGezMeYM;#Jd1r2j3eTP8n3hTSzZo4%f@)+W z7*S7ts53;p7F&E;6Gm{p94|KDX-rIkcby<86<3sCGh`D`9itNa<2J z@Io%azw@FL{b_W12c{TquT~X}tQtaZX*QVt&~K4e=cCJ91y;$!xl!fMUn_=Xd2_HI z%2xM1#l0Ti_wJJ(KkTY=XjHbC%A^4DQ~&+YD-`gfM-e_IC51)cyCitSjtmbP8ovU6 zT0;8N0d7$enzxe|KvZTCFr1Y|){uTZ1bmhNn1=vu9eA^2>w>$~5D|)TcY`?%8#0V8 z4BRi?|CF@d`}q=Vfo)9>|L zhfT%{ADo%KF%dOvG1sJDoFAPylE!`M&^bG9$2RnHO(BHi!Xkoemii&!v0OnjV|q6fVn~Bo zEk)RK`AVC1aw^UTvoH$<57jnQ@k{z@^!V$m10%So`Gc z-VOAmez+-9m&RY*Ks;)>Jh!HmzV|c!SVCro*=gv$s8|V77V1#t#!lm%DlgOHNoYDU z``DkRekNiHkeNO?{}0CoEJb4ydiRuZ@^Ykub*;Fd(QTvU+1;jtstMSZ-B$#5QL(jg z-U(y-?fB}gXv(o*bwy^5R`)uL+dbQp|HHQ`jYzf(mB-P+whBygq$>Q76=f8_1V~6A!8V7 z>&C|N^FcpwMoI8wx3?A$4@&fOOS4d??HfRL={~FDm&50H4)fYi8%6bZ2|Ltkh=r`F*D6i_ou zhTh*GW`a|9^1P91Mv)V+OcUm4RCg%pwPG3O#_GS~I3zQc*rBS%F}^#EmY`YWWEa`O z4N#SMj=MYZMQ!9aALKVxn@!FS0COAM>I*VSPWu7?#$1FMB(jMEKAje6>YC|usl=a~ zTbPQLj}K6ILqm#&Hjxsk35Ae%uiF6n+eNE~IKzeN5|-Y*p_&OY7m$xRhVRqnw>J3QqAkP zQQgpVyqsafcJvsa0myj^PS&NG9q{P%-I$P1$#}*2mU(9_)Yni z~Oh?Q$^?hn6JoQFtnOIOj+m=4agrLZ9CKp%GokxJ^UR zedg*cKMO4Ho5?H}h*mvq?Qr;^YGKAr$@9)Mm@;-&amq-Cs4PAsB^|{$no_w>Edw5( z_7=}vCfW?Ea5!2=n)Mc(OX;#(<(v+juTHjM4VK7+EOWa`5*Hz^(gYf`(2T#|SH9zR z%#aPrS4DLc3oJWxbYPQ8ig7Z;CdeToZxXvrh|Chw$_swVjmr}ygH<(HV`TTJx3_Co*Fs=dM_W?(fz{yo8c}*ZBiBq$2hjroslt3m4~~>T;@%8i4HVXpB29J zST%hwzPIVn_3oG6d#3M;saI<53Sapgo9<4JxpMSL_bb1f)5e~x16OKa3ttC4o$lTF zKW4Id?sx5e(DTD1+R*s;Il*G6fQB7;)Qn{E55uK%9GnP%p#@Hyl%(hU+MN#aF+VP^ zmx@s=G^}$FMyJ`|68D2yE#5X2CV^ZTE7d?ij{)Vg52v8&!vXL0A}VQ2YGFBv!pM3Q zORELlXF&7?3$Y1lOowQsF{bzEI4jKyhgnQ{je{ybZwB$@r9l_wCYfL)XcMEGfYMGz zP?r-uP!i#j;H3=F<)gi6*8&ai|Mt$sP|0qJwhbb@w3gqUIr+t-L3}`A7HT$Ifpz%- z<1G}^ruF?DSn_Ta5KG3QOeICE&MDJy9n_r|X$VPG5`1q#ea3N_d42ZVyx~^!$b7l08*50onA4CK!B4pfLqdW3kqF9zPYHun25~4!^+fGfR zR{tF4lyiXStv+J0ns@8|3a=8YMsZKzPFO>b6$fc=JVR$dOknaAPCnvLBf&g<+HJyX z;4l&hQ4sK7M!^3w>9qU763v_cOgaIycr4P{7m$@Kz}`iY&UxPfm~q|~2YNG7PPg6L zuiG@yH_&v?aIC0%MSKS z{^_o_ELag7C)1@)+@>EC9W@-*?#w#4IDXE@{#G?b-l>Q;PJJm4x9qlWG;jF$oO3zv z)-kUey|eEW4v`)_8~2?=^Ajd0@)i)ix~>p5tj)37%lhpMjmVUT>3zWWP!EKiL~J@( z+F1KS_sQ${d}djNk{9ZkE-E4rRVPw7Z0Sk|2hbN=9FQgz5l=dgq4+`-|L8W1S6i}h zKV9(x@^bEz=Miz~G%sszfYNiGx|y4~c-vOU0sNHT#-9lID70YwXnvWzIP7#PKLRRN zCXxoFaQOz4Y8*Z#vD17dO2gv_avSPS!(rSpz|7y$Tz540SqBy?xX2x1E&BLLNr-a( zI1ckQHS20x6O%}EEbUZHIB$qe4&PU5%ua_FvwidBr3m!x#XcQTFs{uoCjL71X0hFM3`#R(C&oW_Myd`pB|<320pctbrWqRD8v7Y99J3Xs?F!!u)4|RoEXfZxa&*%0pYF@UJ|KJ(TuXv%aFMtXd zcyzaqwR$#r7mlK8F~hMh>gQxE{c(rto9O%*cF&Y8VysV#(-9iXsVlf+i zVvX}AQHXgm(pR{gHv;>u_HXDR|7Kd<)jR)})ChdXgP?hWBHC6IeW@^$#;{@ecJWrN zI9Z7aqtPXXHPfD=jZG&%MiRB@$Duy|Yi51#H<6}m_`hqYF4*BML9e>`H&CS+W`@vY-G<;gIUBog84?Db{Oh$f)ADy$I(I*zs59!ch#AE1{TTOu9K zNTh+Gsyq`%U5*R3WyZuwfoCN>?&)3=!P0LR0G3Mml0#IY!{^|obY?MwNRO#1K& z`Y5|FFQ&)!O|x8HYY!Ywo$YX~+Gie|-IX zT}Qc;RTTAX)aFZbXY{2lhwndo74+qXzU)%Y*{J6e315C4=()80`u*pB?f!CenDWcc zz(*u|G8bjc>d4w7DYRfGvo9!NswXYciH0^IBC$K7|bspXtg`2^T+_oh`SZlDJKpMc@PBIj3`jfquhhQ0) zsc@{G4dRTaNaH;harby5R^x->$xV?Jd*+m7{UraV;g>vc;tRO$7-d>$9WGV0K*ds9y%XTCVVyw;FO(HmSJ zv-yAoDw5^4Ki*l>E*@;+sIvCHzB cM;-}@;D4Rz0P>)a7XYz<5r_SM{9)d|1Imem;Q#;t diff --git a/PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/overlook.png b/PSCADA/电子行业模板/common/resource/zh/gui/icon/robot/overlook.png deleted file mode 100644 index ae75f6c085b6e4cc44e15153046bf24e110dc1e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44761 zcmb5WWmuHmyEm+e5(?5C(hU-l14wswNOwvPARx_9Bi$e^UD7EG3`mT0gAOGjFm&?_ z-uM3SzQ=y{e?Q-@W6iqOT4(;&8P|Z+RpqcS$uJ*1dW5AQFRl6L(POGdk5HJ=pCL!O zQNpetJ$m&>L0Uo^XtLL7kZi4&v2`x8Mrk?bt6svRbsUC@jw=7^GxL{_UYV5k5^t^= zlcu!mA=kju`bEIPa0RvT?N82{oeh`CmY969w$GT_ubyGx$cH3{l_YBl*;)+%p}c+p z*V!IxvR2YI>o@|mM}d)q%)DzW4d<7uo%iR9tB3cM3*xuKQ<&|0mGfa$277!G)pPET z$(8P0tnYP=u~U6>l%iEatV`+V!dUnUqg)avwj;t6!mQ^9cR5m53tRLui-z~Bf;3PG zf=A_E)xB!$@fKCgRa<7$sHc#(oDk&hPNH<)(rWZu1ls47rq)WGVO}P^9&myd@Cirg z+$Y`BId`~GBoei-6yX-}qa*Z>QgzV#K55A^&SPziVe{YwKJ7L^gVHE!G31V#N(n!a z`Pqic9L1!9pXg0Yl=;J6sw~?rppdDDZlL3syi4~p1!D~z>Rs<&iTLe+Fh0-x zA;6469{G_l%by&sULnz5dB$qja^?{hPBpWJo6S&^JbM94&g=YfeH2WAqgkoj4HGYDcT#j=e0y0s~9sc!W4V5uU&6q?T@CBj+u^0Ej0aO;e-uzbTT6<5B9vymI*h9jZ)kxS)QBk( zbg&N0g|9d4wM=LE*d&v{X=n(VV~uQUaA3jWmucJE&0#>{DGDKn4M?ctptMWJj*17{ z;8;eDpo35frc0;nj(n<`4Px*o+4MrJPLU-mia^vyhVcprP6SP^H@WFW4~|+c)RJK? z(XU|w*6<8L5(BMifa1WSzv#*Wd{N9gPT2^7T8{a+PbFSg zB5rn!yS|0zyK15G<2{xFWE4;2W(|D+xKFW0LC3&45p*+|gPK&}PwD!|u?3G4BAk~N zfg7syZk&r22zl*cuZBt)hTJ$~DnC~lGs_265OEm&^fjhX*X{#ANhomsFnpuIiD$r$ zU*+Zs_)*GnAa}c3KkbU{VWfSH1NU8P1}enVQ{q3ROyaTYHB$s+ zT@3C1c=)w;9O7{ZyGuKn+O7E|tHSD10BHc_HDXtxJCUM3lLWY;BiPAem|jR7?>Qix zG8jJNYoI;@_sHTS1#@kRw8M@N{4uR2{6wp=9woqpxBKaPKL;Z=p0r{si?FHFdK~}# zI}=@Lejte#WRWn~B>Emp%q+8v>31Vaa5j*h?<>KyqC!FKmhl)K`Z4Vf9bXHUa)vQ$ zeAR;u#0jq2P_#;atFeJZ7#^5&kR$#h(uzO4C07BU-QNsvm(7ALpL%HTNrP-H#bi5o zWobS`8n_3s6M^3Ys0$1Ml+v#!0e_8`7|%i8hE-aT!MG1+T9ujknO+h~mQ;8fDzN#!5Tx(%2Bj;xs1^(o)gH+KK3tTp4fEtf^IfzeEHfUJ>C9Ml6p?QysP^!R49ICKmDxmgacIf8 zhsq;H4~q3UzdyfD4a-n=q{a1YSB%V;G}0scH2BWaDA4MKFZPg2ny+k>S#nau@YgJ! z>5$luSI|%AP*q$9!qX5`CX5kd`k=~EhgUG`dXf6AVD!jZ0oztvhedfNRC}#YB?kD# z7GpfKQ=Uo*b?y{J8;MKM5uHQaaOKMY-Jmdqm!Ko=^=IVLpN-rS&R_~4+lnAby*$$) zAAKjj_i}Q~2V(MlWWj>HF7J9=xNySjLC#SY%xOKxukftz9~GdwTA}?Kd65zwN9co| z^l{EhJ`sK3TvES}kFUWH$NMog97h&l_w`!>!b++!jKAkp`7xK9nTab?!nVWL1qO1# zCK;-4-@r~%!V(h^0oUL1P!bwXozq*~)Sgi(O^0hRl-XK)#Kt5z}vHCr_ug^L0!C=F*WIHP-MmAjS2alLNi z<8o6yry^i63s}I%uX8=+&~goSUmxPa348o!Hg~O;jVr{+8ru2ty?vKNr*5CBBn6_; zAeSc0tZS%u(e;;zB!LRWV!`fUvtP8=p^G$R6r4HONNGzy}-b*G1|zt1nUlB83kf;)qH&GNYbvYRcL$aZH`u+;w}8hY z_f(l_k6s?E$ju$k;R~i{bc7SR-tGCaij*f$JoBjOdgMkfFvR|*wRRZhYd+46WO1i&mvW3B__EBvGCk*GC;n%jkI6KU%ET8#e6RBEr*1Z-I0QxBN!SJJ zdOuR|Fuzpab9YW6Y5kNq<90|K$ubEu{yMAn_PVrF(|SuyAw#?jB6-Ti$Rkw13GP|v zJxhVAvN!*TMRm~_-15|6&2xm6}!E{{}n|N5;(ZChZ0=P7 zLoi&dLzs`|JYapb_pf41GOGV%AqKqn^LGcw$9O4U7kX@w)J(}|QdTni^SATLd2Z?~ zq^&US7|SZZ5;z<6sAMqHdxX4RVA*i8A(jm5x4W~7qDoH{;sXu~jT6}qbI^WIc_%;~ zTaG@b*T~vd?U@_DuH6&%uw4oFF^w3)SQ4Q!n;m2xCC)X!(}VTFDOB-D9s6;>rsi96 zxkUl%fhgPNXKP#Q9glpdEYHX3V#6N0iXO8^ik+hwcLC(qmXqFZ^Ry72iJsx4cJ^fC z-Q%p>jOu`xQr9w^ty5zJ2JT?@Ph+N8@WzcZJKwJPn}%jITxdi(%oo!@o2QB?QjZ2) zaY2-c3%DFm+oNwUJzCd#yV~ck53lWD>^$dLroAB3kA%IyRpW2JQF}C*bBpnOpAWhr z8sU0<^gFU_k$bD_`ra)3SoXPo6o;J;0_u$;&F>R*k_189w;HIKbdv*7z%KfY*^GCH zZPV=7JxMF#G%zi1%;GgIGdGR6-0m)pf1>HbYZSwP6qS;TK5^CskU~g<+Y9$lA8g1( znd4c8h0A#>~Xz_h5Qk;T9F66n9iJ?2+WQwIKVLWhqP7!DPaLdG|mtIDld+p3c+xB^QPQd*oLh+2(P^>@I1ax}j=1pK)xu zf$}#6%>9U6$e*XI-(&)>N1Dy=01SxpO1E&gxA2q~WpM$&@dbUvWSg7t%c+b3O2@AE z9J-DX8cfC0=}a80!%EjIul5DyTfgkW_HeJDF3?kXo`u~wobayYE5M?<$Ic0Z9?SvmWsEQRKw zhsD(Ohm!{yXYUeg?R)j`u6*d~fDjsvqR{PjqPRac2he+TN0IoxdnBjea_QV`-{MT7`yezHaMmJ(qG$NLsM|L;gE&Z5$M95^l6K8rji+)$ zt*H<)nIzU3E>qw)wO|Hk0lV*cn8K@Ul>ht|<$J9;9=iXzfBPT+ zD*gT}VE<)0)#6Y(p~rU3J>mWy=@LC{tmRIUNP1e=smOWHI@KYR_njk%ex7r~pNhdv zX@KoF?j+zAJ4*k2B{bQ4udh)wv6Zw}!1R^hF@t_KHxcZpBmD*bq&v||hr-zVeQF%l z{a&vM_9m$b#SFs<8z2A7=I*nD5fVZ@JarLYr6Of{&fPqYt3@hR=Me8tJ#(rKrWZ_} zcrhZC={|vnlq75#VxCbGl;;!574&s6gg&GQDWX+>^06FiRy*E+o2}$E{<006dG2`p zNy60&h)LxW=-mBymy;03| zOX_Ok#N!QnG6IA3+)yN4GiLan^KGC}Gw%0x?V~VtUsBV=3LP;84X{9Mzefw+yWaVH zk0Fj#>*Gp8R}zcUjRZl(MuO4A2aOFGY6I|)N`zNG%y^3F42O@oKO1qgAbsu#L2%a zdxVCzFz)*aH#;xi!x&R5w-2$yylHkFr^3cvkS?ZNMlWZ8$SdKX#D>*-A{YNUfqTh) ziQaoffFgh#ibwu_tEZy(&XU6K>RixwheBjO=%Y>g50^1+U9Svrx5T3-;9v5ec5W6& zZkGkj&c(0;Hho&@aaS^qJ-aSvfjLjtJU(HW={O0;t1Wn&-*?6?A4`;9pCu(*_4&AM zZ3&)E=JhTykWiXKp?SSI3rbt=JzvDX-)uY|=|1uhyd{&yQk+1ihuyrnQozeqbt>To<^d$bPWsh7R^Xg#FE z6pe|-a>RkR!%k~n3}3PKmax#UCA33aFzMbb&AiwKrTsiIkV2Pf$4km^YMldt^MIam z-s+c!(8Gg{EE_ytGS8O7X47!*C;NhsDX5rC->O2!$AOw|nVSW!{0un6;KDfGHP?tC zRx3mm-*NRZtK7c%79I7^0&$xohf4e!k8L^ekD)%bTTj4~o)v<*u%(Kc*IwuEz8a@Z z+&tavx~eH-it%J{(~N&FKQ#pPap23r!>0yjTX}{>+j`uc_%C^_ifZ5DZ7~0`UA-gP zPzwkt6K!XHVSS)%w81lKynO-=vQdFzIy|`$h2hB-=^TD9YA8jv2v>aH6nW zDiA?4$tf%CHtXs)N|5s1;?xw$_y5J7lC$=eobr2;Ka0hEF$^6K|zP*M78#>p%Z<11%B%i%+?ugjpLZ3E}<@#!Q6|Ra1ZgVF}W3J zuY6pO7s>I5wwyVNVc8HFPO)PFRM&1*9sc*3p9FI%3EyxA>oA-Sxa|i zl#H)VYvhA2pTDR4lKe#!!ME~`nx>Y$W4<{f?Z^3^%u;QGHg@6_ePE8ARaj);`MDsm zK@ontosdrUXO)}Hn6IX{9Dq9oMr>*tOhdj+&ZMp@vUc$+dXEj(>Ds=%`|~ux7-IQ8 zZ&)O~N8F!!w_56(8*v&^%08^j><_0p$lINSq>u&wrqFQ`^*5-Pq?c22r%qb){V(dc zeviYk!V5z1WcMB6vgs`qPQ*CcF5a zG{o%9ccwKZ@!W6jGLq|kcw6jGZBw+kKH+n3I}#*WrNUMGhmeY2ahd(b{u5HEt0e znJGIw(Q7Y31bHpP6vz1(8AKr^)oaiEEa*syPb=~){QNf`5oz}UE)g-YLJ92C9o#nd zW}F%yG;I@U4BQtYSyXX`1v(VI;k?@^Jsi#>vGpGMq+%Aur1T*oJgXkh^47S`c(!=ig>E%={5L)LZd-h-e|9Cj5d5|g^N-RGgV!0*u?y_l ziaj^lv75;5k$8Ev4-w<-)U+sEL$ zH9gP8p`M-rH&1}=KDc8h5xPD5p^+GUoV>6P;>W&A0Rmdom-HKF0NcB(pu%kV^tOwL zgY;S-5<&IV@Y7#l-oSIIxklmbB_W%xJJ-)bq2$rF3=D}OIzh=-2X`!IE0%MC7_R#$ zlcu+9A1YL)oZ$)s@8KEOCGZQkcVAR^t}d9qEF&JFa&HA5VkMb2oZ|<{vniG}s(PFm znMSJibio1>X7<}ZO;ityU-A#RntXI2H^l^CC>OE1u})E6Gt+@TWdC6G*uIF-W@M^8 zr{WV5tirGPc6t1|m6t6Si%dQ7s)qBL`u5dh+(|AmG-y!pqJ8Gg=RkPfH?Yke$Y`ht>z`A{P}DGrM~}5kFC<~9_4iPdJay&J@{|{=2pn5t7rV9 zUWl&Egp}$A9h!T^PHf0+(k^vzq-KyDwb}p*pU%&eCtv;;&!!=m zSD1HiSx`o&?-K6QeX4R6@LP)SyAJ!TMXw4*CWmoN{DtH9;;@)47pzEcx`~ zc+^<)$9#}i`(t}Nt!nKrs{1A0ha{y$c-TRE=W#)sNA2BKXKAp$+m~(!Qq-Tx7x`9% zzMY7FnA9#7zgfL|K1PonXdRO9rJsEDhOHw!rpQe?5dwUZ_60EZ3ki8vdh($kljpve z%1`7-PpNg?GNw=_#m2=c=rHQe=EHSW(mPX{Kv|Q=EXC!*b3uD2`8UI)nDUSi#16$R*IjI?xWZ`F>$;Yn=RxOhCN3Lr zI4qPJ0}^i8ybSTLffq^LaurQ|`r)o($0}4eKh~rhF%+>oZu0J*peJbB+#D`b0FQXT z_I^CtV==k@b?#=HnVggk!M5|~AA(TD2ObuFWnPTZeTU*pjefKJe zm+rNo&19_Pyi937r=pLgBO2?JJKT3$TXV~<9AL+v8zgc`urRyx3-9-6;6EO%>@qrB z>FB>8^l9T@&*e}CT<)}eQ+wTNLDQBi*FMb;vN0)kiAQ-?ig_xkUSrWXmK1#x`nrG6 zit+X}?-OEG-g?W#{gqBs7eb4dhQ~hu;mgUc@I9P`ltM`dbCnedRt;8~kS}cWA+K=D zy`KZd>$XFzj#6dK#KHt;3lR*mOJNyWz&90Js7-j{!)Royphio9GSi{@ysc7mb8L)? z1vjTb7(sky2MxC}t9stY9o5=^>{tA$QXRllT#TZA$yn05aQC30@|8yF_4EwL`=e8K zR;CHcWuj!QCDlmn4+^UD+6P)3eK${?R{I^LFYFyYyiVA%)+fcHrN;k8Os(G^9{uEx zj2)W3$oZ$}JeAFNgiiFx`Ug~qvGkSG8Xu>^FXAQ+2I{8qwV@GJnp_4SWHy_q4!FM9 zb7DyRWC>Y@Av9)rMbPlhUE>H#i=xq`QKn(Sq7C<1>v*o|0D)=7thoWby+ii!k;pd& z0*_@Y;^8{2-ftFf)`bB!T8eKx8C7sWZ&Pt!c#L!}dNzc}i!@MZD!llL>I!ob6e>S+ zeNiN;!D*M0L6%Vxi*7x{uzD$*%ZBwLLx1y0-Kb5{cRE)#PKdEg`J1i;G!Exb+;LK zHLH#AJzsdc0dr%U`4v~WoD~QLEmXOKEZ?PS;!Zm>V#!Jl8qtDn+woyX?2EhiB-S1$ zrnjq6^$Jy1WqR|cOP%^ZMJE*IcZn6=x^hWa(@lghJ_wjq0yr+8Z$?FqtTx^} zd3QF;24bT7LVg)rL!4!Fd{rTC>QZ2H)Umh-A5uPnx8;CJeL8mN$O@l-z=ursImfvk zov!$AL>OG2r^NUb_kW!!=uUx5f>#aKOmSm>_gRY`bhq_;Fd!;pQ){x*#@QBhXFuVn z!A?xql!7|RZL45SU#jLSVS$ZU?hUZ73k}9G=raqS94R|zuFiM+5xRJ4uxRB8w(_31 zZg!@_KsMJmO6q~#N2@XC&k@GAhF7Wm%s=R(2u+j*4s*CZtN&pmG;Wz&9_RQmF7esrX&mh2XTH$dVy>I*40xyHMdwp z$56$nu6x66kG7dDk&9JiqB5}op<53`7A{@Lm)Yx#cW)H|&w{O~6Ab|ZzdtWVL$st# zMxY;3n1}tE?75;n;;t)C+fKXgBLV=!y)(PM1&yYYYD*Q)QCYX0mjGR1a83Fcvif^t z*n4mm{i-(+?385yNGzN>XV+uO4dVkv8FA3X)D`z`Z-x%N9}ZCZuU-HzGL?tQV+@&tHZ3(W!uf~{?GBc3ZxnV*}uExLaFGv~jIDMNEt)bHv~alqOoQ0MWR z6-kUR0Y^mT)5%dP4VOTS9m)vYV8^G$)#7xHG5P6vZ)d)Dn2f?nG2txeP#*h>*{&J# zfY!5|6T;}8BdUXnUv<;$xx1>%@(|aC{Y>vt3~2igd0Ax)naN{}3t zo%NJ`C!}E|+_Q@J((js^6 z5m?bSuIfR!TGms%4z$ z9y471I3VT(Za&}kC2JbVqr_vnqxa2E5%dLSjHF|VfY5ht!kM(MzUAt$=jOknq7yHJ z6lT4}og+Z4jseClRp|qktJ0u!jT{AR>QKRSJ#SxiYFJ679Hpl`P76Q6>TP;qYRa~et1lcE*R{DuehTpR*O~^LG_kk}+?s;h z;tYa%W(-zL#(4;hEnF&MwNo?{F{^0S6|a?Gl+~!W>c!ZyaT(<-ddq!&Mb#j1J@u-7 zj2UjcQbMFA3((QDKV$r(hrGC48%|%Y%Azl!BcyZoXOjAVpCfDHN>R`Ugg+D>xvM0F zYBkQvrnVxd8BTf5Z7AUaXTGT|ETO#?`|dJrQmcj_z_{<5f^&o{~&e3sd^ScMK zmgRoCT@*iaRuOxCwbv0RS2TrWH$ieLtF7<(`KHDk0TocX&kt*>^) zD@GBpLmAjM?xilsHl_xcvy%GOi~$jK(D*9%?tL2`Ot>*E1=s{>n^ACbL)FCt6Sxx3 z#N&ZM6^?=dF*W8nEBw-*^MJ}j(gaBmH(&j*Czxv;k|jPSrPyrgj1j z>hGrW`|ZZ4VjR^G6m$Lx+bX#%M}K!@>-Dr7WNzg)lsy#gVmlyLnVYi7zb<#hf!BvxI13 zV9v{!U7%*Vo>yOaUsV;bdz<{GywRlS#4Gx3Nq`IA4-W&lpuT8uZQAUb;9`TW;~RKF zWFoBw4ONl4c4l7wQlI^L@;$cFhwH- z?na-SYXm@Mv0EBTd~{L$&|i=viVDUZzP{sF8)S`=I{~gAltT-%q;Tg1QFSY(F$)K+ zxN7!|$5zapeW;O5A_E+(4{bUesMWFn3mjvEoN9=Nj`DQthbo5BZavic+-+a>;TyR# z6>}u*=(L&8!fR>VmW>DTgSS$-SUd9{UQR}$Om(B|$$4}Shum8b(oy~2eqv&xDx2oX zk=~Fy2D)5IPLi{t+@e?N(vyWJB=nP%e@VpyyS$Jwd;eFzcw44R=vYvMkUa&8fHqQs z;9$DiavXhNdz$j6?KZ^&&*?SNi_FQ#gux7`S0_LV1cCrFtW_5LhaJr^YuaJDXVkB> z)J?uE1gH&`^9iA?RX{({DODOm_BUV#J5MN1nMYyQd~E(gXhi=^7I zu?cZBUFNFymmf{L3)8-?mj68e$MLW7p6%7|a?bf>e;Q72OW~{PiRL}nIRHzx}@3WDe z(2jP*Q{=%Ja?K5Pud%aX$yr9ABDc3w!s{;v)2kXlG&7%!Y+F7co_w)!(| zVp~L#Z%=`m&sp#Yx3v=bYn{pWUJ%j6B`nOIx)B=I&7Lv_)X~1Ke4up)@nUyjc56i% zHKI!R-Dge$bRDoQK5;I#=o0!1Uc?tF*!!A*fGZVgv$-g_Qy{-v-S!VD@IN&Ea7B4) zc8G4bS&s+%sh1Nkc!E?rB>3Jksy})L{`hdR|CeDR5O(17b`)}T-BPyyw93xI(H>U+ zf==)c9lu@FQJ=;4)asNz?~>8a1AY`;7jA;_;}lE}ZnD0BH&jOs86Y8r{=_``0c1F9*kI$Ah_qDb;a*?0Ejq z?~6W|%imRlsZg@MK=DPW-gS?y(D|5C-W+q4mYRsiPv+!X6&KCXi~4=7!}mW`tE&0_ zrp^g|17%G^cE7z3nBZfGlhU;Cc$w1w1M4%o6Awz3KGN|t4CQrV*PuI*q4X&O%ApPR z!>VXh-l!3ANb|Lw)9Vnsx1p^iJOT1=d?|)BWDKi9k-s)cK1i>&Ml#?oU+S+BM!1ac zK5-TMtBG0Nm|oAMBL9l=2Zvw4&(Xi`$@W+;f6VOnKfu){Q}eRp5-EARgx{Mrk~!ag z(9{x^Pc};nE_)d}K?f44hiN%JDKsq97W>sz)ZiN7g`H?3+e0g8KSK(Mz%IBlWGJIOCTVP1QIPlia0>`-yP} zLw7$nsxOK@Hui%`9oWfMNHKK{r%9Op55Ei9uTK`m+@O^7TZgS{FRx1qw=An_d^VLi zPdIK~{2v=gsHLUROrn|`=wDR$*Tj)!^1=#)QHgs zOIII+^`HrVw z=w1q;AP?^ckm`DRf)IETY+j*C9Q*vKB=YB2!ct`Kp%P|TIW&n4=X-(rw$?IPbk8%o z*T|COcMGS(kcmY$6g>%~D?t(>5Jmg?{R2fH+n+J2Xxe`d>q*Rv^5h?t_}>o3NTYTA z_IxYzwqh~`_&>dW`k=P|tm^l#g?su%hd_2AO;6Je+JR(Wc zj^|_jQ{c0%5u^mog#K|fh3yi!b4b(p>t~XPGO;U=;!;yA&lqmQ{ma~pVMV~dEJO0S zu>I|W93Gheza2EB7yd_LhDbN}KfV7~)&E)bhZIt8AM_#gL2nq@M8p<(;hxvash5uoFWKe-bTBJDkpFRj1 z>7m*lRr(>>W`k6}T8e)zA>+$P2*5+>lYQ{{3eQy{b^g^gq-|yeBh|)n2x3zyLg_L1 z5277$dH<0cfuR3(I#PZ99e=>M-2X8DuMYiPpD_5v zzdH2%|51k?B*cl7&=Vv+&m@9I^?jrSY+MVA`R(u0ASfa#)i0m31qC>mu3k6IRiq&A z&`ooR9ipWTiNG+=bvaIv(LiNSp?gOMJaF{fd@&Y<=Iy-0G61 zqYUmiu6@{4qA0=DrnU$Fzo4^TQ*%%3&{?$-tzqxVf_IZjSnMeh z@e0Lq7d=8gAr4e8uO^wCNET}ANMy^t~p6zU<}D_uPQq3hgMyiT(Rh#t4YOPMu ze-WU48Ik$aigCpy;>KfCc8G?%)jhWV5VZvWs@E(;_)~B6b-9kz1rgO}9ABOC*T=p& zw@Y}!$)n!>nlmQr6_ia%){i$xeH!n`vqM=Uoi1HuAL}Tj-&7PxA7KZly8I~BeQx)p zG%&`sYI@r+Com>0dBx=oDkO0mY+RiBq$y@YBnm-y8t8E(*T=o+{zSIJ3ig$mResYP@(6w zePN1hJ!%{w^bvkJzQYCl{3tOj+pSt7H_Nl;cLcf|uNvEa`hD_ad4ZzO*$Txs!0iqpj#hE?8xmSTTF(R zEP9d;lDZIhys!XbXfDnE7`ZJUD3Y+%0EKqhSpnc~{Gu?5o*>e1;n-;2K;0EoN)cH* zO=I8OY`a+x03q-EHhtU7q$uy8ba7fY=c4@(w7ZWbYnn|`=^{hL2RB$nl;{ixs}anP zhFWUWUS9^6{@xc+Bq`lfG|ax9Zh+K?qK%TWw}<8U3D!Ag|BwXS`idD*U7I7*K}-*> z^l13FDcuap@of;*=ff4)UUivGf+Kr)OXwcF8n($mufD&0{Cc{Kl6@?PNyq~e`7sE8 z`27iWre(&3539#k`t8c9`VQx(CQS-_EDweLU+mDDF4R7bmrJ#{;28(!O9tOXmD)8O zGw5UN4_D7U8L>4LHOD^uS^c)1^d4&N-F@FTr-ioN!mm$RK7?Z1b&Zv75LO80J{nwu zSiX^6W8CV#n|*)8@!f<_AT`=&C`?uU&mReZ-mo#Ffno&mLy}JIus?xQn#c21M{*GTG`v;N05=*bf94)t{`O=&bf_i>-= zr;aMOY*b;yRY#O-=E#{w+ch==I?vH ziYP96M{!UydGo;SJBAm7jtQjz_@*~n!fWki2Hd>j7te-_e7g+WNG1U^@^ucFn)?)maMs*v@0O;l2B1IzGxGuDZx1p zEz|0|gbQWDA@d>YDpP(JxV5o|c@|t!;C?)?4YbE0ab> z_AA%d-NE}58xY#)3TaFK`O|r>aT3yEW43XzYwSM<_i}c|0~i(^^bOwYa*(w+7d5;r z3k`-`XZI=1r@en_otw`o!e3diS88T3|5gvWhn9(7T^sK$D5qE$G6kv}Z&1H2e0oM8 zLUm7Y8cAi(CqvWsGhA%Et;PVEGRg4l&e+2d1h79Z$^Tiwu3V##@-P|`rMt> zn7KS2!1h@8>4Mn%j;2GG$i<6~V-6%7shD;w7&5TcoD||x-+heHYbMd zPLQOlVep$xYWVjP5Pc*=TR%wXbAM{{iLkE*>v_`q0LFIKql&U6B}KlY2$7@G%3IYE zv`*#NJ>e)OY&tkIyoobo@b#!6iBiHB9Pq}%oV#w*u?@Y!hoiQc6Yu2wj%u_i;?>tE z2^+Y@sxxn6u;shPAc5EcXG-kJC9#ZZyXzHSO|GyuO2yFb=u?eKD88oOZt%ViA{*?2oMZJ|JZM24;)Pw30ExO9rqQFzXM`9sdmh(S@3 zyi7(vtLIp>SN84kp8fadliFFt3btym{WmGmo%ZTjyjRa(CFtzSG`88xPZ;;S>lj?} zXX;5qIC*y;^o0dd+7mFF#=GEYD58)N!+3n)98we;IsWN@qgNbyi6p#mw>6y7>2Eov zR##QcJTdl8v7$b!a=$ONzv~FcJzLHgmW~_#%9Ycn@Z?62Urv0Iy0X?!y2;YI6qXIF zq-Tgu0j9R4u_Bm*mS|D&0C2trWeVW|fu!V$pJ1N5{8G1){g2-{D-+e&VnHE9suRTl zSE8)Bp$&qg@tOeUp^3Z#q8FMVKvZA~xjz1J}{%a(U|7M$JpM+M~D-whl9B^k!&MPA%wu2a{W-NTdln-uLtqv0=KI5*weN|!4M07yL{poT!agsYwYc( z^z~j4+CJ0Qu#uvX-V*Iog$0$(RUru;4^m^akVjj&*DNZkq#8h>XA06IV0;@`4o#aN zRuy*g_gL|pN0d;0F&dhfI){|c<7U6A1oG!cB<)f#_rHZ+;3s)nqCwACiaD*>kPRtN z1lnow5edCSr-2%MV@H0$0wir<(uv2 zMCnm;n#mkYnH4xN_3%mO*?zbBFR9*mowrT5HlpK4D(v24iGIEkr~@d8*!fMUMb>h1 zKNgq*|ete(f<>)-8e_=*}Vr#hq9%7}X->PSMqCt)>Ms;%4! z8sO;)c+c@n3|)1Wb`ENfiy6GA9+VCr{h&oWT%BM@r9jdKVm~_C8?Mx1o@$ir zB^7rxXoLV6+auGtCjt0K*f%ip@dvlNFQ*UqmrXh*bQ*G1?#Sn;&J9J;MkiQ_2-MZ# zWy!CYDbiUTGokwGjVp)0cHC>024ti#h!KG}tyNd{5*N{h431)~^$@f|n47i&3EHEk zsaVuW3%I&9uy(80ijXk|WiwdeOWcF>&yx@y9rlT`)3rITx--%krf*zqN+n+WdoZ-JWv#c!#%~-B8#m@E03wO3dZzwBFZFt zhK8cH58#IR+Z-nV`YkVabBV2cKt%*^QtKgPazPRYYo0q%!YENHdf&*@a0G|#23`?D zv@Vio+Q6R-?;AZk4DSa^&^k8MMUNis3CCKd#d-fI)-&x@B)bUH2T?TgQ2TgqYbXT( zc1zCWgU-v^;P-hFQH(xNQ_NWai%DZU{E{t0}O9j=7DSg^@&G2KMIZ$)$gmL~T8Tc8oWJ+L>|SW${|=TNsniNB8~S{#P%+ipyyI;g!;loPjjDOu=vc zro}{H>jHg4dcVS9mDT11bSEY_w+6p?ass6?rEl_7jTzdpa`z=3AE!oQpgG9;JEJ?b z@BVQDe3Bh3cLa)HEk|a86BgwT0t(TcxZt??ylxh0B%(krd=VeF&CXRk4pqy34%r(# zb0#f0ZMX(aE%`G3RhLn4&v*3k=!LghPhBij^=9X`)4sGUeD$kg%k-+AzHzmVgOk;; zN$y+p%hU3CKZVt-wOB9Y5J|L|73sfI!1!cbpiOH;+m|rPGrX%2gEl;l+G|vocS5x* zZN>pl2ud4uijtGunSb_f+C1AP0~Ybw>fAJZq&l|R8pYx%E`ep`i2K-z-Va?}H_ios z{5VT03qe0CE<{Wt8!nHiVEA?_Q`w?Kw%K2&YLZfiiGX~=NmfpWshcH;gCQwoq8&3JyTJX! z_Ocags3xvCPk}#y4W@cHPfX$HGRj8{$Z>SF#Fw@zdG-_Ep(PhJB z-f2>{_6wx=9{XxOJ8|QA3SflHuYWNO~W){WjsJ z{Nr+Mqt--g_EQrX`*4c+XtHYM8fd-d0&Rm~$3WP(2F2q7NbfnNp@bd1u~OuIFDE#C zRR^A&(G2d}Q@GJ)-D$Y2{8||?1|LtvUMo%powx3tCX|U^ShSwa`871a zR{}GKsB3&m0i;N!(T-J6NOzv*y74(iuO2;=lMXB< zp-$G%rKhmqY`6tW8Z(ACsI3)C!0?9GxvO84R!|``^e^1Su}Afhf4hKUmj9b8hJl9M z7fL0IY^v3!<|b0AGGwxAG7$8L9xKD2Gm(VP$5IO`23Vyr)8NlngV^JAj8$(o8778# z=ep$JI_ZKRk~Pah4pNjgO{#QD7|O$JVK{lh;Ro~V7c5$G@jv5L$SCbZys*SmkS(+# zcX-CRV_*4Y6=NxcL$>1948=HE8r{QPM9j|iNQu-sBXnwBpZ1{HZOD}kocOi?o|vNv zIApBp&|Gyo(bUGvHX z)GF`iuv7Q`9)iU>QWX?c@pC!=lle_oVc02d;*}tc^%CUG@t&t}tnhn8ICUt#M)x(& z7=+$Uzf?D?Xj=a@+?*f#ly7~>HBfrVuxHULYGIxJIq#PICYQuqKhf^M{{hHAH@|Uu z5vuH{mHUx$FH@1n({J%8@d#3@MjqB)yV~AngZK58zI{PDOT;72SjmyI-EuE+&eSxS zBb7_-&O=mp?xf?FSX^jPt4>h$YNYL$?#x9N-#QM`b!)Q5!FwJg3d+QmZ-l*!q-Ycn zEnH&m?bov7Pj!+V_dQ6toQ)?=UeEUlgMeV>BAt^bNRtl9_$d4CzmKN0v=Ilk9JM4{ zNP1f>%+h}Qw^?Luyu##N_W?CJ0hCjSB@v-Hs>z4bfjGdGqn+74 z4wmI$=g#RR>C?=;t;C}Wgj;$`Z~e(-(WxT99ZSB7h^kBdQV`*n>$F=D{=^i);sR7W zOdLA38QHfNcYKujxdqZzmsH9M#9^C=PO)^?3^F-UM^rL>9MjWEvVf%*RY)v7)Wg6e z^I2XQ%keVHqUaB2f+z`A92tT4So&9awz0URmzV8|RbrbODf2sNswYZqgQW91-77dwHsvW0UlA$=mZ3{ceelPx|>~%^!#vIk7*4E$JTYH8D z@nlD!)Q*j>){T-Zlh?1(bt~*TdN1XX5#p%9nP0zzha9gG0wE#e=5=sWIg?3daB6go zO@eTCfLpaEx)6d<9+Uy)XeUG=q4-?OM+imkC0AD3(3huXB52DK3*{gsmP+>e?06)y zr6znYIc`FDy*9}?f#h-g!f`CRJ4T<`$;MLRi9%*UGtQFtOs22- zZ~r;})CQ)I_cGDlD6V zyw*iTYur1Lh+9s8#Y@(@Z$I&5##vtCp~T~7-ymyPJSvN^&Xuh%TN43e>Ga$n8Cghs za;sD)Dc9I}-@~-aV^qD8kppG+0&cK~W5>i2ayCNkjyWpb2G>2o{Y?vEUs(aPl-oT$0dYUE@4+{;Ht%Qdv5ow^Hdq}WNl#zUq{IwF~sBC zafIrDgLEXRZ*Crb^&%y4{z^H4bc+xtvM5XBc`ikmdF9isRf|=8;jR3AK@`0(c5d-3 z*)Z7%E2T&a!ZAn3zH0Hpk}511wRmz(5dm0CR#UU0#ItpF z8k6_mPsf7R+wb5sJ6MYgczGhAsjs>U@$~#YE4zUfjrscU?I)krh^N2Wym*`R*jirg zo>@8t@yKsYgsbo}7vb|2N4J}?cw*DSSkegkj&}LUu1B1=lPreh8HkTZWHF?ZsHs=c zBGDnBikpALl@>-XV_9-)T?mflmXg$s^B_@wTQKb+R2gM!V_JZ zR2-?9pjY9PUh=2(_dZ|J!znC}o~2@17ca+qwd2^*Q7aQs?e8jThTN@d)&m6uH|znjyTyS&g68vcA0~Ze3VmX z&%vcL5G^9L>5}bRkW@^Tc-K!b{bLjfec4@?68!ofVWn(ozpSautFU;ak^7JehB#>sA?m zxsz`aUp$MI1UPYGWO$^C-1s}9D67SipCFS#^~z-&*EK{DNIqJUX5|smL@&R3`8&Ce zvB_P_^Kgnr260D(xxg>ide!S;7#hhQdA}5K$R$A^S-W zmHLDc>9WEO7f!rRGW{N&VzT)%7-{Vtz_2eo{6?l@; zn4M+u;xsfGIQ2SXyLM5Xm@u*xCSOfB1(-Q|j`qSLG@GVgYR@B&7;7dwJ{1xbG3}XI z=B6*g;yjFwQQDi`&&?$@L~~hwX3t!pyEsRuv54q9J0iu}m-Dlhk7un#vYw-sT0Cm; zD9PL;0!5>}-f>G zc9}bMhVayT)OYWqx_>uutwz`Kj2$9TsZyL!iUJlcTww9+S)8c}%Et~8I4*vab)jf= z0(OknaGSHtoj*R2*a?@RE1a^C>Mq z(uo$&)h;C-lN=?EHxW5fJ)WD~U;6en5a=hKOy(jFSvd~XYQ_A$-RTgC-^DMp>w)*t z5#kX!W;>x?uj68|Fnxi}$@ieq6k%ja2lp_tZ$BML;7dz*G5Cq77EUww&IybbhwoB) zP$%QAlV#z)QOX^Ou-Ae}-Uw z4x%m|X?AK;;wccw60UBvWI~Tx${iblz*@v3{3Bm@rVdK{H=^Pv)#;TQmM2{~jiV*= zB1j%hn01LL#|cSl5tLl0Nt@tIquGmWa|{x4=q%1r@_f2UggriLTG$wA)5J1 z4IxZh8Vkx5--x|SyI=DUl0ltj%7I4IE0N~ISyj9cU&*ggu8h%G>>B@b)+1exRPy^6 zN6uc7U0w9k%I}$xkRG*e%HmNy9wmv5L11}Qw8*QGt(}F%<-b`r@oGwc%StGW)P{t? z#i1;-HMz@(l!lvR$~5%LlP6V=M@-2TB@^q7UR(?Kjal4!*R6}d>co?p z4P1~%kr^x-J13ByJVw@&$`~R>ZlkYq+nke%qRmWtRkHAluB2iqnS2}5<|0oDH1T(N zY2SVFQi*~9vf|V%TrR}3{L08~sa9)wn)S8T|7ygOF`^2AWoK9=o~^r=x7Ez9B%Yq- z(WiZ!tv3;gw~QTQs>O}9B61nIJcWp+W96j{d1_8>#T4z3ZA|Kvq+iEv& zqsd-{cvd_`*2OsM5Fvfe3kxLE`N<8HoOp`Pqy;H05swscW-m4?-8NmDS}wi7uHl^Ky;ZZM5Qb zs#_9)!eUr1;J&f~-5kPlE8}W17t4RQqD-Ra(^)ANzjRb8Aj%VEB{ zFufeLiaTUw8JV@UvXf|0FIKeP>HXcd30rN`pWT&&MswVZdRC#6`?BoZ=e61~(O85M zMRYv6ex1EX?!r3w=U+}wy?z|0J3~p-_r<^7J4T8a_8Jd<)y(Cq6Hk%HBSK(Ooo=2b zpRp3pmfXGDcv4pLXY<$kZ8d|{iD&yg;#vf>K8r_* zCqHWS>+uwez?`|2c(&i3*wQmr;xWg_yz$@ASvG)*2)t{o)R`clFn`||&9?@hq$%F1%#caLYRA(hHJPo4AtGz};X$k0Cu z0*V6&bc4cGxpGBi_!SYZTrQ$s5pkB`SAY2dMUmeLWVnK2D`Pj%^pH-vJ4vULRFbOH zbf!Ju=lj-L`|PvpoI2;!kUCY_`+3soO6_6owZHYQZ+yQEYijibJdx^0-O718*q=5V zT{Z)QI|J>2N9^no(}Y~Rz$01nV~t0eS_>l!y|W%fZ#X`&*>rFT2+hoAQ4ElnPR)o`S7`p7M zCHZFA$DNADd+L1DnUgEk0Hmc#`=?EAi2; z<$J`yljvT+72HxjldW2K!)Uh)T+0)N&3yC#4~Mzv&7od+#Ml6D6enSjAvfb;Ne*1O&a0MbN1j{?5?1ZUWuZYTS zIrmgl7P8<6$a)esPt@ z!_7UUc|}6q&eV!~V|NsZZrPpdUzV=+8+6imlw#vE@Q6Am;wiR>izYh;Y6i%!+T0K% z;4tv$Y<+lcBkr5d?vKRiHvsUcK0~bzns zN-73$Fg#E6M^;G39Tw_ujv2|R+BjKbi8?$zKrNGi-0hxqq6e6AVtJmtKT zdXMZ0MzpN!)VUlJjkKLMYLG^+n$&ul8jm1FYHBQ!=Q(jF0;N_UTKE`ROr4HQ8*0u> z+yzt4mnK`iuvVic+0hv%W8cjP20RGoRc#mH= z{!HWu6M!N97G@NIk}7x;ziXOTogyoXflCtbu8M>V@I#XG%^DANM35Sfpy#B%z9x*E z1*=eE{^H0F;kz!JdIOQ$1Rk}+wg~tDzx#R}T2ph8K*E3{86VikBmP}{4?+1#;KKh- z!5ZEu6bP*Y;87Wl{8FsG=?JMkYd#OXP=Ib)2#D}H6rS|B2Q-}*DNs>dv%<^XqTR@R zg0!}yz()xR@%to?PN1}21?y^#TeO2|_WounPin7An}gq%-uoxXS$22Kd3)E+}+ng$^Z(pagtxaJDrvE}Ac9EM@%5Ct9r$3al70}T&`X2!t7 zLM?aG=FZ$qpIEU~cn#ht%|w`XE;sjM0Y1DLu%;tHM>+d-(W{;My3-m=cPd?1z+)84 zEx?o1Qj`WmT8{#g7EMP9k`t!1)f`7^L` zz#}x!rgOSA5JMZeSFa7esm1=CLekU{libuqR3ejjL8bX5eK}$#ni-bK&y*J1wC2;V z#*-`_S%?B3q2scTCu+DbHBOeg68FnAR&+7I;+ne1ViIqCNS2)bE@9#>BrYFtyeb@F-J@It=;bJ5FeC z)FqJxGm)*_I!RIxzQ)Fs!T~{iBZ~?U~X;atok(mGGOhZ#+ksE+PN<(NrcpH5C(-u|^5(OcTJ$sMi}@F-J@Ih9D`A>g5?7WGaGg~k)a zrdEHzqcYc*Hv08_RZ=7D_9pGx@g)CEeMibzZg;427Xbf810KzyJRZ?Us~zyD$yr#| zkgm6C)qpyEpvAJ2)7L0WUn+DZujlY%3(9vBp|$;ei$<18SD-m;$s#9pm3O(OkB1Tn zQD_1Wq^Xq#p3rD!%nAjly^lvMnDqwNEA1@kX9*??@ie{;ubg88eT!6Z)V}0$`3xFp%-zu6FN43buLs~0kF1y@4 zk~E$u)_8Kz0*_6tu%evH!qg()PWuezR8(snX^YDelTH`6Vb+Y-N~#F4oupDtR`O6? zS~@;1NzlVQORe7{sqt{xOz2DCnHN4D_zB>VT}r7*LtFDfoG$$A_z^n+PwIjd1D-^!*QyBCfZepMfFx2EIKedmJj@orz(Z|oed*(oc|2AV zc!a6t!<2&D9(bBn>+!T)>%h}NK01ZN)2FBNqPnpFq&20!fG1fpL1j`Pz>)k~R~vX# z(V0)hX}SQOmIOlS?CJzO-7<%}{eHmK^}r8jLDVe)^s%X>w7@{pVxZ~c(JUjO@mL(y zqWm4wc*xYUrH>)$;}K3&x$|{v*q8xPTN!HS&uMpJxAc(o@6#sT0*xmK5!5RP>+`L( zT7v*QgnX(pm7s!C;ssc~IY(34RE%1dwrklcHN)8 zn!p3ci#x&g3p}yF_X#}L%J*L_jVA-1B`)b}Mevq5Jqs@D2Y7-Y5R8zCaC&QXx&_S- z<2;@Wcvk8wExgZ~0#Dl1;;7adX*|h3S80vMEDZscE$gt9S6fVGcc5s`o4k6T^cuf& zDypS8d6+aR@I(Xy#HCEm8?Tb`^m4d^OI4nWdaYGT9mw_ zczi`3Ptv*E8F=(meo3!iA*S%?^@4SBUIsj2hXlEVz$#NKFbt+WwTqoitqgbuO!5~2 zo{$PS=}*+z)FO>1stZ#Kj);O~z_a{soB>Z4;8B!{MD!j?;2|Fm^+p$5JFPyR?!dGB zkCxqGu^H&BQL^?J1;P&(=}^EENgoeUpXzoFMlKJHiNI`7$po2NA#*N!&9rq}w)1Yhs6mgZ${_3;d_sU>PQbV2x@0na*+!xaV|axOcK7T{s_ zK?yvnn{);|gDDyt7I-M^wirLoQfsUR^E0l8QMKtwFNfWW#$!^_U_Q^;=^WJ}XLQ{~ zP^q%U!_^fDji(*(v{XQ+I*gLMWXIKhR~N zp2vY136l5N)Y3H=)Nf5jtyEEBnl2;hTe!Bq$6CK_XW-%1;;C>t1sen{#u_IOcG7q< z;8|;d>h%2O01u$E#-qAS*vu>$)*Sfr75McUEE!Djb>UDZ0Lp-8P-S7E2Atdg)-~{S z^YIMwC)tQ&qiodVku-JLY(gLs2#K9A5dR-iktjmeWXyblfrp}66uBgghfFMYZVq9s z#_erboTaHnnvF(uDXNvOMx89Rn2|6&$C;1k>PlT&9yS#4(92||*3}iLPET75cm)4( z6L_drOJy_bdIX}nFc^69&h$t_PEq{iTylAH^#h##{CuD>nOwWhmdvF^L+gjDEp{ezJ0CK)h!TVNlZm4zq*liP zG~WZffO&iZ&xh+am^Oo+!Omr>)slV4I`!&Chju}k2DCcz)ERiFM;Gz@XTY;MGk=ZU zH62~#>T+(p7=RqkEQk_#C=W+74d}T9@KB3l(`*4A5V!cV;3OG!$LR0FGiMz+iqti4of7j}f0nfGi<ms0R zW)80hva3Y1T!JdrdEGCFa*2Oe=9ZpFFkBVz$$+Qh%8SG4SyXHNq0>STXf7;XTGG9~~qDE)?lQSz3mfnR)$syvr@JRFf?zfXW5RNOmcMNwO73Tlxf z+2R^4-82yrU{HRKMOEhF9L3v1J+`=Z%MaMO9JrLvL!Bog7@QTNI!@>eMCp(^cbbqs zALZjw=QPRB)AP4nIO=l!61!il7fH=Dp7rvj`WR;#bedf})#8!W-+kOu0S+xh_OB$I zuGH6>ll2IAWJ_#nuqR=P|5BQcAopti9E75{ll~}j_8`(=7&a^lr&IDE<>OFZk7>dr zZAdQ4kfLHTEDs9JlSA2~oSp!lC+@4N(}k8ppwk4Om=sJcaw3|S@3jzkS|@8M43>Io zPTEa>(z(5nlNU4K>2vW7>gk=qri~wlfJ15?{k{+F(}7MI#-#DcP7WLn7tawOCwOzy zxjXFuDDaz_SF)cr)oPUrMb>Jn^A&*3({)(78G{J{4_!kV)9Bb3{4fAfYWThnU-JK` z=u`{vNZO2rY=lj%FJ0S}o+srb?`QsE;7N8-RX0d!T%_G4wab2<6|N)ikL}rt5X&; z0cy97qx}PS7gII^o>*QpAI~yCDXvAj3V9&Pd|-2ho8bw2C*INd$1c6$+wH>1_m9nl zg_FWSB!R`UEadYxW~ZlPz+)$J8@oZ7SOf<2|AH%99-fQR=q3it>g6eRDARqEW<@3x z-I5XssgK&|<}uWL4^F)X_yJ&w$QXl+GXIzkRRE8eAMyW`+mrPD@cVSJbCwD`Y0nPx zMAN$m;BlCy#l9^1H(#2i$#1z-k-VDn*vl9*ji;AcTEaP3^Fz}DQU?J~FN>n31#dUd zp_?awXTjdB8Eo=U6p2WHtnIXVqXh;-~R_4Xe zD*Kt95x;W?s@XEPjKim5QP&0ed-$Go4m*zJL-{)SN37=NXgCu(9xTj|{8n9hf%PdD zl+Ktw6uv3&Bi2No?x@uq?xult8%m4Wdlfdr?&Ik^x0%M%ZT8yzUWTPxT&r>Dv^m); z$rq#?vostE7n6U&V^S<>_o#6uwU(ZJJgLQ!)_h1xXo2T*!2BFAx(VA4AB9&az|#qU z#Pzh0#F6l$Fdc?4e^~n=XEB>;Ay<=IGRrs!T)`ly>a3)XhEL{ukS!;!CBF~fOZrHX zJ|3P9`R_@v=0#3UYB?vl(8tubz7EiHI~_gGU*ZPI1+Oqpys!X4`Zsl7U2k!WlX;ok zP~!JX-lvWEt8Sn60j{;~a}}(hw7Nx%oUi&V>;* zQth0vVpk{N5k4LTJZ%0Db*Tg^(x#MODRy0{NEB&73|NBrOY~3I+58f|nr>+V;;oYY zo?PgnasCYQVQ1iJ(HNH?Lp(N_en9U@zB%$)Q8bS0&8lF4h<@=~Sq+S3; zIr^K?&1PU=2}56zOETbDk!ft+L|2J;YN1OrCX~P>bW`BCzr`TSN`X#U6=`g#k?ZyxM6pN#J2ezl=yWH^CKN1U=j?1D+lxsh?BQ zz(b%Q4icOYA(4@j;7bWvtPM{RZ0MTUZzO?-1kr%Yc{PD$BDZZD^sT#4H}XJX1c(TD zLjGe%1Va%b*JqYK(RZphZJ?j`PoEoW5^Nqd9lPoC(x9YFv!uqtAkZcOknZKH&J-O6 zn+CXUpqo5D`OH8P(RX@JW!lA&vqa7jjgh~jX~5HU)SU*5kQ~Z6c3%dbYzE@f)P z`7IK7L}yF^JjtCW4KhifiFa4|KVmO7*~DScA^*pY9Vl$w1>GJ-&52+Y%HnLzhY|TG zXg(?z&cQu*PWWPMDz;qdm+x>t(niQ^>ZD=Y(*Njiba*~-6Lbf9;ap*9HHgAQa8Ssfi z$|xYzbI@SHihLCP22j0(nFsFyOb>8ophrG*78D&?Xp4u z--ME%Bm5gME<%PFuZpUs=9@Skw*X<2rcf=lh=IMK^ywE_P*{lh%(>L%? zAV1FB49cO8$&(Lol!ly@bc}2phY0WLG7{7b->T@2TGTwgIO$Hboly(QCub-LHv2+a z>zNjtIu%`_bCly*nODl3QO{>*vos6I^irYbWKyEY&yf!I9>$k^ez#9d+0`C(voH-5 z3k6Piq<>SUlbQ?4vi5wR-$wzax_2&@L#bFoqfy6|ix&Y`q#o!84`F2YKFpG*PAC6O zo+E)|P?4`k_v&zGF2X%c->(J)6%Zc^9h@708=>|N3-2qd^BGe8?|ZI$8w zruIW&`Gk`@Vb&Rj2?8J2bK%d-GF2Fdq}oKn`z7<7_I}oI)&MX z?}r&R;LlD1Rz8u-Byy6Ha+3^Ja4Cwe!KD6VlrH6wYAgZ{LSu_!0P6HDGvJA%MC2{e zscjpm%f#StE=v!Lq+9U~2$P89acCG@_wK=^M@|8CKh8a2jUu&x(sfP@K8m%^)PcRb zkt3guISiLnZ({5N0gej;KK!``NN_7>AH~?NofxAo95PZvkK!69F3N7*>4*g|&V`ZT zYy}8OO-Kzl>7eeXa59-+(@w)u_fO~Hv|AWU8DFRSwgb-OdnwH?xe+ACn$-H5xl6*Q zr_4msigK0(&-I|^ayWbbJWwvd7#l^97f~xMB>#;GU9&;$3oW+}y*h*G`|biL%ufQ7 zO#GA}r{pG`FjyEWqdGSWJ)g&}UAr)UWg7Kr4WUPrB!YgHv>z>$l1Smu#E}8dIsqOE zVRK5qro$!QgI&b2?|urZVTifO8B`v-06Vo~Cd(RPlT9VUN%tTLzGLVZI(!(ORfJoQ zIBd=dcA5_>YOuBwRD8@n@(9Kb?8p54JiN1KWq}p%;Z56~ouV>}m*cK&{3OcptDL;b zc}l`=Su*)ewy5b@`K&n=m(xLbpvA zfe9@#0RkTSCXNHWUV-ISF?;zuLZ8g$rgo*L-X}>*LUQN@E_Y}^cXfwUD;<95!}S^%Dj1lXn}d64 z23rmvMPqsr^OKihZP|kI@F>bwj)gX#FYs+!9g@jhm<2jmU$ZdiCwI#Gxf)Qfp0`R_td=@g=G6%gK(E z32s>^6$&WjZ20v$P947=)tSo}9~s5WG%jBP99M+X7dsXdgnePf)>|$!d2(6f zqwi%~7~Q!GqvZllAHSbl_v}4%1m`C%!=IZ0d_Exh&8~(DM>4u zHaQ|k8yd#8ZCh~V(j>gfEYPUHrovQ%deU1gk6!3Ei=$8I~YVC52>|G?+}JC zbPGYlVHMW0ZCJ%TS5QYJ0MOWWr=!)GoCqiL;#ioG%Zz^@0`oz7oGkdwb!q%wV33vewjUTff?=%QV~ z=)R-;?Pl)zIj>8vmQz|t3>YKT(R<0Kyz0hdO~OIIx^uR;;E)h z#V%m?%}>O{#5wqv&jGaxbjpiLDo+{k47SEY-^w)#IP}ctqvA#|NpKoHj*&#$94KZSD-orX5HAG`PM#nk!Z zs6BQHdZ2LzGYq*?%8+ey=jx59YNZxmKY27O^~@F}Zm~?~)p%fw1>{46!{5y#O+(LP z=Z#N-7lgR{z_%&RjlDPAfPAsQmKOQ!h!l;E1*Ii23sfafQXpY$(-_x*HRVi`{MKTZ zQ_g0Gde7%9XoV6gW*)g9#N^k$0?b~4NlvAN>~%{7?RUyDA5XtC*2DP(JX@c5D{@1d z@z^5|A)211F7$w<3%i{@C@p;6MQFjR#5)=JQ07$}>P|U*L%nsovWoK2$4*A{7>$U}Nb(7h8ATtQ5k@hfi5#C8v`DTv zTpj>9-nB4(=sHv{T|xccmyhO=C#!v`n}(B#xJNY>b$t=i%`Y6O9`N65#z_6 z2tzk<@#OtLqslFN*qKLJ>Mdyng6Lknj7%w@|0gqEaWOS3wB&iT;c=*xsbryffb9Wg zk{uhU`4o4D%^)XeI+9vba*mes{&b&AlQQ!ZIi+i=1^K4BLY1do68p zIp2r4gQ<>?K!*e@&I3{Ea!TVNIs{pw;H#*Xp`*BY8@BG+h4YV|fqUsZ3OO6~nTE)g zE|Z`Ut6m?#lYG||b}%njaC`U+i=NW0I=$Qdmot9KztL#}(#UZvl3;xp@O;Vx8piIM zo`}$!$K{LX;LXm8p(rX2MHr?AsI+3zjx-(ia2f986~-1~QRGD~vzqChMRtY`-;dyh z4QTlQcHTmRxYl5xm@8s_zQWx+76Y2)ynhBf-K49J-zTX~W1&{RIabi|v?8z2{=rEw`X{0pF7R9^#n- ze5lTj>g^&!$JpUraOiu%g6l?H8%CsQToOVNCuwd`zcH32B7Ykl#@N;^n0V+U+~fDd z3dF`G%1F|xtzb4FnGpTaMBQFGH>lH`^ppAB{vPf5lX$$eRr(=bCrw!cau&>D5r%ET_B>p;^Gk~YPq+8!wjpJ}Ga%vgbZr$c_C&5o z^Y_iDoQfLgp$^v#p;;x~<8~fBhKrA#MNpgPlYL zz|&IT$Nm#hmF(0S(5M1hix7AYYb-W(ZAj32lBq?h?WSpSvLaO-o5XueegN_(sS5N2 zm#~^fwO}&f=?^;73w1StN0?L1Hq)fh>eR_25JVrokm}4e!BJw0OrEd8Y%8XNb4nH^c z3G`F;(Afs>Z^^bld%bHs{mwx*PHpnvw9yOYKZ);_Hs96xs-r7=YNUosJ`&~xiX-Z+ z_s@XmS_B^H-w`csiQ7eE2O)utDgspPe1$sQJmMl!2}H?`p;QS^_aUbtbL=Xy4aphV zJ4u(+>HA$Z_NN2Kd0vDHfa0oD%A&^X_7&cgANjif$GKmr`5 z;Gl9G1w09*YpKA~ZKv)FZPdxS#(Y5HXzu3y+^btuE7|_1pZj(^H{~nqhkK}(=l5#* zw)Y!~Cvd5itWr<*q37TAx$$%}B{S#p06LfHLw6QT0X($q2wF_?Wkmvbe6Hp4MP)EM z5v8^h1CI!!5*SznIs`tdk2ohTLI97vve(dP`-LHMKqNj$_jY`$!bLqK&X`b+oyyUK z7S~$bO8&cMRE~t!i<=y(7A?xOYc>JoRxCUx&90uw`!H;!YuzX$tWj8++^#YYs*3sZfHh0@+f)HJ(k5E|0oXlfW&C zkI11;HE)3@njQKYC2Eoe8A#xv2w)S`=w3t^Pq|Qrsfk7qlqJlA@}T9Y?^uAa?jZC+ zHK1Waw3vx$AGohlzj&9V4hNUIAynp>+GeO+_l z=@p^cfAtJ_Hi(a>pGBQKSK&e0CSQ=?mja@+&91mp)IO37lF$y_5Acwt!IkXL;c0nT z+7%oepTrG&8z}fE;Tj|O+&!ByQ@3zvdr{v(*On?>z*k?xHeXMb0xZ zGO`JnvT=H%NiboK5VkRQZN2m+!gd5-m zCH}iqG%$VT9LB~>Jo)+%uX$03A?<$XdIj@1h(GzHj;}pH-9t;L&-=)gMp($2-%TAZD)S@+bB1d^qkzKwIr`w9iG@foVbX9)eDWNRhnU)AVNk-L^~kv-iCkqtQ1In&WuoFMS1%U7W=Wo?6B0fATpntO7ps`Ojd!F@cx<*d5Td z&G_h_e{5-x`TzhR07*naR1AfnhFAaikE7z{@cxf{9UuFQhq-V!d;$#u9wJF2nh)It zoRb(TJc#$b`z5$>&v}%J`|z4Kd<74j-i6TGkD&5p{PL@(@LzuHAZPP(_P6e`rc?J1 z8M zO!!2+_TBUN;@w3QOS@2YWu6%6SO$$h(wb z)h%D6-MF~af-|DUu5Rjc$VX@J2fuzh9>4PxhRU1q(a-Am^AEfafB3fjc-oV;U`9WH zH^1eN@#ddDhTXgNqmCQ#_W%A~yzys_Vb7j@s0BCU_SgR<9-e&$uGF^!T7x5arA9)VU#=js6TsZk>;HfYFH(aPc8MZl!y63acCopmd!ckN!I&8Bfd`4?^ zEK}oIC{L{~l4(5Y4?Ccl%PTE^oq#9qk=;d?UJmfEPlWS;LPWZYy!IGI^}DfebON^= z0O~bhqOuc>+4K0!pFJD8HH&-CZN+c=_Gj^jzjY(*d=V$l@58UX`xE%HKfV!_Mu2-C zdoo`8)-U4B+*1JT$8r0Mo`6F2Q55q50^8=+KGcnK_vl63@%?isMh`H@k!w8}zxHQUxWJ{i# zglTsU`Qbx&@KhOheR~FulSjz@qBS});NgjH@48fx)oUP+XQjn2?c-@?pb9s0I^m4k z|0a*+0S}d|n4&$8?qf{<3O@gVqqt%FahS#o=Bq_~`@T*1##jFxZ+!J07zGo5_>qT@ zD-Gc%Ua}jNS{)zzyD82qdCg14;Tq$3&)<~rzQ3GA-8&5E+o8i2#AFemSO{c z^}!b*AD+b7+1+@-8z*t0ek-DYikT>iWg%yrLfQO0KKIve#8%t`%fAe(Fpj#TBX12s zizX3yUqjBELEzh%uWf^4Jr$mBVpDMfK{N%=w9vpU_@lot@K=9#8FRr9JQP>@v-f_# z40tl&>0MfSKXWjEhuY})*sT96zVq=T7{@=uFzcAB7V(L{pT!eyJdDR(Hw8_%@y_49 zh@beW7h>n8`}ie)?w3#FXJ7X{c=EyXnD(~e<-akr28|9{cK zd^ikO%YdhMiB6xHIhU6{cWZfNih#YDp0`qi5=Fa#?qN*-8s7YakKy$%A4Ac26hWB7 zhd+J^FZ!WpW828X(2NpZ^WTo+y}$Ec;Jcqir9O*a{f!FV_ggQ;7VR5&$-UDnDdak8pikN3QP8Xxj9;o{AUWdI>|u9Ikk~@P{8hfsg!?jlh}3{hxjs z3c;7rs77$|&%;l>1NhQ+cAy$q2#B?B&5nNR?$&IOi##|3ou`>F&_)zhsjNgFNtWP*x|sm-9Y_y({Zy22>@2q9!*< zo#$+wk9sF?_Y+-g6e{-7k2(0Em*t1K@JT z@YmZomb-pd(j?i4q`+~w`ba-^jVgn~CY{wV3w4lHQ`pT@#n zTytL_%fHE|4IGc+5V=40_lp{Le=NEQR{8`Hy~I$&h`?sp6}aSFrOMDXVPwO7*o-@2 zZ*E;K^fcIsi9;g%O@TX;T|QgD&5FIph-eU%-0ekhSkHBSo|Q8&==R=cBa>%6q;g#( zs{U6XMGs0&aMN4vil`ImuPStU{A0$ghtTz43Dqg(LpkjGeBjLJZeU`3lk0n%P~XVv z(#DAz_--Vtq9Kq9xF^zAf-oLIM;4%nZ9lV%LL(vLCZ&I0p<(({0xT%QVhaK3jP zQhkZ|-uovy`YBdHd0Y_Mj~jS0e?Dx4&8#a?mRm0rLQaP^BGM20?}t`cwfx-nI_Z|-JXN`}31T5ESg#*UNac1=QU26eLwS8DP(BwK^Y~!5$IT2YJ{P-Sx3$ut>4_sG6{j&Il zFLQ~q4-TXkyzAYwZibTktX<&+oxQL>>m}`^xm6QH&Y)MJ+YM5Pn?Vm5Z_8KGa>uCJ z;hZ;fEXCEi-5MJ>s# zMJc`M?!$*#JSM^xdM+q}c8&%6W|D%iz8!D93c4i9wcJp z=!axd28s3?fq=vCExNhWh*vGB<1LzBm(FR>kvHa1d$P8eQPjw>(@sjkfZoT*Q{Ppb zpx*CYdqJHj6}jkB|5TWxy=c(Ch03!ZZluM#dkV_E{nM5PG8yymFH?i4?>&!Q*NF9Q zta|?)bIAKe8B&R=Yk&P0i5o1BCtKGRJ?BJJp2TXOFM=>h=UgLY@1PN~Mipt*4hVVT%pm+IWAb^9jKpOem+}08V?CLq7d^XV z!;!EJWscU{e&NoI<3|S3-Yv+*i(U~dR}O8P_qwlDtByliGL_MaBmPe6f3wGKX#hPS z_%oj+lWTVkTuFSbpKzmu%)GbBO)5z)xH8cI#WJ)ra7N4GPZWGkj%=w9Bnd(;b>tlF z1V5bEqkgZr_SGdNLHM%H{#razxpo}4L6^sTC8i{PUFY$f)vr$p!N8Kfmbo|%3e>r> zFnhV52)FJHp>9;nI{fHlaYFFUr%*cK{jF=?_mliyC7#p1m0yBTKtpkDL7VFf9i)^r2!hGq-c7Su`CY#;;fobec9eyRr z|4qazz2#gzQx&9@DgHVv-wQ&dy8$a)gRcZNCNlL^TG5qONxtzo8>R`^d3v=qdq!FH zGPIh{@-^HYP-K@GguNXn3DL59HL@|4Q@Q0#x+iR%s4$YC=!LbYfMX>Q`l|aHBj{xC z`9@sfwFPvI$)DW8_pTSFw*hkte)@1QQ`pzXbAlN6ApHg~`-JiFlqKx5cthLv#$d2J zEu#+?R_mx#JieQko6UTRe8^UNSSSVLkv?Yo8jd+5k#ba~8fLAZkz ziMUykPvGnTORx>*w~sQ6KG-Q4;Ul#J%q5es_q*A&;e@(qVMo-q{rHZp_Aiimdn~*! zVpAa`>?3)e*Av8`X?}2@h|BO&LyBFq-Dwe6TElHZ0oOr1m{psV1W59kPzuA`)fVVnT z&Q$E@c8z;YoHC9`9U;3%^2c>I$JReluoS`e?7?Ty!AH@s^~WIHLv7o)Id za^Qr8z8D!}U;)M7%V>|F4QKw$lmG!QQ;u8JMq^n;Iy|GJ#hx>?#>6919gRlx87k#Wc?{p-7 zi7{TBLHpba25C>e0jwD?O(=?o^>gzjG`tRz)*W_KSpTzd#^yEc>mC`QusgQmH!45> zlHZ8(W*k+`SL%c4mFhHq2X|MQF9f*Ol|};1Fq!!Xcq)aRakz;_qG)Nz=vMUq5QaQQ zFiKfLDuGqeVB8gSK0(_#Ya-JVtAJVp2d>q79hM6th8>ZV5b{73;^J44#W+IzaeepX z!lVZ3(jprXY<%W`76%5*K(V=m(k0(C3idW{?Y=&BSCSVjUXaGhOJ@Kub2X3 zG~}s*xcy=3{2)xYY4p5d;*PBEe0%Wv7ke8x+Bm&pGl`@$CWrEl2oeOKQze`=FN=V? zHAdT>k|$fXCN&dTg5t~s;q)k`EGLnz%+`KZhdgdj0%-5VK{C(FR-UT9*|k-VN-_^? zyAChW3ui~<-dxR`W$<^rQkU;i?N9QM8xk?Yt?_CFI>gn_cms_9*$;h4ZD%(O;If`?uc-bh!?wM07`dO!aD&+qD@Scv*;(k@shDT(TsiF*=U}C^7?qW9i z3=d^yu$dWk=@YKRExV0XVjvO(0)g}pjkD|yy|~<|5pHe8t^-#P&NBhSxf@D zR1BHnIBjIK=@!sK&~5X%9m!TmO~(@zHH;+opX_p4cv)JUyu3Pbc}cA}Nxa))mO{wM za-HdO?uKNOA57eImf8SUsT@CIWt&4BUuHE*sA(@x^_dU~@2^evY)nRnJR$Oo=-(?W z8gUaU$nazNNnM>95IjP8tG#9N>+ac&llWOpWWtA_f%g{etF0WUTJ3x(6D4fEk~A?# zQCsuyn`B;P8D%MI-{Btn z3oV?h-T8&jVR?MYi9CssDIxP(rc9gdiBfhP-y{-{TND8y%)fPx(G{h5jUCRW_FeIO z<+Y-7@)*&47_$fY^h!PxBcU!Zwswm8oaa^*q{cypA9y%v zs|22E&|~bf2T)pw^l{LJ*X*K6U*ooCqlwso`C{m(ch9seqja+Lk(rJpj=@QNu1`xo$i62;hfKZv_4s<2!Zul`X1-eXw!s-OJK{_Uf$1P zbpS}qaRfe=)%PsJ`xN97AGl0S2-P!8ONE}a8Nyr@M78B#KtZ03zDE>m@MO>rFF2*OOf?ua>6w|XpV(}W+ZrYp*Kqyy3n zn88T~6Ou6oABZ$m|MY+ViS8M|oDo1n*sKb$A?0@BR~L{}#UflDa%Gh9#L~^bCi&E6 z^0$HF>%8KaJVp}gYw`vgVyL!;aEc-<7ohis%FG$5zZ|;=Q5P-d)OPA~ai0*dbBr(H zmhWHJ_brYj)t#I<457tP>T5mmc(IX!tA{Aep-8+XfzLQPxB7*o=a_!(mU%kq7^WAU zyibGVU}+_y&~@NwjB2>=D8TBFi0^#W_q*Ts+rkqM!H+b20M5NCX3y;yj7rO#Y}sJI z!z>X}B3iqv{-pS`EdCM}4O(-0HzcWjlRWFmQ$~cE(sx<@iuFSgT|hYh7IASCv&z}d zhI5Mty$rzrp<_KntA)pRA#t%297*3!*qo2U7-{OE=i=>5l4}!7s7a!+zxDiZrFS2?RQ8a_F{L8CSdof*q~i!ieupLtyMi z*kF-QwSKQ@VZ+&Z_3UE&@ren=BGMc#-k!`Lo2VPJcaz|uxLVQg#DrWsi}6I(BPZ{( z3v!jM?SLo{5%|C}wCqWyRqyhsJfp0APvUqGs3}=#?(-)6&mi)pQ+8)Sj{mSIa=(P@ zB207xU*t{}UcT9b2^vJX; zbahDRBg=A6i=Ba4*(Q>mVib-v@h3+3F2EHu_ zYh9H7YuW7#mjZU)K^Z{`oyd3BfHaL83~_Va_mvf)`Qd3{>&89EJC~A`*Z+;;I8cE~pe)?%h8ovMUBa3YGK@9%O z2@7PHdgIEI%mLin+)NViQ)$Nq_!@=o25)@p^8`mDVx|M5@bu3nKM2ev4J;vdOe*v!*`GExGDyV#B1@Kgp=doeWuQS zNvX`|A=0atYyKOT9WbroFhtJe`PUPT5hwx8V!rmo^HLWt99&Gnn$)38BmG5MCl-I) zLAr%Fn1PRS!Rtk@lgXN%^(eo$-{JlZ>P-91HQ@ce4byD>$9$e^n4BE!sr>{%l|

    K z|Lj_j3d5C7BDG8k^i=NDg$V|S3(%F`fa^*ta6sJ}$%uaswqfu{kZ%`X}f6)UBZRrrXK6-^>Ew2-p1)ro}Ipzm9i zgL5oBzDDQ(>=+O6Kc#Iik_2F%BB&G`>;x#0@68VM+$AcJ1HL!-xy+70M7O%TV1?maLJbF4j|i zlgs_Ym8z3@RiDT@X2L$qmN~d72Sl8lmZk&`F9!e9b_fhAx7MKF+7dcz=2RDvvuH|h z_bJ%QF?y}SZeB4x!qgQT(U0fB&he7(J>|8lVupAhn612A0?vGddOv#uv@J4GLDsyi z4rB?&cR$5kX;Z~_JeIN%eN|4OoX|k5UnXEM{qd8>GF&|eLm%^&P4+lO#l$nT2AS}P z_+MO^@x4Ug_LP$mnvsT6WET&lcB`eo!766=%$;yAw0!iruYt*MfMwFrtmUQ@r=@TY zk)KQsF}~>b>DMfKTAYqqk{L;l3yDR&K9V$YG@e+0-uFU`(Y_PdgnN2W!9P_9!XH$8 zr>g5=K|<6$QxcImJ0^R)`(n4nw}fK{1Ge;UK;HlgQfMX2>2ma%DpwYo&7pAC;1#cK z8ZdsFwP&pBy1LMARHop)08XQ8%EeT(|5&Pj`IE0aPEU|ZDpmY{s( z6dq2dH$K%^R{3KpDqKrIPNo(A?!Yz;EokdefO8PmLG?T_sHnis0-@dIneSam<$XAn zZzOfTg-NXXx-eeH_{{n;Wq)nQ6?W=&CbT3Wjk)& zA^RmXcjE{z+GSJv#rM!b%w7JP2_y)JT_AP#pcFnhd18x?zdvqRa3n> zE+m!q${8iMk4`NRJ&ib-)1a67bmBTTaD1!hazb?;!-C+o=N>ZcQJ*3C@v#N*PL60U? zx97E#JVdH|_aE-*QAr=Ka`%W3ifriqmZL-X(%s44#Jt!$&|%_}zJaOq2feX_wFHZi zcN6VK-AN`+NG-;lye&gxD4Mdg2mc`^aok;Q)AYTdIIYRc;Y(DS3-dfxw+d!1hRo$3 zS@7;1{VG#`WrJhAV0@!gy_AOijr)c){=e5jW*_@D(bI58SRPFx|!)b;XXqF?;xhV^lE3}E8@uXH*%+}9;aiRX43{Pw;$!UXC1xC zT({M&S@rQzk~>MLazSo522GoExHL}`5SrB^WDl2932wO3#;&CCQ)Dvm)e3C8K)tPP zNcm2C`{Hlg&lVps&LoM95@R?YtgwsllE*!kN&S|Y*8^ge&UQ2EBMS>zG+MHs1aIqW zoh(k7$!?`@WM)pY^)$i{K0%oM^uoDje&<7+0!9tr3ipI9$%#02*3lG|y3U`Ci z`4}O7A8DD^k&C%QM|7>Yc=N^kxG(q9HnxAPG$!Pir*_^^uj-)gII9+vM~&}Adg0ad z!&;fd>Jd5VZPG?%Z?!~RN@Ie{Wp1hSCpc_7_@L(rqu5PO*I6QbCekBIrv_$-I*k;< zH2I4k3Vk}N&ABCE^f=a*+;5PPwKB7_FXoCOZBjx|T83Wl{r4X<(^GY&7dI3S96jc4 ze~=;1>u?A*x=ga*lmZLk-J{3YKX*1ww?>{){8;&Pp?-tvgL3573ts*}{4O$!N|5@h zOJfMVEBDppSb4Fe={KQERSbLX!z*$~%t92Tf)`9h7GB@#v6neu&g4TG=X>|fzKA@s z$f%&x+u1u9@fJ-fz06wM4#+%q8`BaVFh>-F(Pt%ern|7D z>F|+v$*sm{|%}pT*-IC?{M@b#*K6SeL!-$Bn2BL zScnF( zDMh1)gjN#*jSm>?#J$6F3`U5pqN-~fm{~Q+$8bXi85lAge?5VV1h9skY}7Mx-zB=Z zqwH%s+lu^-;rWI~?qBbGm>WM)d)w=shC9Q@$No1LoaeqZpdwG+Skb0#d8^4s2*?(Z&)Ge z=`Bo-^D^IvUc0;Yl3=v{d->mHflZhV7;<SaA{%a1sb}VlZ1UN*eSSJq<#PrW!uRRgH|$O^uM$6VhXl{`o4mU=$T* zRx;r@N(?dPS$cMOrHkz8{icSxKks`61K*y*%wW#o&g+##=7Yi5fM#^I(~!S|K!cwSCBz+xu7U`l1GWG=01;ph zuout<_5(-*gw~n=8L=uH3r0YU}2zubT^x8gBXH-PB$;S8Lr|&F{IW#H`Bt_4B_~f+^N6 z0u^T{)VR09lcM?uLyA+96lsDXg@O*BB)Cspr9w)ETPMeTq8bU_afAD$!hKTXK51~D zw7Aa=xKH#{Vn}h#5$Pt}Iz8@_0r$BX_sNL+WWs&^un&6H;QX8@d(CdUU>!Z%7l0HX z6-Wazfh#~3kPTb~asc#v=K=XZ0Z<4O0mVQGPzkVsA+`bBzz$$1zyt6Cy8u3b9}oZp z0Uges0O3FskOZUvg+M*<6qo`~1&IgH049JLU=ExF0)bqh04M=U zfm+}e&Eu=*_j@3+S9`se5S^`BYeAKzuv zdswID|AU;r*yj%#{@&-i$$}tVr}g}A+ULL7cK^S7UH{Fq|DALF+46tqsQ>@$gMmJ{ z9t@5gVNis|QMhpu-hi7nINPjJyjz8>xM#W-q z%mtPocA$k*5#a2wDjV6W493c6KV&Z`27hT2l>Z)9)OBB2zO^YzO2S{da04`mvC2MDI~*6GJ^LOWUk$6D^dVA{n%gYW$k9XRXH{TS4DSP-!LuTJ=^+8D{v;{u@l`&Hf#y{U0}|9nT$^w6(&lm=v@d{w+7Z_yon2@S#@ z?`Sv7{h_m=J8}qhRe$O!{Wu%VzpS)&C1~R6*DIldv#m~O{kW0_kc+P5BF|sRruvg? zG^O>cY+8`LI@R?wkQvB)-f3CwI37?1JtJN`JP`ud*fo1KH>r zkZhFxD%%=z)=E5@zCbov(|ff?-GGPY#oE!_0raj(;TN1YLc5LrL)$GOUA5Ll=r^F} z4z=9aU##`(RmlEwrhnIuN3BVb;ObSN^w+B}f}FKdgC-S!y|bI(&Z7J^U6D1O@vq+5 zU*-KMk(>Th{?RlhlKpdywh?5b{QtT9qqCv%KPrT@Sg%Ig_^)!bb|nhyTnQbV4dwrQ zC2AlOmC-FCefJ@@&*%BIc&nRFm$?ar!w zKhs)&I0&|(;pwW~XQ8yC`qCFhu1}$L`B~DB(n*iA`_EF*6gj%5KTAbjiyu-iK?y`s zxBq2L$?zwsXo~$;sc6{vL#i=ILsAERsb7BRy7^C1HP?{}hWjpc8*~TI6LS@$nhQeq zx=#%ApQLK7BNYnoPf|JISwT_@eko@^bY=RJR1{9|s|AqvVbuai*XJM&NwxXQJ^&+5 z>RvcXWa7o;L@k|^|!pm2WoU#!-)tM%-f#|0m@u32E!gF`s|vn0L0EopU#wOae2 z8XP@cKTASBroX2X+VNMNWFTj)Ex|cvpcl7R2L!^lNW4Hib`1OX->a90$Q{%N`%xFl zV~B9Sb`KNNIIkDFZq!#?`yZ{Mp2ph$$QG#PMWF_4APP;NqiJ(AWsX7=kmpM4dsxRH z2Uv3h{N6n}9E19TTR{9JSU4E2qIsZE#mnnI?p5SlxoGjE*@5`_e*g z(Z8f2tDzn%B^<{HkFhfRzj_Qh7jg~3$ua0bMh^%UFb4JmhX6Cc4LAZE1v~&x;0Evr zP=G7b1oQwqz!f+G+yFX&PT&pj7Wf2g1s%Bnh(N>W0!F}oz!WeCECE-*1MmWT02CN; z3P8aTX#fh4C;@H)w}HFBeE1gHb<04Ok{4;TcV15>~Z@EMo`RsdNjVORhK zYS;rPP$Lt#0$c@9zy=DcUcCwNd!=s&Lsea z>0|;ZOeY6GVLF8X3ezbAkc|j1gn!BZd?(ktyMH%t1;TLAxldqx;l7Aslrd6Jm%3oA zA(YetYElo3JEYziaf|@8w})UKclbOE0ln5x*Pg&QLn;h&%%V_F+ra(;-}l&W_%>KS za4=wXTYY$D_+>*T0|Aig4*RVr5Cq}j?i9LP(=<~UKRiD?w2qdw6dyN&Lpf*zm+SFSIvwMAl}Dep*K-Qf0UR zqVVyF35W=Z@CgXdp1`m}cF>v}+=(E=2#ny0v4aa{$LK)n1E~R=*A-(0XNCqAF+N!rbj&h#jQA*dr;T&|QJY4M0(P5bF$UP`qiu%Y&%` zHvB7h&8pj0PY*@W1RD5l7#<8C6ecN*G)5j8c7KR)tj0XRe~3@d&cM#Z&dScszI!{K z5WWzB5Rnj>5QPwx5RK3VA$ph1q2_n)nzySKWKiiGH|t^ajO3Qrd5h@*uUo{ImIzx6AURoOo(uC@Pv zr~kVw@C`~fRDgd{3RM^{LNCuO>N?UE#*kum?I`aPg1l_lfJzS9o&=yHGXPXM3<9Vi zPXMT%o&}&m!0n7GS4ubt)h6taqIw3!G$UCOkizH?V+1Mq12C45!k7ee7*Z-oeIZ3n z3F-jBI0X{{DXKXyLW*YYE6M+ac*V`!NhVIu6<3gs&$~7i1T4;Z@m4S8XR74|h*@`(y0; z-92pCB?W{q>Fpv=z~*TuuFFI|7Zf4yyW-9t9?N<|y49YDGv*{B9b zDXPU$`g{3pf!`MRZGqnw_-%pT7Wi#}-xm07f!`MRZGqnw_-%ppEbv$3e>9%P?|Ia7 zNq~hmE)mB6e2XQ@kVo`O-UJLpkxyU~Y(rzxJaimT2B7iiEdY((n*lU-?*`EL_yvG` z1jtu_d<4?~@)0Zm$VY&Lq46;Kf;jRG&_cQaQbtJ8lsr46XzY!?CyjgoLXe{IHS#5( zKmY|uk?%kaQshfG3n|iT%|`(L!XkkiqyM}0wQ)5{kxnQ@vVP8of7ksVdH2wMU&zUD z`l9`i-e~zX-3k|ibomec7nE=~QVY2tkZIdq-M@`HHnKkiKnJLP{~xU* z8)_Qr>Up@^df6P?>*aLVcAuTcA54eLEg~c?!Y?5pEFdHxDkLfnIlq_R7Wi#}-xm07 zf!`MRZGqnw_-%pT7Wi#}-xm07f&bMOK;yu*u`C*wqk$tDkE5|T8i%9tE*gKMu__uz zqcJra&!e$C8VI5>Ihw=&2EoV32Y^ER(fAvU(INN&lCV(k$2tXmw=70rY30MKvfDK>^*a7x{1K0B3=7Kp1cy2nQm7NFWM`1}*?G zKr9dkTm<5Q1RxPe0+N9gAQiX-qyg!`Wgr8{1g-#CKsIm{$N_SJJRlz^01AO3pcp6t zN`W%q8gLyb2P%L{0F}jRNN)f&z)heQxCPV!^}ubQ0k{L)1?~a&fkvPScmOm54}lh- z6=(w<0qp=fM+c;xKo{@?=mvU#rvTdi4AMTJ9~b}zf#<*wfVO}A&a3bLqddfab3yTt z?oe{rq2#+k>VYdUpwQo37$ACRO5if0F6Qo=tCY5~O7RAAhf0P7P_UIdl$ z!~-#4>Vx?mm;JDO2cwZq2c=zlmpRDp9c2$}2rvR;pP37icG1gj5n$RtTd#QT$kwgk o_MmStX#Ju~elj>CgV=gNPHApxUWuLs!xzg<{9 diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/攀成钢网络103规约版本说明.doc b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/攀成钢网络103规约版本说明.doc deleted file mode 100644 index 32665a7734efbdaf7acb8440cc63f4d6725ed458..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50688 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 ViAM~!DgNB`XMy`||F@FB{{ky|e@g%W diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/网络103so版本说明.docx b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/网络103so版本说明.docx deleted file mode 100644 index 05b9c97ba6a8b1b7a1815ff071395e195236c5e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14069 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 - diff --git a/PSCADA/电子行业模板/common/license/reg_code.txt b/PSCADA/电子行业模板/common/license/reg_code.txt deleted file mode 100644 index ffab4be..0000000 --- a/PSCADA/电子行业模板/common/license/reg_code.txt +++ /dev/null @@ -1,7 +0,0 @@ -32f8e69762a0bb22db2155bc5726e904 -9ec439ff623eee4c56c93df1f55a2201 -16d90c542a397d20cec7bde034d8e52d -dc0b45509e932dc39bb3c048271308b0 -31a449cb3fe49b331d69d32a241869d5 -0b7f900a8b9f666df1e9256e61764263 -d3138f0251217e448d60a45cf759f1fb diff --git a/PSCADA/电子行业模板/common/resource/en/apc_if_srv/translate/apc_if_srv_en.mo b/PSCADA/电子行业模板/common/resource/en/apc_if_srv/translate/apc_if_srv_en.mo deleted file mode 100644 index a2d4a24e434d6d628826bd4b06c28294e949edbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2043 zcmb_dTW=dh6ked*EWrcMeV9ZtNrcz2ouVd=BBVHJ6p=Ot+=`1zG~FHBOV_(*b~eRt z32GDr(4KP&+WoM-Fdg;)>U%4+M<@P(Z2d zf!zngvZi*xRs)p+cR?fm>DO0R7QBVe>(>{R(RlA6V!NW~3L=;z8np`{lF1tm!Q*g^ zBU!D7AoA(VLKYpdV9;w^l#cHyMAeErv{Y46O( z^~)!{@_A4No%Pv@w@^Vu_3GFDM^o6lK2uq{wIrqP%Iw`b>z%3~C!ms<*}>z#y%@M? z)XJkn$Y?kbZq!cgMnAvoSC*hO*tflDZcBGC*8`%t)-YRq{i8tY-=6hmSNyMDU3+=C z9lF~6`I=Wdz5eF;dbRrJ$w+hi1*QpgR9BBM?ijX}B%$1%~Pn6)Z^-v3Q>v z+pos=lUQGJU*99K-dGF^)hF4cA-A=zi^tSNg2dy=o_Mfsj52*p znqz8)(L&2ONtiV;G8j5IdT@AKQ9K$8rEE(u3pAx7^a%En=q{Snu=oVg#dx42Z8O~vBp&UJ?!%j4s18zx6{*N4Ni^Es z`rv|f(_+yyv}SJ5*CveYgu^F8Y18G@R1es^;3SDvY!01)L_Z0-1DzIW8zAwn{%t=` z*)G>uDv+Nff&MKOkF(MVo9oV);fN%W7r$TrOr%-}80A_%4XJ7jVna&GE))eCLS#&}5Js0?F*!wQR^wz-^NV%5zMRW@(Uh$1qKnqh>_p874Ps2C5Iy zHZ~NPul#ph^UA&@}PEIg(yg7=1xjC!5TSp>NG#O40&Lq>0%lNZK z4hKWtq&DSm9YPGp8Q;h(=z|phCBIDgZ9a&dCD7cI)wx+|x^{YwP))p!pIHHEb2%%>@QXJ7xjIn5I(DW0 E9bqF6uK)l5 diff --git a/PSCADA/电子行业模板/common/resource/en/apc_if_srv/translate/apc_if_srv_en.po b/PSCADA/电子行业模板/common/resource/en/apc_if_srv/translate/apc_if_srv_en.po deleted file mode 100644 index e1205d8..0000000 --- a/PSCADA/电子行业模板/common/resource/en/apc_if_srv/translate/apc_if_srv_en.po +++ /dev/null @@ -1,71 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: 2019-07-17 09:49+0800\n" -"PO-Revision-Date: 2019-10-22 11:31+0800\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: en_GB\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.4\n" -"X-Poedit-Basepath: ../../../../../src/application/apc_if_srv\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: I18N;I18N_C\n" -"X-Poedit-SearchPath-0: .\n" - -#: CApcIfSrv.cpp:137 -#, c-format -msgid "" -"I18N output test:\n" -" This is src hardcode. \n" -" int = [%d] , str = [%s]\n" -msgstr "" -"I18N output test:\n" -" This is English(Great Britain). \n" -" int = [%d] , str = [%s]\n" - -#: CThreadAnalog.cpp:291 -msgid "控制目标值非法,控制消息中var_value不是DOUBLE或dValue未填充!" -msgstr "" -"Control target value is illegal,the var_value in control message is " -"not DOUBLE or dValue is not filled!" - -#: CThreadAnalog.cpp:347 CThreadDigital.cpp:328 CThreadLocalCurve.cpp:706 -msgid " 提交失败" -msgstr "Commit failed" - -#: CThreadDigital.cpp:275 -msgid "控制目标值非法,控制消息中var_value不是INT32或nValue未填充!" -msgstr "" -"Control target value is illegal,the var_value in control message is " -"not INT32 or nValue is not filled!" - -#: CThreadLocalCurve.cpp:234 -msgid "计划曲线\"%1%\"查询不到今天的年、周规则或规则重复,请检查配置!" -msgstr "" -"Plan curve '%1%' unable to query today's year rule and week rule,or " -"rule duplication,please check configuration!" - -#: CThreadLocalCurve.cpp:250 -msgid "" -"计划曲线\"%1%\"根据年规则ID = %2%,周规则ID = %3%,查询不到日规则,请检" -"查配置!" -msgstr "" -"Plan curve '%1%',according to the year rule = %2% and week rule = %3% " -"unable to find day rule,please check configuration!" - -#: CThreadLocalCurve.cpp:273 -msgid "" -"计划曲线\"%1%\"查询不到当前值或值重复,请检查日规则(ID = %2%)配置!" -msgstr "" -"Plan curve '%1%' unable to query current value or value duplication," -"please check the configuration of day rule(ID = %2%)!" - -#: CThreadLocalCurve.cpp:302 -msgid "计划曲线\"%1%\"输出测点\"%2%\"格式错误,请检查配置!" -msgstr "" -"Plan curve '%1%',format error of output measurement point'%2%',please " -"check configuration!" diff --git a/PSCADA/电子行业模板/common/resource/en/debug_tool/image/check.png b/PSCADA/电子行业模板/common/resource/en/debug_tool/image/check.png deleted file mode 100644 index d75615e3a6f6ebeff680ce3babf8e6126f3fb77c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 651 zcmV;60(AX}P)1vF@0>e2rZZTX8nq~d0-?;1ECi`dWJy{SA{4YKBKlbrMLz^l^aI&KYEzpQ z6|;zJVVOmtP+%#6AZ0BgC`vL%z1^9)efH%hnB7Eyb(9AHR-vv6NC zNzW~fWCnCx$#?>cq~vHcOQ7RPx(8i42OOHJ1Xmv0nJe^_z5M8Lp*=}B7tU@ls?MTu&;36dm z4HCAbB%*R)gU-fs4WUhcw6s7U@?ps1Y+I84FD`g6FJEC#jZWjL0C~aG4oD01_u+cb zHRy1$J&BQk?W+a5*9i*q(l^q7fj-ptT-#fRF;mh|8DOS1ngph+FMo7@cbC^)EVXhL*<)NZ&7yKK&Z0sT$siSSp)|_^7ZOnr5+supnTsHM(4tyI z4-3LF&?sBf!UrKi=7{*njEr)~$2|Y%jsG7l6^rVuF5G+0{m%CwEUALPe72(VzAQT` zGE!-`$irz|D;lQ4arQbCM?0U;d*7ZcLV8<7Rxb|(93KE;wAh?sW9N$9d_|2{usa_S|gK)Q3!J~c^p$LPfClT-*kex<2SRmj~ zp=cs$d@4;0er89hs5yGmUntg8dxeyqF%8X~GNxvAh&+K?U`S^MkqpjE4k!0n;B)bK z_(qN2?pE$oc}r}#vC@*iaVm#8&r+qc&ilouK`#6HpnW&i3f@Kye}&SmFX$8$I838ulCO=fFCq~1uW436=4rw<;~2iu3rCA9~@g| UI{&Xswg3PC07*qoM6N<$f`#8!VE_OC diff --git a/PSCADA/电子行业模板/common/resource/en/debug_tool/image/search.png b/PSCADA/电子行业模板/common/resource/en/debug_tool/image/search.png deleted file mode 100644 index 05160b8a2c19be05d79da83f5b64029fbe0e350d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 768 zcmV+b1ONPqP)7i3n2uBA_%&R2!-+@@FH(2E$!^xTtRqKU1TAB z5Zwq}bk{|wSrM7%EV~gy$s~xtKGt?7CfobOW?OSwx^s8V^Sr-v{^#X+2|3qR`OW1L z>rM&AaS-hUxG>qmz$}4YfpOdLIiBRMOW#v=q1ta9B*I++HZjNo_zf{;SfGFyl??1A zKmd3~LNt$d6@AKuGoaTWI}PGn4EzA&vYmhRjmXkS_5!b*FK1igA~Clx<1<(_n9?dvXeM&KWP6lilSH&Jz7XFt z7A&6pAC|6p{8k$gt}$@K)U~z@==EDoAUpu5)6gAP)`DfwfMozwl~4<1V{$_{`JB9g z=wm<}o>TF%aasI5AF#%6o#e$$Y#Pr3d?MS|0rDUy0#KH{po4R%)9eEavcZSc|m@l~ZLZnm`idlf}8M>q84;Xt5@D@YY z%JK!>!RP^-qG7N)Z}?n2i=aOm1W~6_+z^t^!F*6pz`9Pr8B%bMN^L9!)&%D^vr^Mw z8Zms1y0wB{87^mG9|!YW)92j3WR^YB>LG!%%(!a$w2sx#TFI`sh&?A@heCW`NG~y$ z9uAW29ua#j7hD}$@; yN><%1!(N-P4*+nj7 s)9R72Y7#sMQ1myor6p_ljSR;C0000)EuJ+$J=x zTemL6u;}}{yF828g2bjQPV|WU(OA;o_Ao;8B9Q$56v-ap8OQ0bP Mp00i_>zopr0O-#puK)l5 diff --git a/PSCADA/电子行业模板/common/resource/en/debug_tool/image/uncheck1.png b/PSCADA/电子行业模板/common/resource/en/debug_tool/image/uncheck1.png deleted file mode 100644 index 31eb83b1bc81b40bc4c4dced8643a3d80d4893c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 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 Q7Dqd9gL|mutYX-I0S&vZDF6Tf diff --git a/PSCADA/电子行业模板/common/resource/en/debug_tool/translate/en.ts b/PSCADA/电子行业模板/common/resource/en/debug_tool/translate/en.ts deleted file mode 100644 index 6393677..0000000 --- a/PSCADA/电子行业模板/common/resource/en/debug_tool/translate/en.ts +++ /dev/null @@ -1,1775 +0,0 @@ - - - - - AiMonDlg - - - Dialog - - - - - RTU刷新 - RTU refresh - - - - 点配置刷新 - Point refresh - - - - - - 数据刷新 - Data refresh - - - - 全部 - All - - - - 区间 - Interval - - - - -- - -- - - - - RTU号 - RTU number - - - - - 使用标志 - Use flag - - - - RTU名称 - RTU name - - - - 点号 - Point number - - - - 标签名 - Tag name - - - - 点描述 - Point desc - - - - 点值 - Point value - - - - 点状态 - Point status - - - - 时间 - Time - - - - - - - - - 告警 - Alarm - - - - - - 通信中断,无法读取数据。请连接FES系统! - Communication was interrupted and data could not be read. Please connect FES system! - - - - 区域start数据非法或为负,默认为0! - The area start data is illegal or negative, the default is 0! - - - - 区域end数据非法或为负,默认为0! - The area end data is illegal or negative, the default is 0! - - - - 区域start 大于 区域end点数,两者默认为0! - The area start is greater than the area end points, both of which default to 0! - - - - 停止刷新 - Stop refresh - - - - CCheckUser - - - Dialog - - - - - 账号 - Account - - - - 姓名 - Name - - - - 用户组 - User group - - - - 密码 - Password - - - - 验证 - Validation - - - - 取消 - Cancel - - - - 权限验证 - Permission to verify - - - - - - - - 提示 - Prompt - - - - 请输入正确的账号 - Please enter the correct account - - - - 账号不能为空 - Account can not be empty - - - - 账号不存在 - Account does not exist - - - - 权限接口错误 - Permission interface error - - - - 密码错误 - wrong password - - - - CDebugTool - - - CDebugTool - - - - - 实时数据 - Real data - - - - 测点选择 - Point selection - - - - 测点监控 - Point monitoring - - - - 实时库表 - Rtdb table - - - - 表选择 - Table selection - - - - 表内容 - Table contents - - - - 筛选向导 - Screening Wizard - - - - 实时报警 - Real-time alarm - - - - 实时事件 - Real-time events - - - - 历史事件 - Historical events - - - - 节点状态 - Node status - - - - 前置通道 - Fes channel - - - - 前置数据 - Fes data - - - - 工程调试工具 - Engineering debugging tools - - - - CFesChannel - - - Form - - - - - 专业通道 - Sub channel - - - - 专业 - Sub - - - - 通道 - Channel - - - - 通道状态 - Channel status - - - - CFesData - - - Form - - - - - 专业选择 - Sub choice - - - - 通讯状态: - Communication status: - - - - 模拟量 - Analog - - - - 数字量 - Digital - - - - 累积量 - Accuml - - - - 混合量 - Mix - - - - 通讯中断 - Disconnect - - - - - - 告警 - Alarm - - - - 获取进程所在目录失败 - Failed to get the directory where the process is located - - - - - SYS_MODEL_APP_INFO.xml 配置文件无法打开! - SYS_MODEL_APP_INFO.xml, The configuration file cannot be opened! - - - - 通信连接 - Connection - - - - 通信中断 - Disconnect - - - - CHistoryEvent - - - Form - - - - - 查询 - Search - - - - 打印 - Print - - - - 事件条数 - Number of events - - - - CLoginTool - - - 中文 - Chinese - - - - 用户 - User - - - - 密码 - Password - - - - IP地址 - IP address - - - - 端口 - Port - - - - 数据库类型 - DB type - - - - 数据库名称 - DB name - - - - 登录 - Login - - - - 取消 - Cancel - - - - - 提示 - prompt - - - - 请输入正确的端口号 - Please enter the correct port number - - - - 系统初始化失败 - System initialization failed - - - - 数据库设置 - DB settings - - - - Mysql - - - - - mysql - - - - - Orale - - - - - orale - - - - - CNodeStatus - - - Form - - - - - 关键字 - Keyword - - - - 查找 - Search - - - - 刷新 - Refresh - - - - 全部选中 - Select all - - - - 全部取消 - Cancel all - - - - CRealAlarm - - - Form - - - - - 全部确认 - Confirm all - - - - 当前页确认 - Current page confirm - - - - 所选确认 - Selected confirm - - - - 取消选择 - Cancel selection - - - - 刷新 - Refresh - - - - 停止刷新 - Stop refresh - - - - - 选中条数 - Selected number - - - - 总报警条数 - Total number of alarms - - - - 未确认条数 - Unconfirmed - - - - 级别排序 - Rank order - - - - 滚动刷新 - Rolling refresh - - - - 状态筛选 - Status filtering - - - - 当前报警条数 - Number of current alarms - - - - 报警类型 - Alarm type - - - - 报警状态 - Alarm status - - - - 时标 - Time - - - - 域ID - Domain ID - - - - 位置ID - location ID - - - - 报警内容 - Alarm content - - - - 报警优先级id - Alarm priority id - - - - 设备类型ID - Device type ID - - - - 责任区ID - Responsibility area ID - - - - 测点ID - Point ID - - - - 设备 - Device - - - - CRealDataControl - - - Form - - - - - 控制测点: - Control points: - - - - 命令类型: - Command type: - - - - 其他参数: - Other parameters: - - - - 控制数值: - Control value: - - - - 执行命令 - Excuting an order - - - - 状态查询 - Status query - - - - 执行状态 - Execution status - - - - 反馈结果 - Feedback result - - - - 设置AI限值 - Set AI limits - - - - - - - 服务点禁止刷新报文 - Service point forbids refresh message - - - - - - 服务点禁止报警报文 - Service point prohibits alarm message - - - - - - - 人工置数报文 - Manual set message - - - - - - 遥控请求 - Remote request - - - - - - 遥控选择 - Remote selection - - - - - - 遥控执行 - Remote execution - - - - - - 遥控取消 - Remote cancel - - - - - - 遥控关闭 - Remote shutdown - - - - - 提示 - prompt - - - - - 请输入正确的数值 - Please enter the correct value - - - - - - - 等待返回结果中。。。。 - Waiting for results. . . . - - - - 程序猿还在写 - Program ape is still writing - - - - - - 远程查询实时数据库失败 - Remote query of real-time database failed - - - - 未查询到测点 - No query points found - - - - 限值 - Limit - - - - - 禁止刷新:未设置 - - Disable refresh: not set - - - - - 禁止报警:未设置 - - Disable alarm: not set - - - - - 人工置数:未设置 - Manual setting: not set - - - - 禁止刷新:已设置 - - Disable refresh: set - - - - 禁止报警:已设置 - - Disable alarm: set - - - - 人工置数: - Manual setting: - - - - 解析返回结果出错 - Error parsing the returned result - - - - 接受返回结果超时 - Accept return result timeout - - - - - - - - - 该命令无反馈结果 - No feedback results for this command - - - - - - - 取消 - Cancel - - - - - - - 设置 - Set up - - - - - - 占用设备 - Occupied equipment - - - - - - 不占用设备 - No equipment occupied - - - - - 程序猿还没写完 - Program ape has not finished - - - - CRealDataSelect - - - Form - - - - - 位置 - Location - - - - 专业 - Sub - - - - 设备组 - Dev group - - - - 查询 - Search - - - - 设备 - Device - - - - - 测点 - Point - - - - 所有位置 - All locations - - - - 所有专业 - All Sub - - - - - 所有设备组 - All device group - - - - 类型 - Type - - - - 模拟量 - Analog - - - - 数字量 - Digital - - - - 累计量 - Accuml - - - - 混合量 - Mix - - - - 常量 - Const - - - - CRealDataWatch - - - Form - - - - - 查找 - Search - - - - - 全选 - Select all - - - - 模拟量 - Analog - - - - 数字量 - Digital - - - - 累积量 - Accuml - - - - 混合量 - Mix - - - - 常量 - Const - - - - 测点删除 - Delete - - - - Del - Del - - - - 反选 - Reverse election - - - - 删除 - Delete - - - - 取消选择 - Cancel selection - - - - 请输入描述信息 - Please enter a description - - - - - 设备 - Device - - - - - 测点 - Point - - - - - 位置 - Location - - - - - 专业 - Sub - - - - 类型 - Type - - - - 值 - Value - - - - 状态 - Status - - - - RTU - RTU - - - - SEQ_NO - SEQ_NO - - - - 是否可控 - Whether controllable - - - - - 提示 - prompt - - - - const类型测点未配置 - Const type measuring point is not configured - - - - - 否 - No - - - - 是 - Yes - - - - 所有位置 - All locations - - - - 所有专业 - All Subs - - - - 操作 - Operating - - - - 当前未选中任何项! - No items are currently selected! - - - - CRealDatabaseFilter - - - Form - - - - - - 选择字段 - Field - - - - - 句内条件 - In condition - - - - - 筛选内容 - Content - - - - - 句间条件 - Inter condition - - - - 添加 - Add - - - - 删除 - Delete - - - - 执行 - Perform - - - - - - 提示 - Prompt - - - - 条件内容为空 - Condition content is empty - - - - 列为空 - Column is empty - - - - 请选择一个条件行 - Please select a condition line - - - - CRealDatabaseSelect - - - Form - - - - - 应用 - Application - - - - 表选择 - Table - - - - 列选择 - Column - - - - 所有列 - All columns - - - - 实时数据库选择初始化变量失败 - Real-time database selection initialization variable failed - - - - CRealDatabaseShow - - - Form - - - - - 专业 - Sub - - - - 设备标签 - Device tag - - - - - 提示 - Prompt - - - - 所有设备 - All device - - - - 所有专业 - All Sub - - - - 未知的数据类型 - Unknown data type - - - - 第 - Incorrect conditional value input in the - - - - 行条件数值输入有错 - line - - - - CRealEvent - - - Form - - - - - 滚动刷新 - Rolling refresh - - - - 筛选状态 - Filter status - - - - 筛选 - Filter - - - - 打印 - Print - - - - 事件条数 - Number of events - - - - CSelectAppDlg - - - Dialog - - - - - 连接 - Connect - - - - 断开连接 - Disconnect - - - - FES IP地址: - FES IP Address: - - - - FES网络端口: - FES NET port: - - - - 连接状态: - Connection Status: - - - - 专业名称: - Sub name: - - - - 网络端口错误,无法连接网络。 - The network port is incorrect and cannot connect to the network. - - - - 网络连接 - Connect - - - - 网络断开 - Disconnect - - - - DiMonDlg - - - Dialog - - - - - RTU刷新 - RTU refresh - - - - 点配置刷新 - Point refresh - - - - - - 数据刷新 - Data refresh - - - - 全部 - All - - - - 区间 - Interval - - - - -- - -- - - - - RTU号 - RTU number - - - - - 使用标志 - Use flag - - - - RTU名称 - RTU name - - - - 点号 - Point number - - - - 标签名 - Tag name - - - - 点描述 - Point desc - - - - 点值 - Point value - - - - 点状态 - Point status - - - - 时间 - Time - - - - - - - - - 告警 - Alarm - - - - - - 通信中断,无法读取数据。请连接FES系统! - Communication was interrupted and data could not be read. Please connect FES system! - - - - 区域start数据非法或为负,默认为0! - The area start data is illegal or negative, the default is 0! - - - - 区域end数据非法或为负,默认为0! - The area end data is illegal or negative, the default is 0! - - - - 区域start 大于 区域end点数,两者默认为0! - The area start is greater than the area end points, both of which default to 0! - - - - 停止刷新 - Stop refresh - - - - MiMonDlg - - - Dialog - - - - - RTU刷新 - RTU refresh - - - - 点配置刷新 - Point refresh - - - - - - 数据刷新 - Data refresh - - - - 全部 - All - - - - 区间 - Interval - - - - -- - -- - - - - RTU号 - RTU number - - - - - 使用标志 - Use flag - - - - RTU名称 - RTU name - - - - 点号 - Point number - - - - 标签名 - Tag name - - - - 点描述 - Point desc - - - - 点值 - Point value - - - - 点状态 - Point status - - - - 时间 - Time - - - - - - - - - 告警 - Alarm - - - - - - 通信中断,无法读取数据。请连接FES系统! - Communication was interrupted and data could not be read. Please connect FES system! - - - - 区域start数据非法或为负,默认为0! - The area start data is illegal or negative, the default is 0! - - - - 区域end数据非法或为负,默认为0! - The area end data is illegal or negative, the default is 0! - - - - 区域start 大于 区域end点数,两者默认为0! - The area start is greater than the area end points, both of which default to 0! - - - - 停止刷新 - Stop refresh - - - - PiMonDlg - - - Dialog - - - - - RTU刷新 - RTU refresh - - - - 点配置刷新 - Point refresh - - - - - - 数据刷新 - Data refresh - - - - 全部 - All - - - - 区间 - Interval - - - - -- - -- - - - - RTU号 - RTU number - - - - - 使用标志 - Use flag - - - - RTU名称 - RTU name - - - - 点号 - Point number - - - - 标签名 - Tag name - - - - 点描述 - Point desc - - - - 点值 - Point value - - - - 点状态 - Point status - - - - 时间 - Time - - - - - - - - - 告警 - Alarm - - - - - - 通信中断,无法读取数据。请连接FES系统! - Communication was interrupted and data could not be read. Please connect FES system! - - - - 区域start数据非法或为负,默认为0! - The area start data is illegal or negative, the default is 0! - - - - 区域end数据非法或为负,默认为0! - The area end data is illegal or negative, the default is 0! - - - - 区域start 大于 区域end点数,两者默认为0! - The area start is greater than the area end points, both of which default to 0! - - - - 停止刷新 - Stop refresh - - - - QObject - - - 初始化消息总线失败 - Failed to initialize message bus - - - - 初始化数据库接口失败 - Failed to initialize database interface - - - diff --git a/PSCADA/电子行业模板/common/resource/en/fes/translate/fes_en.mo b/PSCADA/电子行业模板/common/resource/en/fes/translate/fes_en.mo deleted file mode 100644 index 59bf12c570913dbb6a5202c8631f65264e7b96e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15508 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 G2K;}}%HvG{ diff --git a/PSCADA/电子行业模板/common/resource/en/fes/translate/fes_en.po b/PSCADA/电子行业模板/common/resource/en/fes/translate/fes_en.po deleted file mode 100644 index 25027a4..0000000 --- a/PSCADA/电子行业模板/common/resource/en/fes/translate/fes_en.po +++ /dev/null @@ -1,798 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: 2019-10-24 09:29+0800\n" -"PO-Revision-Date: 2019-10-24 16:39+0800\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.4\n" -"X-Poedit-Basepath: ../../../../../src/fes\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Poedit-KeywordsList: I18N;I18N_C\n" -"X-Poedit-SearchPath-0: fes\n" -"X-Poedit-SearchPath-1: protocol\n" - -#: protocol/iec104/IEC104DataProcThread.cpp:3310 -#, c-format -msgid "IEC104 遥控失败!RtuNo:%d 通信中断" -msgstr "IEC104 Remote control failed! RtuNo:%d communication interrupt" - -#: protocol/iec104/IEC104DataProcThread.cpp:3411 -#, c-format -msgid "IEC104 遥控失败!RtuNo:%d 找不到遥控点:%d" -msgstr "IEC104 Remote control failed! RtuNo:%d cannot find remote control point: %d" - -#: protocol/iec104/IEC104DataProcThread.cpp:3458 -#: protocol/iec104/IEC104DataProcThread.cpp:3666 -#, c-format -msgid "IEC104 遥调失败!RtuNo:%d 通信中断" -msgstr "IEC104 Remote adjustment failed! RtuNo:%d communication interrupt" - -#: protocol/iec104/IEC104DataProcThread.cpp:3493 -#: protocol/iec104/IEC104DataProcThread.cpp:3721 -#, c-format -msgid "IEC104 遥调失败!RtuNo:%d 遥调点:%d 范围超出" -msgstr "IEC104 Remote adjustment failed! RtuNo:%d Remote adjustment point: %d out of range" - -#: protocol/iec104/IEC104DataProcThread.cpp:3610 -#: protocol/iec104/IEC104DataProcThread.cpp:3795 -#, c-format -msgid "IEC104 遥调失败!RtuNo:%d 找不到遥调点:%d" -msgstr "IEC104 Remote adjustment failed! RtuNo:%d cannot find remote adjustment point: %d" - -#: protocol/iec104/IEC104DataProcThread.cpp:3756 -#, c-format -msgid "IEC104 遥调成功!RtuNo:%d value=%f" -msgstr "IEC104 Remote adjustment success! RtuNo:%d value=%f" - -#: protocol/iec104/IEC104DataProcThread.cpp:3763 -#, c-format -msgid "IEC104 遥调成功!RtuNo:%d value=%d" -msgstr "IEC104 Remote adjustment success! RtuNo:%d value=%d" - -#: protocol/iec104/IEC104DataProcThread.cpp:3841 -#, c-format -msgid "IEC104 遥控成功!RtuNo:%d 遥控点:%d" -msgstr "IEC104 Remote control success! RtuNo:%d Remote control point: %d" - -#: protocol/iec104/IEC104DataProcThread.cpp:3848 -#: protocol/iec104/IEC104DataProcThread.cpp:4093 -#: protocol/kbd104/KBD104DataProcThread.cpp:2308 -#: protocol/kbd104/KBD104DataProcThread.cpp:3668 -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:360 -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:1543 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:492 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2254 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2398 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:442 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2074 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2198 -#: protocol/modbus_tcp_pis/ModbusPisDataProcThread.cpp:1108 -#: protocol/siemens103_tcp/SIEMENS103DataProcThread.cpp:1105 -#: protocol/siemens103_tcp/SIEMENS103DataProcThread.cpp:1284 -#, c-format -msgid "遥控失败!RtuNo:%d 遥控点:%d" -msgstr "Remote control failed! RtuNo:%d Remote control point: %d" - -#: protocol/iec104/IEC104DataProcThread.cpp:3877 -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:1566 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2278 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2090 -#: protocol/siemens103_tcp/SIEMENS103DataProcThread.cpp:1134 -#, c-format -msgid "遥调成功!RtuNo:%d 遥调点:%d" -msgstr "Remote adjustment success! RtuNo:%d Remote adjustment point: %d" - -#: protocol/iec104/IEC104DataProcThread.cpp:3884 -#: protocol/iec104/IEC104DataProcThread.cpp:4112 -#: protocol/kbd104/KBD104DataProcThread.cpp:3692 -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:1571 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:642 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2283 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2418 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:572 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2095 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2215 -#: protocol/modbus_tcp_pis/ModbusPisDataProcThread.cpp:1125 -#: protocol/siemens103_tcp/SIEMENS103DataProcThread.cpp:1141 -#: protocol/siemens103_tcp/SIEMENS103DataProcThread.cpp:1303 -#, c-format -msgid "遥调失败!RtuNo:%d 遥调点:%d" -msgstr "Remote adjustment failed! RtuNo:%d Remote adjustment point: %d" - -#: protocol/iec104/IEC104DataProcThread.cpp:4140 -#: protocol/kbd104/KBD104DataProcThread.cpp:3716 -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:1594 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:772 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2306 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2446 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:687 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2111 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2233 -#: protocol/modbus_tcp_pis/ModbusPisDataProcThread.cpp:1143 -#: protocol/siemens103_tcp/SIEMENS103DataProcThread.cpp:1331 -#, c-format -msgid "混合量输出成功!RtuNo:%d 混合量输出点:%d" -msgstr "The output of mix is successful! RtuNo:%d Mix output point: %d" - -#: protocol/kbd104/KBD104DataProcThread.cpp:2026 -#, c-format -msgid "KBD104 遥控失败!RtuNo:%d 通信中断" -msgstr "KBD104 Remote control failed! RtuNo:%d communication interrupt" - -#: protocol/kbd104/KBD104DataProcThread.cpp:2094 -#, c-format -msgid "KBD104 遥控失败!RtuNo:%d 找不到遥控点:%d" -msgstr "KBD104 Remote control failed! RtuNo:%d cannot find remote control point: %d" - -#: protocol/kbd104/KBD104DataProcThread.cpp:2144 -#, c-format -msgid "KBD104 遥调失败!RtuNo:%d 通信中断" -msgstr "KBD104 Remote adjustment failed! RtuNo:%d communication interrupt" - -#: protocol/kbd104/KBD104DataProcThread.cpp:2180 -#, c-format -msgid "KBD104 遥调失败!RtuNo:%d 遥调点:%d 范围超出" -msgstr "KBD104 Remote adjustment failed! RtuNo:%d Remote adjustment point: %d out of range" - -#: protocol/kbd104/KBD104DataProcThread.cpp:2260 -#, c-format -msgid "KBD104 遥调失败!RtuNo:%d 找不到遥调点" -msgstr "KBD104 Remote adjustment failed! RtuNo:%d cannot find remote adjustment point" - -#: protocol/kbd104/KBD104DataProcThread.cpp:2301 -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:343 -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:1538 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:475 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2248 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:428 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2069 -#, c-format -msgid "遥控成功!RtuNo:%d 遥控点:%d" -msgstr "Remote control success! RtuNo:%d Remote control point: %d" - -#: protocol/kbd104/KBD104DataProcThread.cpp:2335 -#, c-format -msgid "遥调成功!RtuNo:%d 遥控点:%d" -msgstr "Remote adjustment success! RtuNo:%d Remote control point: %d" - -#: protocol/kbd104/KBD104DataProcThread.cpp:2342 -#, c-format -msgid "遥调失败!RtuNo:%d 遥控点:%d" -msgstr "Remote adjustment failed! RtuNo:%d Remote control point: %d" - -#: protocol/kbd104/KBD104DataProcThread.cpp:3097 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3083 -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:460 -#, c-format -msgid "HMI命令解析失败,不下发控制命令!RtuNo:%d " -msgstr "Failed to parse HMI command,no send control command down! RtuNo:%d" - -#: protocol/kbd104/KBD104DataProcThread.cpp:3268 -#: protocol/kbd104/KBD104DataProcThread.cpp:3353 -#: protocol/kbd104/KBD104DataProcThread.cpp:3445 -#: protocol/kbd104/KBD104DataProcThread.cpp:3536 -#: protocol/kbd104/KBD104DataProcThread.cpp:3615 -#, c-format -msgid "RtuNo:%d %s" -msgstr "RtuNo:%d %s" - -#: protocol/kbd104/KBD104DataProcThread.cpp:3273 -#, c-format -msgid "KBD104 定值读取失败!RtuNo:%d" -msgstr "KBD104 Read const failed! RtuNo:%d" - -#: protocol/kbd104/KBD104DataProcThread.cpp:3358 -#, c-format -msgid "KBD104 定值读取成功!RtuNo:%d" -msgstr "KBD104 Read const success! RtuNo:%d" - -#: protocol/kbd104/KBD104DataProcThread.cpp:3450 -#, c-format -msgid "KBD104 定值修改失败!RtuNo:%d" -msgstr "KBD104 Modify const failed! RtuNo:%d" - -#: protocol/kbd104/KBD104DataProcThread.cpp:3541 -#, c-format -msgid "KBD104 定值修改成功!RtuNo:%d" -msgstr "KBD104 Modify const success! RtuNo:%d" - -#: protocol/kbd104/KBD104DataProcThread.cpp:3620 -#, c-format -msgid "KBD104 确认修改定值!RtuNo:%d rtuStatus:%d" -msgstr "KBD104 Confirm to modify the const! RtuNo:%d rtuStatus:%d" - -#: protocol/kbd61850m/IEC61850_DecodeResPkt.cpp:1079 -msgid "写值不成功!" -msgstr "Write value failure!" - -#: protocol/kbd61850m/IEC61850_DecodeResPkt.cpp:1122 -msgid "写值成功!" -msgstr "Write value success!" - -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:402 -#, c-format -msgid "建立双边关联失败%s" -msgstr "Failed to establish bilateral connection%s" - -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:1304 -#, c-format -msgid "Ping %s...成功\n" -msgstr "Ping %s...successful\n" - -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:1314 -#, c-format -msgid "Ping %s失败,下次重试\n" -msgstr "Ping %s failed,try again next time\n" - -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:1434 -#, c-format -msgid "connect %s...成功!" -msgstr "connect %s...successful!" - -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:1443 -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:1457 -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:1471 -#, c-format -msgid "connect %s...失败!" -msgstr "connect %s...failed!" - -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:1498 -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:1535 -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:1569 -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:1584 -msgid "建立传输层连接失败!" -msgstr "Failed to establish transport layer connection!" - -#: protocol/kbd61850m/IEC61850_FormReqCmd.cpp:1560 -msgid "建立传输层连接成功!" -msgstr "Establish transport layer connection successfully!" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:277 -#, c-format -msgid "收到总召KWH成功 %s" -msgstr "Received total call KWH success %s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:299 -#, c-format -msgid "长时间没有召完树,通道:%d 退出" -msgstr "Long time not call tree finish,channel: %d exit" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:312 -#, c-format -msgid "通讯中断[%d%]" -msgstr "Communication Interrupt[%d%]" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:337 -#, c-format -msgid "server个数%d,已连接%d,本通道%s.. %s %s NoUpdateTime=%d" -msgstr "server number %d,connected %d,this channel %s.. %s %s NoUpdateTime=%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:344 -#, c-format -msgid "通道%s 通信中断,断开连接,重新建立连接" -msgstr "Channel %s communication interrupt, disconnect, reconnect" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:359 -#, c-format -msgid "通道%s 接收超时,断开连接,重新建立连接" -msgstr "Channel %s receive timeout, disconnect, reconnect" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:503 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3773 -#, c-format -msgid "报告非使能%s:%s" -msgstr "Report no enable%s:%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:539 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3809 -#, c-format -msgid "设置总召时间%s:%ld毫秒,%s" -msgstr "Set total call time%s:%ldms,%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:551 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3820 -#, c-format -msgid "报告使能%s:%s" -msgstr "Report enable%s:%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:596 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:618 -#, c-format -msgid "设置TrgOp%s:%s" -msgstr "Set TrgOp%s:%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:656 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:682 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:707 -#, c-format -msgid "设置OptFlds%s:%s" -msgstr "Set OptFlds%s:%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:734 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:745 -#, c-format -msgid "读取EntryID%s:%s" -msgstr "Read EntryID%s:%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:753 -#, c-format -msgid "设置EntryID%s:%s" -msgstr "Set EntryID%s:%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:788 -msgid "PING 套接字错误" -msgstr "PING socket error" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:798 -msgid "连接服务器 开" -msgstr "Connect to server open" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:804 -#, c-format -msgid "连接服务器%s,%s,返回%d" -msgstr "Connect to server %s , %s,return %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:821 -msgid "网络不通,退出服务器" -msgstr "No network, log out of server" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:830 -msgid "网络可能断开" -msgstr "Network may be disconnected" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:849 -msgid "网络不通" -msgstr "No network" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:873 -#, c-format -msgid " 通道%d,ExitServer() ret:%d" -msgstr "Channel %d,ExitServer() ret:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:1440 -#, c-format -msgid "没有找到RTU名 %s" -msgstr "Cannot find RTU name %s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:1451 -#, c-format -msgid "通道%d,RTU%d 没有配置数据集合:%s" -msgstr "Channel %d,RTU %d no dataset configure : %s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:1470 -msgid "上传数据路径为空" -msgstr "The upload data path is empty" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2071 -#, c-format -msgid "总召数据集%s:%s" -msgstr "Total call dataset %s:%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2128 -#, c-format -msgid "录波:命令[读目录]%s[返回%d]" -msgstr "Wave recording:command[Read Directory]%s[Return %d]" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2192 -#, c-format -msgid "录波:状态[目录]%s,文件个数%d" -msgstr "Wave recording:status[Directory]%s,number of file %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2251 -#, c-format -msgid "录波:命令[下载]%d,文件名%s" -msgstr "Wave recording:command[Download]%d,file name %s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2271 -#, c-format -msgid "录波:所有的文件已经下载完成。错误个数%d" -msgstr "Wave recording:all files have been downloaded. Error number %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2321 -#, c-format -msgid "录波:状态[下载]%s,文件名%s" -msgstr "Wave recording:status[Download]%s,file name %s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2377 -#, c-format -msgid "录波:新增%s" -msgstr "Wave recording:new %s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2468 -#, c-format -msgid "通道所有发送后数据后%ds没有收到数据,退出服务器" -msgstr "After send all data in channel,no data received within %ds,log out of server" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2511 -msgid "通信没有建立遥控失败" -msgstr "Communication not established,remote control failed" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2537 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2551 -msgid "选择成功" -msgstr "Selection success" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2542 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2556 -#, c-format -msgid "选择命令成功 %s 值%d" -msgstr "Selection command success %s value %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2570 -#, c-format -msgid "下发YK 选择命令成功 %s 值%d" -msgstr "Successful in send YK selection command %s value %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2574 -#, c-format -msgid "下发YK 选择命令失败 %s 值%d" -msgstr "Failed to send YK selection command %s value %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2594 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2736 -msgid "找不到遥控点遥控失败!" -msgstr "Cannot find remote control point,remote control failed!" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2595 -#, c-format -msgid "修改定值组号%s 找不到遥控点遥控失败,RTU:%d,YK:%d cmd:%d" -msgstr "Modify the const group number %s ,cannot find remote control point,remote control failed,RTU:%d,YK:%d cmd:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2608 -#, c-format -msgid "修改定值组号%s:%s %s" -msgstr "Modify the const group number %s:%s %s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2615 -msgid "修改定值组号失败!...1" -msgstr "Failed to modify the const group number!...1" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2616 -#, c-format -msgid "修改定值组号%s 失败..1,RTU:%d,YK:%d groupno:%d" -msgstr "Failed to modify the const group number %s..1,RTU:%d,YK:%d groupno:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2626 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3118 -#, c-format -msgid "确认激活定值组%s:%s %s" -msgstr "Confirm to active the const group %s:%s %s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2634 -msgid "修改定值组号失败!...2" -msgstr "Failed to modify the const group number!...2" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2635 -#, c-format -msgid "修改定值组号%s 失败...2,RTU:%d,YK:%d groupno:%d" -msgstr "Failed to modify the const group number %s...2,RTU:%d,YK:%d groupno:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2647 -msgid "修改定值组号成功!" -msgstr "Modify const group number successfully!" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2648 -#, c-format -msgid "修改定值组号%s 成功...2,RTU:%d,YK:%d groupno:%d" -msgstr "Modify const group number %s successfully...2,RTU:%d,YK:%d groupno:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2668 -#, c-format -msgid "下发YK 执行命令成功 %s 值%d" -msgstr "Successful in send YK execution command %s value %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2672 -#, c-format -msgid "下发YK 执行命令失败 %s 值%d" -msgstr "Failed to send YK execution command %s value %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2682 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2695 -msgid "撤销成功" -msgstr "Revocation success" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2687 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2700 -#, c-format -msgid "撤销成功 %s 值%d" -msgstr "Revocation success %s value %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2713 -#, c-format -msgid "下发YK 撤销命令成功 %s 值%d" -msgstr "Successful in send YK revocation command %s value %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2717 -#, c-format -msgid "下发YK 撤销命令失败 %s 值%d" -msgstr "Failed to send YK revocation command %s value %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2738 -#, c-format -msgid "找不到遥控点遥控失败,RTU:%d,YK:%d cmd:%d" -msgstr "Cannot find remote control point,remote control failed,RTU:%d,YK:%d cmd:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2776 -#, c-format -msgid "遥控返回 retCmd.CtrlDir=%d RtuNo=%d PointID=%d" -msgstr "Return of remote control retCmd.CtrlDir=%d RtuNo=%d PointID=%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2783 -msgid "设备返回撤销成功" -msgstr "Device return revocation success" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2784 -#, c-format -msgid "设备返回撤销成功!RtuNo:%d 遥控点:%d" -msgstr "Device return revocation success! RtuNo:%d Remote control point: %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2789 -msgid "设备返回撤销失败" -msgstr "Device return revocation failed" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2790 -#, c-format -msgid "设备返回撤销失败!RtuNo:%d 遥控点:%d" -msgstr "Device return revocation failed! RtuNo:%d Remote control point: %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2809 -msgid "设备返回执行成功" -msgstr "Device return execution success" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2810 -#, c-format -msgid "设备返回执行成功!RtuNo:%d 遥控点:%d" -msgstr "Device return execution success! RtuNo:%d Remote control point: %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2815 -msgid "设备返回执行失败" -msgstr "Device return execution failed" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2816 -#, c-format -msgid "设备返回执行失败!RtuNo:%d 遥控点:%d" -msgstr "Device return execution failed! RtuNo:%d Remote control point: %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2834 -msgid "设备返回选择成功" -msgstr "Device return selection success" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2835 -#, c-format -msgid "设备返回选择成功!RtuNo:%d 遥控点:%d" -msgstr "Device return selection success! RtuNo:%d Remote control point: %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2840 -msgid "设备返回选择失败" -msgstr "Device return selection failed" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2841 -#, c-format -msgid "设备返回选择失败!RtuNo:%d 遥控点:%d" -msgstr "Device return selection failed! RtuNo:%d Remote control point: %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2902 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2905 -#, c-format -msgid "KBD61850 定值控制失败!RtuNo:%d 找不到对应的DS" -msgstr "KBD61850 Const control failed! RtuNo:%d cannot find the corresponding DS" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2922 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2925 -#, c-format -msgid "KBD61850 定值控制失败!RtuNo:%d 通信中断" -msgstr "KBD61850 Const control failed! RtuNo:%d communication interrupt" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2943 -#, c-format -msgid "控制参数不正确,定值控制失败!RtuNo:%d " -msgstr "Incorrect control parameters,const control failed! RtuNo:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:2946 -#, c-format -msgid "控制参数不正确,定值控制失败!RtuNo:%d" -msgstr "Incorrect control parameters,const control failed! RtuNo:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3084 -#, c-format -msgid "HMI命令解析失败,不下发控制命令!RtuNo:%d" -msgstr "Failed to parse HMI command,no send control command down! RtuNo:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3098 -#, c-format -msgid "修改定值组%s:%s %s" -msgstr "Modify the const %s:%s %s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3112 -msgid "修改定值组失败" -msgstr "Modify the const failed" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3133 -msgid "确认激活定值组失败" -msgstr "Confirm to active the const group failed" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3148 -msgid "激活定值组成功" -msgstr "Active the const group successfully" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3277 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3551 -#, c-format -msgid "KBD61850 定值读取成功!RtuNo:%d" -msgstr "KBD61850 Read const success! RtuNo:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3278 -#, c-format -msgid "KBD61850 定值读取成功!RtuNo:%d Num=%d" -msgstr "KBD61850 Read const success! RtuNo:%d Num=%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3287 -#, c-format -msgid "读定值%s:%s" -msgstr "Read const %s:%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3302 -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3306 -#, c-format -msgid "开始写定值 组号%s:%s %s" -msgstr "Start writing const,group number %s:%s %s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3326 -#, c-format -msgid "定值写值错误:定值%d" -msgstr "Error writing const: const %d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3341 -#, c-format -msgid "改变定值%s(%s):%s" -msgstr "Change the const %s(%s):%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3347 -#, c-format -msgid "修改定值%s:%s" -msgstr "Modify the const %s:%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3384 -#, c-format -msgid "确认改变定值%s:%s" -msgstr "Confirm to change the const %s:%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3388 -#, c-format -msgid "确认修改定值%s:%s" -msgstr "Confirm to modify the const %s:%s" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3463 -msgid "定值操作错误:不能找到定值" -msgstr "Const operation error:cannot find const" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3608 -#, c-format -msgid "定值修改成功! RtuNo:%d" -msgstr "Modify const success! RtuNo:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3614 -#, c-format -msgid "定值修改失败!RtuNo:%d" -msgstr "Modify const failed! RtuNo:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3669 -#, c-format -msgid "激活定值修改成功! RtuNo:%d" -msgstr "Active the const modification success! RtuNo:%d" - -#: protocol/kbd61850m/KBD61850mDataProcThread.cpp:3675 -#, c-format -msgid "激活定值修改失败!RtuNo:%d" -msgstr "Active the const modification failed! RtuNo:%d" - -#: protocol/kbd61850m/KBD_DLL.cpp:47 -#, c-format -msgid "AbortCallback() %s异常中止,退出服务器" -msgstr "AbortCallback() %s abort, log out of sever" - -#: protocol/kbd61850m/KBD_DLL.cpp:64 protocol/kbd61850m/KBD_DLL.cpp:127 -#: protocol/kbd61850m/KBD_DLL.cpp:191 protocol/kbd61850m/KBD_DLL.cpp:228 -#, c-format -msgid "没有找到服务器名 %s" -msgstr "Not found the name of server %s" - -#: protocol/kbd61850m/KBD_DLL.cpp:132 -#, c-format -msgid "通道%d,YK返回:%s,%d,%d,%d,%d,%d" -msgstr "Channel %d, YK return:%s,%d,%d,%d,%d,%d" - -#: protocol/kbd61850m/KBD_DLL.cpp:196 -#, c-format -msgid "通道%d,定值 %s返回:%s" -msgstr "Channel %d, const %s return : %s" - -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:379 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:511 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:459 -#, c-format -msgid "遥控失败!RtuNo:%d 找不到遥控点:%d" -msgstr "Remote control failed! RtuNo:%d cannot find remote control point:%d" - -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:1599 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2311 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2116 -#, c-format -msgid "混合量输出失败!RtuNo:%d 混合量输出点:%d" -msgstr "The output of mix is failed! RtuNo:%d Mix output point: %d" - -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:1622 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2334 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:1307 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2132 -#: protocol/modbus_tcp_pis/ModbusPisDataProcThread.cpp:1036 -#, c-format -msgid "自定义命令输出成功!RtuNo:%d " -msgstr "The custom command output was successful! RtuNo:%d" - -#: protocol/modbus_rtu/ModbusRtuDataProcThread.cpp:1627 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2339 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:2468 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:838 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:875 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:905 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:1395 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2138 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:2253 -#: protocol/modbus_tcp_pis/ModbusPisDataProcThread.cpp:568 -#: protocol/modbus_tcp_pis/ModbusPisDataProcThread.cpp:651 -#: protocol/modbus_tcp_pis/ModbusPisDataProcThread.cpp:755 -#: protocol/modbus_tcp_pis/ModbusPisDataProcThread.cpp:1050 -#: protocol/modbus_tcp_pis/ModbusPisDataProcThread.cpp:1163 -#, c-format -msgid "自定义命令输出失败!RtuNo:%d " -msgstr "The custom command output was failed! RtuNo:%d" - -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:564 -#, c-format -msgid "遥调失败!RtuNo:%d 遥调点:%d 量程越限" -msgstr "Remote adjustment failed! RtuNo:%d Remote adjustment point:%d out of limit" - -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:570 -msgid "遥调失败,量程配置错误,最大量程<=最小量程!" -msgstr "Remote adjustment failed! Range configuration error, maximum range <= minimum range!" - -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:577 -#, c-format -msgid "遥调失败!RtuNo:%d 遥调点:%d 系数为0" -msgstr "Remote adjustment failed! RtuNo:%d Remote adjustment point:%d Coefficient is 0" - -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:662 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:523 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:589 -#, c-format -msgid "遥调失败!RtuNo:%d 找不到遥调点:%d" -msgstr "Remote adjustment failed! RtuNo:%d cannot find remote adjustment point: %d" - -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:726 -#: protocol/modbus_tcp/ModbusDataProcThread.cpp:791 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:644 -#: protocol/modbus_tcp_bas/BasModbusDataProcThread.cpp:703 -#, c-format -msgid "混合量输出失败!RtuNo:%d 找不到混合量输出点:%d" -msgstr "The output of mix is failed! RtuNo:%d cannot find mix output point: %d" - -#: protocol/siemens103_tcp/SIEMENS103DataProcThread.cpp:1007 -#, c-format -msgid "SIEMENS103 遥控失败!RtuNo:%d 通信中断" -msgstr "SIEMENS103 Remote control failed! RtuNo:%d communication interrupt" - -#: protocol/siemens103_tcp/SIEMENS103DataProcThread.cpp:1064 -#, c-format -msgid "SIEMENS103 遥控失败!RtuNo:%d 找不到遥控点:%d" -msgstr "SIEMENS103 Remote control failed! RtuNo:%d cannot find remote control point: %d" - -#: protocol/siemens103_tcp/SIEMENS103DataProcThread.cpp:1098 -#, c-format -msgid "SIEMENS103 遥控成功!RtuNo:%d 遥控点:%d" -msgstr "SIEMENS103 Remote control success! RtuNo:%d Remote control point: %d" diff --git a/PSCADA/电子行业模板/common/resource/en/gui/translate/icon_en.ts b/PSCADA/电子行业模板/common/resource/en/gui/translate/icon_en.ts deleted file mode 100644 index da93a48..0000000 --- a/PSCADA/电子行业模板/common/resource/en/gui/translate/icon_en.ts +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PSCADA/电子行业模板/common/resource/en/gui/translate/plugin_en.qm b/PSCADA/电子行业模板/common/resource/en/gui/translate/plugin_en.qm deleted file mode 100644 index 122d1f62ac945f7e5841f59d4644bbbf2084bc14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147848 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 QTot6jF)-O{ues*`10OA^%K!iX diff --git a/PSCADA/电子行业模板/common/resource/en/gui/translate/plugin_en.ts b/PSCADA/电子行业模板/common/resource/en/gui/translate/plugin_en.ts deleted file mode 100644 index ec225fd..0000000 --- a/PSCADA/电子行业模板/common/resource/en/gui/translate/plugin_en.ts +++ /dev/null @@ -1,8544 +0,0 @@ - - - - - AddObjAlarmDialog - - Dialog - Dialog - - - 设备 - Device - - - 自定义告警名称 - Name - - - 类型 - Type - - - 告警等级定义 - Level - - - 告警点计算函数 - Calc function - - - 告警规则 - Alarm role - - - 越上限值 - Limit up1 - - - 越下限值 - Limit low1 - - - 数字量文本: - Digital text: - - - 添加 - Add - - - 取消 - Cancel - - - 新增告警点 - Custom alarm - - - 值 - Value - - - 模拟量 - Analog - - - 数字量 - Digital - - - 枚举量 - Mix - - - 提示 - Tip - - - 自定义告警名称不能为空! - Name is required! - - - 无告警点计算函数,请先配置计算点函数! - No calculation function,please configure the calculation point function first! - - - 参数:%1的参数标签不能为空! - Param:The parameter label of %1 cannot be empty! - - - 越下限值必须小于越上限值! - The lower limit must be less than the upper limit! - - - 无数字量文本,请先配置数字量文本! - No digital text,please configure digital text first! - - - 添加失败!正在回滚事务~ - Add failed!transaction is being rolled back - - - 添加成功 - Add success - - - 计次告警描述 - Counting alarm description - - - 计时告警描述 - Timing alarm description - - - - AlarmCalcParaTableModel - - 参数名称 - Parameter name - - - 参数标签 - Parameter tag - - - 操作 - Operating - - - - AlarmDevTreeModel - - 位置/设备组 - Location/DeviceGroup - - - - AlarmManageForm - - Form - Form - - - - AlarmManageWidget - - AlarmManageWidget - AlarmManageWidget - - - 请输入搜索内容 - Please output search content - - - 查询 - Search - - - 新增告警点 - Custom alarm - - - 屏蔽一览表 - Shield list - - - 保存 - Save - - - 描述设置 - Describe settings - - - 测点描述 - Point desc - - - 屏蔽设置 - Shield settings - - - 是否告警屏蔽 - Alarm shield - - - 屏蔽时段类型 - Time type - - - 屏蔽事由 - Reasons - - - 开始时间 - Start time - - - 结束时间 - End time - - - 一 - MON - - - 二 - TUE - - - 三 - WED - - - 四 - THU - - - 五 - FRI - - - 六 - SAT - - - 七 - SUN - - - 日期 - Date - - - 至 - To - - - 告警动作 - Alarm action - - - 是否自定义告警 - Custom alarm - - - 告警优先级 - Priority - - - 模拟量 - Analog - - - 数字量 - Digital - - - 多选 - MultiSelection - - - 越限等级 - Limit number - - - 告警推图文件 - Pic name - - - 选择 - Select - - - ... - ... - - - 告警声音文件 - Sound name - - - 越限设置 - Limit settings - - - 越线等级 - Limit level - - - 越上限值 - Upper limit - - - 越下限值 - Lower limit - - - 越上上限值 - Upper 2 limit - - - 越下下限值 - Lower 2 limit - - - 越限告警 - Limit alarm - - - 是 - Yes - - - 否 - No - - - 一次性 - One time - - - 每周 - Week - - - 每月 - Month - - - 0 - 0 - - - 1 - 1 - - - 2 - 2 - - - 提示 - Tip - - - 保存失败!正在回滚事务~ - Save failed!transaction is being rolled back - - - 保存成功! - Save success! - - - 确认删除? - Confirm on delete? - - - 删除失败!正在回滚事务~ - Failure to delete!Rollback transaction~ - - - 当前登录用户无修改权限! - The current user have no perm to modify! - - - 越下下限值必须小于越下限值 - The lower 2 limit must be less than the lower limit - - - 越下限值必须小于越上限值 - The lower limit must be less than the upper limit - - - 越上限值必须小于越上上限值 - The upper limit must be less than the upper 2 limit - - - 当前登录用户无新增告警点权限! - The current user have no perm to add custom alarm! - - - 全选 - Check All - - - 全不选 - Unchecked All - - - 删除 - Delete - - - 点描述不能为空! - Description can not be empty! - - - 操作名称不能为空! - Operation name can not be empty! - - - 开始时间要小于结束时间! - Start time must be less than end time! - - - 请选中需要屏蔽的礼拜! - Please select the time to be blocked! - - - 开始日不能大于结束日! - The start date can not be greater than the end date! - - - 未知的屏蔽时间类型 - Unknown shield time type - - - 越下下限不能大于越下限 - The lower 2 limit can not be greater than the lower limit - - - 越下限不能大于越上限 - The lower limit can not be greater than the upper limit - - - 越上限不能大于越上上限 - The upper limit can not be greater than the upper 2 limit - - - 请选择要添加自定义告警的设备组! - Please select the device group to add custom alarms! - - - 此设备组下无可用设备,请重新选择设备组! - There is no available device under this device group,please reselect the device group! - - - Open Pic - - - - Pic Files (*.glx) - - - - Open Voice - - - - Pic Files (*.wav) - - - - - AlarmMng - - 未知车站 - Unknown loction - - - 未知设备组 - Unknonwn device group - - - 未知设备 - Unknown device - - - 未知 - Unknown - - - - AlarmPointTableModel - - 告警点名称 - Name - - - 所属厂站 - Location - - - 是否屏蔽 - Shield - - - 屏蔽时段 - Shield time - - - 告警等级 - Alarm level - - - 告警动作 - Alarm action - - - 所属位置 - Location - - - 所属设备组 - Device Group - - - 所属设备 - Device - - - 是 - Yes - - - 否 - No - - - / - / - - - 每周( - Week( - - - 每月( - Month( - - - 未知 - Unknown - - - - AlarmShieldDelegate - - 删除 - Delete - - - 启用 - Enable - - - 取消 - Cancel - - - 提示 - Tip - - - 删除失败! - Failed to deleted! - - - 删除成功! - Successfully deleted! - - - - AlarmShieldDialog - - Dialog - Dialog - - - 启用 - Enabled - - - 取消 - Cancel - - - 删除 - Delete - - - 屏蔽状态 - Enable status - - - 名称 - Name - - - 查询 - Search - - - 屏蔽一览表 - Shield list - - - 全部 - All - - - 已启用 - Enabled - - - 未启用 - Unenabled - - - 提示 - Tip - - - 启用失败,正在回滚 - Enable failed,rolling back - - - 取消失败,正在回滚 - Cancel failed,rolling back - - - 删除失败,正在回滚! - Delete failed,rolling back! - - - 删除成功! - Successfully deleted! - - - - AlarmShieldTableModel - - 名称 - Name - - - 屏蔽类型 - Shield Type - - - 屏蔽属性 - Shield attribute - - - 屏蔽模式 - Shield mode - - - 是否启用 - Enable - - - 时段类型 - Time type - - - 屏蔽时段 - Shield time - - - 操作用户 - User - - - 操作主机 - Hostname - - - 操作 - Operating - - - 全站屏蔽 - Shield location - - - 设备屏蔽 - Shield device - - - 测点屏蔽 - Shield point - - - 电压屏蔽 - Shield voltage - - - 设备组屏蔽 - Shield dev group - - - 责任区屏蔽 - Shield region - - - 未知 - Unknown - - - 已启用 - Enabled - - - 未启用 - Unenabled - - - 一次性屏蔽 - Once time - - - 每周 - Week - - - 每月 - Month - - - 每周( - Week( - - - 每月( - Month( - - - - BriefReportWidget - - 运行简报 - BriefReport - - - 位置 - Location - - - 日 - Day - - - 周 - Week - - - 月 - Month - - - 季 - Quarter - - - 年 - Year - - - 查询 - Search - - - 导出 - Export - - - 关键告警 - Key Alarms - - - 操作记录 - Operate Events - - - 巡检记录 - Inspection Events - - - 检修记录 - Overhaul Events - - - 保存 - Save - - - 时间 - Time - - - Tab 1 - - - - Tab 2 - - - - Tab 3 - - - - Tab 4 - - - - - CAccidentReviewDialog - - 事故追忆 - Accident Memory - - - 确认 - Confirm - - - 取消 - Cancel - - - 提示 - Prompt - - - 请选择一张画面! - Please select a graph! - - - 请选择其他画面! - Please select other graph! - - - - CActionSequModel - - 标记 - Marker - - - 开关名称 - Switch Name - - - 延时 - Delay - - - 目标状态 - Target State - - - 执行状态 - Execution Status - - - 实际状态 - Actual Status - - - 未执行 - non-execution - - - 正在执行 - executing - - - 已触发 - triggered - - - 执行失败 - execution failure - - - 执行成功 - execution success - - - 执行终止 - execution termination - - - 执行暂停 - execution pause - - - 执行跳过 - execution skip - - - - CAddShieldDialog - - 新增告警屏蔽 - New Alarm Shield - - - 对象类型 - Type - - - 显示勾选项 - Show Checked Only - - - 关键字过滤 - Filter by keyword - - - 对象名称 - Name - - - 屏蔽类型 - Shield Type - - - 名称 - Name - - - 时段类型 - Type - - - 结束时间 - End Time - - - 开始时间 - Start Time - - - 一 - Mon - - - 二 - Tue - - - 三 - Wed - - - 四 - Thur - - - 五 - Fri - - - 六 - Sat - - - 七 - Sun - - - 至 - to - - - 日期 - Date - - - 屏蔽描述 - Shield Description - - - 新增 - New - - - 取消 - Cancel - - - 保存 - Save - - - 修改告警屏蔽 - Modify Alarm Shield - - - 编辑告警屏蔽 - Modify Alarm Shield - - - 位置 - Location - - - 设备组 - Device Group - - - 设备 - Device - - - 测点 - Point - - - 一次性 - Once - - - 每周 - Week - - - 每月 - Month - - - 请先取消屏蔽! - Please disable first! - - - 请至少勾选一项! - Please check at least one item! - - - 当前用户无标签设置功能权限! - The current user have no perm to operate! - - - 对象名称不能为空! - Name cannot be empty! - - - 屏蔽类型为空! - Shield type cannot be empty! - - - 时段类型为空! - Time type cannot be empty! - - - 开始时间不能大于结束时间! - Start time cannot be more than end time! - - - 周一到周七至少需要选择一天! - At least check one day from monday to sunday! - - - 获取当前登录用户失败! - Failed to get current user! - - - 保存失败! - Failed to save! - - - 提示 - Prompt - - - - CAiAlarmDelegate - - 当前无告警! - No alarm at present! - - - - CAiAlarmTreeModel - - 时间 - Time - - - 优先级 - Priority - - - 位置 - Location - - - 责任区 - Region - - - 告警类型 - Alarm Type - - - 告警状态 - Alarm State - - - 确认状态 - Confirm State - - - 告警内容 - Alarm Content - - - 复归状态 - Resume State - - - - CAlarmBaseData - - 其他 - Other - - - - CAlarmColorWidget - - Form - Form - - - 动作颜色 - ActionColor - - - 恢复颜色 - ResumeColor - - - 确认颜色 - ConfirmColor - - - 闪烁颜色 - FlickerColor - - - - CAlarmCompare - - Form - Form - - - 告警等级 - Alarm level - - - 统计类型 - StatisType - - - 日 - Day - - - 月 - Month - - - 时间段 - Time - - - 关键字 - Keyword - - - 查询 - Search - - - 11 - 11 - - - 22 - 22 - - - 33 - 33 - - - 警告 - Warning - - - 未选择告警等级 - No alarm level checked - - - 开始时间需小于等于结束时间 - The start time must be equal or less than the end time - - - 当前类型最多七天 - Current statis type up to seven days - - - 当前类型最多六个月 - Current statis type up to six months - - - 请选择位置 - Please select a location - - - 位置最少选择2个 - At least two location - - - 位置最多选择%1个 - Location cannot more than %1 - - - 请选择设备组 - Please select a device group - - - 设备组最多选择%1个 - Device group cannot more than %1 - - - 提示 - Prompt - - - 告警条数过多,仅显示前 %1 条 - Too many alarm,show only %1 - - - yyyy-MM-dd - - - - - - - - - - CAlarmDelegate - - 当前无告警! - No alarm at present! - - - - CAlarmFilterDialog - - 过滤 - Filter - - - 优先级 - Priority - - - 全选 - Check All - - - 位置 - Location - - - 责任区 - Region - - - 告警状态 - Alarm State - - - 复归 - Resume - - - 已复归 - Resumed - - - 未复归 - Unresumed - - - 设备类型 - Device Type - - - 时间 - Time - - - 开始时间 - Start Time - - - 结束时间 - End Time - - - 告警内容关键字 - Alarm Content Keywords - - - 区域 - Location - - - 状态 - State - - - 已确认 - Confirmed - - - 未确认 - Unconfirmed - - - 确定 - Confirm - - - 取消 - Cancel - - - yyyy/MM/dd hh:mm - - - - - CAlarmForm - - Form - Form - - - 导出 - Export - - - 过滤 - Filter - - - 禁止告警列表 - Prohibit List - - - 时间: - Time: - - - 告警状态: - Alarm State: - - - 禁止列表 - Prohibited List - - - 优先级: - Priority: - - - 确认 - Confirm - - - 关闭 - Close - - - 删除 - Delete - - - 0 - 0 - - - 过滤告警数量: - Filtered: - - - 当前显示数量: - Displayed: - - - 位置: - Location: - - - 智能告警 - Intelligent Alarm - - - 设置 - Config - - - 请选择时间 - Select Time - - - 请选择优先级 - Select Priority - - - 请选择位置 - Select Location - - - 请选择告警状态 - Select Alarm State - - - Save File - Save File - - - 提示 - Prompt - - - 导出成功 - Export succeeded - - - 全选 - Check All - - - 全不选 - All Unchecked - - - 视频 - Video - - - 事故追忆 - Accident Memory - - - 禁止告警 - Inhibit Alarm - - - 禁止告警失败! - Failure to inhibit alarm! - - - 警告 - Warning - - - 当前测点告警已禁止,无需重复禁止! - The current Measuring point alarm is forbidden, there is no need to repeat the prohibition! - - - 工单管理 - Work Management - - - 合并 - Merge - - - 分离 - Separate - - - 当前未选中任何项! - No item is currently selected! - - - 当前用户不具备该告警删除操作权限! - The current user does not have the right to delete the alarm operation! - - - 是否跳过该项? - Do you want to skip this item? - - - 跳过 - Skip - - - 全部跳过 - Skip All - - - 取消 - Cancel - - - 包含未确认告警! - Contains unconfirmed alarm! - - - 当前未选中任何智能告警和未聚类的原始告警! - No intelligent alarms and unclustered original alarms is currently selected! - - - 包含未确认原始告警告警! - Contains unconfirmed original warning warning! - - - 当前用户不具备该告警确认操作权限! - The current user does not have the warning to confirm the operation permission! - - - 包含智能告警,无法合并! - Contains intelligent alarm, cannot merge! - - - 包含已经聚类的原始告警,无法合并! - Contains original warnings that have been clustered, cannot be merged! - - - 当前用户无此条原始告警合并权限! - The current user does not have this original warning merge permission! - - - 包含不同域的原始告警,无法合并! - Original alerts containing different domains cannot be merged! - - - 包含智能告警,无法分离! - Contains intelligent warning, cannot separate! - - - 无原始告警,无法分离! - No original warning, no separation! - - - 包含未聚类的原始告警,无法分离! - Contains unclustered original warnings, cannot be separated! - - - 无此条智能告警的编辑权限! - No edit permission of this intelligent alarm! - - - 包含不同智能告警下的原始告警,无法分离! - Contains different intelligent alarms under the original alarm, can not be separated! - - - 请选中含有趋势的告警(模拟量和累积量)! - Please select the alarm with trend(Ai and Pi)! - - - 请选中具有视频的告警! - Please select the alarm with video! - - - 确定 - OK - - - 无禁止告警权限! - Have no perm to inhibit alarm! - - - 初始化权限失败! - Failure to initialize perm! - - - 故障录播暂不实现 - Fault not achieved - - - - CAlarmInhibitDialog - - 禁止告警列表 - Prohibit List - - - 关闭 - Close - - - 取消禁止告警 - Cancel - - - 时间 - Time - - - 优先级 - Priority - - - 位置 - Location - - - 责任区 - Region - - - 告警类型 - Alarm Type - - - 确认状态 - Confirm State - - - 告警内容 - Alarm Content - - - 未确认 - Unconfirmed - - - 已确认 - Confirmed - - - 警告 - Warning - - - 请选择取消禁止告警所在的行! - Please select the row where the alarm is cancelled! - - - - CAlarmItemModel - - 时间 - Time - - - 优先级 - Priority - - - 位置 - Location - - - 责任区 - Region - - - 告警类型 - Alarm Type - - - 告警状态 - Alarm State - - - 确认状态 - Confirm State - - - 告警内容 - Alarm Content - - - 复归状态 - Resume state - - - 未复归 - Resumed - - - 已复归 - Unresumed - - - 未知优先级: - Unknown Priority: - - - 未知位置: - Unknown Location: - - - 未知责任区: - Unknown Region: - - - 未知告警类型: - Unknown Alarm Type: - - - 未知告警状态: - Unknown Alarm State: - - - 未确认 - Unconfirmed - - - 已确认 - Confirmed - - - 其他 - Other - - - - - - - - - CAlarmMsgManage - - 其他 - Other - - - - CAlarmPlugin - - 提示 - Tip - - - 此次一共确认 - A total of - - - 条告警 - alarms were confirmed this time - - - 当前用户不具备该告警确认操作权限! - The current user does not have the warning to confirm the operation permission! - - - 是否跳过该项? - Do you want to skip this item? - - - 跳过 - Skip - - - 全部跳过 - Skip All - - - 取消 - Cancel - - - 包含未确认告警! - Contains unconfirmed alarm! - - - - CAlarmReport - - Dialog - Dialog - - - 导出 - Export - - - 选择导出目录 - Select the export directory - - - - CAlarmSetDlg - - 设置 - Config - - - 动作选择 - Action - - - 声音告警 - Sound alarm - - - 语音告警 - Voice alarm - - - 告警方式 - Alarm method - - - 方式 - Style - - - 次数 - Number of alarms - - - 优先级颜色选择 - Priority color selection - - - <html><head/><body><p>选中告警时,告警的文字颜色</p></body></html> - <html><head/><body><p>The color of alarm text when alarm selected</p></body></html> - - - 选中文字颜色 - Text Selected Color - - - 颜色 - Color - - - <html><head/><body><p>选中告警时,告警的背景颜色</p></body></html> - <html><head/><body><p>The color of alarm backgournd when alarm selected</p></body></html> - - - 选中背景颜色 - Back Selected Color - - - <html><head/><body><p>无告警时,告警小窗中&quot;当前无告警&quot;文字颜色</p></body></html> - <html><head/><body><p>The text color of &quot;No alarm at present&quot; when no alarm</p></body></html> - - - 无告警文字颜色 - Text No Alarm - - - 选中颜色 - Selected color - - - 文字颜色 - Text color - - - 无告警颜色 - No alarm color - - - 语音引擎 - Speech engine - - - 引擎 - Engine - - - 语言 - Language - - - 语音名称 - Voice name - - - 确定 - OK - - - 取消 - Cancel - - - -1:重复 0:不报 x:重复x次 - -1:repeat x:repeat x times - - - 不报 - No Alarm - - - 重复 - Repeat - - - 重复x次 - Repeat x times - - - - CAlarmSetMng - - 当前无告警! - No alarm at present! - - - 未知告警等级 - Unknown Alarm Level - - - - CAlarmShield - - 屏蔽设备树 - Device Tree - - - 新增 - New - - - 批量启用 - Enable - - - 批量取消 - Disable - - - 批量删除 - Delete - - - 屏蔽状态 - Shield Status - - - 名称 - Name - - - 查询 - Search - - - 提示 - Prompt - - - 请勾选一条未启用的屏蔽信息! - Please check a disable shield info! - - - 屏蔽失败! - Enable failure! - - - 请勾选一条已启用的屏蔽信息! - Please check a enable shield info! - - - 解除失败! - Disable failure! - - - 请先取消屏蔽! - Please disable first! - - - 请勾选一条屏蔽信息! - Please check a shield info! - - - 删除失败! - Delete failure! - - - 全部 - All - - - 未启用 - Disable - - - 已启用 - Enable - - - 已过期 - Expired - - - CAlarmShield - - - - - CAlarmShiledDialog - - 禁止告警 - Inhibit Alarm - - - 未找到插件 - No Plugin - - - 装载异常 - Load abnormal - - - - CAlarmStatisTableModel - - 统计日期 - Statistical Date - - - 区域名称 - Location - - - 设备类型 - Device Type - - - %1总数 - Number of %1 - - - - CAlarmStatisWidget - - 区域: - Location: - - - 统计方式: - Statistical Style: - - - 设备类型: - Device Type: - - - 开始时间: - Start Time: - - - 结束时间: - End Time: - - - 查询 - Search - - - 打印 - Print - - - 清除 - Clear - - - 日统计 - Day - - - 月统计 - Month - - - 年统计 - Year - - - 提示 - Prompt - - - 结束时间不能小于开始时间! - The end time cannot be less than start time! - - - 保存 - Save - - - 导出成功! -导出路径: - Exported successfully! -Exported path: - - - 保存失败 - Failed to save - - - - CAlarmStatistics - - CAlarmStatistics - 告警统计 - - - 位置 - Location - - - 告警等级 - Alarm Level - - - 时间段 - Time - - - 关键字 - Keyword - - - 查询 - Search - - - 普通告警 - Alarm - - - 智能告警 - Intelligent Alarm - - - 告警比对 - Alarm Compare - - - 分析报告 - Analysis Report - - - 22 - 22 - - - 33 - 33 - - - 警告 - Warning - - - 未选择告警等级 - No alarm selected - - - 开始时间需小于等于结束时间 - The start time must equal or less than the end time - - - yyyy-MM-dd - - - - - - - - - - CAlarmTaskMngDlg - - 工单管理 - Work management - - - 作业组状态: - Work status: - - - 未创建 - No created - - - 创建作业组 - Create job group - - - 查看作业组 - View job group - - - 查看资产 - View assets - - - 提醒 - Remind - - - 艾动接口初始化失败 - Idong interface failed to initialize - - - 未关联作业组,请先关联作业组 - Assignment group not associated,please associate first - - - 创建作业组成功 - Successfully created job group - - - 创建作业组失败 - Faild to create job group - - - 获取作业组信息失败 - Failed to obtain job group information - - - - CAlarmWidget - - 确认 - Confirm - - - 当前用户不具备该告警所在位置的操作权限! - The current user does not have the operation authority of the location of the alarm! - - - 当前用户不具备该告警所在责任区的操作权限! - The current user does not have the operation authority of the responsible area of the alarm! - - - - CAssetDataMng - - 需要导入的资产信息为空 - Asset info is empty - - - 数据库打开失败,导入资产信息失败 - Failure to open database,failure to import asset info - - - 满足条件的导入条数为0 - No matched number - - - 执行插入语句失败,导入资产信息失败 - Failure to insert sql,failure to import asset info - - - 一共%1条,成功导入%2条 - Total %1,%2 import successful - - - 需要导入的维护记录为空 - Maintenance records is empty - - - 数据库打开失败,导入维护记录失败 - Failure to open database,failure to import maintenance records - - - 执行插入语句失败,导入维护记录失败 - Failure to insert sql,failure to import maintenance records - - - - CAssetTableModel - - 设备名称 - Device Name - - - 备注 - Remark - - - 设备ID - DeviceId - - - 型号 - Type - - - 参数 - Parameter - - - 安装日期 - Installation Date - - - 状态 - Status - - - 厂家联系方式 - Manufacturer Contact - - - 维护周期 - Maintenance Period - - - 一个月 - One Month - - - 三个月 - Three Months - - - 半年 - Six Months - - - 一年 - One Year - - - - CAssetView - - 全选 - Check All - - - 全不选 - Unchecked All - - - - CAssetWidget - - 添加 - Add - - - 删除 - Delete - - - 导入 - Import - - - 导出 - Export - - - 关键字 - Keywords - - - 查询 - Search - - - 未知设备组 - Unknonwn device group - - - Save File - Save File - - - 当前未选中任何项! - No item is currently selected! - - - CAssetWidget - - - - 位置/设备组 - Location/DeviceGroup - - - 设备组 - DeviceGroup - - - 设备管理 - DeviceManage - - - 添加资产信息 - Add asset info - - - 同时会删除维护记录 - Delete maintenance records at the same time - - - 对设备名称、型号、参数和内容生效 - Effective for device name、type、parameter and content - - - 未知位置 - Unknonwn location - - - 提示 - Prompt - - - 所属设备组 - Device Group - - - Open File - - - - 请先选中位置或设备组 - Please select location and device group first - - - 设备组为空 - Device group is empty - - - 添加成功! - Successful add! - - - 删除失败! - Failure to delete! - - - 删除成功! - Successful delete! - - - 资产信息 - Asset info - - - 维护记录 - Maintenance records - - - - CBIWidget - - 用户不具有指定权限 - The user does not have the specified permissions - - - 无用户登录信息 - No user login information - - - 输入名称不存在 - The input name does not exist - - - 输入名称不唯一 - The input name is not unique - - - 不允许在该节点登录 - Logon on this node is not allowed - - - 用户口令错误 - Password error - - - 用户已失效 - User deactivated - - - 用户已锁定 - User locked - - - 用户不属于所选用户组 - The user does not belong to the selected user group - - - 未知错误,系统可能未正常启动 - Unknown error, system may not start properly - - - 未知错误 - Unknown error - - - 内存出错 - Memory error - - - - CButtonGroupWidget - - 配置错误! - Configuration error! - - - - CColorLabel - - 颜色选择 - Select Color - - - - CCombBoxDelegate - - 星期日 - Sunday - - - 星期一 - Monday - - - 星期二 - Tuesday - - - 星期三 - Wednesday - - - 星期四 - Thursday - - - 星期五 - Friday - - - 星期六 - Saturday - - - 否 - No - - - 是 - Yes - - - - CConditionModel - - 参数 - Parameter - - - 条件 - Condition - - - 且 - And - - - 小于 %1 - less than %1 - - - 小于等于 %1 - equal or less than %1 - - - 等于 %1 - equal to %1 - - - 大于等于 %1 - equal or more than %1 - - - 大于 %1 - more than %1 - - - 不等于 %1 - not equal to %1 - - - - CConstCurves - - 查询 - Search - - - 名称 - Name - - - 值 - Value - - - CConstCurves - - - - 提示 - Prompt - - - %1 定值读取失败: %2 - %1 failure to read const: %2 - - - %1 定值读取超时 - %1 timeout - - - %1 下发定值读取命令失败 - %1 failure to send read command - - - - CCurveChartView - - 位置: - Location: - - - 设备类型: - DeviceType: - - - - CCurveLegendModel - - 颜色 - Color - - - 值 - Value - - - 最大值 - Maximum - - - 最大值时间 - Maximum Time - - - 最小值 - Minimum - - - 最小值时间 - Minimum Time - - - 平均值 - Average Value - - - 单位 - Unit - - - Y轴缩放系数 - Yaxis Scaling Factor - - - Y轴偏移系数 - Yaxis Offset Factor - - - 名称 - Name - - - 设备组-测点 - DeviceGroup-Point - - - - CCurveLegendView - - 全不选 - Unchecked All - - - 删除 - Delete - - - 查看最大值 - Show Maximum - - - 查看最小值 - Show Minimun - - - - CDataOptWidget - - 专业 - Subsystem - - - 位置 - Location - - - 刷新 - Refresh - - - 全部 - All - - - 未知 - Unknown - - - CDataOptWidget - - - - 位置: - Location: - - - 标签类型: - Type: - - - 设备组 - Device Group - - - 设备 - Device - - - 标签名 - Point Name - - - 标签类型 - Type - - - 操作时间 - Operate Time - - - 设置值 - Value - - - 状态文本 - State Text - - - 主机 - Hostname - - - 操作员 - Operator - - - 用户组 - UserGroup - - - 点标签 - Point Tag - - - 表名 - Table Name - - - 总数 - Total - - - 取消设置 - Cancel - - - 无取消人工置数权限! - Have no perm to cancel manual setting! - - - 初始化权限失败! - Failure to initialize perm! - - - 提示 - Prompt - - - 请至少选择一项人工置数信息! - Please select a record first! - - - 获取标签操作信息有误,%1 - Failure to read tag operate record,%1 - - - 获取标签信息有误,%1 - Failure to read tag info,%1 - - - 下发取消命令失败 - Failure to send cancel command - - - - CDataOptWork - - 读取标签信息表失败 - Failure to read tag info - - - - CDevHisDataWidget - - 区域: - Location: - - - 开始时间: - Start Time: - - - 设备类型: - Device Type: - - - 结束时间: - End Time: - - - 设备名称: - Device Name: - - - 查询 - Search - - - 打印 - Print - - - 清除 - Clear - - - 保存 - Save - - - 提示 - Prompt - - - 导出成功! -导出路径: - Exported successfully! -Exported path: - - - 保存失败 - Failed to save - - - CDevHisDataWidget - - - - yyyy-MM-dd HH:mm - - - - Excel - - - - Pdf - - - - - CDevHisTableModel - - 日期/时间 - Date/Time - - - 设备名称 - Device Name - - - 所属区域 - Location - - - - CDevRealDataWidget - - 位置 - Location - - - 点类型 - Point Type - - - 设备 - Device - - - 设备组 - DevGroup - - - 专业 - Subsystem - - - 过滤 - Filter - - - 按测点过滤 - Filter by measuring point - - - 禁止告警 - Inhibit Alarm - - - 全部 - All - - - 模拟量 - Analog - - - 数字量 - Digital - - - 累积量 - Accuml - - - 混合量 - Mix - - - 查询 - Search - - - 所有 - All - - - CDevRealDataWidget - - - - 关键字查询 - Search by keywords - - - 禁止控制 - Prohibit Control - - - 恢复控制 - Resume Control - - - 禁止刷新 - Prohibit Refresh - - - 恢复刷新 - Resume Refresh - - - 恢复告警 - Resume Alarm - - - 人工置数 - Manual Setting - - - 取消置数 - Cancel Setting - - - 请至少选择一项! - Please select at least one! - - - 行“%1”,%2 - Row“%1”,%2 - - - “%1”等,共(%2)项 - “%1”,total(%2) - - - “%1”,%2 - - - - 下发取消命令失败 - Failure to send cancel command - - - 提示 - Prompt - - - 获取登录信息失败! - Failure to get login info! - - - 获取登录账户失败! - Failure to get login user! - - - 无标签操作权限! - Have no perm to operate! - - - - CDevTreeModel - - 位置/设备组/设备 - Location/DevGroup/Device - - - - CDevTreeView - - 全选 - Check All - - - 清空 - Clear - - - - CDisposalPlanDialog - - Dialog - Dialog - - - 告警时间: - Alarm Time: - - - 告警内容: - Alarm Content: - - - 处置预案: - Disposal Plan: - - - 处置预案 - Disposal Plan - - - - CDrillDownChart - - 位置 - Location - - - 总共: - Total: - - - - CDropListWidget - - 删除选中项 - Delete the selected item - - - - CDutyDefineDialog - - Dialog - Dialog - - - 保存 - Save - - - 添加一行 - Add a row - - - 删除最后一行 - Delete the last row - - - - CDutySetting - - 导出 - Export - - - 保存 - Save - - - CDutySetting - - - - 用户组 - UserGroup - - - 上一周 - Last week - - - 本周 - This week - - - 下一周 - Next week - - - 引用上周 - Refer to last week - - - 班次管理 - Shift management - - - 选择导出目录 - Select the export directory - - - - CEditCollectWidget - - 趋势名称: - Trend Name: - - - 确定 - Confirm - - - 取消 - Cancel - - - - CEventDataCollect - - 其他 - Other - - - - CEventFilterDialog - - 过滤 - Filter - - - 优先级 - Priority - - - 全选 - Check All - - - 位置 - Location - - - 责任区 - Responsibility Area - - - 事件状态 - Event State - - - 设备类型 - Device Type - - - 事件内容关键字 - Event content keywords - - - 时间 - Time - - - 开始时间 - Start Time - - - 结束时间 - End Time - - - 确定 - Confirm - - - 取消 - Cancel - - - yyyy/MM/dd hh:mm - - - - 区域 - Location - - - 复归 - Resume - - - 已复归 - Resumed - - - 未复归 - unResumed - - - 提示 - Prompt - - - 历史事件过滤必须选择时间! - Select time before filter! - - - 开始时间不能大于结束时间! - The start time cannot more than the end time! - - - 时间间隔不得超过90天! - The time interval cannot more than 90 days! - - - - CEventForm - - 事件 - Event - - - 位置: - Location: - - - 时间: - Time: - - - 过滤 - Filter - - - 清空 - Clear - - - 导出 - Export - - - 优先级: - Priority: - - - 关闭 - Close - - - 事件状态: - Event State: - - - 事件总数: - Number of Event: - - - 请选择时间 - Select time - - - 请选择优先级 - Select priority - - - 请选择位置 - Select location - - - 请选择告警状态 - Select Alarm State - - - 请选择事件状态 - Select event state - - - 事故追忆 - Accident Memory - - - 实时事件 - RealTime Event - - - 历史事件 - Historical Event - - - 实时事件总数: - RealTime Event: - - - 正在查询历史事件... - Querying historical events... - - - 错误 - Error - - - 当前用户不具备事件浏览权限 - The current user does not have the right to browse the events - - - 导出成功 - Export succeeded - - - 历史事件数量: - History Event: - - - 提示 - Prompt - - - %1 历史事件数量超出%2条,未予显示! - The number of %1 historical events exceeds %2,not displayed! - - - 实时事件总数: - Total number of realtime event: - - - 0 - 0 - - - 历史事件总数: - Total number of historical event: - - - 历史事件数量: - Number of historical event: - - - 历史事件数量超出10000条,超出部分不显示 - The number of historical events beyond 10000,the excess part does not show - - - 历史事件数量超出%1条,未予显示! - The number of historical events beyond %1,not shown! - - - Save File - Save File - - - - CEventHistoryModel - - 时间 - Time - - - 优先级 - Priority - - - 位置 - Location - - - 责任区 - Responsibility Area - - - 事件类型 - Event Type - - - 事件状态 - Event State - - - 确认人 - Confirmor - - - 确认时间 - Confirm time - - - 事件内容 - Event Content - - - 复归状态 - Resume Status - - - 未复归 - unResumed - - - 已复归 - Resumed - - - - CEventItemModel - - 时间 - Time - - - 优先级 - Priority - - - 位置 - Location - - - 责任区 - Responsibility Area - - - 事件类型 - Event Type - - - 事件状态 - Event State - - - 事件内容 - Event Content - - - 复归状态 - Resume Status - - - 未复归 - unResumed - - - 已复归 - Resumed - - - - CFaultRecallRecordWidget - - 位置 - Location - - - 名称 - Name - - - 刷新 - Refresh - - - 清空 - Clear - - - 删除 - Delete - - - 全部 - All - - - CFaultRecallRecordWidget - - - - 开始时间 - Start time - - - 结束时间 - End time - - - 画面 - Graph - - - 播放 - Play - - - 提示 - Prompt - - - 请选择一项记录! - Please select a record! - - - 确定开始播放“%1”? - Confirm to start playing “%1”? - - - 请选择删除项! - Please select a record! - - - 确定删除记录“%1”? - Confirm to delete “%1”? - - - 打开数据库失败。 - Failure to open database. - - - 删除“%1”失败! - Failure to delete “%1”! - - - 确定清空所有记录? - Confirm to clear all records? - - - 清空失败! - Failure to clear! - - - - CGroupManageDialog - - 轮询组配置 - Polling Group - - - 新增 - Add - - - 删除 - Delete - - - 保存 - Save - - - 轮询组 - Group - - - 提示 - Prompt - - - 轮询组不能为空! - Polling group cannot be empty! - - - 轮询组不能重复! - Polling group cannot repeat! - - - 轮询组不能有特殊符号! - Polling group invalid! - - - - CHangPanelWidget - - 位置 - Location - - - 设备名称 - Device Name - - - 专业 - Subsystem - - - 操作主机 - Hostname - - - 操作人 - Operator - - - 刷新 - Refresh - - - 未知 - Unknown - - - CHangPanelWidget - - - - 位置: - Location: - - - 专业: - Subsystem: - - - 设备组 - Device Group - - - 挂牌类型 - Type - - - 挂牌时间 - Time - - - 操作人组 - Operator Group - - - 备注信息 - Remark - - - 标签名 - Tag Name - - - 总数 - Total - - - 取消挂牌 - Cancel - - - 无取消挂牌操作权限! - Have no perm to operate! - - - 初始化权限失败! - Failure to initialize perm! - - - 提示 - Prompt - - - 请选择一项挂牌信息! - Please select a record! - - - 获取标签挂牌信息有误,%1 - Failure to read token info,%1 - - - 下发取消挂牌命令失败 - Failure to send cancel command - - - - CHangPanelWork - - 读取标签信息表失败 - Failure to read tag info - - - - CHisEventManage - - 未查询到该设备相关事件! - No event related to this device was found! - - - - CHistoryActionModel - - 动作 - Action - - - 车站 - Location - - - 描述 - Description - - - 执行结果 - Executing results - - - 位置 - Location - - - - CHistoryLinkFilterDialog - - 过滤 - Filter - - - 位置 - Location - - - 用户 - User - - - 结果 - Result - - - 类型 - Type - - - 时间 - Time - - - 起始时间: - Start Time: - - - 结束时间: - End Time: - - - 执行成功 - execution success - - - 执行失败 - execution failure - - - 执行终止 - execution termination - - - 执行跳过 - execution skip - - - 标准联动 - Standard Linkage - - - 自定义联动 - Custom Linkage - - - - CHistoryLinkModel - - 名称 - Name - - - 车站 - Location - - - 时间 - Time - - - 用户 - User - - - 类型 - Type - - - 执行结果 - Executing results - - - 位置 - Location - - - - CHistorySequenceFilterDialog - - 过滤 - Filter - - - 位置 - 车站 - Location - - - 用户 - User - - - 结果 - Result - - - 类型 - Type - - - 标准顺控 - Standard sequence - - - 自定义顺控 - Custom sequence control - - - 时间 - Time - - - 起始时间: - Start Time: - - - 结束时间: - End Time: - - - 执行成功 - execution success - - - 执行失败 - execution failure - - - 执行终止 - execution termination - - - 执行跳过 - execution skip - - - - CHistorySequenceModel - - 名称 - Name - - - 车站 - Location - - - 时间 - Time - - - 用户 - User - - - 类型 - Type - - - 执行结果 - Executing results - - - 位置 - Location - - - 标准顺控 - Standard sequence control - - - 自定义顺控 - Custom sequence - - - - CLimitOptWidget - - 确认 - Confirm - - - 关闭 - Close - - - 未知 - Unknown - - - 否 - No - - - 是 - Yes - - - CLimitOptWidget - - - - 提示 - Prompt - - - %1[%2-%3], 无标签操作权限! - %1[%2-%3], not perm! - - - 设备属性 - Name - - - 是否越限 - Limit - - - 越限级别数量 - Limit Number - - - 越上限 - Upper Limit - - - 越下限 - Lower Limit - - - 越上上限 - Upper Limit 2 - - - 越下下限 - Lower Limit 2 - - - 越三级上限 - Upper Limit 3 - - - 越三级下限 - Lower Limit 3 - - - 越上限应大于越下限! - The upper limit must more than the lower limit! - - - 越上上限应大于越下下限! - The upper limit 2 must more than the lower limit 2! - - - 越下下限应小于越下限! - The lower limit 2 must less than the lower limit! - - - 越上上限应大于越上限! - The upper limit 2 must more than the upper limit! - - - - CLimitOptWork - - 系统初始化失败! - Failure to initialize system! - - - 更改是否越限失败! - Failure to set isLimit! - - - 更改越限信息失败! - Failure to change limit info! - - - 越限设置 - Set limit - - - 取消越限设置 - Cancel limit - - - 操作员: - Operator: - - - 操作主机: - Hostname: - - - - CLineEditWithBtn - - 选择文件 - Select file - - - - CLinkCtrlTableModel - - 联动名称 - Linkage Name - - - 联动类型 - Linkage Type - - - 联动状态 - Linkage State - - - 执行方式 - Executive Mode - - - 触发时间 - Trigger Time - - - 车站火灾 - Location fire - - - 区间阻塞 - Interval blocking - - - 日常运营 - Daily operations - - - 自定义1 - Custom 1 - - - 自定义2 - Custom 2 - - - 未执行 - non execution - - - 正在执行 - executing - - - 已触发 - triggered - - - 执行失败 - execution failure - - - 执行成功 - execution success - - - 执行终止 - execution termination - - - 执行暂停 - execution pause - - - 执行跳过 - execution skip - - - 全自动 - Automatic - - - 半自动 - Simi-automatic - - - 手动 - Manual - - - - CLinkCtrlTreeModel - - 内容 - Content - - - 选择 - Select - - - 执行方式 - Executive Mode - - - 延迟时间 - Delay Time - - - 失败处理 - Failure handling - - - 执行状态 - Executive state - - - 串行 - Serial - - - 并行 - Parallel - - - 秒 - second - - - 自动跳过 - Automatic skip - - - 人工干预 - Manual intervention - - - 终止联动 - 自动终止 - Linkage termination - - - 执行下个功能 - 自动重试 - Next Function - - - 未执行 - non execution - - - 正在执行 - executing - - - 已触发 - triggered - - - 执行失败 - execution failure - - - 执行成功 - execution success - - - 执行终止 - execution termination - - - 执行暂停 - execution pause - - - 执行跳过 - execution skip - - - - CLinkCtrlWidget - - 联动 - Linkage - - - 联动分类 - Classification of Linkage - - - 待执行联动 - Pending linkage - - - 所有联动 - All linkage - - - 联动类型 - Linkage Type - - - 车站火灾 - Location fire - - - 区间阻塞 - Interval blocking - - - 日常运营 - Daily operations - - - 自定义1 - Custom 1 - - - 自定义2 - Custom 2 - - - 联动列表 - LinkageList - - - 搜索 - Search - - - 动作列表 - ActionList - - - 终止 - Terminate - - - 执行 - Execute - - - 单步 - Step - - - 暂停 - Pause - - - 导出 - Export - - - 打印 - Print - - - 当前用户不具备联动操作权限! - The current user does not have linkage operation authority! - - - 错误 - Error - - - 当前未选中联动 - Not linkage selected currently - - - 继续 - continue - - - 联动名称: - Linkage Name: - - - 错误代码: - Error code: - - - 错误描述: - Error description: - - - 联动操作请求失败 - Linkage operation request failed - - - 执行失败,请求人工干预! - Execution failed, manual intervention request! - - - 功能名称: - Function name: - - - 动作名称: - Action name: - - - 人工干预请求 - Manual intervention request - - - 重试 - Retry - - - 跳过 - Skip - - - Save File - Save File - - - 联动报告 - Linkage Report - - - 历史列表 - HistoryList - - - 执行详情 - Execute Detail - - - 过滤 - Filter - - - (*.pdf *) - - - - - CLocationSequModel - - 标记 - Marker - - - 场站 - Location - - - 顺控名称 - Sequence name - - - 执行状态 - Executive state - - - 未执行 - non-execution - - - 正在执行 - executing - - - 已触发 - triggered - - - 执行失败 - execution failure - - - 执行成功 - execution success - - - 执行终止 - execution termination - - - 执行暂停 - execution pause - - - 执行跳过 - execution skip - - - - CMainWidget - - 告警统计 - Alarm Statistic - - - 告警对比 - Alarm Compare - - - - CMediaAVWidget - - Form - Form - - - current time - - - - duration - - - - 多媒体 - Multimedia - - - - CMediaWidget - - CRobotLinkCtrlWidget - - - - 多媒体 - Multimedia - - - - CMyCalendar - - Form - Form - - - 至 - To - - - 取消 - Cancel - - - 确认 - Confirm - - - - CNavigationConfigDialog - - 打开 - Open - - - 新建项目_ - New Item - - - - CNavigationWidget - - 导入 - Import - - - 导出 - Export - - - 当前节点名称 - Node Name - - - 画面文件 - Data File - - - 图标文件 - Icon File - - - 上级节点名称 - Second Node - - - 上上级节点名称 - First Node - - - 是 - Yes - - - 否 - No - - - 提示 - Prompt - - - 导出成功! -导出路径: - Exported successfully! -Exported path: - - - 保存失败 - Failure to save - - - 切换画面 - switch graph - - - 调用程序 - call program - - - 一级 - First Level - - - 二级 - Second Level - - - 三级 - Third Level - - - 是否使用 - Enable - - - 操作 - Operate - - - 图标 - Icon - - - 数据 - Data - - - web发布 - web publish - - - 属性配置 - Attribute Configuration - - - 全部展开 - ExpandAll - - - 全部收缩 - CollapseAll - - - - COperationOrderForm - - 典型票库 - Library - - - 操作开始时间 - Start Time - - - 操作结束时间 - End Time - - - 操作票号: - Operation Banks: - - - 操作任务 - Operation tasks - - - 备注: - Remark: - - - 操作人 - Operator - - - 监护人 - Guardian - - - 值班负责人 - Principal - - - 增加 - Add - - - 删除 - Delete - - - 上移 - Up - - - 下移 - Down - - - 保存 - Save - - - 打印 - Print - - - 预览 - Preview - - - 提示 - Prompt - - - 打开历史表失败! - Failed to open history table! - - - 保存失败! - Save failed! - - - 操作票号:kbdct_ - Operation Banks:kbdct_ - - - 操作开始时间: - Start Time: - - - 操作结束时间: - End Time: - - - 备注:<br> - Remark:<br> - - - 操作人: - Operator: - - - 监护人: - Guardian: - - - 值班负责人: - Principal: - - - 步骤 - Steps - - - 备注 - Remark - - - 行:%1 保存失败! - Row:%1 save failed! - - - 保存成功! - Save successed! - - - 典型票名为空! - Typical ticket name is null! - - - 操作票号为空! - Operation Banks is null! - - - 操作人为空! - Operator is null! - - - 监护人为空! - Guardian is null! - - - 值班负责人为空! - Principal is null! - - - 行:%1 顺序为空! - Row : %1 number is null! - - - 行:%1 与行:%2 顺序重复! - Row : %1 and Row : %2 have the same number! - - - 行:%1 操作任务为空! - Row : %1 operation tasks is null! - - - 典型票名已存在! - Typical ticket name already exist! - - - 典型票名: '%1' 保存失败! - Typical ticket name: '%1' save failed! - - - 是否保存更改? - Save the change ? - - - 打印成功! - Print successfully! - - - 打印失败! - Print failed! - - - 保存模板 - Save - - - 开票打印 - Print - - - 电子签章 - Electronic signature - - - yyyy/MM/dd HH:mm:ss - - - - 结束时间 - End Time - - - 操作票号 - Operation Banks - - - 开始时间 - Begin Time - - - 签章 - Signature - - - 操作内容 - Operation Content - - - key_id_tag - - - - ctrl_value - - - - 行:%1 操作内容为空! - Row:%1 Operate content is empty! - - - 已经存在“%1”,是否覆盖? - “%1” is already exist,replace? - - - 操作票号: - Operation Banks: - - - 操作开始时间: - Operation begin time: - - - 操作结束时间: - Operation end time: - - - 操作任务: - Operation task: - - - 当前登录用户无运维管理功能权限! - Current user have no perm to operate! - - - - COperationOrderModelForm - - 提示 - Prompt - - - 是否保存模板更改? - Save the template change? - - - - COrderManageWidget - - 典型票管理 - Typical ticket management - - - 刷新 - Refresh - - - 删除 - Delete - - - 编辑 - Edit - - - 典型票库 - Typical ticket library - - - 序号 - number - - - 操作序列简述 - Description of operation sequence - - - 删除 (%1) - Delete(%1) - - - 请选中一条记录! - Please select a record! - - - 提示 - Prompt - - - 是否删除 %1 ? - Delete %1 ? - - - 删除失败! - Delete failed! - - - 自动开票 - Automatic Ticket - - - 当前登录用户无运维管理功能权限! - Current user have no perm to operate! - - - - CPlanCurvesConfigure - - 类型配置 - Type Config - - - 年时段配置 - Year Interval Config - - - 周时段配置 - Week Interval Config - - - 日时段模板配置 - Day Interval Temp Config - - - 计划曲线配置 - PlanCurve Config - - - 新建类型 - New Type - - - 保存 - Save - - - 计划类型 - Plan Type - - - 删除 - Delete - - - 新建模板类型 - New Temp Type - - - 日时段模板类型 - Day Interval Temp Type - - - 新建年时段配置 - New Year Interval - - - 新建周时段配置 - New Week Interval - - - 新建日时段配置 - New Day Interval - - - 日模板类型 - Day Temp Type - - - 新建计划曲线 - New PlanCurve - - - 关联标签 - Related Tag - - - 计划曲线名称 - Name - - - 类型ID - Type ID - - - 所属位置 - Location - - - 所属专业 - Subsystem - - - 时段曲线配置 - Interval Curve Config - - - 导入模板 - Import Temp - - - 新建 - New - - - 预览 - Preview - - - 否 - No - - - 是 - Yes - - - 星期日 - Sunday - - - 星期一 - Monday - - - 星期二 - Tuesday - - - 星期三 - Wednesday - - - 星期四 - Thursday - - - 星期五 - Friday - - - 星期六 - Saturday - - - 类型名称 - Name - - - 年时段名称 - Name - - - 是否例外 - isException - - - 开始月 - Start Month - - - 开始日 - Start Day - - - 结束月 - End Month - - - 结束日 - End Day - - - 周时段名称 - Name - - - 星期 - Week - - - 年时段 - Year Interval - - - 周时段 - Week Interval - - - 日时段名称 - Name - - - 开始时间 - Start Time - - - 结束时间 - End Time - - - 值 - Value - - - 提示 - Prompt - - - 保存成功! - Save Successfully! - - - 保存失败! - Save failed! - - - 行: %1 结束时间不能小于开始时间! - Row:%1 End time cannot less than start time! - - - 行: %1 与行:%2 时间段不连续! - Row: %1 is not discontinuous with Row: %2! - - - 周时段配置需覆盖一整周 - Week interval configuration needs to cover the entire week - - - %1 : 开始月不能大于结束月! - %1 : Begin month cannot be bigger than the end month! - - - %1 : 开始日不能大于结束日! - %1 : Begin day cannot be bigger than the end day! - - - 年配置需要覆盖全年! - Year interval configuration need to cover the whole year! - - - 请从1月1日开始配置! - Please start configuration from January 1st! - - - 请配置到12月31日! - Please configure until December 31! - - - 模拟量出口 - Analog output - - - 是否删除曲线'%1'? - Delete curve '%1' ? - - - 删除成功! - Delete successfully! - - - 删除失败! - Delete failed! - - - 计划类型为空,请检查类型配置! - The plan type is empty,please check type config! - - - 周时段配置被使用,无法保存! - Week interval configuration is in use, cannot be saved! - - - 日模板类型为空,请检查类型配置! - The day temp type is empty,please check type config! - - - 未找到年描述 - No year description found - - - 未找到周描述 - No week description found - - - 导入失败 - Import failed - - - 导入成功 - Import successfully - - - - CPlotWidget - - Form - Form - - - 对比 - Contrast - - - 告警描点 - Alarm Plot - - - 收藏 - Collect - - - 导出 - Export - - - 打印 - Print - - - 日 - Day - - - 实时 - Real - - - 周 - Week - - - 月 - Month - - - 季 - Quarter - - - 年 - Year - - - 秒 - Second - - - 自定义 - Custom - - - 趋势图 - Trend Graph - - - 清空 - Clear - - - 开始时间 - Start Time - - - 结束时间 - End Time - - - 查询 - Search - - - 上一页 - Preview - - - 下一页 - Next - - - 一小时 - One Hour - - - 八小时 - Eight Hour - - - 一天 - One Day - - - 曲线 - Curve - - - 表格 - Table - - - 错误 - Error - - - 当前趋势曲线已达最大支持数量[64]! - The current trend curve has reached the maximum number of supports [64]! - - - 实时趋势 - Realtime - - - 秒趋势 - Second - - - 日趋势 - Day - - - 周趋势 - Week - - - 月趋势 - Month - - - 季度趋势 - Quarter - - - 年趋势 - Year - - - 自定义趋势 - Custom - - - 保存为 - Save as - - - 提示 - Prompt - - - 保存成功 - Save successed - - - 保存失败 - Failure to save - - - 导出成功! -导出路径: - Exported successfully! -Exported path: - - - 请选择告警状态 - Select Alarm State - - - 查询中 - Searching - - - 查询开始时间不能大于结束时间! - The start time cannot more than the end time! - - - 开始时间和结束时间之差不能小于查询时间间隔! - The difference between the start time and the end time cannot less than the time interval! - - - 一秒种 - One Second - - - 一分种 - One Minute - - - 十分种 - Ten Minute - - - yyyy/MM/dd HH:mm - - - - 一秒钟 - One Second - - - 一分钟 - One Minute - - - 十分钟 - Ten Minute - - - 双击输入值 - Input on double click - - - (*.jpg) - - - - (*.xlsx) - - - - - CPointLockWidget - - 添加 - Add - - - 删除 - Delete - - - 确认 - Confirm - - - 闭锁配置 - Interlock Configuration - - - 1-1AH5-断路器 - 1-1AH5 - - - 控制状态 - Control Status - - - 启用 - Enable - - - 取消 - Cancel - - - 条件 - Condition - - - 无 - None - - - 小于 - < - - - 小于等于 - <= - - - 等于 - == - - - 大于等于 - >= - - - 大于 - > - - - 不等于 - != - - - 且 - and - - - 设备列表 - Device List - - - 提示 - Prompt - - - 请选中需要删除的行 - Please select a row - - - 请选择测点标签 - Please add a point - - - 添加失败 - Failure to add - - - - CPointRealDataWidget - - 通讯状态 - Communication status - - - 正常 - Normal - - - 异常 - Abnormal - - - 未找到组号%1! - Not found group %1! - - - - CProcessDialog - - Form - Form - - - 取消 - Cancel - - - - CPropertyDialog - - Dialog - Dialog - - - 备注 - Remark - - - 设备名称 - Device Name - - - 确认 - Confirm - - - 添加 - Add - - - 编辑 - Edit - - - 安装日期 - Installation Date - - - 型号 - Type - - - 参数 - Parameter - - - 维护周期 - Maintenance Period - - - yyyy-MM-dd - - - - 厂家联系方式 - Manufacturer Contact - - - 所属设备组 - Device Group - - - 状态 - State - - - 取消 - Cancel - - - 已启用 - Enable - - - 一个月 - One Month - - - 三个月 - Three Months - - - 半年 - Six Months - - - 一年 - One Year - - - 提示 - Prompt - - - 设备名称不能为空! - Device name cannot be empty! - - - 操作失败,请重新操作! - Failed,please try again! - - - - CRealTableModel - - 测点 - Measuring Point - - - 点类型 - Point Type - - - 设备 - Device - - - 值 - Value - - - 状态 - Status - - - - CRecordDialog - - Dialog - Dialog - - - 导出 - Export - - - 删除 - Delete - - - 添加 - Add - - - 时间 - Time - - - 关键字 - Keywords - - - 查询 - Search - - - 当前未选中任何项! - No item is currently selected! - - - Save File - Save File - - - ~ - - - - 对开始时间和结束时间日期生效 - Effective for start time and end time - - - 对设备名称、记录名称、操作人和维护内容生效 - Effective for device name、record name、operator and maintenance content - - - %1 维护记录 - %1 maintenance records - - - 提示 - Prompt - - - 删除失败! - Failure to delete! - - - 删除成功! - Successful delete! - - - 开始时间不能大于结束时间! - The start time cannot more than end time! - - - - CRecordForm - - Form - Form - - - 序号 - Number - - - 操作人 - Operator - - - 监护人 - Guardian - - - 值班负责人 - Principal - - - 描述 - Description - - - 备注 - Remark - - - 刷新 - Refresh - - - 未执行 - Non execution - - - 未确认 - Unconfirmed - - - 检索条件 - Filter - - - 按值班负责人 - Principal - - - 按票名包含 - Ticket name - - - 按操作人 - Operator - - - 按操作票号 - Operation Banks - - - 按执行时间 - Execution time - - - 按完成时间 - Finish time - - - 按监护人 - Guardian - - - 操作票号 - Operation Banks - - - 操作票名 - Ticket name - - - 开始时间 - Start time - - - 结束时间 - End time - - - 执行状态 - Execution status - - - 详细 - Detail - - - 已执行 - Executed - - - 提示 - Prompt - - - 请选择一项! - Please select one item! - - - - CRecordPropertyDialog - - Dialog - Dialog - - - 确认 - Confirm - - - 添加 - Add - - - 编辑 - Edit - - - 维护名称 - Maintenance name - - - 维护人 - Maintainer - - - 维护开始时间 - Maintenance start time - - - yyyy-MM-dd - - - - 维护结束时间 - Maintenance end time - - - 维护内容 - Maintenance content - - - 取消 - Cancel - - - 提示 - Prompt - - - 记录名称不能为空! - The record name cannot be empty! - - - 开始时间不能大于结束时间! - The start time cannot more than the end time! - - - 操作失败,请重新操作! - Failed,please try again! - - - - CRecordTablModel - - 设备名称 - Device Name - - - 操作人 - Operator - - - 记录名称 - Record name - - - 开始时间 - Start time - - - 结束时间 - End time - - - 维护内容 - Maintenance content - - - - CRecordWidget - - 保存 - Save - - - 处理问题 - Handling problem - - - 上班遗留问题 - Last leftover problem - - - 当班处理问题 - Handling problem on duty - - - 当班遗留问题 - Leftover problem on duty - - - 关键信息备注 - Key information notes - - - - CRelaySettingWidget - - 序号 - Number - - - 确认 - Confirm - - - 清空 - Clear - - - 保护定值管理 - Relay settting management - - - 切换 - Switch - - - 当前执行组: - Current group: - - - 前置设备 - Front equipment - - - 定值名称 - Name - - - 定值组号 - Group No - - - 当前值 - Current Value - - - 预置值 - Preset Value - - - 返校值 - Return Value - - - 范围 - Range - - - 单位 - Unit - - - 定值代号 - Code No - - - isError - - - - 读取 - Read - - - 修改 - Modify - - - 提示 - Prompt - - - 未知值:%1 - Unknown Value:%1 - - - 无保护定值操作权限! - Not relay setting operate perm! - - - 行:%1,当前值无效,请先读取! - Row:%1,current value is invalid,please read first! - - - 行:%1,预置值无效,请先读取! - Row:%1,preset value is invalid,please read first! - - - 行:%1,预置值不在设定范围! - Row:%1,preset value is beyond the range! - - - 行:%1,返校值无效! - Row:%1,return value is invalid! - - - 行:%1,预置值与返校值不一致! - Row:%1,preset value is inconsistent with return value! - - - 请先查询当前执行组! - Please read current group first! - - - 设置的组号应不为当前执行组! - Setting group no cannot equal to current group no! - - - 验证 - Verification - - - 权限验证 - Permissions validation - - - 请选择切换组! - Please select one group! - - - 未选择设备! - Not device selected! - - - 无定值组配置! - Not setting group configuration! - - - 接收超时! - Receive timeout! - - - 发送命令失败! - Failure to send command! - - - - CReportStackedWidget - - 返回 - Return - - - - CReportWidget - - 导出报表 - Export the report - - - - CRobotAVWidget - - Form - Form - - - current time - - - - duration - - - - - CRobotCCDVideoForm - - Form - Form - - - 请输入关键字 - Please input keyword - - - - CRobotCCDVideoItemModel - - 时间 - Time - - - 类型 - Type - - - 设备柜 - Device - - - 照片 - Picture - - - 截图 - Screenshot - - - 录像 - Video - - - - CRobotCtrlWidget - - Form - Form - - - 请选择设备 - - - - 执行任务 - - - - 空闲中 - - - - 巡检中 - - - - 充电中 - - - - 检修中 - - - - 告警联动: - - - - 机器人状态 - - - - 执行任务超时! - - - - 未找到控制点[%s] - - - - 解析返回结果出错 - - - - - CRobotDialog - - Dialog - Dialog - - - 机器人联动 - - - - - CRobotWidget - - CRobotLinkCtrlWidget - - - - - CRollSwitchWidget - - 播放组 - Group - - - 画面文件名称 - Graph Name - - - 画面轮询间隔(s) - Interval - - - 自动轮询 - Autopolling - - - 开始 - Start - - - 停止 - Stop - - - 关闭 - Close - - - 自动轮询时间(s) - Autopolling Delay(s) - - - 自动轮询(设定的时间内,未检测到鼠标移动,自动轮询播放画面) - Autopolling(Auto switching graph when not mouse move in setting time) - - - 轮询时间(s) - Autopolling time(s) - - - - CRunSequenceFilterDialog - - 过滤 - Filter - - - 关键字 - Keywords - - - 顺控名称: - Sequence name: - - - 类型 - Type - - - 标准顺控 - Standard sequence - - - 自定义顺控 - Custom sequence - - - 位置 - 车站 - Location - - - 位置名称: - 车站名称: - Location name: - - - - CRunningSequenceModel - - 名称 - Name - - - 车站 - Location - - - 类型 - Type - - - 执行结果 - Executing results - - - 位置 - Location - - - 标准顺控 - Standard sequence - - - 自定义顺控 - Custom sequence - - - 未执行 - non-execution - - - 正在执行 - executing - - - 已触发 - triggered - - - 执行失败 - execution failure - - - 执行成功 - execution success - - - 执行终止 - execution termination - - - 执行暂停 - execution pause - - - 执行跳过 - execution skip - - - - CSeqPermDialog - - 验证 - Verification - - - 操作验证 - Operation validation - - - 用户组 - User group - - - 姓名 - User name - - - 密码 - Password - - - 账号 - User alias - - - 监护验证 - Guardian validation - - - 取消 - Cancel - - - 监护验证: - Guardian validation: - - - 操作验证: - Operation validation: - - - %1输入名称不存在! - The input name %1 does not exist! - - - %1无遥控监护权限! - %1 have no perm guard! - - - %1无顺控执行权限! - %1 have no perm to execute sequence! - - - %1不允许在该节点登录! - %1 Logon on this node is not allowed! - - - %1用户口令错误! - %1 Password error! - - - %1用户已失效! - %1 User deactivated! - - - %1用户已锁定! - %1 User locked! - - - %1用户不属于所选用户组! - The user %1 does not belong to the selected user group! - - - %1用户权限检查出错! - %1 check failed! - - - 提示 - Prompt - - - 监护验证: 输入账号有误! - Guardian validation: incorrect input name! - - - 监护人和操作人不能为同一人! - Guardian and operator can not be the same person! - - - - CSequenceManageWidget - - 顺控配置 - Configuration - - - 顺控执行 - Execute - - - 顺控报告 - Report - - - 所有顺控 - All sequence - - - 正在执行 - Executing - - - 过滤 - Filter - - - 历史列表 - History List - - - 执行详情 - Execute details - - - 导出 - Export - - - 打印 - Print - - - 提示 - Prompt - - - 无顺控操作权限! - No sequence control operation permission! - - - CSequenceManageWidget - - - - Save File - Save File - - - (*.pdf *) - - - - - CSequenceWidget - - 顺控 - Sequence - - - 顺控名称: - Sequence Name: - - - 执行方式: - Executive Mode: - - - 自动 - Automatic - - - 单步 - Step - - - 执行 - Execute - - - 暂停 - Pause - - - 终止 - Terminate - - - 正在检查控制点状态,请稍等 - Check the status of control point, please wait a moment - - - 正在查询... - Being queried... - - - 服务应答 [%1]:%2 - Service response [%1]:%2 - - - 服务应答-错误 [%1] - Service response-error [%1] - - - 顺控名称: - Sequence name: - - - 错误代码: - Error code: - - - 错误描述: - Error description: - - - 状态变化 [顺控-%1]:%2 - Change of state [Sequence-%1]:%2 - - - 状态变化 [顺控-%1] [功能-%2]:%3 - Change of state [Sequence-%1] [Function-%2]:%3 - - - 状态变化 [顺控-%1] [功能-%2] [动作-%3]:%4 - Change of state [Sequence-%1] [Function-%2] [Action-%3]:%4 - - - 顺控名称 - Sequence name - - - 功能名称 - Function name - - - 动作名称 - Action name - - - 请求人工干预! - Manual intervention request! - - - 人工干预请求 - Manual intervention request - - - 重试 - Retry - - - 跳过 - Skip - - - 等待执行... - Wait for execution... - - - 等待暂停... - Wait for pause... - - - 等待继续... - Wait for continue... - - - 等待终止... - Wait for termination... - - - 顺控开始 - Sequence start - - - 顺控终止 - Sequence termination - - - 顺控暂停 - Sequence pause - - - 顺控继续 - Sequence continue - - - 单步开始 - One step to start - - - 单步继续 - One step to continue - - - 未执行 - non-execution - - - 正在执行 - executing - - - 已触发 - triggered - - - 执行失败 - execution failure - - - 执行成功 - execution success - - - 执行终止 - execution termination - - - 执行暂停 - execution pause - - - 执行跳过 - execution skip - - - 继续 - Continue - - - - - - - - - %1[%2] -%3%4 -%5%6 - - - - - - CShieldTableDelegate - - 删除 - Delete - - - 启用 - Enable - - - 取消 - Disable - - - 提示 - Prompt - - - 请先取消屏蔽! - Please disable first! - - - 删除失败! - Delete failure! - - - 当前用户无标签设置功能权限! - The current user have no perm to operate! - - - - CShieldTableModel - - 名称 - Name - - - 屏蔽类型 - Type - - - 屏蔽属性 - Property - - - 屏蔽模式 - Mode - - - 是否启用 - Status - - - 时段类型 - Time Type - - - 屏蔽时段 - Time - - - 操作用户 - User - - - 操作主机 - Hostname - - - 屏蔽描述 - Description - - - 操作 - Operate - - - 全站屏蔽 - Location - - - 电压屏蔽 - Voltage - - - 责任区屏蔽 - Region - - - 设备组屏蔽 - DeviceGroup - - - 设备屏蔽 - Device - - - 测点屏蔽 - Point - - - 未知 - Unknown - - - 已过期 - Expired - - - 已启用 - Enable - - - 未启用 - Disable - - - 一次性屏蔽 - Once - - - 每周 - Week - - - 每月 - Month - - - 每周( - Week( - - - 每月( - Month( - - - %1 - - - - - CShiftWidget - - 查询 - Search - - - 保存 - Save - - - 序号 - Number - - - 交接班管理 - Shift Management - - - 当前值班组 - Current duty group - - - 填写记录 - Input record - - - 交接班 - Duty shift - - - 查询时间 - Search time - - - 按值班员过滤 - Filter by duty person - - - 导出记录 - Export - - - 班组 - Work groups - - - 值班员 - Duty person - - - 接班时间 - Take over time - - - 交班时间 - Shift time - - - 本班处理问题 - Handling problem on duty - - - 本班遗留问题 - Leftover problem on duty - - - 关键信息备注 - Key information notes - - - - CSimOptWidget - - 序号 - Number - - - CSimOptWidget - - - - 开始模拟操作 - Begin - - - 图形列表 - Graph List - - - 提示 - Prompt - - - 当前登录用户无运维管理功能权限! - Current user have no perm to operate! - - - 请选择一张图形! - Please select one graph! - - - 确定打开图形:"%1",开始模拟操作? - Confirm open graph:"%1",begin simulate? - - - - CSliderRangeWidget - - 最小值: - Minimum: - - - 最大值: - Maximum: - - - 确定 - Confirm - - - 取消 - Cancel - - - - CStatisWidget - - Form - Form - - - 统计方式: - Statistical Style: - - - 设备类型: - Device Type: - - - 开始时间: - Start Time: - - - 结束时间: - End Time: - - - 查询 - Search - - - 打印 - Print - - - 日统计 - Day - - - 月统计 - Month - - - 年统计 - Year - - - 导出成功! -导出路径: - Exported successfully! -Exported path: - - - 结束时间不能小于开始时间! - The end time cannot be less than start time! - - - 位置: - Location: - - - yyyy-MM-dd - - - - 告警等级: - Alarm level: - - - Excel - - - - Pdf - - - - 报表 - Report - - - 图表 - Chart - - - 保存为 - Save as - - - (*.jpg) - - - - 提示 - Prompt - - - 保存失败 - Failed to save - - - 日统计最多查询31天! - Maximum query time was 31 days on day! - - - 月统计最多查询12月! - Maximum query time was 12 months on month! - - - 年统计最多查询2年! - Maximum query time was 2 years on year! - - - 至少勾选一个告警等级! - Check one alarm level at least! - - - - CTableDataModel - - 提示 - Prompt - - - 只显示前%1条记录! - Onle the %1 records is displayed! - - - 时间 - Time - - - - CTableDelegata - - 是 - Yes - - - 否 - No - - - - CTableModel - - 统计日期 - Statistical Date - - - 区域名称 - Location - - - 设备类型 - Device Type - - - %1总数 - Number of %1 - - - - CTableViewExport - - 保存 - Save - - - 导出成功! -导出路径: - Exported successfully! -Exported path: - - - 提示 - Prompt - - - 保存失败 - Failure to save - - - - CTextPrinter - - 另存PDF文件为 - Save as PDF file - - - PDF文件(*.pdf) - PDF file(*.pdf) - - - - CToolTip - - 全部 - All - - - 告警列表 - Alarm List - - - 时间 - Time - - - 告警内容 - Alarm Content - - - - CTrendEditDialog - - 趋势编辑 - Trend Editor - - - 取消 - Cancel - - - 确定 - Confirm - - - 添加 - Add - - - 删除 - Delete - - - 清空 - Clear - - - 警告 - Warning - - - 测点数量不允许为空! - The number of measuring points is not allowed to be empty! - - - 测点名称不允许存在空值! - The name of measuring points are not allowed to be null! - - - 提示 - Prompt - - - 当前未选中行! - Not row selected currently! - - - - CTrendEditModel - - 测点名称 - The name of measuring points - - - 颜色 - color - - - 只能添加模拟量! - Only analog can be added! - - - 该测点已存在! - The measuring point already exists! - - - - CTrendEditView - - 提示 - Prompt - - - 请选中一行! - Select a row please! - - - 警告 - Warning - - - 该测点已存在! - The measuring point already exists! - - - - CTrendFavTreeWidget - - 收藏夹 - Favorite - - - 错误 - Error - - - 当前趋势名称已存在! - The name of trend is already exist! - - - 添加趋势 - Add trend - - - 导入 - Import - - - 显示 - Show - - - 编辑 - Edit - - - 重命名 - Rename - - - 删除 - Delete - - - 导出 - Export - - - 选择趋势收藏文件 - Select file - - - 保存趋势收藏文件 - Save file - - - - CTrendTreeView - - 全选 - Check All - - - 清空 - Clear - - - - CTrendWindow - - 设备/点 - Device/Point - - - 收藏夹 - Favorite - - - 错误 - Error - - - 趋势名称不允许为空! - Trend names are not allowed to be empty! - - - 最小值不能大于最大值! - The minimum cannot be greater than the maximum! - - - - CWaveListDialog - - Dialog - Dialog - - - - CWorkTicketManage - - 票库管理 - Ticket Library - - - 开票 - Ticket - - - 删除 - Delete - - - 开票记录 - Ticket Record - - - 名称 - Name - - - 类型 - Type - - - 文件路径 - File Path - - - 请选中一条记录! - Please select a record! - - - 确认删除 - Confirm - - - 是否删除 %1 ? - Delete %1 ? - - - 提示 - Prompt - - - 删除失败 - Failed to delete - - - Form - Form - - - 当前登录用户无运维管理功能权限! - Current user have no perm to operate! - - - - CWorker - - 设备名称 - Device Name - - - 备注 - Remark - - - 操作人 - Operator - - - 设备id - DeviceId - - - 型号 - Type - - - 参数 - Parameter - - - 安装日期 - Installation Date - - - 状态 - State - - - 厂家联系方式 - Manufacturer Contact - - - 维护周期(月) - Maintenance Period(month) - - - 所属设备组描述 - Device Group - - - 所属设备组标签 - Device Group Tag - - - 导出资产信息成功 - Successful export asset info - - - 记录id - RecordId - - - 设备描述 - Device - - - 记录名称 - Record Name - - - 开始时间 - Start Time - - - 结束时间 - End Time - - - 维护内容 - Maintenance Content - - - 导出维护记录成功 - Successful export maintenance records - - - 导入资产信息失败,文件打开失败! - Failure to import asset info,failed to open file! - - - 部分设备组标签不存在 - Part of device group tag does not exist - - - 导入维护记录失败,文件打开失败! - Failure to import maintenance records,failed to open file! - - - 部分资产不存在 - Part of asset not exist - - - - ConfigWidget - - 分组管理 - Group - - - 新增 - Add - - - 删除 - Delete - - - 上移 - Up - - - 下移 - Down - - - 保存 - Save - - - 轮询组 - Polling Group - - - 画面文件名称 - Graph Name - - - 是否启用 - Enable - - - 画面轮询间隔(s) - Interval - - - 画面文件名称不能为空! - Graph name cannot be empty! - - - 保存成功 - Save success - - - 保存失败 - Fail to save - - - 是 - Yes - - - 否 - No - - - 提示 - Prompt - - - - ContrastWidget - - Form - Form - - - 统计方式: - Statistical Style: - - - 查询 - Search - - - 打印 - Print - - - 清空 - Clear - - - 全选 - Check All - - - 导出成功! -导出路径: - Exported successfully! -Exported path: - - - 对比方式: - Compare Style: - - - 对比时间: - Compare Time: - - - yyyy/MM/dd - - - - Excel - - - - Pdf - - - - 报表 - Report - - - 图表 - Chart - - - 最严重告警设备 - The most serious alarm device - - - 设备 - Device - - - 按位置统计 - Statistics by location - - - 按设备类型统计 - Statistics by device type - - - 日 - Day - - - 月 - Month - - - 年 - Year - - - 提示 - Prompt - - - 请至少选择一项! - Please select one item! - - - : - - - - 总共: - Total: - - - 保存为 - Save as - - - (*.jpg) - - - - 保存失败 - Failed to save - - - - FaultRecordModel - - 时间 - Time - - - 位置 - Location - - - 设备名 - Dev Name - - - 文件名 - File Name - - - - FaultRecordWidget - - 故障录波记录 - Fault Record - - - 位置 - Location - - - 设备 - Dev - - - 开始时间 - Start Time - - - 结束时间 - End Time - - - 刷新 - Refresh - - - 删除 - Delete - - - 打开 - Open - - - 全部删除 - All Delete - - - All - All - - - 提示 - Tip - - - 当前未选中任何项 - No rows are currently selected - - - 开始时间不能大于结束时间! - Start time cannot be greater than end time ! - - - 确定 - OK - - - 不存在%1位置! - Does not exist %1 location ! - - - FaultRecordWidget - - - - 当前用户不具有删除权限 - Current user have not perm to delete - - - - HandoverWidget - - 交接班 - Duty shift - - - 操作记录 - Operate Events - - - 值班信息 - Duty info - - - 关键告警 - Key Alarms - - - 工作票 - Work Tickets - - - 交班班组: - Shift group: - - - 接班班组: - Take over group: - - - 接班员 - Take over person - - - 密码 - Password - - - 接班签到 - Sign in - - - 确认交接 - Confirm to shift - - - 未签到 - Signed In - - - 已签到 - Not Sign In - - - - HistoryWidget - - 开始时间 - Start Time - - - 结束时间 - End Time - - - 查询 - Search - - - 重开 - reTicket - - - 消息 - Infomation - - - 链接数据库错误 - Linked database error - - - 历史数据过多!表格仅展示查询结果的10000条 -更多数据查看,请缩小起始时间和结束时间之差 - Too much historical data! The table shows only 10,000 results of the query -For more data, narrow the gap between the start and end times - - - 请选中一条记录! - Please select a record! - - - 提示 - Prompt - - - - InverseTimeLimit - - InverseTimeLimit - - - - 该功能只支持在windows系统运行 - Only running on windows - - - 曲线配置 - Curve configuration - - - 选择文件 - Select file - - - 生成曲线 - Generate curve - - - 保存模板 - Save as template - - - 设备1 - Device 1 - - - 曲线名称 - Curve name - - - CO曲线 - CO curve - - - EIT - - - - SIT - - - - VIT - - - - UIT - - - - Vb(基准) - Vb(base) - - - Vt(换算) - Vt(conversion) - - - I> - - - - t> - - - - I>> - - - - t>> - - - - 设备2 - Device 2 - - - 设备3 - Device 3 - - - 设备4 - Device 4 - - - 设备5 - Device 5 - - - 设备6 - Device 6 - - - Open File - - - - File (*.xlsx) - - - - Open Config - - - - Config Files (*.xlsx) - - - - - IpcPlusWidget - - 提醒 - Remind - - - IpcPlusWidget - - - - ptz - - - - 调焦 - Focus - - - 聚焦 - Focus - - - 光圈 - Aperture - - - 缩 - In - - - 伸 - Out - - - 近 - In - - - 远 - Out - - - 大 - In - - - 小 - Out - - - 预置点: - Preset: - - - 调用 - Call - - - 内存库读取失败 - Failure to query realtime database - - - - Label - - 打开 - Open - - - - Mainwindow - - Form - Form - - - 票库管理 - Ticket Library - - - 开票记录 - Ticket Record - - - - NavigationConfigDialog - - 导航栏配置 - Configuration of Navigation Bar - - - 导入 - Import - - - 添加节点 - Add Node - - - 删除节点 - Delete Node - - - 清空 - Clear - - - 添加子节点 - Add ChildNode - - - 插入节点 - Insert Node - - - 导航栏 - Navigation Bar - - - 导出 - Export - - - 背景颜色: - Background Color: - - - 文字颜色: - Text Color: - - - 鼠标选中: - Mouse checked: - - - 鼠标悬停: - Mouse hovered: - - - 图标: - Icon: - - - 数据: - Data: - - - 项属性: - Item Property: - - - 节点层级属性: - Node hierarchy properties: - - - 节点状态属性: - Node state properties: - - - 窗口配置: - Window Configuration: - - - 一级节点 - First Node - - - 级别背景颜色: - Background Color: - - - 级别文字颜色: - Text Color: - - - 级别缩进距离: - Indent distance: - - - 二级节点 - Second Node - - - 三级节点 - Third Node - - - 取消 - Cancel - - - 确定 - Confirm - - - + - - - - - - - - - × - - - - ∟ - - - - | - - - - 启用: - Enable: - - - web发布: - web publish: - - - ... - ... - - - 操作: - Operation: - - - px - - - - - QCPItemTracer - - 时间 - Time - - - 事件信息 - Event Infomation - - - - QObject - - 未确认 - Unconfirmed - - - 已确认 - Confirmed - - - 预览 - Preview - - - 打印 - Print - - - 模拟量 - Analog - - - 数字量 - Digital - - - 累积量 - Accuml - - - 混合量 - Mix - - - 其他 - Other - - - 警告 - Warning - - - 未复归 - unResumed - - - 已复归 - Resumed - - - - - - - - 位置列表 - Location List - - - 告警数/智能告警数 - Alarm/Intelligent Alarm - - - - Renderer - - 打开 - Open - - - - SWitchButton - - 打开告警联动失败! - Failure to open alarm linkage! - - - 关闭告警联动失败! - Failure to close alarm linkage! - - - 数据库连接失败! - Failure to connect to database! - - - - SetValueInputDialog - - Dialog - Dialog - - - 确定 - Confirm - - - 取消 - Cancel - - - 设置值 - Setting Value - - - 人工置数 - Manual Setting - - - - UserManageWidget - - UserManageWidget - - - - 提示 - Prompt - - - 用户管理插件用户权限认证库调用失败! - Failure to initialize perm library! - - - 当前用户ID获取失败! - Failure to get current user id! - - - - VoiceSlider - - Form - Form - - - 53 - 53 - - - 0 - 0 - - - - WorkTicketWidget - - 保存 - Save - - - 出票&预览 - Ticket&Preview - - - 保存失败:%1 - Failed to save:%1 - - - 保存成功 - Save successed - - - 获取当前登录用户失败! - Failure to get current user! - - - 事务执行失败!启动回滚 - Transaction execution failed! Start the rollback - - - 出票失败 - Failed to ticket - - - 出票失败:%1 - Failed to ticket:%1 - - - 消息 - Infomation - - - 电子签章 - Electronic signature - - - 出票 - Ticket - - - (签章) - (signature) - - - 创建目录失败: %1 - Failure to create directory:%1 - - - 请先关闭文件: %1 - Please close file:%1 - - - 历史票不存在! - Not historical ticket found! - - - 当前登录用户无运维管理功能权限! - Current user have no perm to operate! - - - 出票失败,请检查网络或者主数据库服务器连接是否异常! - Failure to ticket,please check the network and database server! - - - diff --git a/PSCADA/电子行业模板/common/resource/en/linkage_server/translate/linkage_server_en.mo b/PSCADA/电子行业模板/common/resource/en/linkage_server/translate/linkage_server_en.mo deleted file mode 100644 index b1b36d9db63b3ed3fc7b740a4a3a7e973ed32c48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7118 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 z - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/APC_DIGITAL.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/APC_DIGITAL.xml deleted file mode 100644 index e56e43f..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/APC_DIGITAL.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/ATS_FES_LOCATION_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/ATS_FES_LOCATION_INFO.xml deleted file mode 100644 index 6a4341b..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/ATS_FES_LOCATION_INFO.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/ATS_FES_PLATFORM_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/ATS_FES_PLATFORM_INFO.xml deleted file mode 100644 index d3ebdcb..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/ATS_FES_PLATFORM_INFO.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_CRAFT_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_CRAFT_DEF.xml deleted file mode 100644 index 5d1a387..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_CRAFT_DEF.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_MODE_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_MODE_DEF.xml deleted file mode 100644 index e682b20..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_MODE_DEF.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_MODE_TYPE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_MODE_TYPE.xml deleted file mode 100644 index f54d6cf..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_MODE_TYPE.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_CTRL_PARAM.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_CTRL_PARAM.xml deleted file mode 100644 index 7c2b4cd..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_CTRL_PARAM.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_DEF.xml deleted file mode 100644 index a8e069f..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_DEF.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_INFO.xml deleted file mode 100644 index 4318fb7..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_INFO.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_SCHEDULE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_SCHEDULE.xml deleted file mode 100644 index fc057e3..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/BAS_TIMETABLE_SCHEDULE.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_FUNC_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_FUNC_DEF.xml deleted file mode 100644 index 3cc0513..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_FUNC_DEF.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_GROUP_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_GROUP_DEF.xml deleted file mode 100644 index 024a03c..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_GROUP_DEF.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_IN_PARA.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_IN_PARA.xml deleted file mode 100644 index bd62aba..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_IN_PARA.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_OUT_PARA.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_OUT_PARA.xml deleted file mode 100644 index 8a20f18..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_OUT_PARA.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_PARA_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_PARA_DEF.xml deleted file mode 100644 index a57b2b1..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/CALC_PARA_DEF.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DEV_TYPE_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DEV_TYPE_DEF.xml deleted file mode 100644 index 219f07c..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DEV_TYPE_DEF.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DEV_TYPE_DEF_61850.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DEV_TYPE_DEF_61850.xml deleted file mode 100644 index 970c065..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DEV_TYPE_DEF_61850.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_POINT_TYPE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_POINT_TYPE.xml deleted file mode 100644 index c9b67c3..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_POINT_TYPE.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_STATE_TEXT_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_STATE_TEXT_INFO.xml deleted file mode 100644 index 09ecca6..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_STATE_TEXT_INFO.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_UNIT_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_UNIT_INFO.xml deleted file mode 100644 index 350ecf7..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_UNIT_INFO.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_VOL_LEVEL.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_VOL_LEVEL.xml deleted file mode 100644 index 92f8715..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/DICT_VOL_LEVEL.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/FAULT_RECALL_COND_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/FAULT_RECALL_COND_DEF.xml deleted file mode 100644 index ad5a1e3..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/FAULT_RECALL_COND_DEF.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION.xml deleted file mode 100644 index 7ac9862..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_BAS.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_BAS.xml deleted file mode 100644 index 46e4f08..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_BAS.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_MSG.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_MSG.xml deleted file mode 100644 index da85df2..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_MSG.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PA.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PA.xml deleted file mode 100644 index d231bc3..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PA.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PIS.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PIS.xml deleted file mode 100644 index d447e73..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PIS.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PSCADA.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PSCADA.xml deleted file mode 100644 index 10bcd07..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PSCADA.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PUSH_PIC.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PUSH_PIC.xml deleted file mode 100644 index 2b6830a..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_ACTION_FOR_PUSH_PIC.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_DEFINE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_DEFINE.xml deleted file mode 100644 index 3759359..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_DEFINE.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_FUNCTION.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_FUNCTION.xml deleted file mode 100644 index b72ca9f..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_FUNCTION.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_FUNCTION_LIST.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_FUNCTION_LIST.xml deleted file mode 100644 index 21bf8ac..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_FUNCTION_LIST.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_SETTING.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_SETTING.xml deleted file mode 100644 index e7b8ce5..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_SETTING.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_SETTING_FOR_ADD_AND_MODIFY.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_SETTING_FOR_ADD_AND_MODIFY.xml deleted file mode 100644 index 46777ce..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/LINKAGE_SETTING_FOR_ADD_AND_MODIFY.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_CTRL_ACT_DEFINE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_CTRL_ACT_DEFINE.xml deleted file mode 100644 index 5e97eea..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_CTRL_ACT_DEFINE.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_HANDOVER_GRP.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_HANDOVER_GRP.xml deleted file mode 100644 index 1a5b808..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_HANDOVER_GRP.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_SHIELD_DEFINE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_SHIELD_DEFINE.xml deleted file mode 100644 index 7b070f8..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_SHIELD_DEFINE.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_TOKEN_DEFINE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_TOKEN_DEFINE.xml deleted file mode 100644 index b969a89..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/OPT_TOKEN_DEFINE.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_AREA_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_AREA_INFO.xml deleted file mode 100644 index 453ac6b..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_AREA_INFO.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_AUDIO_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_AUDIO_INFO.xml deleted file mode 100644 index 28d8d96..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_AUDIO_INFO.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_BROADCAST_GROUP.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_BROADCAST_GROUP.xml deleted file mode 100644 index afc2894..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_BROADCAST_GROUP.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_CTRL_PARAM.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_CTRL_PARAM.xml deleted file mode 100644 index 6c55abd..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_CTRL_PARAM.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_LOCATION_AREA_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_LOCATION_AREA_DEF.xml deleted file mode 100644 index 07a6315..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_LOCATION_AREA_DEF.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_LOCATION_SEQ_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_LOCATION_SEQ_DEF.xml deleted file mode 100644 index 0f2bba7..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_LOCATION_SEQ_DEF.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_OPERATOR_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_OPERATOR_DEF.xml deleted file mode 100644 index 6e2057d..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_OPERATOR_DEF.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_OPERATOR_MAP.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_OPERATOR_MAP.xml deleted file mode 100644 index 6d0531c..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_OPERATOR_MAP.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_TIMED_AUDIO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_TIMED_AUDIO.xml deleted file mode 100644 index 1bbe175..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PA_TIMED_AUDIO.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_AREA_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_AREA_INFO.xml deleted file mode 100644 index 0e5ae3a..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_AREA_INFO.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_CTRL_PARAM.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_CTRL_PARAM.xml deleted file mode 100644 index 4b83619..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_CTRL_PARAM.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_DISPLAY_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_DISPLAY_INFO.xml deleted file mode 100644 index b58076a..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_DISPLAY_INFO.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_FES_LOCATION_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_FES_LOCATION_INFO.xml deleted file mode 100644 index 4988889..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_FES_LOCATION_INFO.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_LOCATION_AREA_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_LOCATION_AREA_DEF.xml deleted file mode 100644 index f12a9f7..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_LOCATION_AREA_DEF.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_MESSAGE_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_MESSAGE_INFO.xml deleted file mode 100644 index 4bccbbf..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/PIS_MESSAGE_INFO.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/REGION_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/REGION_INFO.xml deleted file mode 100644 index 989c7d8..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/REGION_INFO.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SAFETY_DAY.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SAFETY_DAY.xml deleted file mode 100644 index e2dadea..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SAFETY_DAY.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_ACTION.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_ACTION.xml deleted file mode 100644 index 0d656a7..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_ACTION.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_DEFINE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_DEFINE.xml deleted file mode 100644 index fbec1c5..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_DEFINE.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_FUNCTION.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_FUNCTION.xml deleted file mode 100644 index 5202316..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_FUNCTION.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_SETTING.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_SETTING.xml deleted file mode 100644 index e33bf35..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SEQUENCE_SETTING.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_DEF.xml deleted file mode 100644 index 2fe02be..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_DEF.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_GRP.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_GRP.xml deleted file mode 100644 index ffb6ea5..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_GRP.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_POINT.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_POINT.xml deleted file mode 100644 index 214cb80..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_POINT.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_POINT_FOR_ADD.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_POINT_FOR_ADD.xml deleted file mode 100644 index ef87d6b..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_POINT_FOR_ADD.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_TIME.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_TIME.xml deleted file mode 100644 index 0937bce..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_TIME.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_TIME_FOR_ADD.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_TIME_FOR_ADD.xml deleted file mode 100644 index 1e33d84..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_PARA_TIME_FOR_ADD.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_GRP.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_GRP.xml deleted file mode 100644 index e7cf6b4..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_GRP.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_PARA.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_PARA.xml deleted file mode 100644 index 86f3a3e..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_PARA.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_PARA_FOR_ADD.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_PARA_FOR_ADD.xml deleted file mode 100644 index c3e5741..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_INST_RET_PARA_FOR_ADD.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_DEF.xml deleted file mode 100644 index 5bc63d5..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_DEF.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_PARA.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_PARA.xml deleted file mode 100644 index da21ca7..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_PARA.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - -
    \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_RET.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_RET.xml deleted file mode 100644 index 93fbf76..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_LINK_RET.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - -
    \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_DEF.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_DEF.xml deleted file mode 100644 index 878576b..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_DEF.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_PARA.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_PARA.xml deleted file mode 100644 index 10dec40..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_PARA.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_RET.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_RET.xml deleted file mode 100644 index 2f47ab4..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/STAT_TEMPLATE_RET.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SWITCH_CFG_INFO.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SWITCH_CFG_INFO.xml deleted file mode 100644 index 13423b2..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/SWITCH_CFG_INFO.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_CONDITION_DEFINE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_CONDITION_DEFINE.xml deleted file mode 100644 index 06bf75f..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_CONDITION_DEFINE.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_FUNCTION_DEFINE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_FUNCTION_DEFINE.xml deleted file mode 100644 index 4587cf9..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_FUNCTION_DEFINE.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_PERIOD_DEFINE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_PERIOD_DEFINE.xml deleted file mode 100644 index f08960e..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_PERIOD_DEFINE.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_TIMER_DEFINE.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_TIMER_DEFINE.xml deleted file mode 100644 index cb611fa..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/table/TRIGGER_TIMER_DEFINE.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - -
    diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/calcFunc.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/calcFunc.xml deleted file mode 100644 index a93b2fc..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/calcFunc.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/commonTree.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/commonTree.xml deleted file mode 100644 index d2384f9..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/commonTree.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/ctrlActDefine.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/ctrlActDefine.xml deleted file mode 100644 index 6078600..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/ctrlActDefine.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/expressionTree.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/expressionTree.xml deleted file mode 100644 index 053f799..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/expressionTree.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/sampleTree.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/sampleTree.xml deleted file mode 100644 index 74d548f..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/sampleTree.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/statInstInput.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/statInstInput.xml deleted file mode 100644 index bfb857b..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/statInstInput.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/statInstOutput.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/statInstOutput.xml deleted file mode 100644 index 3525d06..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/statInstOutput.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/stateTextTree.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/stateTextTree.xml deleted file mode 100644 index 2737b01..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/stateTextTree.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - diff --git a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/staticsTree.xml b/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/staticsTree.xml deleted file mode 100644 index c9cfcc2..0000000 --- a/PSCADA/电子行业模板/common/resource/en/model_studio/setting/tree/staticsTree.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - diff --git a/PSCADA/电子行业模板/common/resource/en/report/translate/report.qm b/PSCADA/电子行业模板/common/resource/en/report/translate/report.qm deleted file mode 100644 index c47581ceba304485937b8a9bd122a6c7abdc8cc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 319 zcmcE7ks@*G{hX<16=n7(EZlq7iGhJZfrDX92avYrd?>ULNblu*xxfNQm-2h+`vGZ& zOa=x8l%a?rj{_vd2Es4)PkB0f9y^dJ;vAG(kY7|1T#}faothG! znUbDb!U)mo%22^jz>p8rS_0R~^K|{5r|r9*buE3da0SQ!UZ?>`I;FstLUl4IFgO8C v$Y&^LC}v1Sm;*84+1CCS%R7iP#|7w>VxZsBk-WkKG3WW7X)pFo#9|Hr - - - - CReportStackedWidget - - - 返回 - Return - - - - CReportWidget - - - 报表浏览 - Report Browse - - - - 报表编辑 - Report Design - - - - 导出报表 - Export - - - diff --git a/PSCADA/电子行业模板/common/resource/en/sequence_server/translate/sequence_server_en.mo b/PSCADA/电子行业模板/common/resource/en/sequence_server/translate/sequence_server_en.mo deleted file mode 100644 index 7c8d083d13a98b23b983f63f45930f597188c83c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6147 zcmd6pU2GKB6~}Kwnlw)7N76QFlcv{gNRzT-?}AC3MTn*jp{OLd0isGMjfUN8@08t{ z&CD#|RB89Am4%OLOpr=i1$jJqZ2_ybqlFdB(m7 zJ_LRld>mW?wt!EAwyM7aeh2k3I1jw{9>(xt8op?Li{f+OH&K5H#D`_@Mf+H)-lfp(lYtevoG2L;km*P&`O;dYVuc1ixfn&`-J-kT!w-q%A$9CHc{a0*Px6 zWC-#DW(H3)zA0}Op*)E~T6`BJjuJzm=X(*hJHYV_p~ob>yyc)gR2Z0dZ`+jXVd-N&Xb zUi8kL@GhLL4sT;#?@@1bm$&<1dFNTbdkgb+4p!d09Lzm*)<52ZX;bIBD?Mjo{=o0N zfk{7TO|F}leibc6Z|9I~p@v4x9-F#6kmNN30xNiQ$I995m=W{)Mk_1v6-pL6U+tvRj)Y)wta`Bd|9TnQ5bCPRP*_t!VIU8_cBd)cKM((&P2^_{HIvw`WjVJ#~H@sVp6;ZZDQE zpMn78(%z{LPWk;8V$mCp4urfi&`eiXW#`uN)(f~Z>ALKlq+|=-|5P`Ft-(ba+@s|^ zlXQ4$4WDpF@kUPdux|pV1a3c;e|~e8K#9YdnsD+RI|2LDQn+ z5^*ij$`gx{3tHv4mAd0cf&VK%(D;>Bfka}rJQ zhBnJ|g^4w~@-W5~o89JoRyWMWJeARHN4QJYu6aRgt&gL z{7hReOkqnS+AWbbT%KrZZE8V}tZF~f9g)}FOp-S>HAg>=ood$e`K*x&glTrf>jhz^ z#A}YQHwwF%kbzm?x)2ZXGkrUiW=~=-I2eVR^>A+M>jAbn}M+V5h zQBs6Rv-~ghT(IN~|D|TICYWj!+?d!bQUx-EcjyL06imNUcJcaNwn$lsVi(WbR!TTd zu(^PQ(u2rIk_L8$_Nsqgq0SDHEh{ugl_y3|z^T#$g zPban3U-P-vGDA|-`cza%tekK&78xP;u|+=HB@IzVn4K*24gQ*GR#ROsz>IodPz@Xo ze%ZpcyOzWb>=_rjNrfAbw?pK%K-^*k&j#Pwocu&MW=-)meNhSACPbz zxTp{lBt<>{8riK+4Rxfntp)RT76`*~li9V4Y?@g)D=o4-qdR=P5GJ=p4o5c~%V!1d zZoWy!r4Hw!N7j;Ok?S3>np_uUv2xZ(_Qs1=?Oe z?G~J_ohGyM`q{IFi|6o)#rqB~*o`=-n+!LV!C{HP)4HSByTjF1QA= zp{IyuO<4$SbQq8}`fjKnXj?dVn~RvdBkKrzS^F$BjmZS@KzC!p$wbO<8&EI=D0W8{S+uHM)`g7x2$az5oCK diff --git a/PSCADA/电子行业模板/common/resource/en/sequence_server/translate/sequence_server_en.po b/PSCADA/电子行业模板/common/resource/en/sequence_server/translate/sequence_server_en.po deleted file mode 100644 index 048d6da..0000000 --- a/PSCADA/电子行业模板/common/resource/en/sequence_server/translate/sequence_server_en.po +++ /dev/null @@ -1,336 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: 2019-07-31 16:02+0800\n" -"PO-Revision-Date: 2019-10-18 15:28+0800\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: en\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.4\n" -"X-Poedit-Basepath: ../../../../../src/" -"application/sequence_server\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Poedit-KeywordsList: I18N_C;I18N\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-SearchPath-0: .\n" - -#: CMethodAction.cpp:77 -msgid "发送操作指令错误!" -msgstr "Error sending operation instruction!" - -#: CMethodAction.cpp:118 -#, c-format -msgid "动作执行超时 超时时间:[%d]s" -msgstr "Action execution timeout timeout:[%d]s" - -#: CMethodAction.cpp:200 CNode.cpp:106 -msgid "执行成功" -msgstr "execution success" - -#: CMethodFailedAction.cpp:188 -#, c-format -msgid "" -"动作: [%s]-[%s]-[%s] 人工干预超时,执行失败" -msgstr "" -"Action: [%s]-[%s]-[%s] manual intervention " -"timeout,execution failure" - -#: CMethodFailedAction.cpp:268 -msgid "人工干预" -msgstr "manual intervention" - -#: CMethodFailedAction.cpp:271 -msgid "自动重试" -msgstr "auto retry" - -#: CMethodFailedAction.cpp:274 -msgid "自动终止" -msgstr "auto terminate" - -#: CMethodFailedAction.cpp:277 -msgid "自动跳过" -msgstr "auto skip" - -#: CMethodFailedAction.cpp:280 -msgid "未知的处理方式" -msgstr "Unknown processing method" - -#: CMethodRecoverAction.cpp:97 -msgid "动作执行恢复流程失败!" -msgstr "" -"Action execution recovery process failed!" - -#: CModuleAlarmCreater.cpp:88 COpResultHmi.cpp:69 -msgid "开始" -msgstr "start" - -#: CModuleAlarmCreater.cpp:111 -msgid "结束" -msgstr "end" - -#: CModuleAlarmCreater.cpp:172 -msgid "有部分动作跳过" -msgstr "Some actions are skipped" - -#: CModuleMsgDeal.cpp:216 -msgid "未知命令,无法解析" -msgstr "Unknown commond,unable to parse" - -#: CModuleMsgDeal.cpp:242 -#, c-format -msgid "顺控[%s]正在执行,无法执行开始操作!" -msgstr "" -"sequence[%s] is executing,cannot perform start " -"operation!" - -#: CModuleMsgDeal.cpp:253 -#, c-format -msgid "" -"顺控[%s]模型已被删除,请稍后等待其他顺控结束后" -"执行开始!" -msgstr "" -"sequence[%s] model has been removed,please " -"wait for execution to start after other " -"sequence is finished!" - -#: CModuleMsgDeal.cpp:290 -#, c-format -msgid "顺控[%s]未执行,无法执行执行终止操作!" -msgstr "" -"sequence[%s] non-execution,cannot perform " -"termination operation!" - -#: CModuleMsgDeal.cpp:320 -#, c-format -msgid "顺控[%s]未执行,无法执行执行暂停操作!" -msgstr "" -"sequence[%s] non-execution,cannot perform " -"pause operation!" - -#: CModuleMsgDeal.cpp:333 -#, c-format -msgid "顺控[%s]非正在执行,无法执行暂停操作!" -msgstr "" -"sequence[%s] non-executing,cannot perform " -"pause operation!" - -#: CModuleMsgDeal.cpp:360 -#, c-format -msgid "顺控[%s]未执行,无法执行执行继续操作!" -msgstr "" -"sequence[%s] non-execution,cannot perform " -"continue operation!" - -#: CModuleMsgDeal.cpp:373 -#, c-format -msgid "顺控[%s]非暂停,无法执行继续操作" -msgstr "" -"sequence[%s] non-pause,cannot perform continue " -"operation!" - -#: CModuleMsgDeal.cpp:405 -#, c-format -msgid "顺控[%s]未找到!" -msgstr "sequence[%s] not found!" - -#: CModuleMsgDeal.cpp:418 -#, c-format -msgid "" -"顺控[%s]时标不一致,hmi时标[%d],服务时标[%d]!" -msgstr "" -"sequence[%s] time scale is inconsistent,hmi " -"time scale[%d],server time scale[%d]!" - -#: CModuleMsgDeal.cpp:439 -#, c-format -msgid "" -"顺控[%s]时标不一致,本地时标:[%d],服务时标[%d]!" -msgstr "" -"sequence[%s] time scale is inconsistent,local " -"time scale:[%d],server time scale[%d]!" - -#: CModuleMsgDeal.cpp:478 CModuleMsgDeal.cpp:541 -#, c-format -msgid "[%s]-[%s]未找到!" -msgstr "[%s]-[%s] not found!" - -#: CModuleMsgDeal.cpp:500 -#, c-format -msgid "" -"功能[%s]时标不一致,本地时标:[%d],服务时标[%d]!" -msgstr "" -"function[%s] time scale is inconsistent,local " -"time scale:[%d],server time scale[%d]!" - -#: CModuleMsgDeal.cpp:562 -#, c-format -msgid "" -"动作[%s]时标不一致,本地时标:[%d],服务时标[%d]!" -msgstr "" -"action[%s] time scale is inconsistent,local " -"time scale:[%d],server time scale[%d]!" - -#: CNode.cpp:94 -msgid "未执行" -msgstr "non-execution" - -#: CNode.cpp:97 -msgid "正在执行" -msgstr "executing" - -#: CNode.cpp:100 -msgid "已触发" -msgstr "triggered" - -#: CNode.cpp:103 -msgid "执行失败" -msgstr "execution failure" - -#: CNode.cpp:109 -msgid "执行终止" -msgstr "execution termination" - -#: CNode.cpp:112 -msgid "执行暂停" -msgstr "execution pause" - -#: CNode.cpp:115 -msgid "执行跳过" -msgstr "execution skip" - -#: CNode.cpp:118 CNode.cpp:140 -msgid "未定义的类型" -msgstr "Undefined type" - -#: CNode.cpp:131 -msgid "不勾选" -msgstr "unchecked" - -#: CNode.cpp:134 -msgid "勾选" -msgstr "checked" - -#: CNode.cpp:137 -msgid "部分勾选" -msgstr "partially checked" - -#: COpResultHmi.cpp:72 COpResultUi.cpp:63 -msgid "终止" -msgstr "terminate" - -#: COpResultHmi.cpp:75 -msgid "暂停" -msgstr "pause" - -#: COpResultHmi.cpp:78 -msgid "继续" -msgstr "continue" - -#: COpResultHmi.cpp:81 -msgid "单步开始" -msgstr "single-step start" - -#: COpResultHmi.cpp:84 -msgid "单步继续" -msgstr "single-step continue" - -#: COpResultHmi.cpp:87 -msgid "未知操作" -msgstr "Unknown operation" - -#: COpResultOpt.cpp:61 COpResultUi.cpp:57 -msgid "初始化状态" -msgstr "initial state" - -#: COpResultOpt.cpp:64 -msgid "失败" -msgstr "failure" - -#: COpResultOpt.cpp:67 -msgid "成功" -msgstr "success" - -#: COpResultOpt.cpp:70 -msgid "未知的应答类型" -msgstr "Unknown reply type" - -#: COpResultUi.cpp:60 -msgid "重试" -msgstr "retry" - -#: COpResultUi.cpp:66 -msgid "跳过" -msgstr "skip" - -#: COpResultUi.cpp:69 -msgid "未知的人工干预" -msgstr "Unknown manual intervention" - -#: CSeqAnomalyRecoverPro.cpp:121 -#, c-format -msgid "" -"顺控主备切换,原执行中的顺控配置已经删除,顺控" -"[%s]无法恢复!" -msgstr "" -"sequence master-slave switching,the sequence " -"configuration in the original execution has " -"been removed,sequence[%s]unable to restore!" - -#: CSeqAnomalyRecoverPro.cpp:153 -#, c-format -msgid "" -"顺控主备切换,原执行中的顺控配置已经修改,顺控" -"[%s]无法恢复,原时标[%d],现在时标[%d]!" -msgstr "" -"sequence master-slave switching,the sequence " -"configuration in the original execution has " -"been modified,sequence[%s]unable to restore," -"original time scale[%d],current time " -"scale[%d]! " - -#: CSeqAnomalyRecoverPro.cpp:181 -#, c-format -msgid "" -"顺控主备切换,原执行中的顺控配置已经修改,顺控" -"[%s]无法恢复,功能节点找不到[%s]!" -msgstr "" -"sequence master-slave switching,the sequence " -"configuration in the original execution has " -"been modified,sequence[%s]unable to restore," -"function node not found[%s]!" - -#: CSeqAnomalyRecoverPro.cpp:204 -#, c-format -msgid "" -"顺控主备切换,原执行中的顺控配置已经修改,功能" -"[%s]无法恢复,原时标[%d],现在时标[%d]!" -msgstr "" -"sequence master-slave switching,the sequence " -"configuration in the original execution has " -"been modified,function[%s]unable to restore," -"original time scale[%d],current time scale[%d]!" - -#: CSeqAnomalyRecoverPro.cpp:235 -#, c-format -msgid "" -"顺控主备切换,原执行中的顺控配置已经修改,功能" -"[%s]无法恢复,动作节点找不到[%s]!" -msgstr "" -"sequence master-slave switching,the sequence " -"configuration in the original execution has " -"been modified,function[%s]unable to restore," -"action node not found[%s]!" - -#: CSeqAnomalyRecoverPro.cpp:258 -#, c-format -msgid "" -"顺控主备切换,原执行中的顺控配置已经修改,动作" -"[%s]无法恢复,原时标[%d],现在时标[%d]!" -msgstr "" -"sequence master-slave switching,the sequence " -"configuration in the original execution has " -"been modified,action[%s]unable to restore," -"original time scale[%d],current time scale[%d]!" diff --git a/PSCADA/电子行业模板/common/resource/en/setup/en.qm b/PSCADA/电子行业模板/common/resource/en/setup/en.qm deleted file mode 100644 index 13e43ce74a29eafef58501b8e8ca69e803bf8d47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13348 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 abPqRA3+^Zx;C#in`y diff --git a/PSCADA/电子行业模板/common/resource/en/sys_startup/translate/en.ts b/PSCADA/电子行业模板/common/resource/en/sys_startup/translate/en.ts deleted file mode 100644 index 78deda2..0000000 --- a/PSCADA/电子行业模板/common/resource/en/sys_startup/translate/en.ts +++ /dev/null @@ -1,794 +0,0 @@ - - - - - AppMngForm - - - Form - Form - - - - 节点应用 - Node Application - - - - 状态 - Status - - - - 主/备 - Master/Slave - - - - - 重启 - Restart - - - - 刷新 - Refresh - - - - 启动 - Start up - - - - 停止 - Stop - - - - 升主 - to Master - - - - 降备 - to Slave - - - - - - - 验证 - Ok - - - - - - - 权限验证 - Permission to verify - - - - - 运行中 - Active - - - - - 主 - Master - - - - - 备 - Slave - - - - - 异常 - Abnormal - - - - - 已停止 - Stopped - - - - - 未知 - Unknown - - - - AutoStart - - - Dialog - Dialog - - - - 开机自启动 - Auto start - - - - 系统开机自启动 - System auto start - - - - HMI 开机自启动 - HMI auto start - - - - 自启动设置 - Auto start setting - - - - ButtonForm - - - Form - - - - - 设置系统开机自启动成功... - Setup system auto start successfully... - - - - 设置系统开机自启动失败...错误:%1 - Setup system auto start failure... Error:%1 - - - - 注销系统开机自启动成功... - The system has been successfully booted... - - - - 注销系统开机自启动失败......错误:%1 - Logout system startup failure... Error:%1 - - - - 设置HMI开机自启动成功... - Set HMI auto start successfully... - - - - 设置HMI开机自启动失败...错误:%1 - Set HMI auto start failure... Error:%1 - - - - 注销HMI开机自启动成功... - Logout HMI startup since startup successful... - - - - 注销HMI开机自启动失败...错误:%1 - Logout HMI startup self-start failure... Error:%1 - - - - DbCheck - - - 数据库检测 - Database detection - - - - MySQL状态 - MySql - - - - 节点名/IP - Node Name/IP - - - - 模型(写) - Model(Write) - - - - 模型(读) - Model(Read) - - - - 历史(读) - His(Read) - - - - InfluxDB状态 - InfluxDB - - - - - - - - - - 正常 - Connected - - - - 刷新 - Refresh - - - - - - - 异常 - Not Connected - - - - 获取域信息失败 - Faild to obtain domain infomation - - - - 获取数据库信息失败 - Faild to obtain database infomation - - - - (首链接) - (First Link) - - - - - - - - - - - - DogCheck - - - Dialog - Dialog - - - - 加密狗检测 - Supper Dog Check - - - - 重新检测 - Recheck - - - - 异常,错误码[%1] - Abnormal,Error Code[%1] - - - - 正常 - Normal - - - - MainWindow - - - 应用管理 - Application - - - - 进程管理 - Process Info - - - - 工具箱 - Toolbox - - - - 版本 - Version - - - - - 提示 - Tips - - - - 系统启动失败,请检查所有配置工具和人机界面是否已经全部退出! - System failed to start,please check whether all configuration tools and human interface have been exited! - - - - 错误 - - - - - 未发现系统模型配置文件,是否打开系统建模工具导出模型配置? - The system model configuration file is not found. Do you open the system modeling tool to export the model configuration? - - - - 开始停止系统 - Stop system - - - - 开始启动进程:%1 - Start process:%1 - - - - - 启动进程:%1失败 - Start process:%1 faild - - - - 启动进程:%1成功 - Start process:%1 success - - - - 开始停止进程:%1 - Stop process:%1 - - - - - - 停止进程:%1失败 - Stop process:%1 faild - - - - - - 停止进程:%1成功 - Stop process:%1 success - - - - 强制停止进程:%1 - Kill process:%1 - - - - 显示 - Display - - - - 退出 - Exit - - - - 加密狗退出 - Supper Dog Exit - - - - ProcMngForm - - - Form - Form - - - - 节点应用进程 - Application process - - - - 进程名 - Process name - - - - 所属应用 - Application - - - - 状态 - Status - - - - CPU - CPU - - - - 内存(MB) - Memory (MB) - - - - 主/备 - Master/Slave - - - - - 重启 - Restart - - - - 刷新 - Refresh - - - - 启动 - Start up - - - - 停止 - Stop - - - - 升主 - to Master - - - - 降备 - to Slave - - - - 强制停止 - Kill - - - - - - - 验证 - Ok - - - - - - - 权限验证 - Permission to verify - - - - - 运行中 - Active - - - - - - - 异常 - Abnormal - - - - - 主 - Master - - - - - 备 - Slave - - - - - 已停止 - Stopped - - - - - 未知 - Unknown - - - - QObject - - - - - - 已设置服务自启动,若需重新设置,请先取消! - The service has been set since the start, if you need to reset, please cancel first! - - - - - 设置可执行权限失败! - Failed to set executable permissions! - - - - - - - 文件不存在! - The file does not exist! - - - - 服务配置文件不可写,请确认是否具有权限! - The service profile cannot be written, please confirm if you have permission! - - - - 写入服务配置文件失败! - Write service profile failed! - - - - - 调用系统重新加载配置失败! - Call system reload configuration failed! - - - - 设置服务开机自启动失败! - Setup service startup auto startup failed! - - - - - 未设置服务自启动,无需取消! - Do not set the service to start, no need to cancel! - - - - 删除服务配置文件失败,请确认是否具有权限! - Failed to delete service profile, please confirm if you have permissions! - - - - - 已设置HMI自启动,若需重新设置,请先取消! - HMI has been set to start, if you need to reset, please cancel first! - - - - 启动器文件不可写,请确认是否具有权限! - Initiator file cannot be written, please confirm whether you have permission! - - - - 删除启动器文件失败,请确认是否具有权限! - Failed to delete starter file, please confirm if you have permission! - - - - 未设置HMI自启动,无需取消! - HMI self-start is not set, no need to cancel! - - - - - - 打开服务管理器失败,请确认是否具有权限! - Failed to open service manager, please confirm if you have permission! - - - - 注册服务失败,请确认是否具有权限! - Registration service failed, please confirm if you have permission! - - - - 注销服务失败! - Logout service failed! - - - - 停止服务超时! - Stop service timeout! - - - - 获取服务状态失败! - Failed to get service status! - - - - - 启动文件无法写入 - Startup file cannot be written - - - - 警告 - Warning - - - - 正在运行 - System still in running - - - - StartUpForm - - - Form - Form - - - - - 系统启动 - System startup - - - - - 系统停止 - System to stop - - - - 验证 - Ok - - - - 权限验证 - Permission to verify - - - - 退出系统前,请将所有配置工具和人机界面退出! - Before exiting the system, please exit all configuration tools and human interface! - - - - StatusForm - - - Form - Form - - - - 加密狗状态: - Supper Dog Status: - - - - - - - 正常 - Normal - - - - 本地网络状态: - Local Network Status: - - - - - 异常 - Abnormal - - - - 未检测 - Unchecked - - - - VersionForm - - - Form - Form - - - - 版本信息 - Version - - - - 主程序 - Main - - - - 数据库 - Db - - - - Web - Web - - - - 主程序路径 - MainPath - - - - 数据库路径 - DbPath - - - - 无版本信息 - No Version Information - - - - - - 已安装 - Installed - - - - - - 未安装 - Not Installed - - - - 无主程序路径 - No MainPath - - - - 无数据库路径 - No DbPath - - - diff --git a/PSCADA/电子行业模板/common/resource/zh/apc_if_srv/translate/apc_if_srv_zh.mo b/PSCADA/电子行业模板/common/resource/zh/apc_if_srv/translate/apc_if_srv_zh.mo deleted file mode 100644 index a72246b19a74cecf8317c4ea3824e9cb993d8428..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 513 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

    ldSIuO|)C0!f2N?=S&<5uSnx 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�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 diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/DM2355电流功率系数需CT处理,乘CT比值除1000.csv b/PSCADA/电子行业模板/common/device_model/施耐德仪表/DM2355电流功率系数需CT处理,乘CT比值除1000.csv deleted file mode 100644 index 5a0b916..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/DM2355电流功率系数需CT处理,乘CT比值除1000.csv +++ /dev/null @@ -1,29 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,1,1,DM2300,DM2300,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,115,16,16,1000,1,0,100,100,0 -,,2,100,2,1,1000,0,0,100,100,1 -,,3,100,14,16,1000,0,0,100,100,0 -,,3,200,8,32,1000,0,2,100,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,100,1,0,0,ABߵѹ,1,UAB,, -,,0,101,1,0,0,BCߵѹ,1,UBC,, -,,0,102,1,0,0,CAߵѹ,1,UCA,, -,,0,104,1,0,0,Aѹ,1,VA,, -,,0,105,1,0,0,Bѹ,1,VB,, -,,0,106,1,0,0,Cѹ,1,VC,, -,,0,108,1,0,0,A,1,IA,, -,,0,109,1,0,0,B,1,IB,, -,,0,110,1,0,0,C,1,IC,, -,,0,113,1,0,0,Ƶ,1,F,, -,,0,115,1,0,0,ܹ,1,PF,, -,,0,116,1,0,0,й,1,P,, -,,0,117,1,0,0,޹,1,Q,, -,,0,118,1,0,0,ڹ,1,S,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,200,0.1,0,й,1,EP,,, -,,0,202,0.1,0,޹,1,EQ,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,100,·λ,PosOn,0,0,0,,, -,,0,101,·,CBFlt,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/IEM3000.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/IEM3000.CSV deleted file mode 100644 index f10f903..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/IEM3000.CSV +++ /dev/null @@ -1,21 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],4,9,1,IEM3000,IEM3000,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,3110,2,32,2000,2,0,33,600,0 -,,3,3204,40,32,2000,0,2,33,30000,0 -,,3,3000,85,32,2000,2,0,33,600,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,3000,1,0,0,A,0.01,IA,, -,,0,3002,1,0,0,B,0.01,IB,, -,,0,3004,1,0,0,C,0.01,IC,, -,,0,3020,1,0,0,UAB,1,UAB,, -,,0,3022,1,0,0,UBC,1,UBC,, -,,0,3024,1,0,0,UCA,1,UCA,, -,,0,3060,1,0,0,й,0.001,P,, -,,0,3068,1,0,0,޹,0.001,Q,, -,,0,3084,1,0,0,,0.01,PF,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,3204,0.01,0,й,1,EP,,, -,,0,3208,0.01,0,޹,1,EQ,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/ION7550.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/ION7550.CSV deleted file mode 100644 index 83ce8be..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/ION7550.CSV +++ /dev/null @@ -1,54 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,3,1,ION7550,ION7550,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,149,16,16,1000,1,0,100,3000,0 -,,3,165,22,32,1000,1,0,100,3000,0 -,,3,197,30,32,1000,1,0,100,3000,0 -,,3,229,10,32,1000,0,2,100,300000,0 -,,3,261,16,16,1000,0,0,100,3000,0 -,,3,277,6,32,1000,0,0,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,149,1,0,0,Ia,0.1,IA,, -,,0,150,1,0,0,Ib,0.1,IB,, -,,0,151,1,0,0,Ic,0.1,IC,, -,,0,152,1,0,0,I4,0.1,I4,, -,,0,153,1,0,0,I5,0.1,I5,, -,,0,154,1,0,0,Iavg,0.1,Iavg,, -,,0,158,1,0,0,Freq,0.1,F,, -,,0,162,1,0,0,Vunbal,0.1,V0,, -,,0,163,1,0,0,Iunbal,0.1,I0,, -,,0,164,1,0,0,PhaseRev,0.1,PhaseRev,, -,,0,165,1,0,0,VIna,0.1,VA,, -,,0,167,1,0,0,VInb,0.1,VB,, -,,0,169,1,0,0,VInc,0.1,VC,, -,,0,171,1,0,0,VInavg,0.1,Vavg,, -,,0,175,1,0,0,VIIab,0.1,UAB,, -,,0,177,1,0,0,VIIbc,0.1,UBC,, -,,0,179,1,0,0,VIIca,0.1,UCA,, -,,0,181,1,0,0,Vllavg,0.1,Uavg,, -,,0,197,1,0,0,kWa,0.001,PA,, -,,0,199,1,0,0,kWb,0.001,PB,, -,,0,201,1,0,0,kWc,0.001,PC,, -,,0,203,1,0,0,kWtot,0.001,P,, -,,0,207,1,0,0,kVARa,0.001,QA,, -,,0,209,1,0,0,kVARb,0.001,QB,, -,,0,211,1,0,0,kVARc,0.001,QC,, -,,0,213,1,0,0,kVARtot,0.001,Q,, -,,0,217,1,0,0,kVAa,0.001,SA,, -,,0,219,1,0,0,kVAb,0.001,SB,, -,,0,221,1,0,0,kVAc,0.001,SC,, -,,0,223,1,0,0,kVAtot,0.001,S,, -,,0,261,1,0,0,PFsigna,0.01,PFA,, -,,0,262,1,0,0,PFsignb,0.01,PFB,, -,,0,263,1,0,0,PFsignc,0.01,PFC,, -,,0,264,1,0,0,PFsigntot,0.01,PF,, -,,0,277,1,0,0,й,1,PDMD,, -,,0,279,1,0,0,޹,1,QDMD,, -,,0,281,1,0,0,,1,SDMD,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,229,1,0,kWhdel,0.001,EPd,,, -,,0,231,1,0,kWhrec,0.001,EPr,,, -,,0,233,1,0,kVARhdel,0.001,EQd,,, -,,0,235,1,0,kVARhrec,0.001,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/ION7650-ION.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/ION7650-ION.CSV deleted file mode 100644 index 23f61f1..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/ION7650-ION.CSV +++ /dev/null @@ -1,223 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,65,ION7650,ION7650,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,0,22543,1,0,0,й,1,P -,,0,22547,1,0,0,޹,1,Q -,,0,22551,1,0,0,ڹ,1,S -,,0,22555,1,0,0,ܹ,1,PF -,,0,22567,1,0,0,Ƶ,1,F -,,0,45744,1,0,0,Aѹ,1,VA -,,0,45745,1,0,0,Bѹ,1,VB -,,0,45746,1,0,0,Cѹ,1,VC -,,0,45747,1,0,0,A,1,IA -,,0,45748,1,0,0,B,1,IB -,,0,45749,1,0,0,C,1,IC -,,0,45753,1,0,0,AѹǶ,1,VATHDR -,,0,45754,1,0,0,BѹǶ,1,VBTHDR -,,0,45755,1,0,0,CѹǶ,1,VCTHDR -,,0,45756,1,0,0,AǶ,1,IATHDR -,,0,45757,1,0,0,BǶ,1,IBTHDR -,,0,45758,1,0,0,CǶ,1,ICTHDR -,,255,1,100,0,0,1=1rdHD-UA,0.01,VAH1 -,,255,2,100,0,0,2=2rdHD-UA,0.01,VAH2 -,,255,3,100,0,0,3=3rdHD-UA,0.01,VAH3 -,,255,4,100,0,0,4=4rdHD-UA,0.01,VAH4 -,,255,5,100,0,0,5=5rdHD-UA,0.01,VAH5 -,,255,6,100,0,0,6=6rdHD-UA,0.01,VAH6 -,,255,7,100,0,0,7=7rdHD-UA,0.01,VAH7 -,,255,8,100,0,0,8=8rdHD-UA,0.01,VAH8 -,,255,9,100,0,0,9=9rdHD-UA,0.01,VAH9 -,,255,10,100,0,0,10=10rdHD-UA,0.01,VAH10 -,,255,11,100,0,0,11=11rdHD-UA,0.01,VAH11 -,,255,12,100,0,0,12=12rdHD-UA,0.01,VAH12 -,,255,13,100,0,0,13=13rdHD-UA,0.01,VAH13 -,,255,14,100,0,0,14=14rdHD-UA,0.01,VAH14 -,,255,15,100,0,0,15=15rdHD-UA,0.01,VAH15 -,,255,16,100,0,0,16=16rdHD-UA,0.01,VAH16 -,,255,17,100,0,0,17=17rdHD-UA,0.01,VAH17 -,,255,18,100,0,0,18=18rdHD-UA,0.01,VAH18 -,,255,19,100,0,0,19=19rdHD-UA,0.01,VAH19 -,,255,20,100,0,0,20=20rdHD-UA,0.01,VAH20 -,,255,21,100,0,0,21=21rdHD-UA,0.01,VAH21 -,,255,22,100,0,0,22=22rdHD-UA,0.01,VAH22 -,,255,23,100,0,0,23=23rdHD-UA,0.01,VAH23 -,,255,24,100,0,0,24=24rdHD-UA,0.01,VAH24 -,,255,25,100,0,0,25=25rdHD-UA,0.01,VAH25 -,,255,26,100,0,0,26=26rdHD-UA,0.01,VAH26 -,,255,27,100,0,0,27=27rdHD-UA,0.01,VAH27 -,,255,28,100,0,0,28=28rdHD-UA,0.01,VAH28 -,,255,29,100,0,0,29=29rdHD-UA,0.01,VAH29 -,,255,30,100,0,0,30=30rdHD-UA,0.01,VAH30 -,,255,31,100,0,0,31=31rdHD-UA,0.01,VAH31 -,,255,32,100,0,0,32=32rdHD-UA,0.01,VAH32 -,,255,33,100,0,0,33=33rdHD-UA,0.01,VAH33 -,,255,34,100,0,0,34=34rdHD-UA,0.01,VAH34 -,,255,35,100,0,0,35=35rdHD-UA,0.01,VAH35 -,,255,36,100,0,0,36=36rdHD-UA,0.01,VAH36 -,,255,37,100,0,0,37=37rdHD-UA,0.01,VAH37 -,,255,38,100,0,0,38=38rdHD-UA,0.01,VAH38 -,,255,39,100,0,0,39=39rdHD-UA,0.01,VAH39 -,,255,40,100,0,0,40=40rdHD-UA,0.01,VAH40 -,,255,41,100,0,0,41=41rdHD-UA,0.01,VAH41 -,,255,42,100,0,0,42=42rdHD-UA,0.01,VAH42 -,,255,43,100,0,0,43=43rdHD-UA,0.01,VAH43 -,,255,44,100,0,0,44=44rdHD-UA,0.01,VAH44 -,,255,45,100,0,0,45=45rdHD-UA,0.01,VAH45 -,,255,46,100,0,0,46=46rdHD-UA,0.01,VAH46 -,,255,47,100,0,0,47=47rdHD-UA,0.01,VAH47 -,,255,48,100,0,0,48=48rdHD-UA,0.01,VAH48 -,,255,49,100,0,0,49=49rdHD-UA,0.01,VAH49 -,,255,50,100,0,0,50=50rdHD-UA,0.01,VAH50 -,,255,51,100,0,0,51=51rdHD-UA,0.01,VAH51 -,,255,52,100,0,0,52=52rdHD-UA,0.01,VAH52 -,,255,53,100,0,0,53=53rdHD-UA,0.01,VAH53 -,,255,54,100,0,0,54=54rdHD-UA,0.01,VAH54 -,,255,55,100,0,0,55=55rdHD-UA,0.01,VAH55 -,,255,56,100,0,0,56=56rdHD-UA,0.01,VAH56 -,,255,57,100,0,0,57=57rdHD-UA,0.01,VAH57 -,,255,58,100,0,0,58=58rdHD-UA,0.01,VAH58 -,,255,59,100,0,0,59=59rdHD-UA,0.01,VAH59 -,,255,60,100,0,0,60=60rdHD-UA,0.01,VAH60 -,,255,61,100,0,0,61=61rdHD-UA,0.01,VAH61 -,,255,62,100,0,0,62=62rdHD-UA,0.01,VAH62 -,,255,63,100,0,0,63=63rdHD-UA,0.01,VAH63 -,,255,64,100,0,0,64=TotalHD-UA,0.01,VATotH -,,255,65,100,0,0,65=EvenHD-UA,0.01,VAEvenH -,,255,66,100,0,0,66=OddHD-UA,0.01,VAOddH -,,255,67,100,0,0,67=Kfactor-UA,0.01,VAKfac -,,255,68,100,0,0,68=1rdHD-UB,0.01,VBH1 -,,255,69,100,0,0,69=2rdHD-UB,0.01,VBH2 -,,255,70,100,0,0,70=3rdHD-UB,0.01,VBH3 -,,255,71,100,0,0,71=4rdHD-UB,0.01,VBH4 -,,255,72,100,0,0,72=5rdHD-UB,0.01,VBH5 -,,255,73,100,0,0,73=6rdHD-UB,0.01,VBH6 -,,255,74,100,0,0,74=7rdHD-UB,0.01,VBH7 -,,255,75,100,0,0,75=8rdHD-UB,0.01,VBH8 -,,255,76,100,0,0,76=9rdHD-UB,0.01,VBH9 -,,255,77,100,0,0,77=10rdHD-UB,0.01,VBH10 -,,255,78,100,0,0,78=11rdHD-UB,0.01,VBH11 -,,255,79,100,0,0,79=12rdHD-UB,0.01,VBH12 -,,255,80,100,0,0,80=13rdHD-UB,0.01,VBH13 -,,255,81,100,0,0,81=14rdHD-UB,0.01,VBH14 -,,255,82,100,0,0,82=15rdHD-UB,0.01,VBH15 -,,255,83,100,0,0,83=16rdHD-UB,0.01,VBH16 -,,255,84,100,0,0,84=17rdHD-UB,0.01,VBH17 -,,255,85,100,0,0,85=18rdHD-UB,0.01,VBH18 -,,255,86,100,0,0,86=19rdHD-UB,0.01,VBH19 -,,255,87,100,0,0,87=20rdHD-UB,0.01,VBH20 -,,255,88,100,0,0,88=21rdHD-UB,0.01,VBH21 -,,255,89,100,0,0,89=22rdHD-UB,0.01,VBH22 -,,255,90,100,0,0,90=23rdHD-UB,0.01,VBH23 -,,255,91,100,0,0,91=24rdHD-UB,0.01,VBH24 -,,255,92,100,0,0,92=25rdHD-UB,0.01,VBH25 -,,255,93,100,0,0,93=26rdHD-UB,0.01,VBH26 -,,255,94,100,0,0,94=27rdHD-UB,0.01,VBH27 -,,255,95,100,0,0,95=28rdHD-UB,0.01,VBH28 -,,255,96,100,0,0,96=29rdHD-UB,0.01,VBH29 -,,255,97,100,0,0,97=30rdHD-UB,0.01,VBH30 -,,255,98,100,0,0,98=31rdHD-UB,0.01,VBH31 -,,255,99,100,0,0,99=32rdHD-UB,0.01,VBH32 -,,255,100,100,0,0,100=33rdHD-UB,0.01,VBH33 -,,255,101,100,0,0,101=34rdHD-UB,0.01,VBH34 -,,255,102,100,0,0,102=35rdHD-UB,0.01,VBH35 -,,255,103,100,0,0,103=36rdHD-UB,0.01,VBH36 -,,255,104,100,0,0,104=37rdHD-UB,0.01,VBH37 -,,255,105,100,0,0,105=38rdHD-UB,0.01,VBH38 -,,255,106,100,0,0,106=39rdHD-UB,0.01,VBH39 -,,255,107,100,0,0,107=40rdHD-UB,0.01,VBH40 -,,255,108,100,0,0,108=41rdHD-UB,0.01,VBH41 -,,255,109,100,0,0,109=42rdHD-UB,0.01,VBH42 -,,255,110,100,0,0,110=43rdHD-UB,0.01,VBH43 -,,255,111,100,0,0,111=44rdHD-UB,0.01,VBH44 -,,255,112,100,0,0,112=45rdHD-UB,0.01,VBH45 -,,255,113,100,0,0,113=46rdHD-UB,0.01,VBH46 -,,255,114,100,0,0,114=47rdHD-UB,0.01,VBH47 -,,255,115,100,0,0,115=48rdHD-UB,0.01,VBH48 -,,255,116,100,0,0,116=49rdHD-UB,0.01,VBH49 -,,255,117,100,0,0,117=50rdHD-UB,0.01,VBH50 -,,255,118,100,0,0,118=51rdHD-UB,0.01,VBH51 -,,255,119,100,0,0,119=52rdHD-UB,0.01,VBH52 -,,255,120,100,0,0,120=53rdHD-UB,0.01,VBH53 -,,255,121,100,0,0,121=54rdHD-UB,0.01,VBH54 -,,255,122,100,0,0,122=55rdHD-UB,0.01,VBH55 -,,255,123,100,0,0,123=56rdHD-UB,0.01,VBH56 -,,255,124,100,0,0,124=57rdHD-UB,0.01,VBH57 -,,255,125,100,0,0,125=58rdHD-UB,0.01,VBH58 -,,255,126,100,0,0,126=59rdHD-UB,0.01,VBH59 -,,255,127,100,0,0,127=60rdHD-UB,0.01,VBH60 -,,255,128,100,0,0,128=61rdHD-UB,0.01,VBH61 -,,255,129,100,0,0,129=62rdHD-UB,0.01,VBH62 -,,255,130,100,0,0,130=63rdHD-UB,0.01,VBH63 -,,255,131,100,0,0,131=TotalHD-UB,0.01,VBTotH -,,255,132,100,0,0,132=EvenHD-UB,0.01,VBEvenH -,,255,133,100,0,0,133=OddHD-UB,0.01,VBOddH -,,255,134,100,0,0,134=Kfactor-UB,0.01,VBKfac -,,255,135,100,0,0,135=1rdHD-UC,0.01,VCH1 -,,255,136,100,0,0,136=2rdHD-UC,0.01,VCH2 -,,255,137,100,0,0,137=3rdHD-UC,0.01,VCH3 -,,255,138,100,0,0,138=4rdHD-UC,0.01,VCH4 -,,255,139,100,0,0,139=5rdHD-UC,0.01,VCH5 -,,255,140,100,0,0,140=6rdHD-UC,0.01,VCH6 -,,255,141,100,0,0,141=7rdHD-UC,0.01,VCH7 -,,255,142,100,0,0,142=8rdHD-UC,0.01,VCH8 -,,255,143,100,0,0,143=9rdHD-UC,0.01,VCH9 -,,255,144,100,0,0,144=10rdHD-UC,0.01,VCH10 -,,255,145,100,0,0,145=11rdHD-UC,0.01,VCH11 -,,255,146,100,0,0,146=12rdHD-UC,0.01,VCH12 -,,255,147,100,0,0,147=13rdHD-UC,0.01,VCH13 -,,255,148,100,0,0,148=14rdHD-UC,0.01,VCH14 -,,255,149,100,0,0,149=15rdHD-UC,0.01,VCH15 -,,255,150,100,0,0,150=16rdHD-UC,0.01,VCH16 -,,255,151,100,0,0,151=17rdHD-UC,0.01,VCH17 -,,255,152,100,0,0,152=18rdHD-UC,0.01,VCH18 -,,255,153,100,0,0,153=19rdHD-UC,0.01,VCH19 -,,255,154,100,0,0,154=20rdHD-UC,0.01,VCH20 -,,255,155,100,0,0,155=21rdHD-UC,0.01,VCH21 -,,255,156,100,0,0,156=22rdHD-UC,0.01,VCH22 -,,255,157,100,0,0,157=23rdHD-UC,0.01,VCH23 -,,255,158,100,0,0,158=24rdHD-UC,0.01,VCH24 -,,255,159,100,0,0,159=25rdHD-UC,0.01,VCH25 -,,255,160,100,0,0,160=26rdHD-UC,0.01,VCH26 -,,255,161,100,0,0,161=27rdHD-UC,0.01,VCH27 -,,255,162,100,0,0,162=28rdHD-UC,0.01,VCH28 -,,255,163,100,0,0,163=29rdHD-UC,0.01,VCH29 -,,255,164,100,0,0,164=30rdHD-UC,0.01,VCH30 -,,255,165,100,0,0,165=31rdHD-UC,0.01,VCH31 -,,255,166,100,0,0,166=32rdHD-UC,0.01,VCH32 -,,255,167,100,0,0,167=33rdHD-UC,0.01,VCH33 -,,255,168,100,0,0,168=34rdHD-UC,0.01,VCH34 -,,255,169,100,0,0,169=35rdHD-UC,0.01,VCH35 -,,255,170,100,0,0,170=36rdHD-UC,0.01,VCH36 -,,255,171,100,0,0,171=37rdHD-UC,0.01,VCH37 -,,255,172,100,0,0,172=38rdHD-UC,0.01,VCH38 -,,255,173,100,0,0,173=39rdHD-UC,0.01,VCH39 -,,255,174,100,0,0,174=40rdHD-UC,0.01,VCH40 -,,255,175,100,0,0,175=41rdHD-UC,0.01,VCH41 -,,255,176,100,0,0,176=42rdHD-UC,0.01,VCH42 -,,255,177,100,0,0,177=43rdHD-UC,0.01,VCH43 -,,255,178,100,0,0,178=44rdHD-UC,0.01,VCH44 -,,255,179,100,0,0,179=45rdHD-UC,0.01,VCH45 -,,255,180,100,0,0,180=46rdHD-UC,0.01,VCH46 -,,255,181,100,0,0,181=47rdHD-UC,0.01,VCH47 -,,255,182,100,0,0,182=48rdHD-UC,0.01,VCH48 -,,255,183,100,0,0,183=49rdHD-UC,0.01,VCH49 -,,255,184,100,0,0,184=50rdHD-UC,0.01,VCH50 -,,255,185,100,0,0,185=51rdHD-UC,0.01,VCH51 -,,255,186,100,0,0,186=52rdHD-UC,0.01,VCH52 -,,255,187,100,0,0,187=53rdHD-UC,0.01,VCH53 -,,255,188,100,0,0,188=54rdHD-UC,0.01,VCH54 -,,255,189,100,0,0,189=55rdHD-UC,0.01,VCH55 -,,255,190,100,0,0,190=56rdHD-UC,0.01,VCH56 -,,255,191,100,0,0,191=57rdHD-UC,0.01,VCH57 -,,255,192,100,0,0,192=58rdHD-UC,0.01,VCH58 -,,255,193,100,0,0,193=59rdHD-UC,0.01,VCH59 -,,255,194,100,0,0,194=60rdHD-UC,0.01,VCH60 -,,255,195,100,0,0,195=61rdHD-UC,0.01,VCH61 -,,255,196,100,0,0,196=62rdHD-UC,0.01,VCH62 -,,255,197,100,0,0,197=63rdHD-UC,0.01,VCH63 -,,255,198,100,0,0,198=TotalHD-UC,0.01,VCTotH -,,255,199,100,0,0,199=EvenHD-UC,0.01,VCEvenH -,,255,200,100,0,0,200=OddHD-UC,0.01,VCOddH -,,255,201,100,0,0,201=Kfactor-UC,0.01,VCKfac -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/ION8650C-ION.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/ION8650C-ION.CSV deleted file mode 100644 index baf7637..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/ION8650C-ION.CSV +++ /dev/null @@ -1,35 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,65,ION8650C,һCOM1,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,0,22528,100,0,0,Aѹ,0.01,VA -,,0,22529,100,0,0,Bѹ,0.01,VB -,,0,22530,100,0,0,Cѹ,0.01,VC -,,0,22531,100,0,0,ѹƽֵ,0.01,Vavg -,,0,22532,100,0,0,ABѹ,0.01,UAB -,,0,22533,100,0,0,BCѹ,0.01,UBC -,,0,22534,100,0,0,CAѹ,0.01,UCA -,,0,22535,100,0,0,ߵѹƽֵ,0.01,Uavg -,,0,22536,1000,0,0,A,0.001,IA -,,0,22537,1000,0,0,B,0.001,IB -,,0,22538,1000,0,0,C,0.001,IC -,,0,22539,1000,0,0,ƽֵ,0.001,Iavg -,,0,22543,1000,0,0,й,0.001,P -,,0,22547,1000,0,0,޹,0.001,Q -,,0,22551,1000,0,0,ڹ,0.001,S -,,0,22555,1000,0,0,ܵĹ,0.001,PF -,,0,22567,100,0,0,Ƶ,0.01,F -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д, -[Point],YM,0,22704,1000,1,й,0.001,EPd, -,,0,22705,1000,1,й,0.001,EPr, -,,0,22708,1000,1,޹,0.001,EQd, -,,0,22709,1000,1,޹,0.001,EQr, -,,0,24509,1000,1,йȹ,0.001,EPdG, -,,0,24510,1000,1,йȹ,0.001,EPrG, -,,0,24511,1000,1,йȷ,0.001,EPdF, -,,0,24512,1000,1,йȷ,0.001,EPrF, -,,0,24517,1000,1,޹ȹ,0.001,EQdG, -,,0,24518,1000,1,޹ȹ,0.001,EQrG, -,,0,24519,1000,1,޹ȷ,0.001,EQdF, -,,0,24520,1000,1,޹ȷ,0.001,EQrF, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/MC08分合寄存器一块.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/MC08分合寄存器一块.CSV deleted file mode 100644 index a8491b9..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/MC08分合寄存器一块.CSV +++ /dev/null @@ -1,19 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],4,5,1,MC08,MC08,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,200,1,1,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,201,201,4,QA1,64,128,Null,,, -,,201,201,4,QC9,16,32,Null,,, -,,201,201,4,QB2,4,8,Null,,, -,,201,201,4,QB1,1,2,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,200,0,QB1λ,DI1,0,0,0,,, -,,200,1,QB2λ,DI2,0,0,0,,, -,,200,2,ͬʱʧѹ,DI3,0,0,0,,, -,,200,3,ͬʱ,DI4,0,0,0,,, -,,200,4,Iĸ,DI5,0,0,0,,, -,,200,5,IIĸ,DI6,0,0,0,,, -,,200,6,P521װù,DI7,0,0,0,,, -,,200,7,S40װù,DI8,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/MC08分合寄存器分开.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/MC08分合寄存器分开.CSV deleted file mode 100644 index c782bc8..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/MC08分合寄存器分开.CSV +++ /dev/null @@ -1,23 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,MC08,MC08,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,200,1,1,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,201,0,4,QB1բ,1,1,Null,,, -,,201,1,4,QB1բ,2,2,Null,,, -,,201,2,4,QB2բ,4,4,Null,,, -,,201,3,4,QB2բ,8,8,Null,,, -,,201,4,4,QC9բ,16,16,Null,,, -,,201,5,4,QC9բ,32,32,Null,,, -,,201,6,4,QA1բ,64,64,Null,,, -,,201,7,4,QA1բ,128,128,Null,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,200,0,QB1λ,DI1,0,0,0,,, -,,200,1,QB2λ,DI2,0,0,0,,, -,,200,2,ͬʱʧѹ,DI3,0,0,0,,, -,,200,3,ͬʱ,DI4,0,0,0,,, -,,200,4,Iĸ,DI5,0,0,0,,, -,,200,5,IIĸ,DI6,0,0,0,,, -,,200,6,P521װù,DI7,0,0,0,,, -,,200,7,S40װù,DI8,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/MC18.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/MC18.CSV deleted file mode 100644 index dd71c3d..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/MC18.CSV +++ /dev/null @@ -1,24 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],7,7,1,MC18,MC18,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,100,2,1,1000,0,0,100,100,0 -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,100,0,1,DI1,0,0,0,,, -,,100,1,2,DI2,0,0,0,,, -,,100,2,3,DI3,0,0,0,,, -,,100,3,4,DI4,0,0,0,,, -,,100,4,5,DI5,0,0,0,,, -,,100,5,6,DI6,0,0,0,,, -,,100,6,7,DI7,0,0,0,,, -,,100,7,8,DI8,0,0,0,,, -,,100,8,9,DI9,0,0,0,,, -,,100,9,10,DI10,0,0,0,,, -,,100,10,11,DI11,0,0,0,,, -,,100,11,12,DI12,0,0,0,,, -,,100,12,13,DI13,0,0,0,,, -,,100,13,14,DI14,0,0,0,,, -,,100,14,15,DI15,0,0,0,,, -,,100,15,16,DI16,0,0,0,,, -,,101,0,17,DI17,0,0,0,,, -,,101,1,18,DI18,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM1200.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM1200.CSV deleted file mode 100644 index 0c6c115..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM1200.CSV +++ /dev/null @@ -1,27 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,PM1200,PM1200,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,3860,6,32,1000,2,0,33,100,0 -,,3,3902,56,32,1000,2,0,33,100,0 -,,3,3958,16,32,1000,2,2,33,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,3860,10,0,0,Aг,0.1,VAH,, -,,0,3862,10,0,0,Bг,0.1,VBH,, -,,0,3864,10,0,0,Cг,0.1,VCH,, -,,0,3902,0.01,0,0,й,1,P,, -,,0,3904,0.01,0,0,޹,1,Q,, -,,0,3906,1000,0,0,ܹ,0.001,PF,, -,,0,3914,100,0,0,Ƶ,0.01,F,, -,,0,3926,10,0,0,Aѹ,0.1,VA,, -,,0,3928,10,0,0,A,0.1,IA,, -,,0,3940,10,0,0,Bѹ,0.1,VB,, -,,0,3942,10,0,0,B,0.1,IB,, -,,0,3954,10,0,0,Cѹ,0.1,VC,, -,,0,3956,10,0,0,C,0.1,IC,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,3960,0.001,0,й,1,EPd,,, -,,0,3962,0.001,0,޹,1,EQd,,, -,,0,3966,0.001,0,й,1,EPr,,, -,,0,3968,0.001,0,޹,1,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM500.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM500.CSV deleted file mode 100644 index dba4453..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM500.CSV +++ /dev/null @@ -1,26 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,PM500,ʩ͵PM500,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,768,30,32,1000,0,0,100,1000,0 -,,3,856,10,32,1000,2,0,100,1000,0 -,,3,870,2,32,1000,0,0,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,768,1,0,0,A,0.001,IA,, -,,0,770,1,0,0,B,0.001,IB,, -,,0,772,1,0,0,C,0.001,IC,, -,,0,774,1,0,0,,0.001,I0,, -,,0,776,1,0,0,ABߵѹ,0.1,UAB,, -,,0,778,1,0,0,BCߵѹ,0.1,UBC,, -,,0,780,1,0,0,CAߵѹ,0.1,UCA,, -,,0,788,1,0,0,Ƶ,0.01,F,, -,,0,790,1,0,0,й,0.1,P,, -,,0,792,1,0,0,޹,0.1,Q,, -,,0,794,1,0,0,ڹ,0.1,S,, -,,0,870,1,0,0,ܹ,0.001,PF,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ,д,,, -[Point],YM,0,856,1,0,й,1,EPd,,, -,,0,858,1,0,޹,1,EQd,,, -,,0,860,1,0,й,1,EPr,,, -,,0,862,1,0,޹,1,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM5330.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM5330.CSV deleted file mode 100644 index 1edab65..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM5330.CSV +++ /dev/null @@ -1,28 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],4,1,1,PM5330,PM5330,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,3059,10,32,1000,2,0,100,1000,0 -,,3,3205,52,32,1000,1,2,100,1000,0 -,,3,3019,18,32,1000,2,0,100,1000,0 -,,3,2999,12,32,1000,2,0,100,1000,0 -,,3,3083,2,32,1000,2,0,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,2999,10,0,0,A,0.1,IA,, -,,0,3001,10,0,0,B,0.1,IB,, -,,0,3003,10,0,0,C,0.1,IC,, -,,0,3019,1,0,0,ߵѹAB,0.001,UAB,, -,,0,3021,1,0,0,ߵѹBC,0.001,UBC,, -,,0,3023,1,0,0,ߵѹCA,0.001,UCA,, -,,0,3027,1,0,0,ѹA,0.001,VA,, -,,0,3029,1,0,0,ѹB,0.001,VB,, -,,0,3031,1,0,0,ѹC,0.001,VC,, -,,0,3059,100,0,0,й,0.01,P,, -,,0,3067,100,0,0,޹,0.01,Q,, -,,252,3083,100,0,0,,0.01,PF,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,3205,0.001,0,й,1,EPd,,, -,,0,3209,0.001,0,й,1,EPr,,, -,,0,3221,0.001,0,޹,1,EQd,,, -,,0,3225,0.001,0,޹,1,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM5350.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM5350.CSV deleted file mode 100644 index f1e2e8a..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM5350.CSV +++ /dev/null @@ -1,36 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],27,7,1,PM5350,1AH181#ѭ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,3108,2,32,1000,2,0,33,100,0 -,,3,3058,28,32,1000,2,0,33,100,0 -,,3,3203,32,32,1000,0,2,33,30000,0 -,,3,2998,40,32,1000,2,0,33,100,0 -,,3,8904,2,1,1000,0,0,33,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,2998,100,0,0,A,1,IA,, -,,0,3000,100,0,0,B,1,IB,, -,,0,3002,100,0,0,C,1,IC,, -,,0,3004,100,0,0,,1,I0,, -,,0,3018,1,0,0,ABߵѹ,1,UAB,, -,,0,3020,1,0,0,BCߵѹ,1,UBC,, -,,0,3022,1,0,0,ACߵѹ,1,UCA,, -,,0,3026,1,0,0,AѹUa,1,VA,, -,,0,3028,1,0,0,BѹUb,1,VB,, -,,0,3030,1,0,0,CѹUc,1,VC,, -,,0,3058,10,0,0,й,1,P,, -,,0,3066,10,0,0,޹,1,Q,, -,,252,3082,1000,0,0,ܹ,1,PF,, -,,0,3108,100,0,0,Ƶ,1,F,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,5249,0,0,1,1,2,n,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,3203,0.0001,0,й,1,EPd,,, -,,0,3207,0.0001,0,й,1,EPr,,, -,,0,3219,0.0001,0,޹,1,EQd,,, -,,0,3223,0.0001,0,޹,1,EQr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,8904,0,ӵص,ESPos,0,0,0,,, -,,8904,1,ֳλ,RkdIn,0,0,0,,, -,,8904,2,·λ,PosOn,0,0,0,,, -,,8904,3,4,DI4,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM750.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM750.CSV deleted file mode 100644 index 5f31845..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM750.CSV +++ /dev/null @@ -1,34 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],2,5,1,PM750,PM750,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,3999,6,32,1000,0,0,37,100,0 -,,3,4005,36,16,1000,0,0,37,100,0 -,,3,4104,4,16,1000,1,0,37,100,0 -,,3,4115,1,1,1000,0,0,100,100,1 -,,3,4114,1,1,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,3999,1,0,0,й,1,EP,, -,,0,4001,1,0,0,ܵ,1,E,, -,,0,4003,1,0,0,޹,1,EQ,, -,,0,4005,1,0,0,й,1,P,, -,,0,4006,1,0,0,ڹ,1,S,, -,,0,4007,1,0,0,޹,1,Q,, -,,0,4008,1,0,0,,1,PF,, -,,0,4012,1,0,0,Ƶ,1,F,, -,,0,4019,1,0,0,IA,1,IA,, -,,0,4020,1,0,0,IB,1,IB,, -,,0,4021,1,0,0,IC,1,IC,, -,,0,4029,1,0,0,UAB,1,UAB,, -,,0,4030,1,0,0,UBC,1,UBC,, -,,0,4031,1,0,0,UCA,1,UCA,, -,,0,4032,1,0,0,UA,1,VA,, -,,0,4033,1,0,0,UB,1,VB,, -,,0,4034,1,0,0,UC,1,VC,, -,,0,4104,1,0,0,ϵ,1,Ico,, -,,0,4105,1,0,0,ѹϵ,1,Uco,, -,,0,4106,1,0,0,ϵ,1,Pco,, -,,0,4107,1,0,0,ϵ,1,Eco,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,4114,0,·λ,PosOn,0,0,0,,, -,,4115,0,Զ,DI2,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM800.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM800.CSV deleted file mode 100644 index 6f1a641..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM800.CSV +++ /dev/null @@ -1,33 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,PM850,PM850,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1699,24,16,1000,0,2,26,300000,0 -,,3,1099,3,16,1000,0,0,26,100,0 -,,3,1142,9,16,1000,1,0,26,100,0 -,,3,1162,2,16,1000,0,0,26,100,0 -,,3,1119,9,16,1000,0,0,26,100,0 -,,3,1179,1,16,1000,1,0,26,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,1099,1,0,0,A,0.01,IA,, -,,0,1100,1,0,0,B,0.01,IB,, -,,0,1101,1,0,0,C,0.01,IC,, -,,0,1119,1,0,0,ABѹ,0.01,UAB,, -,,0,1120,1,0,0,BCѹ,0.01,UBC,, -,,0,1121,1,0,0,CAѹ,0.01,UCA,, -,,0,1123,1,0,0,Aѹ,0.01,VAB,, -,,0,1124,1,0,0,Bѹ,0.01,VBC,, -,,0,1125,1,0,0,Cѹ,0.01,VCA,, -,,0,1142,1,0,0,й,0.01,P,, -,,0,1146,1,0,0,޹,0.01,Q,, -,,0,1150,1,0,0,ڹ,0.01,S,, -,,0,1162,1,0,0,ܵĹ,0.01,PF,, -,,0,1179,1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,4,1699,1,0,йܵ,0.001,EPd,,, -,,4,1703,1,0,޹ܵ,0.001,EQd,,, -,,4,1707,1,0,йܵ,0.001,EPr,,, -,,4,1711,1,0,޹ܵ,0.001,EQr,,, -,,4,1715,1,0,й,0.001,EP,,, -,,4,1719,1,0,޹,0.001,EQ,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM810+IO26.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM810+IO26.CSV deleted file mode 100644 index b51b0a3..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM810+IO26.CSV +++ /dev/null @@ -1,43 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,13,1,PM810,PM810,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1699,24,16,1000,0,2,26,300000,0 -,,3,1099,52,16,1000,1,0,26,100,0 -,,3,4000,8,1,1000,0,0,26,100,1 -,,3,1162,2,16,1000,0,0,26,100,0 -,,3,1179,1,16,1000,0,0,26,100,0 -,,3,3999,2,1,1000,0,0,26,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,1099,1,0,0,A,1,IA,, -,,0,1100,1,0,0,B,1,IB,, -,,0,1101,1,0,0,C,1,IC,, -,,0,1119,1,0,0,ABѹ,1,UAB,, -,,0,1120,1,0,0,BCѹ,1,UBC,, -,,0,1121,1,0,0,CAѹ,1,UCA,, -,,0,1123,1,0,0,Aѹ,1,VA,, -,,0,1124,1,0,0,Bѹ,1,VB,, -,,0,1125,1,0,0,Cѹ,1,VC,, -,,0,1142,1,0,0,й,1,P,, -,,0,1146,1,0,0,޹,1,Q,, -,,0,1150,1,0,0,ڹ,1,S,, -,,0,1162,1,0,0,ܵĹ,0.001,PF,, -,,0,1179,1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,4,3,1,n,0,0,n,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,4,1699,1,0,йܵ,0.001,EPd,,, -,,4,1703,1,0,޹ܵ,0.001,EQd,,, -,,4,1707,1,0,йܵ,0.001,EPr,,, -,,4,1711,1,0,޹ܵ,0.001,EQr,,, -,,4,1715,1,0,й,0.001,EP,,, -,,4,1719,1,0,޹,0.001,EQ,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,4000,0,,DI1,0,0,0,,, -,,4000,1,,DI2,0,0,0,,, -,,4000,2,·λ,PosOn,0,0,0,,, -,,4000,3,Զ,DI4,0,0,0,,, -,,4000,4,Զ,DI5,0,0,0,,, -,,4000,5,Զ,DI6,0,0,0,,, -,,4000,6,Զ,DI7,0,0,0,,, -,,4000,7,Զ,DI8,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM850.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM850.CSV deleted file mode 100644 index 15be0f8..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM850.CSV +++ /dev/null @@ -1,33 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,PM850,PM850,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1699,24,16,1000,0,2,26,300000,0 -,,3,1099,3,16,1000,0,0,26,100,0 -,,3,1142,9,16,1000,1,0,26,100,0 -,,3,1162,2,16,1000,0,0,26,100,0 -,,3,1119,9,16,1000,0,0,26,100,0 -,,3,1179,1,16,1000,1,0,26,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,1099,1,0,0,A,0.01,IA,, -,,0,1100,1,0,0,B,0.01,IB,, -,,0,1101,1,0,0,C,0.01,IC,, -,,0,1119,1,0,0,ABѹ,0.01,UAB,, -,,0,1120,1,0,0,BCѹ,0.01,UBC,, -,,0,1121,1,0,0,CAѹ,0.01,UCA,, -,,0,1123,1,0,0,Aѹ,0.01,VA,, -,,0,1124,1,0,0,Bѹ,0.01,VB,, -,,0,1125,1,0,0,Cѹ,0.01,VC,, -,,0,1142,1,0,0,й,0.01,P,, -,,0,1146,1,0,0,޹,0.01,Q,, -,,0,1150,1,0,0,ڹ,0.01,S,, -,,0,1162,1,0,0,ܵĹ,0.01,PF,, -,,0,1179,1,0,0,Ƶ,0.01,F,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,4,1699,1,0,йܵ,0.001,EPd,,, -,,4,1703,1,0,޹ܵ,0.001,EQd,,, -,,4,1707,1,0,йܵ,0.001,EPr,,, -,,4,1711,1,0,޹ܵ,0.001,EQr,,, -,,4,1715,1,0,й,0.001,EP,,, -,,4,1719,1,0,޹,0.001,EQ,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM9C.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM9C.CSV deleted file mode 100644 index d51fade..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/PM9C.CSV +++ /dev/null @@ -1,20 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],14,13,1,PM9C,PM9C,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1000,38,32,2000,1,0,100,600,0 -,,3,1038,6,32,2000,0,2,100,30000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,1000,1,0,0,A,0.1,IA,, -,,0,1002,1,0,0,B,0.1,IB,, -,,0,1004,1,0,0,C,0.1,IC,, -,,0,1008,0.01,0,0,UAB,0.1,UAB,, -,,0,1010,0.01,0,0,UBC,0.1,UBC,, -,,0,1012,0.01,0,0,UCA,0.1,UCA,, -,,0,1022,1,0,0,й,0.01,P,, -,,0,1024,1,0,0,޹,0.01,Q,, -,,0,1028,1,0,0,,0.01,PF,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,1038,1,51716,й,1,EP,,, -,,0,1040,1,6695,޹,1,EQ,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/施耐德仪表/pm210.CSV b/PSCADA/电子行业模板/common/device_model/施耐德仪表/pm210.CSV deleted file mode 100644 index 1f3482f..0000000 --- a/PSCADA/电子行业模板/common/device_model/施耐德仪表/pm210.CSV +++ /dev/null @@ -1,28 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,pm210 ,n,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,3999,6,32,1000,0,0,37,100,0 -,,3,4005,26,16,1000,0,0,37,100,0 -,,3,4104,4,16,1000,1,0,37,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,3999,1,0,0,1,1,EP1,, -,,0,4001,1,0,0,2,1,EP2,, -,,0,4003,1,0,0,3,1,EP3,, -,,0,4005,1,0,0,й,1,P,, -,,0,4006,1,0,0,ڹ,1,Q,, -,,0,4007,1,0,0,޹,1,S,, -,,0,4008,1,0,0,,1,PF,, -,,0,4012,1,0,0,Ƶ,1,F,, -,,0,4019,1,0,0,IA,1,IA,, -,,0,4020,1,0,0,IB,1,IB,, -,,0,4021,1,0,0,IC,1,IC,, -,,0,4029,1,0,0,UAB,1,UAB,, -,,0,4030,1,0,0,UBC,1,UBC,, -,,0,4031,1,0,0,UCA,1,UCA,, -,,0,4032,1,0,0,UA,1,VA,, -,,0,4033,1,0,0,UB,1,VB,, -,,0,4034,1,0,0,UC,1,VC,, -,,0,4104,1,0,0,ϵ,1,Ico,, -,,0,4105,1,0,0,ѹϵ,1,Uco,, -,,0,4106,1,0,0,ϵ,1,Pco,, -,,0,4107,1,0,0,ϵ,1,Eco,, diff --git a/PSCADA/电子行业模板/common/device_model/无功补偿-RVT.CSV b/PSCADA/电子行业模板/common/device_model/无功补偿-RVT.CSV deleted file mode 100644 index cd7d919..0000000 --- a/PSCADA/电子行业模板/common/device_model/无功补偿-RVT.CSV +++ /dev/null @@ -1,23 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],3,7,1,RVT,޹,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,36,32,1000,0,0,100,100,0 -,,4,0,4,16,1000,1,0,100,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,ѹ,0.1,U,, -,,0,4,1,0,0,Ƶ,0.1,F,, -,,0,8,1,0,0,,0.1,I,, -,,0,20,1,0,0,,0.1,PF,, -,,0,22,1,0,0,й,0.1,P,, -,,0,24,1,0,0,޹,0.1,Q,, -,,0,26,1,0,0,ڹ,0.1,S,, -,,0,32,1,0,0,¶1,0.1,TP1,, -,,0,34,1,0,0,¶2,0.1,TP2,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,300,0,޹,UQ,0,0,0,,, -,,301,1,¶ȴ,TSenFlt,0,0,0,,, -,,302,2,ѹ,OV,0,0,0,,, -,,303,3,ڲ¶ȹ,InsOT,0,0,0,,, -,,304,4,¶1,HTA1,0,0,0,,, -,,305,5,¶2,HTA2,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/无功补偿-SWCP.CSV b/PSCADA/电子行业模板/common/device_model/无功补偿-SWCP.CSV deleted file mode 100644 index 21fb280..0000000 --- a/PSCADA/电子行业模板/common/device_model/无功补偿-SWCP.CSV +++ /dev/null @@ -1,11 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,9,1,SWCP,1#޹װ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,0,4,16,1000,0,0,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,Aѹ,1,VA,, -,,0,1,1,0,0,Bѹ,1,VB,, -,,0,2,1,0,0,Cѹ,1,VC,, -,,0,3,1,0,0,ѹ,1,V0,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/档位控制器CZK100b.CSV b/PSCADA/电子行业模板/common/device_model/档位控制器CZK100b.CSV deleted file mode 100644 index 080737d..0000000 --- a/PSCADA/电子行业模板/common/device_model/档位控制器CZK100b.CSV +++ /dev/null @@ -1,9 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,79,GKLK,λ,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,0,2049,32767,0,0,n,1,n -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,1,513,0,λ,0,10,n, -,,1,513,0,λ,0,9,n, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/档位控制器HMK78.CSV b/PSCADA/电子行业模板/common/device_model/档位控制器HMK78.CSV deleted file mode 100644 index cce1959..0000000 --- a/PSCADA/电子行业模板/common/device_model/档位控制器HMK78.CSV +++ /dev/null @@ -1,10 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,97,HMK8,2#ѹ൵λ,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,0,5,1,0,0,λֵ,1,Gear -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2, -[Point],YK,1,1,0,λ,0,0,n, -,,2,2,0,λͣ,0,0,n, -,,4,4,0,λ,0,0,n, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/派诺720仪表.CSV b/PSCADA/电子行业模板/common/device_model/派诺720仪表.CSV deleted file mode 100644 index c07e731..0000000 --- a/PSCADA/电子行业模板/common/device_model/派诺720仪表.CSV +++ /dev/null @@ -1,27 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],28,9,1,ŵ720,28#3ŷ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,41,2,16,1000,1,0,33,100,1 -,,3,46,14,32,1000,0,2,33,300000,0 -,,3,20,10,32,1000,1,0,33,100,1 -,,3,4,8,16,1000,0,0,33,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,4,1,0,0,Uab,1,UAB,, -,,0,5,1,0,0,Ubc,1,UBC,, -,,0,6,1,0,0,Uca,1,UCA,, -,,0,9,1,0,0,Ia,1,IA,, -,,0,10,1,0,0,Ib,1,IB,, -,,0,11,1,0,0,Ic,1,IC,, -,,0,20,1,0,0,P,1,P,, -,,0,28,1,0,0,Q,1,Q,, -,,0,41,1,0,0,COS,1,PF,, -,,0,42,1,0,0,F,1,F,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,46,1,0,й,0.1,EPd,,, -,,0,48,1,0,й,0.1,EPr,,, -,,0,50,1,0,йȺ,0.1,EP,,, -,,0,54,1,0,޹,0.1,EQd,,, -,,0,56,1,0,޹,0.1,EQr,,, -,,0,58,1,0,޹Ⱥ,0.1,EQ,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/派诺PMAC802.CSV b/PSCADA/电子行业模板/common/device_model/派诺PMAC802.CSV deleted file mode 100644 index 156cc6d..0000000 --- a/PSCADA/电子行业模板/common/device_model/派诺PMAC802.CSV +++ /dev/null @@ -1,85 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,PMAC802 ,麣ŵDZ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,2,32,1000,0,0,33,5000,0 -,,3,1,10,1,1000,0,0,33,2000,1 -,,3,12,5,16,1000,0,0,33,5000,0 -,,3,23,4,16,1000,0,0,33,5000,0 -,,3,27,3,16,1000,2,0,33,5000,0 -,,3,17,1,1,1000,0,0,33,2000,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,綯ǰʱ䣨λ룩,1,Trun,, -,,0,12,1,0,0,A,0.1,IA,, -,,0,13,1,0,0,B,0.1,IB,, -,,0,14,1,0,0,C,0.1,IC,, -,,0,15,1,0,0,ӵػ©,0.1,Ilk,, -,,0,16,1,0,0,ƽ޿,0.1,I2,, -,,0,23,1,0,0,ABߵѹ,0.1,UAB,, -,,0,24,1,0,0,BCߵѹ,0.1,UBC,, -,,0,25,1,0,0,CAߵѹ,0.1,UCA,, -,,0,26,1,0,0,Ƶ,0.1,F,, -,,0,27,1,0,0,,0.001,PF,, -,,0,28,1,0,0,й,0.1,P,, -,,0,27,1,0,0,޹,0.1,Q,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,2,0,綯ڱģʽ,RunProt,0,0,65535,,, -,,2,1,綯ֱģʽ,RunDirSt,0,0,65535,,, -,,3,0,綯Ȩ-ʾЧDIЧ,CtrlValidDI,0,0,65535,,, -,,3,1,綯Ȩ-ʾЧDIЧ,CtrlunValidDI,0,0,65535,,, -,,3,2,綯Ȩ-ԶͨѶ,CtrlRemcomm,0,0,65535,,, -,,4,0,綯״̬-,RunReady,0,0,65535,,, -,,4,1,綯״̬-,RunStart,0,0,65535,,, -,,4,2,綯״̬-,Run,0,0,65535,,, -,,4,3,綯״̬-ȴ,RunCooling,0,0,65535,,, -,,4,4,綯״̬-ͣ,RunStop,0,0,65535,,, -,,5,0,綯Ϣ-ʱ,ArmExSt,0,0,65535,,, -,,5,1,綯Ϣ-,ArmOL,0,0,65535,,, -,,5,2,綯Ϣ-ת,ArmExLocked,0,0,65535,,, -,,5,3,綯Ϣ-ȱ,ArmPhLose,0,0,65535,,, -,,5,4,綯Ϣ-ƽ,ArmUnb,0,0,65535,,, -,,5,5,綯Ϣ-ӵ©,ArmILk,0,0,65535,,, -,,5,6,綯Ϣ-·,ArmShort,0,0,65535,,, -,,5,7,綯Ϣ-Ƿ,ArmUload,0,0,65535,,, -,,5,9,綯Ϣ-ѹ,ArmOV,0,0,65535,,, -,,5,10,綯Ϣ-Ƿѹ,ArmUV,0,0,65535,,, -,,5,13,綯Ϣ-tEʱ䱣,ArmtE,0,0,65535,,, -,,5,16,綯Ϣ-ⲿ,ArmExFlt,0,0,65535,,, -,,7,0,綯Ϣ-ʱ,ProtExSt,0,0,65535,,, -,,7,1,綯Ϣ-,ProtOLoad,0,0,65535,,, -,,7,2,綯Ϣ-ת,ProtExLocked,0,0,65535,,, -,,7,3,綯Ϣ-ȱ,ProtPhLose,0,0,65535,,, -,,7,4,綯Ϣ-ƽ,ProtUnb,0,0,65535,,, -,,7,5,綯Ϣ-ӵ©,ProtILk,0,0,65535,,, -,,7,6,綯Ϣ-·,ProtShort,0,0,65535,,, -,,7,7,綯Ϣ-Ƿ,ProtULoad,0,0,65535,,, -,,7,9,綯Ϣ-ѹ,ProtOV,0,0,65535,,, -,,7,10,綯Ϣ-Ƿѹ,ProtUV,0,0,65535,,, -,,7,13,綯Ϣ-tEʱ䱣,ProttE,0,0,65535,,, -,,7,16,綯Ϣ-ⲿ,ProtExFlt,0,0,65535,,, -,,9,0,綯ͣԭ-ʾ,StopDis,0,0,65535,,, -,,9,1,綯ͣԭ-I/O,StopIO,0,0,65535,,, -,,9,2,綯ͣԭ-ԶͨѶ,StopRemcomm,0,0,65535,,, -,,9,3,綯ͣԭ-ʱ,StopExSt,0,0,65535,,, -,,9,4,綯ͣԭ-,StopOLoad,0,0,65535,,, -,,9,5,綯ͣԭ-ת,StopExLocked,0,0,65535,,, -,,9,6,綯ͣԭ-ȱ,StopPhLose,0,0,65535,,, -,,9,7,綯ͣԭ-ƽ޿,StopUnb,0,0,65535,,, -,,9,8,綯ͣԭ-ӵ©,StopILk,0,0,65535,,, -,,9,9,綯ͣԭ-·,StopShort,0,0,65535,,, -,,9,10,綯ͣԭ-Ƿ,StopULoad,0,0,65535,,, -,,9,12,綯ͣԭ-ѹ,StopOV,0,0,65535,,, -,,9,13,綯ͣԭ-Ƿѹ,StopUV,0,0,65535,,, -,,9,16,綯ͣԭ-tEʱ䱣,StoptE,0,0,65535,,, -,,9,19,綯ͣԭ-ⲿ,StopExFlt,0,0,65535,,, -,,9,20,綯ͣԭ-ⲿͣ,StopRExOper,0,0,65535,,, -,,9,21,綯ͣԭ-ʧͣ,StopELose,0,0,65535,,, -,,9,22,綯ͣԭ-ͣ,StopEmLose,0,0,65535,,, -,,10,1,綯Ϣ-ͣ,DiagEmLose,0,0,65535,,, -,,10,2,綯Ϣ-ʧͣ,DiagElose,0,0,65535,,, -,,11,1,װϢ-flash,DiagFlashErr,0,0,65535,,, -,,17,0,DI1,DI1,0,0,0,,, -,,17,1,DI2,DI2,0,0,0,,, -,,17,2,DI3,DI3,0,0,0,,, -,,17,3,DI4,DI4,0,0,0,,, -,,17,4,DI5,DI5,0,0,0,,, -,,65535,65535,tͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/派诺仪表.CSV b/PSCADA/电子行业模板/common/device_model/派诺仪表.CSV deleted file mode 100644 index aea4492..0000000 --- a/PSCADA/电子行业模板/common/device_model/派诺仪表.CSV +++ /dev/null @@ -1,18 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,13,1,DY,ŵ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,901,1,1,1000,0,0,100,100,1 -,,3,14,20,16,1000,0,0,100,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,14,1,0,0,UAB,1,UAB,, -,,0,15,1,0,0,UBC,1,UBC,, -,,0,16,1,0,0,UCA,1,UCA,, -,,0,19,1,0,0,IA,1,IA,, -,,0,20,1,0,0,IB,1,IB,, -,,0,21,1,0,0,IC,1,IC,, -,,0,25,1,0,0,P,1,P,, -,,0,29,1,0,0,Q,1,Q,, -,,0,33,1,0,0,PF,0.001,PF,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,901,0,غλ,PosOn,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/温控器-BWD-3K130A.CSV b/PSCADA/电子行业模板/common/device_model/温控器-BWD-3K130A.CSV deleted file mode 100644 index d0a41fd..0000000 --- a/PSCADA/电子行业模板/common/device_model/温控器-BWD-3K130A.CSV +++ /dev/null @@ -1,18 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,BWD-3K130A¿,1#,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,16,1,1000,0,0,2,100,1 -,,3,1,4,16,1000,0,0,2,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,1,1,-35,0,A¶,1,TPA,, -,,0,2,1,-35,0,B¶,1,TPB,, -,,0,3,1,-35,0,C¶,1,TPC,, -,,0,4,1,0,0,ʱʱ,1,DTFanSt,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#2,,, -[Point],YX,0,0,Aഫ,SenPA,0,0,0,,, -,,0,1,Bഫ,SenPB,0,0,0,,, -,,0,2,Cഫ,SenPC,0,0,0,,, -,,0,3,,FanSt,0,0,0,,, -,,0,4,,HTA,0,0,0,,, -,,0,5,բ,OTT,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/温控器-BWDK.CSV b/PSCADA/电子行业模板/common/device_model/温控器-BWDK.CSV deleted file mode 100644 index fa3f08d..0000000 --- a/PSCADA/电子行业模板/common/device_model/温控器-BWDK.CSV +++ /dev/null @@ -1,16 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],3,7,1,BWDK,¿,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,1,0,4,1,1000,0,0,100,100,1 -,,4,0,4,16,1000,1,0,100,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,-40,A¶,0.1,TPA,, -,,0,1,1,0,-40,B¶,0.1,TPB,, -,,0,2,1,0,-40,C¶,0.1,TPC,, -,,0,3,1,0,-40,о¶,0.1,TPCore,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,0,,SenFlt,0,0,0,,, -,,0,1,/,FanCT,0,0,0,,, -,,0,2,¶ȱ,HTA,0,0,0,,, -,,0,3,¶բ,OTT,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/温控器-力得.CSV b/PSCADA/电子行业模板/common/device_model/温控器-力得.CSV deleted file mode 100644 index 2b3e7ed..0000000 --- a/PSCADA/电子行业模板/common/device_model/温控器-力得.CSV +++ /dev/null @@ -1,32 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,76,ldwk ,ñѹ¿,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,4,16,1000,0,0,100,100,1 -,,4,0,1,16,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,A¶,0.1,TPA,, -,,0,1,1,0,0,B¶,0.1,TPB,, -,,0,2,1,0,0,C¶,0.1,TPC,, -,,0,3,1,0,0,D¶,0.1,TPD,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,0,״̬,FanCTSts,0,0,0,,, -,,0,1,բ״̬,OTT,0,0,0,,, -,,0,2,±״̬,HTA,0,0,0,,, -,,0,3,ϱ״̬,FltA,0,0,0,,, -,,1,112,A¶Ȳɼ·,TPAOC,0,0,0,,, -,,1,96,A¶ȳ,TPAUI,0,0,0,,, -,,1,128,A¶ȳ,TPALI,0,0,0,,, -,,1,80,A¶Ȳɼ,TPAFlt,0,0,0,,, -,,2,112,B¶Ȳɼ·,TPBOC,0,0,0,,, -,,2,96,B¶ȳ,TPBUI,0,0,0,,, -,,2,128,B¶ȳ,TPBLI,0,0,0,,, -,,2,80,B¶Ȳɼ,TPBFlt,0,0,0,,, -,,3,112,C¶Ȳɼ·,TPCOC,0,0,0,,, -,,3,96,C¶ȳ,TPCUI,0,0,0,,, -,,3,128,C¶ȳ,TPCLI,0,0,0,,, -,,3,80,C¶Ȳɼ,TPCFlt,0,0,0,,, -,,4,112,D¶Ȳɼ·,TPDOC,0,0,0,,, -,,4,96,D¶ȳ,TPDUI,0,0,0,,, -,,4,128,D¶ȳ,TPDLI,0,0,0,,, -,,4,80,D¶Ȳɼ,TPDFlt,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/温控器-珠海一多ETJ.CSV b/PSCADA/电子行业模板/common/device_model/温控器-珠海一多ETJ.CSV deleted file mode 100644 index 0796388..0000000 --- a/PSCADA/电子行业模板/common/device_model/温控器-珠海一多ETJ.CSV +++ /dev/null @@ -1,34 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,ETJ,麣һETJ¿DZ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,1,10,16,1000,0,0,52,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,1,1,1,0,2,1µA¶,1,TP1A,, -,,1,2,1,0,3,1µB¶,1,TP1B,, -,,1,3,1,0,4,1µC¶,1,TP1C,, -,,2,1,1,0,5,2µA¶,1,TP2A,, -,,2,2,1,0,6,2µB¶,1,TP2B,, -,,2,3,1,0,7,2µC¶,1,TP2C,, -,,3,1,1,0,8,3µA¶,1,TP3A,, -,,3,2,1,0,9,3µB¶,1,TP3B,, -,,3,3,1,0,10,3µC¶,1,TP3C,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,1,1,1µAδɼ¶,TP1AF,0,0,254,,, -,,1,1,1µAصѹ,TP1AUVBat,0,0,252,,, -,,1,2,1µBδɼ¶,TP1BF,0,0,254,,, -,,1,2,1µBصѹ,TP1BUVBat,0,0,252,,, -,,1,3,1µCδɼ¶,TP1CF,0,0,254,,, -,,1,3,1µCصѹ,TP1CUVBat,0,0,252,,, -,,2,1,2µAδɼ¶,TP2AF,0,0,254,,, -,,2,1,2µAصѹ,TP2AUVBat,0,0,252,,, -,,2,2,2µBδɼ¶,TP2BF,0,0,254,,, -,,2,2,2µBصѹ,TP2BUVBat,0,0,252,,, -,,2,3,2µCδɼ¶,TP2CF,0,0,254,,, -,,2,3,2µCصѹ,TP2CUVBat,0,0,252,,, -,,3,1,3µAδɼ¶,TP3AF,0,0,254,,, -,,3,1,3µAصѹ,TP3AUVBat,0,0,252,,, -,,3,2,3µBδɼ¶,TP3BF,0,0,254,,, -,,3,2,3µBصѹ,TP3BUVBat,0,0,252,,, -,,3,3,3µCδɼ¶,TP3CF,0,0,254,,, -,,3,3,3µCصѹ,TP3CUVBat,0,0,252,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/珠海施诺S310点表模板.CSV b/PSCADA/电子行业模板/common/device_model/珠海施诺S310点表模板.CSV deleted file mode 100644 index b5410b8..0000000 --- a/PSCADA/电子行业模板/common/device_model/珠海施诺S310点表模板.CSV +++ /dev/null @@ -1,75 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,麣˹ŵS310,1#߱,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,256,2,1,1000,0,0,43,1000,0 -,,3,264,33,16,1000,1,0,43,1000,0 -,,3,384,16,32,1000,1,2,43,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,264,1,0,0,A,0.1,IA,, -,,0,265,1,0,0,B,0.1,IB,, -,,0,266,1,0,0,C,0.1,IC,, -,,0,267,1,0,0,Aѹ,10,VA,, -,,0,268,1,0,0,Bѹ,10,VB,, -,,0,269,1,0,0,Cѹ,10,VC,, -,,0,270,1,0,0,ABߵѹ,10,UAB,, -,,0,271,1,0,0,BCߵѹ,10,UBC,, -,,0,272,1,0,0,ACߵѹ,10,UCA,, -,,0,282,1,0,0,й,1,P,, -,,0,283,1,0,0,޹,1,Q,, -,,0,284,1,0,0,ڹ,1,S,, -,,0,285,1,0,0,Ƶ,0.01,F,, -,,0,289,1,0,0,,0.01,PF,, -,,0,290,1,0,0,¶,1,TP,, -[Title],,ܺ,Ϣ,ң,,ңز,Զ#1,Զ#2,,, -[Point],YK,513,514,0,·,0,0,Null,,, -,,515,0,0,,0,0,Null,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,,װϵ ,д,,, -[Point],YM,0,384,1,0,й(һ),0.1,EPd,,, -,,0,386,1,0,޹(һ),0.1,EQd,,, -,,0,388,1,0,й(һ),0.1,Epr,,, -,,0,390,1,0,޹(һ),0.1,Eqr,,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,1,һζ,OC1,0,1,0,,, -,,0,2,ζ,OC2,0,1,0,,, -,,0,3,ζ,OC3,0,1,0,,, -,,0,4,Ķζ,OC4,0,1,0,,, -,,0,5,һζ,EOC1,0,1,0,,, -,,0,6,ζ,EOC2,0,1,0,,, -,,0,7,ζ,EOC3,0,1,0,,, -,,0,8,Ķζ,EOC4,0,1,0,,, -,,0,9,ȹر,ThOA,0,1,0,,, -,,0,10,ȹբ/,ThOT,0,1,0,,, -,,0,11,,UnbOC1,0,1,0,,, -,,0,12,תӶת,ExLocked,0,1,0,,, -,,0,13,𶯳ʱ,ExSt,0,1,0,,, -,,0,14,𶯴,SPHBlk,0,1,0,,, -,,0,15,ض,NLTrp,0,1,0,,, -,,0,16,߹ѹһζ,OV1,0,1,0,,, -,,0,17,߹ѹζ,OV2,0,1,0,,, -,,0,18,͵ѹ,ResUV1,0,1,0,,, -,,0,19,ߵ͵ѹһζ,UV1,0,1,0,,, -,,0,20,ߵ͵ѹζ,UV2,0,1,0,,, -,,0,21,͵ѹһζ,PUV1,0,1,0,,, -,,0,22,͵ѹζ,PUV2,0,1,0,,, -,,0,23,ѹһζ,EOV1,0,1,0,,, -,,0,24,ѹζ,EOV2,0,1,0,,, -,,0,25,Ƶ,OF,0,1,0,,, -,,0,26,Ƶһζ,UF1,0,1,0,,, -,,0,27,Ƶζ,UF2,0,1,0,,, -,,0,28,,Slip,0,1,0,,, -,,0,29,ù/λ쳣,PERAbn,0,1,0,,, -,,0,30,غբɹ,FirReCAct,0,1,0,,, -,,0,31,ʧ,CtrlF,0,1,0,,, -,,256,0,,Fault,0,0,0,,, -,,256,1,,Action,0,0,0,,, -,,256,2,¸,OTT,0,0,0,,, -,,256,3,¼,Event,0,0,0,,, -,,257,0,S1,YXDI1,0,0,0,,, -,,257,1,S2,YXDI2,0,0,0,,, -,,257,2,S3,YXDI3,0,0,0,,, -,,257,3,S4,YXDI4,0,0,0,,, -,,257,4,S5,YXDI5,0,0,0,,, -,,257,5,S6,YXDI6,0,0,0,,, -,,257,6,S7,YXDI7,0,0,0,,, -,,257,7,S8,YXDI8,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/PSM-E10艾默生直流屏.CSV b/PSCADA/电子行业模板/common/device_model/直流屏/PSM-E10艾默生直流屏.CSV deleted file mode 100644 index 6b45519..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/PSM-E10艾默生直流屏.CSV +++ /dev/null @@ -1,126 +0,0 @@ -[Title],豸ַ,¼ɼ,ЭID,豸ͺ,豸,,,, -[Device],1,1,9,PSM-E10,ֱ,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д -[Point],YC,97,10,1,0,0,բĸߵѹ,1,VHM -,,97,11,1,0,0,ĸߵѹ,1,VKM -,,97,12,1,0,0,ܵ,1,Iload -,,194,0,1,0,0,ϵ1ѹ,1,VBat1 -,,194,1,1,0,0,ϵ1,1,IBat1 -,,194,4,1,0,0,UVߵѹ,1,UAB -,,194,5,1,0,0,VWߵѹ,1,UBC -,,194,6,1,0,0,WUߵѹ,1,UCA -,,194,7,1,0,0,ط¶,1,TPBat -,,179,0,1,0,0,1ģѹ,1,CM1OpV -,,179,1,1,0,0,1ģ,1,CM1OpI -,,179,2,1,0,0,1ģ,1,CM1LC -,,179,3,1,0,0,,1,CM1BY -,,179,4,1,0,0,2ģѹ,1,CM2OpV -,,179,5,1,0,0,2ģ,1,CM2OpI -,,179,6,1,0,0,2ģ,1,CM2LC -,,179,7,1,0,0,,1,CM2BY -,,179,8,1,0,0,3ģѹ,1,CM3OpV -,,179,9,1,0,0,3ģ,1,CM3OpI -,,179,10,1,0,0,3ģ,1,CM3LC -,,179,11,1,0,0,,1,CM3BY -,,179,12,1,0,0,4ģѹ,1,CM4OpV -,,179,13,1,0,0,4ģ,1,CM4OpI -,,179,14,1,0,0,4ģ,1,CM4LC -,,179,15,1,0,0,,1,CM4BY -,,179,16,1,0,0,5ģѹ,1,CM5OpV -,,179,17,1,0,0,5ģ,1,CM5OpI -,,179,18,1,0,0,5ģ,1,CM5LC -,,179,19,1,0,0,,1,CM5BY -,,179,20,1,0,0,6ģѹ,1,CM6OpV -,,179,21,1,0,0,6ģ,1,CM6OpI -,,179,22,1,0,0,6ģ,1,CM6LC -,,179,23,1,0,0,,1,CM6BY -,,179,24,1,0,0,7ģѹ,1,CM7OpV -,,179,25,1,0,0,7ģ,1,CM7OpI -,,179,26,1,0,0,7ģ,1,CM7LC -,,179,27,1,0,0,,1,CM7BY -,,179,28,1,0,0,8ģѹ,1,CM8OpV -,,179,29,1,0,0,8ģ,1,CM8OpI -,,179,30,1,0,0,8ģ,1,CM8LC -,,179,31,1,0,0,,1,CM8BY -,,179,32,1,0,0,9ģѹ,1,CM9OpV -,,179,33,1,0,0,9ģ,1,CM9OpI -,,179,34,1,0,0,9ģ,1,CM9LC -,,179,35,1,0,0,,1,CM9BY -,,179,36,1,0,0,10ģѹ,1,CM10OpV -,,179,37,1,0,0,10ģ,1,CM10OpI -,,179,38,1,0,0,10ģ,1,CM10LC -,,179,39,1,0,0,,1,CM10BY -,,179,40,1,0,0,11ģѹ,1,CM11OpV -,,179,41,1,0,0,11ģ,1,CM11OpI -,,179,42,1,0,0,11ģ,1,CM11LC -,,179,43,1,0,0,,1,CM11BY -,,179,44,1,0,0,12ģѹ,1,CM12OpV -,,179,45,1,0,0,12ģ,1,CM12OpI -,,179,46,1,0,0,12ģ,1,CM12LC -,,179,47,1,0,0,,1,CM12BY -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#2, -[Point],YX,240,0,ϵͳƷʽ(0-Զ;1-ֶ),SysCtrlMode,0,0,0, -,,240,1,س״̬(0-;1-),BatChgSts,0,0,0, -,,240,2,,YXBY1,0,0,0, -,,240,3,ֱԵ澯(0-;1-澯),INLFlt,0,0,0, -,,240,4,ص澯(0-;1-澯),SBatArm,0,0,0, -,,240,15,Եǹ(0-;1-),INLMFlt,0,0,0, -,,240,16,ؼ1ͨѶж(0-;1-ж),BatM1comF,0,0,0, -,,240,17,ؼ2ͨѶж(0-;1-ж),BatM2comF,0,0,0, -,,240,18,ؼ3ͨѶж(0-;1-ж),BatM3comF,0,0,0, -,,240,19,ؼ4ͨѶж(0-;1-ж),BatM4comF,0,0,0, -,,240,20,ؼ5ͨѶж(0-;1-ж),BatM5comF,0,0,0, -,,241,2,ѹ(0-;1-澯),OVAC1,0,0,0, -,,241,3,Ƿѹ(0-;1-澯),UVAC1,0,0,0, -,,241,4,ͣ(0-;1-澯),OUTAC1,0,0,0, -,,241,8,տ(0-;1-澯),ACPos,0,0,0, -,,241,9,(0-;1-澯),LPFlt,0,0,0, -,,241,10,ѹ(0-;1-澯),OVBat,0,0,0, -,,241,11,Ƿѹ(0-;1-澯),UVBat,0,0,0, -,,241,12,(0-;1-澯),OCBat,0,0,0, -,,241,13,֧·(0-;1-澯),OUTBat,0,0,0, -,,244,0,ĸ߹ѹ澯(0-;1-澯),OVKM,0,0,0, -,,244,1,ĸǷѹ澯(0-;1-澯),UVKM,0,0,0, -,,244,2,բĸ߹ѹ澯(0-;1-澯),OVHM,0,0,0, -,,244,3,բĸǷѹ澯(0-;1-澯),UVHM,0,0,0, -,,244,4,(0),YXBY2,0,0,0, -,,244,5,֧·ϸ澯(0-;1-澯),BraOUT,0,0,0, -,,247,2,1#ģ鹤(0-;1-澯),CM1Flt,0,0,0, -,,247,3,1#ģͨѶжϸ澯(0-;1-澯),CM1comF,0,0,0, -,,247,6,2#ģ鹤(0-;1-澯),CM2Flt,0,0,0, -,,247,7,2#ģͨѶжϸ澯(0-;1-澯),CM2comF,0,0,0, -,,247,10,3#ģ鹤(0-;1-澯),CM3Flt,0,0,0, -,,247,11,3#ģͨѶжϸ澯(0-;1-澯),CM3comF,0,0,0, -,,247,14,4#ģ鹤(0-;1-澯),CM4Flt,0,0,0, -,,247,15,4#ģͨѶжϸ澯(0-;1-澯),CM4comF,0,0,0, -,,247,18,5#ģ鹤(0-;1-澯),CM5Flt,0,0,0, -,,247,19,5#ģͨѶжϸ澯(0-;1-澯),CM5comF,0,0,0, -,,247,22,6#ģ鹤(0-;1-澯),CM6Flt,0,0,0, -,,247,23,6#ģͨѶжϸ澯(0-;1-澯),CM6comF,0,0,0, -,,247,26,7#ģ鹤(0-;1-澯),CM7Flt,0,0,0, -,,247,27,7#ģͨѶжϸ澯(0-;1-澯),CM7comF,0,0,0, -,,247,30,8#ģ鹤(0-;1-澯),CM8Flt,0,0,0, -,,247,31,8#ģͨѶжϸ澯(0-;1-澯),CM8comF,0,0,0, -,,248,2,9#ģ鹤(0-;1-澯),CM9Flt,0,0,0, -,,248,3,9#ģͨѶжϸ澯(0-;1-澯),CM9comF,0,0,0, -,,248,4,10#ģ鹤(0-;1-澯),CM10Flt,0,0,0, -,,248,5,10#ģͨѶжϸ澯(0-;1-澯),CM10comF,0,0,0, -,,248,10,11#ģ鹤(0-;1-澯),CM11Flt,0,0,0, -,,248,11,11#ģͨѶжϸ澯(0-;1-澯),CM11comF,0,0,0, -,,248,14,12#ģ鹤(0-;1-澯),CM12Flt,0,0,0, -,,248,15,12#ģͨѶжϸ澯(0-;1-澯),CM12comF,0,0,0, -,,248,16,1·տ״̬,Bra1Pos,0,0,0, -,,248,17,2·տ״̬,Bra2Pos,0,0,0, -,,248,18,3·տ״̬,Bra3Pos,0,0,0, -,,248,19,4·տ״̬,Bra4Pos,0,0,0, -,,248,20,5·տ״̬,Bra5Pos,0,0,0, -,,248,21,6·տ״̬,Bra6Pos,0,0,0, -,,248,22,7·տ״̬,Bra7Pos,0,0,0, -,,248,23,8·տ״̬,Bra8Pos,0,0,0, -,,248,24,9·տ״̬,Bra9Pos,0,0,0, -,,248,25,10·տ״̬,Bra10Pos,0,0,0, -,,248,26,11·տ״̬,Bra11Pos,0,0,0, -,,248,27,12·տ״̬,Bra12Pos,0,0,0, -,,248,28,13·տ״̬,Bra13Pos,0,0,0, -,,248,29,14·տ״̬,Bra14Pos,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/PSM艾默生直流屏-CDT.csv b/PSCADA/电子行业模板/common/device_model/直流屏/PSM艾默生直流屏-CDT.csv deleted file mode 100644 index 3a13bcd..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/PSM艾默生直流屏-CDT.csv +++ /dev/null @@ -1,44 +0,0 @@ -[Title],豸ַ,¼ɼ,ЭID,豸ͺ,豸,,,, -[Device],1,1,9,PSM-CDT,ֱ,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д -[Point],YC,97,12,1,0,0,բĸߵѹ,1,VHM -,,97,13,1,0,0,ĸߵѹ,1,VKM -,,97,14,1,0,0,ܵ,1,Iload -,,194,2,1,0,0,11ѹ,1,VBat1 -,,194,3,1,0,0,11,1,IBat1 -,,194,4,1,0,0,12ѹ,1,VBat2 -,,194,5,1,0,0,12,1,IBat2 -,,194,6,1,0,0,1UVߵѹ,1,UAB -,,194,7,1,0,0,1VWߵѹ,1,UBC -,,194,8,1,0,0,1WUߵѹ,1,UCA -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#2, -[Point],YX,240,3,ֱԵ澯,INLFlt,0,0,0, -,,240,4,ص澯,SBatArm,0,0,0, -,,240,5,1ͨѶжϸ澯,CCcomF,0,0,0, -,,240,10,1ͨѶжϸ澯,FCcomF,0,0,0, -,,240,15,Եǹ,INLMFlt,0,0,0, -,,240,16,ؼ1,BatM1comF,0,0,0, -,,241,2,11ѹ,OVAC1,0,0,0, -,,241,3,11Ƿѹ,UVAC1,0,0,0, -,,241,4,11ͣ,OUTAC1,0,0,0, -,,241,5,12ѹ,OVAC2,0,0,0, -,,241,6,12Ƿѹ,UVAC2,0,0,0, -,,241,7,12ͣ,OUTAC2,0,0,0, -,,241,8,1տ,AC1Pos,0,0,0, -,,241,9,1,LPFlt,0,0,0, -,,241,10,1ѹ,OVBat1,0,0,0, -,,241,11,1Ƿѹ,UVBat1,0,0,0, -,,241,12,1,OCBat1,0,0,0, -,,241,13,1֧·,BatBraOUT,0,0,0, -,,241,14,1¹,HT,0,0,0, -,,244,0,1ĸ߹ѹ澯,OVKM,0,0,0, -,,244,1,1ĸǷѹ澯,UVKM,0,0,0, -,,244,2,1բĸ߹ѹ澯,OVHM,0,0,0, -,,244,3,1բĸǷѹ澯,UVHM,0,0,0, -,,244,4,1ѹԪϸ澯,UnitFlt,0,0,0, -,,244,5,1֧·ϸ澯,BraOUT,0,0,0, -,,247,0,1#ģ鿪ػ״̬,CMSts,0,0,0, -,,247,1,1#ģƷʽ,CMCtrlMode,0,0,0, -,,247,2,1#ģ鹤,CMFlt,0,0,0, -,,247,3,1#ģͨѶжϸ澯,CMcomF,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/ZYFS直流屏.CSV b/PSCADA/电子行业模板/common/device_model/直流屏/ZYFS直流屏.CSV deleted file mode 100644 index b8df300..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/ZYFS直流屏.CSV +++ /dev/null @@ -1,43 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,9,1,ZYFS,ֱ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,2,0,120,1,1000,0,0,100,3000,0 -,,3,0,140,16,1000,1,0,100,100,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,һ·Uab,1,MUab,, -,,0,1,1,0,0,һ·Ubc,1,MUbc,, -,,0,2,1,0,0,һ·Uca,1,MUca,, -,,0,3,1,0,0,·Uab,1,SUab,, -,,0,4,1,0,0,·Ubc,1,SUbc,, -,,0,5,1,0,0,·Uca,1,SUca,, -,,0,6,1,0,0,,0.1,IAC,, -,,0,7,1,0,0,ĸѹ,0.1,VHM,, -,,0,8,1,0,0,ĸѹ,0.1,VKM,, -,,0,9,1,0,0,ĸԵصѹ,0.1,V1KM,, -,,0,10,1,0,0,ĸ,0.1,IKM,, -,,0,11,1,0,0,صѹ,0.1,VBat,, -,,0,12,1,0,0,ص,0.1,IBat,, -,,0,13,1,0,0,¶,0.1,TPAmb,, -,,0,14,1,0,0,1,0.1,YCBY1,, -,,0,15,1,0,0,2,0.1,YCBY2,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,0,1·ͣ,AC1Elose,0,0,0,,, -,,0,1,1·ѹ,UVAC1,0,0,0,,, -,,0,2,1·ѹ,OVAC1,0,0,0,,, -,,0,3,2·ͣ,AC2Elose,0,0,0,,, -,,0,4,2·ѹ,UVAC2,0,0,0,,, -,,0,5,2·ѹ,OVAC2,0,0,0,,, -,,0,6,طբ,ACPos,0,0,0,,, -,,0,7,׹,LPFlt,0,0,0,,, -,,0,8,ĸѹ,UVHM,0,0,0,,, -,,0,9,ĸѹ,OVHM,0,0,0,,, -,,0,12,ĸѹ,UVKM,0,0,0,,, -,,0,13,ĸѹ,OVKM,0,0,0,,, -,,0,96,ؿطբ,BatPos,0,0,0,,, -,,0,97,۶,BatFus,0,0,0,,, -,,0,104,ѹ,UVBat,0,0,0,,, -,,0,105,ѹ,OVBat,0,0,0,,, -,,0,106,س,OCBat,0,0,0,,, -,,0,107,1زѹ,Bat1Flt,0,0,0,,, -,,0,111,2زѹ,Bat2Flt,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/北京申电直流屏点表模板.csv b/PSCADA/电子行业模板/common/device_model/直流屏/北京申电直流屏点表模板.csv deleted file mode 100644 index 24ca560..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/北京申电直流屏点表模板.csv +++ /dev/null @@ -1,41 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,9,1,,ֱ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,20,16,1000,0,0,100,100,0 -,,3,241,1,1,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,1#ѹ,0.1,VBat1,, -,,0,1,1,0,0,ĸߵѹ,0.1,VKM,, -,,0,2,1,0,0,2#ѹ,0.1,VBat2,, -,,0,3,1,0,0,,0.1,Ibat,, -,,0,4,1,0,0,ĸߵ,0.1,IKM,, -,,0,5,1,0,0,¶,0.1,TPBat,, -,,0,6,1,0,0,ABѹ,0.1,MUab,, -,,0,7,1,0,0,ACѹ,0.1,MUbc,, -,,0,8,1,0,0,BCѹ,0.1,MUca,, -,,0,12,1,0,0,ĸԵص,0.1,PGRKM,, -,,0,13,1,0,0,ĸ߸Եص,0.1,NGRKM,, -,,0,14,1,0,0,ĸԵصѹ,0.1,PGVKM,, -,,0,15,1,0,0,ĸ߸Եصѹ,0.1,NGVKM,, -,,0,16,1,0,0,բĸߵѹ,0.1,VHM,, -,,0,17,1,0,0,ģѹ,0.1,CMOpV,, -,,0,18,1,0,0,ģ,0.1,CMOpI,, -,,0,19,1,0,0,ģ,0.1,CMLC,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,241,0,Դʧ,ACElose,0,0,0,,, -,,241,1,Դȱ,ACPhLose,0,0,0,,, -,,241,2,Դ쳣,ACAbn,0,0,0,,, -,,241,3,1#ѹ,OVBat1,0,0,0,,, -,,241,4,1#Ƿѹ,UVBat1,0,0,0,,, -,,241,5,1#鿪δ,Bat1Pos,0,0,0,,, -,,241,6,,OCBat,0,0,0,,, -,,241,7,2#ѹ,OVBat2,0,0,0,,, -,,241,8,2#Ƿѹ,UVBat2,0,0,0,,, -,,241,9,2#鿪δ,Bat2Pos,0,0,0,,, -,,241,10,բĸ߹ѹ,OVHM,0,0,0,,, -,,241,11,բĸǷѹ,UVHM,0,0,0,,, -,,241,12,ĸ߹ѹ,OVKM,0,0,0,,, -,,241,13,ĸǷѹ,UVKM,0,0,0,,, -,,241,14,ĸԵ,BusPINLAbn,0,0,0,,, -,,241,15,ĸ߸Ե,BusNINLAbn,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/奥特讯直流屏.CSV b/PSCADA/电子行业模板/common/device_model/直流屏/奥特讯直流屏.CSV deleted file mode 100644 index 99d1ff7..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/奥特讯直流屏.CSV +++ /dev/null @@ -1,150 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],4,5,1,xxx,Ѷֱ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,4,1,34,16,1000,0,0,100,100,0 -,,4,35,10,16,1000,0,0,100,100,0 -,,2,1,141,1,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,1,1,0,0,һѹ,1,CM1OpV,, -,,0,2,1,0,0,һ,1,CM1OpI,, -,,0,3,1,0,0,һƲϵ,1,CM1co,, -,,0,4,1,0,0,һصѹ ,1,VBat1,, -,,0,5,1,0,0,һص ,1,IBat1,, -,,0,6,1,0,0,һ¶ ,1,TBat1,, -,,0,7,1,0,0,һʪ ,1,HBat1,, -,,0,8,1,0,0,һοĸߵѹ,1,VKM1,, -,,0,9,1,0,0,һοĸߵ,1,IKM1,, -,,0,10,1,0,0,һκբĸߵѹ,1,VHM1,, -,,0,11,1,0,0,һκբĸߵ,1,IHM1,, -,,0,12,1,0,0,һ·Aѹ,1,VAAC1,, -,,0,13,1,0,0,һ·Bѹ,1,VBAC1,, -,,0,14,1,0,0,һ·Cѹ,1,VCAC1,, -,,0,15,1,0,0,һ·A,1,IAAC1,, -,,0,16,1,0,0,һ·B,1,IBAC1,, -,,0,17,1,0,0,һ·C,1,ICAC1,, -,,0,18,1,0,0,ѹ,1,CM2OpV,, -,,0,19,1,0,0,,1,CM2OpI,, -,,0,20,1,0,0,Ʋϵ,1,CM2co,, -,,0,21,1,0,0,صѹ ,1,VBat2,, -,,0,22,1,0,0,ص ,1,IBat2,, -,,0,23,1,0,0,¶ ,1,TBat2,, -,,0,24,1,0,0,ʪ ,1,HBat2,, -,,0,25,1,0,0,οĸߵѹ,1,VKM2,, -,,0,26,1,0,0,οĸߵ,1,IKM2,, -,,0,27,1,0,0,κբĸߵѹ,1,VHM2,, -,,0,28,1,0,0,κբĸߵ,1,IHM2,, -,,0,29,1,0,0,·Aѹ,1,VAAC2,, -,,0,30,1,0,0,·Bѹ,1,VBAC2,, -,,0,31,1,0,0,·Cѹ,1,VCAC2,, -,,0,32,1,0,0,·A,1,IAAC2,, -,,0,33,1,0,0,·B,1,IBAC2,, -,,0,34,1,0,0,·C,1,ICAC2,, -,,0,35,1,0,0,ѹ,1,CM3OpV,, -,,0,36,1,0,0,,1,CM3OpI,, -,,0,37,1,0,0,ѹ,1,CM4OpV,, -,,0,38,1,0,0,,1,CM4OpI,, -,,0,39,1,0,0,·Aѹ,1,VAAC3,, -,,0,40,1,0,0,·Bѹ,1,VBAC3,, -,,0,41,1,0,0,·Cѹ,1,VCAC3,, -,,0,42,1,0,0,·A,1,IAAC3,, -,,0,43,1,0,0,·B,1,IBAC3,, -,,0,44,1,0,0,·C,1,ICAC3,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,1,һ/(0:;1:),CM1EFC,0,0,0,,, -,,0,2,һ/ػ(0:ػ;1:),CM1Sts,0,0,0,,, -,,0,3,һģ쳣/(0:;1:쳣),CM1Abn,0,0,0,,, -,,0,4,һѹ/(0 1ѹ),CM1OV,0,0,0,,, -,,0,5,һǷѹ/(0 1Ƿѹ),CM1UV,0,0,0,,, -,,0,9,һģ0쳣/(0:;1:쳣),CM1M0Abn,0,0,0,,, -,,0,10,һģ1쳣/(0:;1:쳣),CM1M1Abn,0,0,0,,, -,,0,11,һģ2쳣/(0:;1:쳣),CM1M2Abn,0,0,0,,, -,,0,12,һģ3쳣/(0:;1:쳣),CM1M3Abn,0,0,0,,, -,,0,13,һģ4쳣/(0:;1:쳣),CM1M4Abn,0,0,0,,, -,,0,14,һģ5쳣/(0:;1:쳣),CM1M5Abn,0,0,0,,, -,,0,15,һģ6쳣/(0:;1:쳣),CM1M6Abn,0,0,0,,, -,,0,16,һģ7쳣/(0:;1:쳣),CM1M7Abn,0,0,0,,, -,,0,17,һģ8쳣/(0:;1:쳣),CM1M8Abn,0,0,0,,, -,,0,18,һģ9쳣/0:;1:쳣),CM1M9Abn,0,0,0,,, -,,0,19,һģ10쳣/(0:;1:쳣),CM1M10Abn,0,0,0,,, -,,0,20,һģ11쳣/(0:;1:쳣),CM1M11Abn,0,0,0,,, -,,0,21,һģ12쳣/(0:;1:쳣),CM1M12Abn,0,0,0,,, -,,0,22,һģ13쳣/(0:;1:쳣),CM1M13Abn,0,0,0,,, -,,0,23,һģ14쳣/0:;1:쳣),CM1M14Abn,0,0,0,,, -,,0,24,һģ15쳣/(0:;1:쳣),CM1M15Abn,0,0,0,,, -,,0,25,һѹ/,OVBat1,0,0,0,,, -,,0,26,һǷѹ/,UVBat1,0,0,0,,, -,,0,27,һ鵥ڵعѹ/,OVSBat1,0,0,0,,, -,,0,28,һ鵥ڵǷѹ/,UVSBat1,0,0,0,,, -,,0,30,һسŵ״̬(0 1ŵ),Bat1NC,0,0,0,,, -,,0,33,/(0 1),CM2EFC,0,0,0,,, -,,0,34,/ػ(0: ػ 1),CM2Sts,0,0,0,,, -,,0,35,ģ쳣/(0 1쳣),CM2Abn,0,0,0,,, -,,0,36,ѹ/(0 1ѹ),CM2OV,0,0,0,,, -,,0,37,Ƿѹ/(0 1Ƿѹ),CM2UV,0,0,0,,, -,,0,41,ģ0쳣/(0 1쳣),CM1M0Abn,0,0,0,,, -,,0,42,ģ1쳣/(0 1쳣),CM1M1Abn,0,0,0,,, -,,0,43,ģ2쳣/(0 1쳣),CM1M2Abn,0,0,0,,, -,,0,44,ģ3쳣/(0 1쳣),CM1M3Abn,0,0,0,,, -,,0,45,ģ4쳣/(0 1쳣),CM1M4Abn,0,0,0,,, -,,0,46,ģ5쳣/(0 1쳣),CM1M5Abn,0,0,0,,, -,,0,47,ģ6쳣/(0 1쳣),CM1M6Abn,0,0,0,,, -,,0,48,ģ7쳣/(0 1쳣),CM1M7Abn,0,0,0,,, -,,0,49,ģ8쳣/(0 1쳣),CM1M8Abn,0,0,0,,, -,,0,50,ģ9쳣/(0 1쳣),CM1M9Abn,0,0,0,,, -,,0,51,ģ10쳣/(0 1쳣),CM1M10Abn,0,0,0,,, -,,0,52,ģ11쳣/(0 1쳣),CM1M11Abn,0,0,0,,, -,,0,53,ģ12쳣/(0 1쳣),CM1M12Abn,0,0,0,,, -,,0,54,ģ13쳣/(0 1쳣),CM1M13Abn,0,0,0,,, -,,0,55,ģ14쳣/(0 1쳣),CM1M14Abn,0,0,0,,, -,,0,56,ģ15쳣/(0 1쳣),CM1M15Abn,0,0,0,,, -,,0,57,ѹ/,OVBat2,0,0,0,,, -,,0,58,Ƿѹ/,UVBat2,0,0,0,,, -,,0,59,鵥ڵعѹ/,OVSBat2,0,0,0,,, -,,0,60,鵥ڵǷѹ/,UVSBat2,0,0,0,,, -,,0,62,سŵ״̬(0 1ŵ),Bat2NC,0,0,0,,, -,,0,65,һοĸѹ/(0 1ѹ),OVKM1,0,0,0,,, -,,0,66,һοĸǷѹ/(0 1Ƿѹ),UVKM1,0,0,0,,, -,,0,67,һκĸѹ/(0 1ѹ),OVHM1,0,0,0,,, -,,0,68,һκĸǷѹ/(0 1Ƿѹ),UVHM1,0,0,0,,, -,,0,73,οĸѹ/(0 1ѹ),OVKM2,0,0,0,,, -,,0,74,οĸǷѹ/(0 1Ƿѹ),UVKM2,0,0,0,,, -,,0,75,κĸѹ/(0 1ѹ),OVHM2,0,0,0,,, -,,0,76,κĸǷѹ/(0 1Ƿѹ),UVHM2,0,0,0,,, -,,0,81,쳣/(0 1쳣),SMAbn,0,0,0,,, -,,0,82,#1Ѳ쳣/(0 1쳣),BatM1Abn,0,0,0,,, -,,0,83,#2Ѳ쳣/(0 1쳣),BatM2Abn,0,0,0,,, -,,0,84,һ·쳣/(0 1쳣),AC1Abn,0,0,0,,, -,,0,85,·쳣/(0 1쳣),AC2Abn,0,0,0,,, -,,0,86,һξԵ쳣/(0 1쳣),INL1Abn,0,0,0,,, -,,0,87,ξԵ쳣/(0 1쳣),INL2Abn,0,0,0,,, -,,0,88,ֱ쳣/(0 1쳣),DCFAbn,0,0,0,,, -,,0,105,1#쳣/(0 1쳣),SC1Abn,0,0,0,,, -,,0,106,1#쳣/(0 1쳣),LP1Abn,0,0,0,,, -,,0,108,һ12ZKպ/Ͽ(1 0Ͽ),CM1Pos,0,0,0,,, -,,0,109,1#ĸ߽߿13ZKպ/Ͽ(1 0Ͽ),AC1Pos,0,0,0,,, -,,0,110,1#ؽ߿رպ/Ͽ(1 0Ͽ),Bat1Pos,0,0,0,,, -,,0,111,1#ŵ翪رպ/Ͽ(1 0Ͽ),DisC1Pos,0,0,0,,, -,,0,112,۶쳣/(1 0쳣),Fus1Abn,0,0,0,,, -,,0,113,2#쳣/(1 0쳣),SC2Abn,0,0,0,,, -,,0,114,2#쳣/(1 0쳣),LP2Abn,0,0,0,,, -,,0,116,12ZKպ/Ͽ(1 0Ͽ),CM2Pos,0,0,0,,, -,,0,117,2#ĸ߽߿13ZKպ/Ͽ(1 0Ͽ),AC2Pos,0,0,0,,, -,,0,118,2#ؽ߿رպ/Ͽ(1 0Ͽ),Bat2Pos,0,0,0,,, -,,0,119,2#ŵ翪رպ/Ͽ(1 0Ͽ),DisC2Pos,0,0,0,,, -,,0,120,ĸӿ(1 0Ͽ),BusPos,0,0,0,,, -,,0,121,/(0 1),CM3EFC,0,0,0,,, -,,0,122,/ػ(0: ػ 1),CM3Sts,0,0,0,,, -,,0,123,ģ쳣/(0 1쳣),CM3Abn,0,0,0,,, -,,0,124,ѹ/(0 1ѹ),CM3OV,0,0,0,,, -,,0,125,Ƿѹ/(0 1Ƿѹ),CM3UV,0,0,0,,, -,,0,129,/(0 1),CM4EFC,0,0,0,,, -,,0,130,/ػ(0: ػ 1),CM4Sts,0,0,0,,, -,,0,131,ģ쳣/(0 1쳣),CM4Abn,0,0,0,,, -,,0,132,ѹ/(0 1ѹ),CM4OV,0,0,0,,, -,,0,133,Ƿѹ/(0 1Ƿѹ),CM4UV,0,0,0,,, -,,0,137,/(0 1),CM5EFC,0,0,0,,, -,,0,138,/ػ(0: ػ 1),CM5Sts,0,0,0,,, -,,0,139,ģ쳣/(0 1쳣),CM5Abn,0,0,0,,, -,,0,140,ѹ/(0 1ѹ),CM5OV,0,0,0,,, -,,0,141,Ƿѹ/(0 1Ƿѹ),CM5UV,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/恒力直流屏点表-CDT.CSV b/PSCADA/电子行业模板/common/device_model/直流屏/恒力直流屏点表-CDT.CSV deleted file mode 100644 index 68b3500..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/恒力直流屏点表-CDT.CSV +++ /dev/null @@ -1,40 +0,0 @@ -[Title],豸ַ,¼ɼ,ЭID,豸ͺ,豸,,,, -[Device],1,1,9,xxxx,ֱ,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д -[Point],YC,97,0,1,0,0,VAB,1,MUab -,,97,1,1,0,0,VBC,1,MUbc -,,97,2,1,0,0,VCA,1,MUca -,,97,3,1,0,0,صѹ,1,VBat -,,97,4,1,0,0,ص,1,IBat -,,97,5,1,0,0,ĸѹ,1,VKM -,,97,6,1,0,0,ĸ,1,IKM -,,97,7,1,0,0,¶,1,TPAmb -,,97,8,1,0,0,VAB,1,SUab -,,97,9,1,0,0,VBC,1,SUbc -,,97,10,1,0,0,VCA,1,SUca -,,194,0,1,0,0,1#صѹ,1,VBat1 -,,194,1,1,0,0,2#صѹ,1,VBat2 -,,194,2,1,0,0,3#صѹ,1,VBat3 -,,194,3,1,0,0,4#صѹ,1,VBat4 -,,194,4,1,0,0,5#صѹ,1,VBat5 -,,194,5,1,0,0,6#صѹ,1,VBat6 -,,194,6,1,0,0,7#صѹ,1,VBat7 -,,194,7,1,0,0,8#صѹ,1,VBat8 -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#2, -[Point],YX,240,15,B16:ѹ,UVInt,0,0,0, -,,240,16,B17:ѹ,OVInt,0,0,0, -,,240,17,B18:صѹ,UVBat,0,0,0, -,,240,18,B19:صѹ,OVBat,0,0,0, -,,240,19,B20:س,OCBat,0,0,0, -,,240,20,B21:ĸߵѹ,UVKM,0,0,0, -,,240,21,B22:ĸߵѹ,OVKM,0,0,0, -,,240,22,B23:ĸ߹,OCKM,0,0,0, -,,240,23,B24:ĸ߾Ե,INLAbnKM,0,0,0, -,,240,24,B25:ģ¶ȸ,UnitOT,0,0,0, -,,240,25,B26:·ѹ,UVByPass,0,0,0, -,,240,26,B27:·ѹ,OVByPass,0,0,0, -,,240,27,B28:ȱ,MPhLose,0,0,0, -,,240,28,B29:ȱ,SPhLose,0,0,0, -,,240,29,B30:ֻصѹ,UVsBat,0,0,0, -,,240,30,B31:ֻصѹ,OVsBat,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/汇业达直流屏点表模板.CSV b/PSCADA/电子行业模板/common/device_model/直流屏/汇业达直流屏点表模板.CSV deleted file mode 100644 index fa9db32..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/汇业达直流屏点表模板.CSV +++ /dev/null @@ -1,32 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,5,1,ҵֱ,ҵֱ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,4,16,1000,0,0,100,1000,0 -,,2,256,21,1,1000,0,0,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,0,1,0,0,ĸѹ,0.1,VHM,, -,,0,1,1,0,0,ĸѹ,0.1,VKM,, -,,0,2,1,0,0,ĸ,0.1,IKM,, -,,0,3,1,0,0,ص,0.1,IBat,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#1,,, -[Point],YX,0,256,ĸѹ,OVHM,0,0,0,,, -,,0,257,ĸǷѹ,UVHM,0,0,0,,, -,,0,258,ĸѹ,OVKM,0,0,0,,, -,,0,259,ĸǷѹ,UVKM,0,0,0,,, -,,0,260,,ACFlt,0,0,0,,, -,,0,261,Ե,INLFlt,0,0,0,,, -,,0,262,տբ,PosTrp,0,0,0,,, -,,0,263,۶,FusAbn,0,0,0,,, -,,0,264,1#ģػ,CM1Sts,0,0,0,,, -,,0,265,2#ģػ,CM2Sts,0,0,0,,, -,,0,266,3#ģػ,CM3Sts,0,0,0,,, -,,0,267,ؾ,BatEFC,0,0,0,,, -,,0,268,1#ģ,CM1Flt,0,0,0,,, -,,0,269,2#ģ,CM2Flt,0,0,0,,, -,,0,270,3#ģ,CM3Flt,0,0,0,,, -,,0,272,1,SC1Abn,0,0,0,,, -,,0,273,2,SC2Abn,0,0,0,,, -,,0,274,3,SC3Abn,0,0,0,,, -,,0,275,4,SC4Abn,0,0,0,,, -,,0,276,5,SC5Abn,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/深圳市英可瑞-PMUS2T直流屏.csv b/PSCADA/电子行业模板/common/device_model/直流屏/深圳市英可瑞-PMUS2T直流屏.csv deleted file mode 100644 index a711dd7..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/深圳市英可瑞-PMUS2T直流屏.csv +++ /dev/null @@ -1,162 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,2,1,PMU-S2T,Ӣֱ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,67,16,1000,1,0,100,1000,0 -,,3,100,18,1,1000,0,0,100,1000,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,0,1,0,0,һ·Aѹ,0.1,MVA,, -,,0,1,1,0,0,һ·Bѹ,0.1,MVB,, -,,0,2,1,0,0,һ·Cѹ,0.1,MVC,, -,,0,3,1,0,0,·Aѹ,0.1,SVA,, -,,0,4,1,0,0,·Bѹ,0.1,SVB,, -,,0,5,1,0,0,·Cѹ,0.1,SVC,, -,,0,6,1,0,0,,0.1,IAC,, -,,0,7,1,0,0,һصѹ,0.1,VBat1,, -,,0,8,1,0,0,һκĸѹ,0.1,VHM1,, -,,0,9,1,0,0,һοĸѹ,0.1,VKM1,, -,,0,10,1,0,0,һص,0.1,IBat1,, -,,0,11,1,0,0,һοĸ,0.1,IKM1,, -,,0,12,1,0,0,صѹ,0.1,VBat2,, -,,0,13,1,0,0,κĸѹ,0.1,VHM2,, -,,0,14,1,0,0,οĸѹ,0.1,VKM2,, -,,0,15,1,0,0,ص,0.1,IBat2,, -,,0,16,1,0,0,οĸ,0.1,IKM2,, -,,0,17,1,0,0,¶,0.1,TPAmb,, -,,0,18,1,0,0,չ1,0.1,YCBY1,, -,,0,19,1,0,0,չ2,0.1,YCBY2,, -,,0,20,1,0,0,չ3,0.1,YCBY3,, -,,0,25,1,0,0,һ¶1,0.1,TPBat11,, -,,0,26,1,0,0,һ¶2,0.1,TPBat12,, -,,0,27,1,0,0,һ01ڵصѹ,0.1,VSBat101,, -,,0,28,1,0,0,һ02ڵصѹ,0.1,VSBat102,, -,,0,29,1,0,0,һ03ڵصѹ,0.1,VSBat103,, -,,0,30,1,0,0,һ04ڵصѹ,0.1,VSBat104,, -,,0,31,1,0,0,һ05ڵصѹ,0.1,VSBat105,, -,,0,32,1,0,0,һ06ڵصѹ,0.1,VSBat106,, -,,0,33,1,0,0,һ07ڵصѹ,0.1,VSBat107,, -,,0,34,1,0,0,һ08ڵصѹ,0.1,VSBat108,, -,,0,35,1,0,0,һ09ڵصѹ,0.1,VSBat109,, -,,0,36,1,0,0,һ10ڵصѹ,0.1,VSBat110,, -,,0,37,1,0,0,һ11ڵصѹ,0.1,VSBat111,, -,,0,38,1,0,0,һ12ڵصѹ,0.1,VSBat112,, -,,0,39,1,0,0,һ13ڵصѹ,0.1,VSBat113,, -,,0,40,1,0,0,һ14ڵصѹ,0.1,VSBat114,, -,,0,41,1,0,0,һ15ڵصѹ,0.1,VSBat115,, -,,0,42,1,0,0,һ16ڵصѹ,0.1,VSBat116,, -,,0,43,1,0,0,һ17ڵصѹ,0.1,VSBat117,, -,,0,44,1,0,0,һ18ڵصѹ,0.1,VSBat118,, -,,0,45,1,0,0,һ19ڵصѹ,0.1,VSBat119,, -,,0,46,1,0,0,¶1,0.1,TPBat21,, -,,0,47,1,0,0,¶2,0.1,TPBat22,, -,,0,48,1,0,0,01ڵصѹ,0.1,VSBat201,, -,,0,49,1,0,0,02ڵصѹ,0.1,VSBat202,, -,,0,50,1,0,0,03ڵصѹ,0.1,VSBat203,, -,,0,51,1,0,0,04ڵصѹ,0.1,VSBat204,, -,,0,52,1,0,0,05ڵصѹ,0.1,VSBat205,, -,,0,53,1,0,0,06ڵصѹ,0.1,VSBat206,, -,,0,54,1,0,0,07ڵصѹ,0.1,VSBat207,, -,,0,55,1,0,0,08ڵصѹ,0.1,VSBat208,, -,,0,56,1,0,0,09ڵصѹ,0.1,VSBat209,, -,,0,57,1,0,0,10ڵصѹ,0.1,VSBat210,, -,,0,58,1,0,0,11ڵصѹ,0.1,VSBat211,, -,,0,59,1,0,0,12ڵصѹ,0.1,VSBat212,, -,,0,60,1,0,0,13ڵصѹ,0.1,VSBat213,, -,,0,61,1,0,0,14ڵصѹ,0.1,VSBat214,, -,,0,62,1,0,0,15ڵصѹ,0.1,VSBat215,, -,,0,63,1,0,0,16ڵصѹ,0.1,VSBat216,, -,,0,64,1,0,0,17ڵصѹ,0.1,VSBat217,, -,,0,65,1,0,0,18ڵصѹ,0.1,VSBat218,, -,,0,66,1,0,0,19ڵصѹ,0.1,VSBat219,, -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#1,,, -[Point],YX,100,0,һ·״̬,AC1Sts,0,0,0,,, -,,100,1,·״̬,AC2Sts,0,0,0,,, -,,100,2,׹,LPFlt,0,0,0,,, -,,100,3,1,DI1Flt,0,0,0,,, -,,100,4,2,DI2Flt,0,0,0,,, -,,100,5,3,DI3Flt,0,0,0,,, -,,100,6,4,DI4Flt,0,0,0,,, -,,100,7,5,DI5Flt,0,0,0,,, -,,100,8,һ·ͣ,AC1Elose,0,0,0,,, -,,100,9,һ·Ƿѹ,UVAC1,0,0,0,,, -,,100,10,һ·ѹ,OVAC1,0,0,0,,, -,,100,11,һ·ȱ,AC1PhLose,0,0,0,,, -,,100,12,·ͣ,AC2Elose,0,0,0,,, -,,100,13,·Ƿѹ,UVAC2,0,0,0,,, -,,100,14,·ѹ,OVAC2,0,0,0,,, -,,100,15,·ȱ,AC2PhLose,0,0,0,,, -,,101,0,κĸѹ,OVHM2,0,0,0,,, -,,101,1,κĸǷѹ,UVHM2,0,0,0,,, -,,101,2,οĸѹ,OVKM2,0,0,0,,, -,,101,3,οĸǷѹ,UVKM2,0,0,0,,, -,,101,4,Ƿѹ,UVBat2,0,0,0,,, -,,101,5,ؾ,OVBat2,0,0,0,,, -,,101,8,һκĸѹ,OVHM1,0,0,0,,, -,,101,9,һκĸǷѹ,UVHM1,0,0,0,,, -,,101,10,һοĸѹ,OVKM1,0,0,0,,, -,,101,11,һοĸǷѹ,UVKM1,0,0,0,,, -,,101,12,һǷѹ,UVBat1,0,0,0,,, -,,101,13,һؾ,OVBat1,0,0,0,,, -,,102,0,ƿ09,Ctrl09Flt,0,0,0,,, -,,102,1,ƿ10,Ctrl10Flt,0,0,0,,, -,,102,2,ƿ11,Ctrl11Flt,0,0,0,,, -,,102,3,ƿ12,Ctrl12Flt,0,0,0,,, -,,102,4,ƿ13,Ctrl13Flt,0,0,0,,, -,,102,5,ƿ14,Ctrl14Flt,0,0,0,,, -,,102,6,ƿ15,Ctrl15Flt,0,0,0,,, -,,102,7,ƿ16,Ctrl16Flt,0,0,0,,, -,,102,8,ƿ01,Ctrl01Flt,0,0,0,,, -,,102,9,ƿ02,Ctrl02Flt,0,0,0,,, -,,102,10,ƿ03,Ctrl03Flt,0,0,0,,, -,,102,11,ƿ04,Ctrl04Flt,0,0,0,,, -,,102,12,ƿ05,Ctrl05Flt,0,0,0,,, -,,102,13,ƿ06,Ctrl06Flt,0,0,0,,, -,,102,14,ƿ07,Ctrl07Flt,0,0,0,,, -,,102,15,ƿ08,Ctrl08Flt,0,0,0,,, -,,103,0,բ01,H01Flt,0,0,0,,, -,,103,1,բ02,H02Flt,0,0,0,,, -,,103,2,բ03,H03Flt,0,0,0,,, -,,103,3,բ04,H04Flt,0,0,0,,, -,,103,4,բ05,H05Flt,0,0,0,,, -,,103,5,բ06,H06Flt,0,0,0,,, -,,103,6,բ07,H07Flt,0,0,0,,, -,,103,7,բ08,H08Flt,0,0,0,,, -,,103,8,ƿ17,K17Flt,0,0,0,,, -,,103,9,ƿ18,K18Flt,0,0,0,,, -,,103,10,ƿ19,K19Flt,0,0,0,,, -,,103,11,ƿ20,K20Flt,0,0,0,,, -,,103,12,ƿ21,K21Flt,0,0,0,,, -,,103,13,ƿ22,K22Flt,0,0,0,,, -,,103,14,ƿ23,K23Flt,0,0,0,,, -,,103,15,ƿ24,K24Flt,0,0,0,,, -,,104,0,ͨѶ,ACcomF,0,0,0,,, -,,104,1,ֱͨѶ,DCcomF,0,0,0,,, -,,104,2,ͨѶ,DIcomF,0,0,0,,, -,,104,3,Ѳ1ͨѶ,BatM1comF,0,0,0,,, -,,104,4,Ѳ2ͨѶ,BatM2comF,0,0,0,,, -,,104,5,Ե1ͨѶ,INLM1Flt,0,0,0,,, -,,104,6,Ե2ͨѶ,INLM2Flt,0,0,0,,, -,,104,8,ؿ1,Bat1Flt,0,0,0,,, -,,104,9,ؿ2,Bat2Flt,0,0,0,,, -,,104,10,ѹģ1,DV1Flt,0,0,0,,, -,,104,11,ѹģ2,DV2Flt,0,0,0,,, -,,104,12,۶1,Fus1Flt,0,0,0,,, -,,104,13,۶2,Fus2Flt,0,0,0,,, -,,104,14,Ե1,INL1Flt,0,0,0,,, -,,104,15,Ե2,INL2Flt,0,0,0,,, -,,105,0,09ģͨѶ,M09comF,0,0,0,,, -,,105,1,10ģͨѶ,M10comF,0,0,0,,, -,,105,2,11ģͨѶ,M11comF,0,0,0,,, -,,105,3,12ģͨѶ,M12comF,0,0,0,,, -,,105,4,13ģͨѶ,M13comF,0,0,0,,, -,,105,5,14ģͨѶ,M14comF,0,0,0,,, -,,105,6,15ģͨѶ,M15comF,0,0,0,,, -,,105,7,16ģͨѶ,M16comF,0,0,0,,, -,,105,8,01ģͨѶ,M01comF,0,0,0,,, -,,105,9,02ģͨѶ,M02comF,0,0,0,,, -,,105,10,03ģͨѶ,M03comF,0,0,0,,, -,,105,11,04ģͨѶ,M04comF,0,0,0,,, -,,105,12,05ģͨѶ,M05comF,0,0,0,,, -,,105,13,06ģͨѶ,M06comF,0,0,0,,, -,,105,14,07ģͨѶ,M07comF,0,0,0,,, -,,105,15,08ģͨѶ,M08comF,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/申联电气直流屏点表模板.CSV b/PSCADA/电子行业模板/common/device_model/直流屏/申联电气直流屏点表模板.CSV deleted file mode 100644 index 3976d23..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/申联电气直流屏点表模板.CSV +++ /dev/null @@ -1,85 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],1,7,1,ֱ,ֱ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,64,18,16,1000,0,0,100,100,0 -,,3,122,10,16,1000,0,0,100,100,0 -,,3,800,3,1,1000,0,0,100,100,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д,, -[Point],YC,0,122,1,0,0,ABѹ,0.1,MUab,, -,,0,123,1,0,0,BCѹ,0.1,MUbc,, -,,0,124,1,0,0,CAѹ,0.1,MUca,, -,,0,125,1,0,0,ĸ,0.01,IKM,, -,,0,126,1,0,0,ĸѹ,0.1,VKM,, -,,0,127,1,0,0,,0.01,Iact,, -,,0,128,1,0,0,ѹ,0.1,VBat,, -,,0,129,1,0,0,ģѹ,0.1,VCM,, -,,0,130,1,0,0,,0.01,ICM,, -,,0,131,1,0,0,ģ,0.01,ICtrlM,, -,,0,64,1,0,0,1#صѹ,1,VBat1,, -,,0,65,1,0,0,2#صѹ,1,VBat2,, -,,0,66,1,0,0,3#صѹ,1,VBat3,, -,,0,67,1,0,0,4#صѹ,1,VBat4,, -,,0,68,1,0,0,5#صѹ,1,VBat5,, -,,0,69,1,0,0,6#صѹ,1,VBat6,, -,,0,70,1,0,0,7#صѹ,1,VBat7,, -,,0,71,1,0,0,8#صѹ,1,VBat8,, -,,0,72,1,0,0,9#صѹ,1,VBat9,, -,,0,73,1,0,0,10#صѹ,1,VBat10,, -,,0,74,1,0,0,11#صѹ,1,VBat11,, -,,0,75,1,0,0,12#صѹ,1,VBat12,, -,,0,76,1,0,0,13#صѹ,1,VBat13,, -,,0,77,1,0,0,14#صѹ,1,VBat14,, -,,0,78,1,0,0,15#صѹ,1,VBat15,, -,,0,79,1,0,0,16#صѹ,1,VBat16,, -,,0,80,1,0,0,17#صѹ,1,VBat17,, -,,0,81,1,0,0,18#صѹ,1,VBat18,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,0,0,1,YXBY1,0,0,0,,, -,,0,0,2,YXBY2,0,0,0,,, -,,0,800,ABѹ,OVMUAB,0,0,0,,, -,,0,801,ABѹ,UVMUAB,0,0,0,,, -,,0,802,BCѹ,OVMUBC,0,0,0,,, -,,0,803,BCѹ,UVMUBC,0,0,0,,, -,,0,804,CAѹ,OVMUCA,0,0,0,,, -,,0,805,CAѹ,UVMUCA,0,0,0,,, -,,0,806,ĸѹ,OVKM,0,0,0,,, -,,0,807,ĸѹ,UVKM,0,0,0,,, -,,0,808,ĸ,OCKM,0,0,0,,, -,,0,809,ѹ,OVBat,0,0,0,,, -,,0,810,ѹ,UVBat,0,0,0,,, -,,0,811,ģѹ,OVCM,0,0,0,,, -,,0,812,ģѹ,UVCM,0,0,0,,, -,,0,813,,OCKM,0,0,0,,, -,,0,814,ýʧ,MACElose,0,0,0,,, -,,0,815,ýʧ,SACElose,0,0,0,,, -,,0,816,1#쳣,Bat1Abn,0,0,0,,, -,,0,817,2#쳣,Bat2Abn,0,0,0,,, -,,0,818,3#쳣,Bat3Abn,0,0,0,,, -,,0,819,4#쳣,Bat4Abn,0,0,0,,, -,,0,820,5#쳣,Bat5Abn,0,0,0,,, -,,0,821,6#쳣,Bat6Abn,0,0,0,,, -,,0,822,7#쳣,Bat7Abn,0,0,0,,, -,,0,823,8#쳣,Bat8Abn,0,0,0,,, -,,0,824,9#쳣,Bat9Abn,0,0,0,,, -,,0,825,10#쳣,Bat10Abn,0,0,0,,, -,,0,826,11#쳣,Bat11Abn,0,0,0,,, -,,0,827,12#쳣,Bat12Abn,0,0,0,,, -,,0,828,13#쳣,Bat13Abn,0,0,0,,, -,,0,829,14#쳣,Bat14Abn,0,0,0,,, -,,0,830,15#쳣,Bat15Abn,0,0,0,,, -,,0,831,16#쳣,Bat16Abn,0,0,0,,, -,,0,832,17#쳣,Bat17Abn,0,0,0,,, -,,0,833,18#쳣,Bat18Abn,0,0,0,,, -,,0,834,Ե쳣,INLAbn,0,0,0,,, -,,0,835,ģѹ,OVCtrlM,0,0,0,,, -,,0,836,ģѹ,UVCtrlM,0,0,0,,, -,,0,837,K5δͶ,K5Ext,0,0,0,,, -,,0,838,ABѹ,OVSUAB,0,0,0,,, -,,0,839,ABѹ,UVSUAB,0,0,0,,, -,,0,840,BCѹ,OVSUBC,0,0,0,,, -,,0,841,BCѹ,UVSUBC,0,0,0,,, -,,0,842,CAѹ,OVSUCA,0,0,0,,, -,,0,843,CAѹ,UVSUCA,0,0,0,,, -,,0,844,ýȱ,MACPhLose,0,0,0,,, -,,0,845,ýȱ,SACPhLose,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/直流屏-DJB220MK.CSV b/PSCADA/电子行业模板/common/device_model/直流屏/直流屏-DJB220MK.CSV deleted file mode 100644 index b199655..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/直流屏-DJB220MK.CSV +++ /dev/null @@ -1,32 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,, -[Device],1,5,52,DJB220,DJBֱMKЭ,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д -[Point],YC,0,1,1,0,0,ѹVAB,1,MUab -,,0,2,1,0,0,ѹVBC,1,MUbc -,,0,3,1,0,0,ѹVCA,1,MUca -,,0,4,1,0,0,صѹ,1,VBat -,,0,5,1,0,0,ص,1,IBat -,,0,6,1,0,0,ĸߵѹ,1,VBus -,,0,7,1,0,0,ĸߵ,1,IBus -,,0,8,1,0,0,¶,1,TPAmb -,,0,9,1,0,0,ѹVAB,1,SUab -,,0,10,1,0,0,ѹVBC,1,SUbc -,,0,11,1,0,0,ѹVCA,1,SUca -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1, -[Point],YX,0,1,ѹ,UVInt,0,0,0, -,,0,2,ѹ,OVInt,0,0,0, -,,0,3,صѹ,UVBat,0,0,0, -,,0,4,صѹ,OVBat,0,0,0, -,,0,5,س,OCBat,0,0,0, -,,0,6,ĸߵѹ,UVKM,0,0,0, -,,0,7,ĸߵѹ,OVKM,0,0,0, -,,0,8,ĸ߹,OCKM,0,0,0, -,,0,9,ĸ߾Ե,INLAbnKM,0,0,0, -,,0,10,ģ¶ȸ,UnitOT,0,0,0, -,,0,11,·ѹ,UVByPass,0,0,0, -,,0,12,·ѹ,OVByPass,0,0,0, -,,0,13,ȱ,MPhLose,0,0,0, -,,0,14,ȱ,SPhLose,0,0,0, -,,0,15,ֻصѹ,UVsBat,0,0,0, -,,0,16,ֻصѹ,OVsBat,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/鞍山恒力直流.CSV b/PSCADA/电子行业模板/common/device_model/直流屏/鞍山恒力直流.CSV deleted file mode 100644 index 368d245..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/鞍山恒力直流.CSV +++ /dev/null @@ -1,36 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],5,1,1,ɽ,ֱ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,12,16,1000,1,0,100,200,0 -,,3,11,1,1,1000,0,0,100,300,1 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,UAB,1,MUab,, -,,0,1,1,0,0,UBC,1,MUbc,, -,,0,2,1,0,0,UCA,1,MUca,, -,,0,3,1,0,0,صѹ,1,VBat,, -,,0,4,1,0,0,ص,0.1,IBat,, -,,0,5,1,0,0,ĸߵѹ,1,VBus,, -,,0,6,1,0,0,ĸߵ,0.1,IBus,, -,,0,7,1,0,0,¶,0.1,TPAmb,, -,,0,8,1,0,0,·Uab,1,SUab,, -,,0,9,1,0,0,·Ubc,1,SUbc,, -,,0,10,1,0,0,·Uca,1,SUca,, -,,0,11,1,0,0,Ϣֵ,1,Arm,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,11,0,ѹ,UVInt,0,0,0,,, -,,11,1,ѹ,OVInt,0,0,0,,, -,,11,2,صѹ,UVBat,0,0,0,,, -,,11,3,صѹ,OVBat,0,0,0,,, -,,11,4,س,OCBat,0,0,0,,, -,,11,5,ĸѹ,UVKM,0,0,0,,, -,,11,6,ĸѹ,OVKM,0,0,0,,, -,,11,7,ĸ,OCKM,0,0,0,,, -,,11,8,ĸԵ,INLAbnKM,0,0,0,,, -,,11,9,ģ¶ȸ,UnitOT,0,0,0,,, -,,11,10,·ѹ,UVByPass,0,0,0,,, -,,11,11,·ѹ,OVByPass,0,0,0,,, -,,11,12,ȱ,MPhLose,0,0,0,,, -,,11,13,ȱ,SPhLose,0,0,0,,, -,,11,14,ֻصѹ,UVsBat,0,0,0,,, -,,11,15,ֻصѹ,OVsBat,0,0,0,,, -,,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/直流屏/鲁能直流屏200C点表.CSV b/PSCADA/电子行业模板/common/device_model/直流屏/鲁能直流屏200C点表.CSV deleted file mode 100644 index 295ebfd..0000000 --- a/PSCADA/电子行业模板/common/device_model/直流屏/鲁能直流屏200C点表.CSV +++ /dev/null @@ -1,45 +0,0 @@ -[Title],豸ַ,¼ɼ,ЭID,豸ͺ,豸,,,, -[Device],1,1,9,200c,³ֱ200C,,,, -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ,д -[Point],YC,97,0,1,0,0,ߵѹUab,1,MUab -,,97,1,1,0,0,ߵѹUbc,1,MUbc -,,97,4,1,0,0,բĸߵѹ,1,VHM -,,97,5,1,0,0,ĸߵѹ,1,VKM -,,97,6,1,0,0,ض˵ѹ,1,VBat -,,97,7,1,0,0,¶,1,TPBat -,,97,8,1,0,0,,1,IAC -,,97,9,1,0,0,ĸ,1,IKM -[Title],,ܺ,Ϣ,,д,ңŹID,ң,Զ#2, -[Point],YX,240,0,ϵ籨,ACElose,0,0,0, -,,240,1,ѹ߱,OVAC,0,0,0, -,,240,2,ѹͱ,UVAC,0,0,0, -,,240,3,ĸӵر,PEKM,0,0,0, -,,240,4,ĸӵر,NEKM,0,0,0, -,,240,5,ĸѹ߱,OVKM,0,0,0, -,,240,6,ĸѹͱ,UVKM,0,0,0, -,,240,7,ĸѹ߱,OVHM,0,0,0, -,,240,8,ĸѹͱ,UVHM,0,0,0, -,,240,9,صѹ߱,OVBat,0,0,0, -,,240,10,صѹͱ,UVBat,0,0,0, -,,240,11,¶ȸ߱,HTBat,0,0,0, -,,240,12,¶ȵͱ,LTBat,0,0,0, -,,240,13,߱,OCCM,0,0,0, -,,240,14,ͱ,LCCM,0,0,0, -,,240,15,߱,OCFM,0,0,0, -,,240,16,ͱ,LCFM,0,0,0, -,,240,17,ģϱ,CMFlt,0,0,0, -,,240,18,ģϱ,FMFlt,0,0,0, -,,240,19,ؽ߶ϱ,BatPos,0,0,0, -,,240,20,˿ϱ,LPFlt,0,0,0, -,,240,21,Եװñ,INLMFlt,0,0,0, -,,240,22,ؼװñ,BatMcomF,0,0,0, -,,240,23,ѹװñ,DVFlt,0,0,0, -,,240,24,װñ,DAFlt,0,0,0, -,,240,25,ͨѶģ鱨,ComFlt,0,0,0, -,,240,26,¶ȴϱ,TSenFlt,0,0,0, -,,240,27,˿2ͨѶжϱ,Com2F,0,0,0, -,,240,28,˿3ͨѶжϱ,Com3F,0,0,0, -,,240,29,˿4ͨѶжϱ,Com4F,0,0,0, -,,240,30,״̬,FCSts,0,0,0, -,,240,31,״̬,ECSts,0,0,0, -,,65535,65535,ͨѶ״̬,TX,0,0,0, diff --git a/PSCADA/电子行业模板/common/device_model/研华ADAM-4017.CSV b/PSCADA/电子行业模板/common/device_model/研华ADAM-4017.CSV deleted file mode 100644 index 7c78d3c..0000000 --- a/PSCADA/电子行业模板/common/device_model/研华ADAM-4017.CSV +++ /dev/null @@ -1,15 +0,0 @@ -[Title],豸ַ,豸,ЭID,豸ͺ,豸,,,,,, -[Device],10,1,1,ADAM-4017+,л¶Ȳɼģ,,,,,, -[Title],,,ʼַ,Ĵ,Ĵ,Ӧʱ,,,豸ϵк,Ѳʱ,SOE -[Point],BLOCK,3,0,8,16,1000,0,0,100,1000,0 -[Title],,ܺ,Ϣ,Ŵϵ,ֵ,ֵ,,װϵ ,д,, -[Point],YC,0,0,1,0,0,ͨ1¶,0.0015259,TP1,, -,,0,1,1,0,0,ͨ2¶,0.0015259,TP2,, -,,0,2,1,0,0,ͨ3¶,0.0015259,TP3,, -,,0,3,1,0,0,ͨ4¶,0.0015259,TP4,, -,,0,4,1,0,0,ͨ5¶,0.0015259,TP5,, -,,0,5,1,0,0,ͨ6¶,0.0015259,TP6,, -,,0,6,1,0,0,ͨ7¶,0.0015259,TP7,, -,,0,7,1,0,0,ͨ8¶,0.0015259,TP8,, -[Title],,ܺ,Ϣ,,д,ңŵID,ң,Զ#1,,, -[Point],YX,65535,65535,ͨѶ״̬,TX,0,0,0,,, diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/103portcfg配置注意事项.doc b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/103portcfg配置注意事项.doc deleted file mode 100644 index c039dc7d362419e8e09a12a1bbfef318b1a71e53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113152 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 diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/177-南自网络103从站协议说明.doc b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/177-南自网络103从站协议说明.doc deleted file mode 100644 index 03d8660b15a8dcf6d8402059feb1d05b3e193a40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49664 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Ͷt@xX)doB3DMR|a9x@Ph#61faez&>GSJwjG5yVUmr#T8xLRz z|E}c!UVh|2`mo)CWrqeA>3{KO4)6b#J|6h;p-&1@OSz#|IreEd3wbZrCUPsh%53URD?^_mD*O tJ*lh14G#>>q5hkOw=WX diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/235-钛能网络103协议说明.doc b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/235-钛能网络103协议说明.doc deleted file mode 100644 index 605c62a6ca5b7f73e117232b76b7d47ba86d37cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27136 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 P_1Ce~fK$-_Dh>PxUS^~O diff --git a/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/251-许继网络103协议说明.doc b/PSCADA/电子行业模板/common/device_model/配置说明文档/不同厂家品牌网络103配置说明/251-许继网络103协议说明.doc deleted file mode 100644 index 838f7beef23ae1ae3c73d514efacef6770e4765d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105984 zcmeFZ1zc6lw=jG-91#!@knV1f4hiXy?o_%xwODhSjA+`|BHeRFdIMRx$u2>_7&pXI{j~t)f2Z^Je8k`Szom2A z-+wgyD|uLEx!pO%|{0;4nP&-kL#ANlz~a}0Wi1ieiegUfpJ4w zZ5BwGffUMr(CfCI2EYf&SbZ<%Bt{1c)6#)6iJpW?G+y4KK zzit1o(!bZg&EN9lZThd;-{Nokzs>)v^p^hL)7yFeJO1zaTe`RF`}g$UEB|}_|Em1$ zdi{O8|6cxfy#LwsU(to?=KFvm{e%waD}d|ofY5<&1PBD!LH_6Z|N0EbE0=~KtL!@C z-PDGxcqn>Kd$0gnhz*c<5s(6iS8l@PM-344TM8r!!naAaH&!5X zkOAlw$O6Da+r9)Df}Vq{K};ZfkS$OX8H6IYBqyun=Ln?_r6e0=b zGY1p{ck^5~Am9$D_mi@eJ;iO?``e2dG+Vz`oEt!{qt}R{+#*C*#2uv{zCdMBlzw z{5w;lAFT1??gzs{EmSOK5KAOC466bdL|o>>L{io!L|O)amka>%$c#G_08o~JK-gu< zusCJ2ut<>w&{qF*{r_eLpz28!Wc2HK5dZRA1Zb4-tFWuEe?k5mnfoBfF4S|WfFSMy zY6AoV@E8anMGm^R3-z!eLQtl;0luK6sJqZ&;PNs6-QDd3D!{?TanYJ(NXw@!M&H!K z6w`*^fZhUlXe-elRTr^9HblFr0PY_(Un|H-AS2>IM~*BdDGGQ2B?)0rX&=EF;PQ)0i3+K_dbahnKG<3eHFXcx%}X!qgI-Q1)xmwZTpxpsFH3MH zO+76>2{ic$^s8Ll4|I?rVGvmkrH`kl-sSzn<$1QMj|++O`nErf%`s0;)E5=HI+PTY zZZmDK_4f95vI^wo#j6s2_`s8Q{Mh5N3;*#aUCOEH(*x{p?t5Ezd*@M8FuXl)uDAB6 z(|P&%uMSSqLquxNm(RaAefQj*GrfOvN@;beq4Op;`OMgo?9eBgFkLXzC8XLe`pEbg_#=f`nh+Xmy1XUpukAsTL4SQAD@ zLyNX|`85pLygMAZ$8^$7oO~%RE#6-%3x<9>&oid*f8QjLRvAkH_pzO43WQ3n!eX?c zE5?ccd^(fU`h>oB&L#()hJ8aq4}JoxI&|8tT7Lyrn;(0RrvC??f&3>l6 zG;}KMz!ej-p3b-hx%IVA$LE*JdodU$x=>paC$v;^S!93D2ppn z0xS6~o>>dq`N4c^xN%EJMX$)W3ZP!)Ypb!bF?Cb*x%WeiZaV7-?y2rxr&*{8UREYi zVZwK(O1%}&DKU$G9f-&=FVny^S&%or#mEj+y^6J?MV^E3`h4h> zJm;~P$4{9`JnnoW)5cDSpJ3^K*q0NY^ei(>MDVEH?nshHK8u{=STU_q%rN|L7$dYG zaw&bqP^$}-|Dj{HS!&(W;Yu57b6!(J`XqC*}$JzRJYxAoJrgfBTr|vb@lF9CHoV{gFs~D z?ONI>gboveiAz>HWe=|}cqGg)6IOi_1fxt9X9;SU6G+PlRBB!zNAi>Cgf64WnjQ67 zTpZyb!6_S~of`wg$9FlS!i;G<v{7Ih@@@LavZ=>Glyj)cC1yipOvaff0a$4K`B<)` zwS>gVJ{vP|1!F@RqnIz;isLl~|GY9QBgVsAH?i-=;xCRhL>az=R;+m4Qq(!dD&Lx+ z3iK<#%@=ye6oyr=Sj9vr*?%dwqZ9tBnP=*OJb(B3V_74%#!s1P*0ocecUGQ1z@vDp zc=bdh+w-3FGwgI=#^WlhM=H+<%!7Evl^IOP3?+lRsd4vqG1(>)FRZC!J!ex02VTV>o7e#I$H7_Gk%TMv!x%BfzCbF5c%A zA|P}oxDyKfaD@aYFq`7r<+8@C)>9{e$;@T~h+yRUsFUr6z?qIyqjH8jXPt^}E;Hi5 z!X1RT)Hv|EtgNC=Jc9Z7z{yf_xDr|9K`=VJOqq~D4gPDFngOYCLg|wy0x%_oKLn^g zig#9_-*H3WrLUjBl@mh|pIvL%j~SnmWm})HNhNeG3!J_DA%*#-yne1ira_HAWViRo zDyFByY!=(_+%h_`f@LYpC{FWe+FT~=9)^X8-p`fjv2HRq(+(AjIE|6X#+=R9q30;& zRQJW`n>fCJ0VsS6#32s$H=-3f9}p-&UJ{YFw`4j%gH< zA+O-%;l?)+4c($Xgt#aZ9&HhRZFzAFhk|_J3m49busQOl^x3QnNdV{6N1?Ub1pnUbHSDeF;bYfEyfO*f;JJlnvfGUJAs=;@nq{HCDUKibJ|w>og|YR34H zC>37iMtJCb*jAC={cy^J(X$f+a7AKje+XJGwofRPs4_{;&W#{!EvX`L(%H3thP<_}$A0$(Y5l%J^99@`#y;z_0y|VasmjZ_QkbhI#b9B#XtCcDs0+Y zRkt6D%2ljZ6V}eGjo@mj?UzO)JTjU3snP7g!<92iq@Lmpnl&#`+<=W%v?k4k6Ib7C zYen5FH5#(#09DRCWZHlV&Gqu%?p9YV@QX)ZN>a98ZMQ2)(+yD8x_$IfVQS=ZS0nQ(>x6W2R+RUjngFM&XHZ!KVAcnT*;57!*F#fEx+a7!#r zVOiYiCL}#Al%|lca3D|LV~BEu1-fe2f~V?9HW*)oU;{uMj&~)YsvpZZp-=U#W5s1C z;S!7WzPiQET`J4~xyW_Xa{O5(Mli_~p#cV}!fDF~HW z7-Yl-#xnsrh9d@n#Q_T9g3U-klUZ27MtGRWUU;(v7%&OG8wehU6jXr=gUlufbb9~4 zZ>No(FWK59e7(`}0QUkUB_=0YDy--83~)C7l{3Z7GJ+Hhj)rD&J_3`&J>iy zU!5tyQTpLbO|n6qDgQa|hVqBUc`Ms1eom6xV>h5001tJhqJBgue>zj80PY_(|LIJ@ zN&@YsemGO(=~S0M=FiR)oBA(jDzzb;NT@PilLxR1^Y11aCih5QXtC{C{Kx_0YjIn^Y_m!yp*c+Yg50 z?(Yn0f*%O6UJ40;<98#FKcU+#K>$ldih5WZ-Eie}^JTyBV@G=Q_+5)X#`Y5JRNHf9 z$LT58pxDi_?oD^Y>A~Y@bYg|^PWi&qyqnE*qgf$LqXY^B1iv*oSa0B&1bJ5*skv$O zxluLX8T@B%&eLxU4KQx58m`9V(;Emh#}x~;9vNHQoDyF(FF9#{V~ic$uVbuPb-2dH zHoC0)_$1D<0w#h;v!~OiO+?RJmw^itW?ik?N|)v-7G#-3Zy}3N0QStwZpR>}^3gSK zmAG^)m-rrPeM2S{wN1t|(>v-zL0wr@1qSW~30B76(q4`FS!6%RXxhHHPQTewZ1G5= z!)EJlFw)Py)_Ig?8P9q7@LcR#g>|=Kcq19BBTg=yVKcv8EF=Eiw=#|HHzc2wE@u&w zU(?*3=%J_oXpmOn%qQTUF6!kq{IM*q+R{I}J-L1=I)n+22kh2VRoWG24XUMa)) zs(l%doOf8{PYZR5v?lc{F4e`mEZD7C&vV;&`CCjRm+ptHTUVDEiVWKjj;wYuUKyWI z8JHn~@1l=ujd%7dUp>4zd(7y`^teDE`@1z-8zrIj1ygH8@pznN{8$0KD)x(XM}->+ z&s3%H&cbkvXN3z5dt5hZ=tT(z!Ijt!S%aUfH5uG}c3KhgqrLV6j<;&54f~#C)S4(T z*qBgefQv9p^IKq7cL@cXvJ~H7yHgCx&Ta+TbauP7Q6R%peHWNgXle$`}jD zefPnvyf(9sCj)F?gq!thXDkTq*b@b2Fx9+cKp~3kU2NB6g29aOd*p;oL%O{-<`x>Zr6ndEIQwPqy3HK}) z&Nu3k3OrzVTH(S*H#LSNVxPD~QVgRPZW ztB@?sIco*J$z$?+c}05_k8Cc}GS+;R|CadFL-X031NY>ow{XMFN<9VWk=Khvc)pKX z<9bnOHui5tc=#~E1}&lC>^43AEfmzAD+a)Pgwns)gD=NQvqim0Hh zv^8NK1&OK75+|o%8)c)#zC|?MkxE?to%+!8L=aQERj2?jT4L4ej(F?$!B7uP52fn%i^}eX+R1E1 ztMXM(bt}cbzNYYV7ngJCqt%AVXwa4)#X)?r%5broj%)M<3Tx^fjXu4j2RP0n%F9A6 zIam#$MYM^Ec$Hj183GZfCdpP+W4wOjuhr#Ygr|5Vs$V=m%AfzJ z*f@cV$uh)o?IRsEo|m8rIC->lwWOj3yf81n-T!9vIEQd3LyWi1C>lpB?aF_K>}nrQ z!{t7M=McS`>gR==o-CVdixGU&ta-X{ts;f@nK0ifUxRuDmB{-E%XF%u@d|u)-nmlf#&=DTj&$qFG~Qv%EWcr%z$4EoE)=i~vbe)i z(0^{n*4?F>@4T-nINFLz@*ExJNJCEmbLZoqR)F zlv7C-&8MR+^Dg1*$y$@KH;l{f^62-qOAQ(MAhl%&s3e#wqsxyiL0d7-N}zF@`xF^i zcAFYQ7hZKRdVx{l{H6EHgtpG>deEzx70rd}0u9J~^Hc2&np%j-RidL*;$G8jGtz8O z(^1-`w`#+8(wP>wj^E4f5z-s7-;^}=NMpY0Ji_IF7Jgm-v9F&g*MZyRGvQUmWjvR5 z0n1fE+Eba-4pOt0tNwD{j52An>*FvhVQ*6OTjQaz9P$W}mucr!X7EneFulr3C-&JK zl{9rt`KIPkL5=Q}w9{SB{T8b8{3^~lVZ&Q9!8;Z5%G=uXapJ?r`;`Xo*E{iLsy-6$ z+86nm-M_V2n326bFLti4*z4Fa&O#pFu$_HxQrje?5tO*40)v_mA^4$e>SlJ~Oj3ya zH(F9ILu;I|zNS+w@YSDTejNJZeH$uh<*BSCrkse{uTx?MuvZ8+b$JK_9C8>78 zY3{=*6|~7`#+8h*${bWa^Djk=C)Qg;dxzf-)vD#_Bi4`5#-R=GcM}agdPhmBj^9nt zzNP+fu`l9Dl+t9tV#Vi}!jWgXstuzVhD_y8C&pg+ef_hb%dt6nEKOO z4eA1&2J-=N!!;rcowbA3^-6uhjjFVajWS6_cjar=4+`L z!|cx*3q>(E(xh)c1;1gR&hD4tb;#_>O|Zgrv&nAi6+bTs&gXIBNUpAqrVKB(ib*^+ zWy?#%Ta(00Eks$ksmO0FHDXJqQ@`h%g$0{ZZdhFc-q$VET%gP2p{+Ydxu+Gf@1|#5 zDvQ}F&ArSuQJ*QPsFKLUTQ((~Q^iR_>0L8t5qw%r6K*3rYwlP~_Tf3pz!{EGCEe@_ok@4##RrCs^Z+c>UQnnn2G%^+f zhJ?kbch$ru6Fp*wN}JR<{8Va|6^rN;d{cwj`QnUi?y_ocsfdlgHQu)9Q6}=##?(Nm zTTdJm<7cZ^Zc6&x$~Q33!M2v)-98okG$zM39QiDdEvqT1yo!MWcS>#5ZG|GWjmJ<#}C&{soJ&))y8Xvh?HXJU{uAnqWj8vf?JhB(8_q+rNimciUqWco+3r>YFT z!AH@dxd#=Rykv`8vMg(~q!aA>*c|o~B6m=tq&sNG7F=c}^U4pGb5vsCD8TE8; z>Wb!*ZybupYqT}piRR0{1hX4GV%O}wqN?1t&-8jQ7InkV9)9cYY`eH(wAEK19$Jgq zN?I5;(|Pp1Ri}h=rQ@ow)1ILFd%;X$ zb9cUZ&*!k$Zbg~(Q`jO>N>7ntA{rb*Rz8$HwKzF*u2$6k{|;^)s_sFg}dduLN=O`W2%Nr?rMy%_GMd-5rtiBAfR#&J>>jm#VSz$285E{fJ6hf!lwJOQJZ z8dIItPJU#mDhR!R5Pp!IGZ}lvL>}Epzt|FUOX-0;8q>Lv1dTQF1J6-AlS$RY&d2=z zGgNHWsySGbgC}@rA4aVj8i1Vjo~-vri+V%GEGk|xS5=%P$<}G@?y%NO%gO3WHASSQ zIqkgtq-`;TtLVN)V%i#xcZB2Lh$HW!xQMGOEFu-Up8JU%5AZH%Y5X%ou*2i%TGd+p z+ah@`0;bn4zkmO}yF#37*tX?`INur_jUD>?Sg5 z@2zb|ln_3CetrP~EqHp{G>w>@(=7c*Og)aB!pOlntcVP6x(Gs;%itO8&|zvvrS$6S z{l)6OroPlKDSb){4fBld%{&!d5dLi}fxK$L7>UA@d<>gWsYC(fx!1?!3hmO)|v#JBibJxp+RhxZR8~WJI=- z<89|z)slO$R&9lMVuKqm`{LMmU)FBdW?I|2?$?L43(^@ER0>qwy^il4PxBsFwt?h! zY83@kCQ-eE_#oD+J~u;^@=CGW2y$1qCNx&QC?Rt&`y`dN-KLGXMg))jEe!Oo`Rh#h zd9+zaZN^}V*0(Us!x_<80nMUJ+V*a$m!@1ObeqfL!;$8DR?QhVHeep|5^X{qc(5z{ z@aSA^!h%mk2+s#sZ334hx6gMON>c*__db3Z*oYGHPn{gjP$nezNj7vcN%DG0$C_Ws zQ!T=VnvZ72F!thniOsR<<;sMiFrHtxtW2Y48pRfwu&BQJ^v#=-sO(zF$*_-#Ah-_A zQ1%`Xm_-&*Vel5LW6FRR)9-pO zxu^!PA;+ka^*ZlqFcrrqL~4DBx(QV_`9JecSFekHeZDWEhsvGeHLdmLqJ&+6w}f}&2j3M1VG6G9d{{l4<^WtCN)1huL^VnFlk43dDgj8RdlDa4GGP3W== z^Tp1m2;o2v8(}XSS5|d%!T>@2F&O0dKO%)l z@`5uXNbmY}X?J%w+SQ9X15bz_yI=3`k0ftL`^wA9+k2yK|;w)cI@*UONm%SkhDiaCUi^?GiT_zu=yWw1FyNXzr%2yn=$ zW^0uW!~Unk>I%$@i>oX*dfcY@E0 zmsy>D@GC2$cXdxZXdUYdwY5<6EBvf3LM;gk-lccHOA<$0x>;Y1SnRpMqqJahdXs#Q zS$0&bI@`2OXN#gjNK`-1P9nzzr${nm2l<=3da8wwEZJ8T_d>pzR9mGSR}7t3B4E2# z7e(DGDM2Hh=LyrMl*<9nUIcZWbZRx5<2@ZGoR`OTWNqK>@dv>M^yxI-$&VlvY^+3S zZzb5tQkZCOCB89tCPQv&HzCvO#}D0}6Y`%~O&EWDcSb0U7XIR;Q1w_lvO2PCM!8OV zy|kNfK-{)k1d~jq6n~X5>7_G-k4R2YL>Ga}2M~Xr^-RBG-u@4Fw|GnwkP#mkM95{h zH-M8{b=bj)tl7Xm)y zBZF~f)jzt_*{2Dj+1%te*o!6A5n_TzCVeg<8QW4~A!f{9@Hjz6k>boiI58whJgUl_?+<%FFqfVtK;f%dbCi)(eZc5$)3cu^Znzr zK+pvo5fO0*H@>OQqrvs!y!F5|?9SzJ!(_ucVThio-GdBEJPZZuQR%yLRQhX4q zN-^%t*X%%Se)N)PG#6)6Kbx3)fFO8aK@N+d`hCk2gD}o8(_D7e*L8(7;>+#g1gmnD zjvT;trD5vOcK8x~h$^cro0{Tl{Kto(Uw6k9jpli4Ryw`~FC|qgdK8Uxaj1^aijgVu zw&P`OAFdks&e*FqaSqW4SF0p5(@vQw(<9SX4Et9o98mOJsK6myxkX408I`EQr{UUH zM|Z%X`KQ*AFDBPW^0UN!dicF7C!yuNqn*`-AK4KtcNm%b`a)qP!tk+R{EH8TmR05# z)MJi?^y?qFud)+(r{-an^jmI zEN+~rleuUv(`Q;;@lGwPdTf1hyLa8k0Es@-P8+=0ydR%AM(&GPZ@!*+ne6f&xi4v+ z-G2Z(7qzy%1fHAlTct-XB8T>S=SPYcaIKNkll>(~h{mw+9my$e?$XPJRQYAe*+h0G zouK|^R1UCX;jSp{E1yO}_>K~#(J{~FA*K&1E;00O$Tc|Djw@Pko5Q3goMa~vq)e!o%U~w!&Fy`t%9QZ zT)m`u<{0JW`l`v|6XqB^IAU^JdnaF!EE|X?fbeo=X*N*FoWv(ViH|~RttL>+w6g7VeyF=Q5&XP zPlxBDo;#yNl;xvP%6wR{bn>u#^SoQNK0}BOs<{1!Zv~Z3!jBm$sL$_$?a+joGADQn z#^0b#bZQ@oGZtvR$T)6b?T>QWjpp6RM}h0{2K&ztIQsqG#iroLKebqoKv^ul0GdH=5$IOKOMYMF1hvPZb8fu&6_8)0n9TJTFSKC24>hWeVH8uaU#h`o~Pv8hBt3L=U(VM{J6Ro)k>bys}E2* zZDh~Wi#evN(4UTnE!CzG_I%~=xda}7i(rs`W7(Ej`~1h3q(^QJFzvhdDV5QG!0F?fbb2RM4O8zeTEgYJ&Pt$yW|$Md|je2 zUE$yF4Wx;qsnxt78G(gZ3+mZ`by8mC#x9po^L-}v{j|2 zOSXn}#~aIH#_fv_uAX`R;%SS3Y+3iD4a!?8_-Jz#s9k3dQ0U3TP#Kq9XioN4XcE>7k(^&N?&X+t4r|GqY5? zr>7cb^%#!F7c*0157QniQ$XN`hwWf>>}zor;m5s+uR z&pArgd8hO>R~VV^e&F~Sf=qO^nj$uJQV%XKu$aTE<}A_tY$hX&6&$Mz-BxdBO(1Orx>qn1>uE3hrBIhuxY0NVnt(Ev4YKyC+?)a^uu>@kt*MbL*5 z(E=8OwP%tV_rr4I?-?I4lbvx#-)Rxwd@j0FI@2Ch`#gh|q26Z4*f45_0CtBmw>#={ zO!z7U_Hg}B))EM&W2+zQG;Vz-qQ3y~R{i=%m8Me4K%Bnnz6Ia3pPTwQe23KIsp+u+ zn*6d2!{DMm@`06Xz@*H(;{x~7X7;W`2<13=syvQd7r~Q1KDuz>R<%>8ywIy0GRvhp2Rk$qG5WwRYxXx8Inr_s)UaXbFFDPPC|4w_n zWcN+N3$U5+#Bz4R5*&6O@D3bmfpvm041vKox$8?f_`0}0-!mJoc039d$RB^gF)EB_ zJR;sW*kT}gLbkWD;wCdkEu+`1AJWia|^beiQ;=b8oHP)kNL4H2NrOC~WorCsdK z7uw7nA~ebmxbIH>;gNU=Qh3u6XL>a;4f+F)+b_Hz7TDq;ONhqB;wz}NwKdm#5s@z7 z>3p^>d!l%lmzU@6GiUK<-<%GrwVQ6@ew$nCGO;)P#yFk}J&f`D?3J%PCNhH3Rb`|# zC;}=yF*I8G>2fI<(3>Y7BQik!7rXL~lfkhrwauOM?~gt!KK*UV0k*+|M%?;W%Q$Gi zIbRN{urVJG*em8=AbqE09(@!mUx6!aSCm*S`JLXfNABi^pj0eD+=*_~C)BQPOP(lW zS&RC<>+_QbIP-dBtJ?}-t{2Sxm#=8Xo~DXnI35n0oWGG{&Jw{OHmU3etLs=X4xV&j zR@`(Z4AqVj#G;Pmw(2!ZtJWYghmmPxO1Po|E+Lg=$@)eju{!T-D^$gCDfdBvfrsel zONK|9nLCBuv4p~2wBPL>L!99ez$60_fD_-{=iX`ByxJ5_81!UTz_V_*kjK%K34+6X zm{E!;2q!X~0va6aB?PTwBkV3`{?g?(Nq(&DoI`2*NivB!G3CDlm~p^0RlUDtRK6ZARhX#ClZt#^tk?hKQ6O&tZavn~_q<`LicD?P z4k^6~mAD72IZ0k#p)rbub$479^i7d_iWokg@_0W$%4ur3gQ{am^4KpQs#GG=8wFKo zjQvw}jB!`Ly-32VdRHi&{~6O^gC}?23Ca=aO!Hmu@GZn(mJ*=^kq7819I<-5kT>WawKWIXDhNpsRigKU)w); zY&xnDQnWv6b-%&Gt@@qEtDC){m4^>?KdlKEUK}32lpyx*`%M8=cy@2EoVibFd}7DR zR=45RwagaT#f?tD9#`MA9j!cD$VxnNFx2<<6EonxknsM8djG3ekt5ei@|!vc>?sT~ z-JC`JjbcXd&S;Wz&&YG5kU3%b{OTSOog-RIMaN*<0ir`}myvy~nsC|7o-tuTeUatE z6cIGck^-L-tqX%g5%}qr?8}1%QWYmhbj9(n%E@aXse;>rJHw>=`$Da1LB(Qx?h;0qP#%}1a@CRvjY1*5qsC3J z)`ybk)_o;MRZ9R7Bw_QuFk<92q)HdbzQ^l0B=nvK4)Y>^Q;>^E;>c0yG1vRAQYv4! z+#sm52NM{04ydy;=x5zOBU8O3j`lUpM0@eTlOYeI`fD|JReg9z_M8>Jm6u2SBLa+Q zmn;%82N#+dL9+rIl`KC3HZQY(zHh-(VV2=Iv~_A+(UuQm_LwLO zK6#W>;kYyW)a(T&iN~Rd?azVzk;tDE;Z}o#;29u;pDP_A92Ca4G6OCD@LR2wwoz&I1y<_gl3~Nm*`h< z?PP_ra!35Z6#Ad(+5qzf5o*2+^<)Ow(Oui4m}-a7vU4Xl$`TaBA=?!aLphygO<-1;$JNALczGyjL(X5V4FUulV*ob`>z)fN4Aqa| zk~t%Oj_f4h@8*~gn{Y2JAgdEDO~P^M3q&RYJ(Mq;nu{4J{K}&o+F5@SHhS6j11QLL5=cyCHB^FT;**H%IWT4 zn$1Na8eu)%4=pL$cY(NVR+1ZP7{Qofw%@vI%Qp+-s_!BsnbC&@Y;VadJmx7PpPQ^# z;+2Adh&{ob)^T+Oc-+%`8c2Cf0o!x6~ABa z7JkM7kkNcDAQp`K3gz7f8%yb=yxx-=#d6&g7KEpAM}X&l_05;)_s=wE1;JGq@s$D_ zY7hLMayLG-!h{Aqtd1^qmM z&&mSmxfeLPA78^^*28ysWLSKs-&0c{@0-)g85S%bD64nK=}yg&_u|1&l;a4DIKstH zPZgS_BH|boeE_hz>+7`;;y~V2wyedrGh89`p**Ph!!lT78N{O#Qqi`=cXCgU(A+aU z{t&QR;s=^DoJgQ7&Y{MFZ^Q%##AKyp`58?u|f`qVow0AFEQCT**K!FzVPslt-~Sp=1lSvB%`mL;BA^%S zVYHc&ccCVFd?_vaW@sXx5ik#cwX(`_V~#;8ADcH+Y>}q^NO*Nz+N7eR+^BTj8ZShq zAZSv09*Oy-*5|GfmTe;lH)3#k!z07oEHuS&M#L#!1>f8^JaR8P@9s+4s@dv3)MA{{ zp3Zy0h#0Lhktv_RV~~?jeeR{>5gY16+ru7Lm$I9B2kLy@D;#*EHeS%lm*qttI!ia#aW%pN0N{x+eSn&SQ`B%cZ3vt{G}bdRiJv)cw@o zhCK*g<3|jX;ddy7t@_>OjXiGLcW(Rc|McO3ZOq7Tn*;>j12i{N8jtwT!#JoYc`L&M zTkJ6`f2I3+eqgEF8`+aJk$yoKYd$PRYrDc7MGCJKQjySY6^K4?Xpm%!A{L{};bw($ z!b^ev^>uoq?6gVoYiJBJ&tNd#ExgjLbw_-xrkEdXU8|rb9B^Q*qZOPY$h7Bl2Gc6q zC`E{Q^Q$|`uL6%a!^reomUNWfN8vmvHsIf_DM!jl^?h z{A>vblq>^rVm0Kt^?`yXRjTHe$m7-dFyZ13(JlT?ycC0~JO%Jq5v$D6~TX=j5V+Q2TsNkC)JPt-#1IrIOB`h{37L^Wb>;vM? z4li?-5t;QlY*B_om-F#!rp=1A2Gumcv#hZQI|gR=04-q+r`c`PTU;NqdFJ<(`W$d4 z^s@-Z(Xj2DVH|VA*i0`aizq)xl!vpITJn^5nUFlkfQjubyKuwMIAmk@7AMI+`jFD? zaPJb(x}ze%;W|-dP7+V>xLRIM;zBO8>Tu?uNY1Cm+D5qVuX>F3NDBc=d;wr-UpvOgTB$vh`2=Z_Oh&W5LW`9@$Q zSEVHlHH$*$CIzJK&?-2)W*6j|2C%deoO}5Ok_)PZLb+;71=b)95k95L zck*Kz1j}$=S%lP_ewbzDoCI%b$!_=KR@FdMKu3?{O1gaFG$aD=hROk_cx<8)e|l$S zKvs}R%gO1@mN16n1OwRl58H$cKL1lo5NSX0!VSy;!NNT{`tLo!`!;{PU8Df~JHvnV zc9A%1<^zAQ|9|@JBG`YtT?7mC_}90K0HQzMF6z04zFm~E5Q;^pv5PUdY%@(2gC=_e z$_Mb!w~Ka!prifyc2Nd^`$x@x5U#YCW^Weee_I3-zibW9>O~HJv)c+~xc5;0^Lw#A< z7qYpY1=ptS=|uZ$HmB_m4@@!OeY`v$&U~=XbH6w~S|6bobD)dGLq|tPMcv(7XunS^ zknw%O>bOk5xm35|*<#@XYPl3%r|r|dg}Au5ReDd)8$1pRcJo0|W^ET27ag6H*jUV) z=F`*DI){zYXP;a;-%wUtj$NOGdU3Qtm||Jp&gM)(uR*3(lu#ooFc)4L~Fs4s>C?W6h z`bbg7o$1;a3;Rpmik&i4mB2rdK*r}>G_7~Pa5ONO55wmY4=3on+CAC%j)jF~VPV0J zw>6X}-@#vk!3e(Rji3ik08x1X$qkOT=T|~eDk5gR#!A!vn3$M>=Y;$47e^a`0xBvh zq6?lnHwnU-Bqu1wf}YFv=;w&;;RG$fgOzGl=5}-t+ifZ-DY3J&N4`Hf-kK^aV^#s5 zpxeyfyiO5@g@rvtz$0X5W9#njR#sIF3kqUpWj$}7BvQkM&c)9up}Pa~=r?AyTHWz2}l^el9Q7Y zTO9fN^@Wqu*zmCELJ&5Sj$j&bmscD7*gM?_swl-IE?c5~@~?q2bq*p6;rWg#*j;T7 z{J{U_D1Uf5mJBLI{XLLZ5W1yRJ)7Az>pa+sdx4{`nt%fsS#AE-;KQP>G!z1EuhA{i zyC`8`GGdglba%Oiep>WkU(&EC%BWK!9s9%cY?da-~@MfcN^Rt65QS02OHe=an8Nx zo%?In>gm0oXfR+eohqtf7T0bEzKiuDEa5;W@a5P)Tt{{CE z5C2UFqiv@@QpnJEm0z#Jo!xO?nyn(j^Uqj1=h;#n4CBpCGT?BUk_`}{Eup8Ur=_*> zZfAYHy*Y4ZHlHe+f^UhU@!7+C;P82byB5kdu6BpwFQ=iC{r@%RlwYGzbeTMZvgh3U zsfFc%?d)61D;C{?JYFrsPwz+f{M@e6XTC^=;FJHKJ=e4K4lc)iBU97-DFHsdj&x4j zye%O%9A2k`NwS>S>|jEkdfEc9XyRyMKEd&C0JX3jo{)_0t)5_%B~j+Wvb;MG;R|DVL0|nzGZM*oDjC6b zV$G}I&TVYj;+d(pJMaqNVDfW)BGgONb34D!tJBde+>4$(#4dSWU*MqSyLk_SJT7