From 428ab6bd94f9a64cc39a79ed549572ac3d22723b Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Tue, 8 Aug 2023 12:17:41 +0200 Subject: [PATCH 01/57] Upgrade version --- metadata.txt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/metadata.txt b/metadata.txt index 95a51b859..527feb908 100644 --- a/metadata.txt +++ b/metadata.txt @@ -4,17 +4,11 @@ qgisMinimumVersion=3.10 qgisMaximumVersion=3.99 description=Plugin to manage water networks (water supply, sewerage and urban drainage) using QGIS and PostGIS-PostgreSQL(from 9.5 to 15.x) about=Disclaimer: This plugin is released using the open source GNU-GPL3 license. Although a reasonable effort has been made to assure that the results obtained are correct, some of the capabilities provided by Giswater are experimental, therefore the development team and the Giswater Association are not responsible and assume no liability whatsoever for any results or any use made of the results obtained from the program, nor for any damages or litigation that result from the use of these programs for any purpose. -version=3.6.003 +version=3.6.004 author=David Erill, Luigi Pirelli, Natasa Cica, Nestor Ibañez, Barbara Rzepka, Sergi Muñoz, Josep Lluís Sala, Edgar Fusté, Albert Bofill, Sergi Maspons, Elies Bertran, Abel García Juanes, Xavier Torret -Changelog=Version 3.6.003 - - Change layers style when activating/deactivating epa world - - Reduced the time it takes to open the info form - - Fix highlight for polygons - - Go2Epa multistep approach - - Add properties button in dscenario dialog - - Improvements & fixes to flowregulator & demand actions +Changelog=Version 3.6.004 tags= giswater, water networks, sewerage, urban drainage, EPANET, SWMM From 0360260335d6edc5963d71da6805a5f27ed442f1 Mon Sep 17 00:00:00 2001 From: Barbara Rzepka Date: Fri, 11 Aug 2023 08:32:46 +0200 Subject: [PATCH 02/57] example csv for import valve status an dscenario demand --- .../example/csv/import_dscenario_demands.csv | 281 ++++++++++++++++++ resources/example/csv/import_valve_status.csv | 3 + 2 files changed, 284 insertions(+) create mode 100644 resources/example/csv/import_dscenario_demands.csv create mode 100644 resources/example/csv/import_valve_status.csv diff --git a/resources/example/csv/import_dscenario_demands.csv b/resources/example/csv/import_dscenario_demands.csv new file mode 100644 index 000000000..8d7f49364 --- /dev/null +++ b/resources/example/csv/import_dscenario_demands.csv @@ -0,0 +1,281 @@ +dscenario_name;feature_id;feature_type;value;demand_type;source +dem_2022_2;114464;CONNEC;0,0188;Domestic;114464 - 2022 2 - 27(m3/h) +dem_2022_2;3015;CONNEC;0,0299;Domestic;3015 - 2022 2 - 43(m3/h) +dem_2022_2;3048;CONNEC;0,0125;Domestic;3048 - 2022 2 - 18(m3/h) +dem_2022_2;3047;CONNEC;0,009;Domestic;3047 - 2022 2 - 13(m3/h) +dem_2022_2;3049;CONNEC;0,009;Domestic;3049 - 2022 2 - 13(m3/h) +dem_2022_2;3043;CONNEC;0,0354;Domestic;3043 - 2022 2 - 51(m3/h) +dem_2022_2;3050;CONNEC;0,0271;Domestic;3050 - 2022 2 - 39(m3/h) +dem_2022_2;3215;CONNEC;0,0229;Domestic;3215 - 2022 2 - 33(m3/h) +dem_2022_2;3216;CONNEC;0,0146;Domestic;3216 - 2022 2 - 21(m3/h) +dem_2022_2;3103;CONNEC;0,0132;Domestic;3103 - 2022 2 - 19(m3/h) +dem_2022_2;3121;CONNEC;0,0229;Domestic;3121 - 2022 2 - 33(m3/h) +dem_2022_2;3092;CONNEC;0,0063;Domestic;3092 - 2022 2 - 9(m3/h) +dem_2022_2;3090;CONNEC;0,0292;Domestic;3090 - 2022 2 - 42(m3/h) +dem_2022_2;3096;CONNEC;0,0014;Domestic;3096 - 2022 2 - 2(m3/h) +dem_2022_2;3091;CONNEC;0,0278;Domestic;3091 - 2022 2 - 40(m3/h) +dem_2022_2;3097;CONNEC;0,0063;Domestic;3097 - 2022 2 - 9(m3/h) +dem_2022_2;3104;CONNEC;0,0396;Domestic;3104 - 2022 2 - 57(m3/h) +dem_2022_2;3095;CONNEC;0,0097;Domestic;3095 - 2022 2 - 14(m3/h) +dem_2022_2;3094;CONNEC;0,0063;Domestic;3094 - 2022 2 - 9(m3/h) +dem_2022_2;3093;CONNEC;0,0278;Domestic;3093 - 2022 2 - 40(m3/h) +dem_2022_2;3008;CONNEC;0,0194;Domestic;3008 - 2022 2 - 28(m3/h) +dem_2022_2;3009;CONNEC;0,0236;Domestic;3009 - 2022 2 - 34(m3/h) +dem_2022_2;3001;CONNEC;0,0243;Domestic;3001 - 2022 2 - 35(m3/h) +dem_2022_2;3072;CONNEC;0,0417;Domestic;3072 - 2022 2 - 60(m3/h) +dem_2022_2;3071;CONNEC;0,0007;Domestic;3071 - 2022 2 - 1(m3/h) +dem_2022_2;3070;CONNEC;0,0194;Domestic;3070 - 2022 2 - 28(m3/h) +dem_2022_2;3074;CONNEC;0,0306;Domestic;3074 - 2022 2 - 44(m3/h) +dem_2022_2;3023;CONNEC;0,0132;Domestic;3023 - 2022 2 - 19(m3/h) +dem_2022_2;3143;CONNEC;0,0097;Domestic;3143 - 2022 2 - 14(m3/h) +dem_2022_2;3144;CONNEC;0,0097;Domestic;3144 - 2022 2 - 14(m3/h) +dem_2022_2;3140;CONNEC;0,0361;Domestic;3140 - 2022 2 - 52(m3/h) +dem_2022_2;3141;CONNEC;0,0278;Domestic;3141 - 2022 2 - 40(m3/h) +dem_2022_2;3002;CONNEC;0,0236;Domestic;3002 - 2022 2 - 34(m3/h) +dem_2022_2;3212;CONNEC;0,0153;Domestic;3212 - 2022 2 - 22(m3/h) +dem_2022_2;3222;CONNEC;0,0139;Domestic;3222 - 2022 2 - 20(m3/h) +dem_2022_2;3211;CONNEC;0,0236;Domestic;3211 - 2022 2 - 34(m3/h) +dem_2022_2;3275;CONNEC;0,0069;Domestic;3275 - 2022 2 - 10(m3/h) +dem_2022_2;3210;CONNEC;0,0299;Domestic;3210 - 2022 2 - 43(m3/h) +dem_2022_2;3209;CONNEC;0,0021;Domestic;3209 - 2022 2 - 3(m3/h) +dem_2022_2;3213;CONNEC;0,0285;Domestic;3213 - 2022 2 - 41(m3/h) +dem_2022_2;3243;CONNEC;0,0069;Domestic;3243 - 2022 2 - 10(m3/h) +dem_2022_2;3242;CONNEC;0,0403;Domestic;3242 - 2022 2 - 58(m3/h) +dem_2022_2;3224;CONNEC;0,0104;Domestic;3224 - 2022 2 - 15(m3/h) +dem_2022_2;3223;CONNEC;0,0069;Domestic;3223 - 2022 2 - 10(m3/h) +dem_2022_2;3017;CONNEC;0,0285;Domestic;3017 - 2022 2 - 41(m3/h) +dem_2022_2;3016;CONNEC;0,0201;Domestic;3016 - 2022 2 - 29(m3/h) +dem_2022_2;3229;CONNEC;0,0243;Domestic;3229 - 2022 2 - 35(m3/h) +dem_2022_2;3228;CONNEC;0,025;Domestic;3228 - 2022 2 - 36(m3/h) +dem_2022_2;3255;CONNEC;0,0424;Domestic;3255 - 2022 2 - 61(m3/h) +dem_2022_2;3230;CONNEC;0,0014;Domestic;3230 - 2022 2 - 2(m3/h) +dem_2022_2;3254;CONNEC;0,0201;Domestic;3254 - 2022 2 - 29(m3/h) +dem_2022_2;3256;CONNEC;0,0313;Domestic;3256 - 2022 2 - 45(m3/h) +dem_2022_2;3184;CONNEC;0,0139;Domestic;3184 - 2022 2 - 20(m3/h) +dem_2022_2;3183;CONNEC;0,0104;Domestic;3183 - 2022 2 - 15(m3/h) +dem_2022_2;3182;CONNEC;0,0104;Domestic;3182 - 2022 2 - 15(m3/h) +dem_2022_2;3181;CONNEC;0,0368;Domestic;3181 - 2022 2 - 53(m3/h) +dem_2022_2;3266;CONNEC;0,0285;Domestic;3266 - 2022 2 - 41(m3/h) +dem_2022_2;3268;CONNEC;0,0243;Domestic;3268 - 2022 2 - 35(m3/h) +dem_2022_2;3263;CONNEC;0,016;Domestic;3263 - 2022 2 - 23(m3/h) +dem_2022_2;3233;CONNEC;0,0146;Domestic;3233 - 2022 2 - 21(m3/h) +dem_2022_2;3234;CONNEC;0,0243;Domestic;3234 - 2022 2 - 35(m3/h) +dem_2022_2;3020;CONNEC;0,0076;Domestic;3020 - 2022 2 - 11(m3/h) +dem_2022_2;3025;CONNEC;0,0306;Domestic;3025 - 2022 2 - 44(m3/h) +dem_2022_2;3024;CONNEC;0,0028;Domestic;3024 - 2022 2 - 4(m3/h) +dem_2022_2;3022;CONNEC;0,0292;Domestic;3022 - 2022 2 - 42(m3/h) +dem_2022_2;3030;CONNEC;0,0076;Domestic;3030 - 2022 2 - 11(m3/h) +dem_2022_2;3021;CONNEC;0,041;Domestic;3021 - 2022 2 - 59(m3/h) +dem_2022_2;3027;CONNEC;0,0111;Domestic;3027 - 2022 2 - 16(m3/h) +dem_2022_2;3026;CONNEC;0,0076;Domestic;3026 - 2022 2 - 11(m3/h) +dem_2022_2;3054;CONNEC;0,0292;Domestic;3054 - 2022 2 - 42(m3/h) +dem_2022_2;3053;CONNEC;0,0208;Domestic;3053 - 2022 2 - 30(m3/h) +dem_2022_2;3056;CONNEC;0,025;Domestic;3056 - 2022 2 - 36(m3/h) +dem_2022_2;3055;CONNEC;0,0257;Domestic;3055 - 2022 2 - 37(m3/h) +dem_2022_2;3163;CONNEC;0,0431;Domestic;3163 - 2022 2 - 62(m3/h) +dem_2022_2;3164;CONNEC;0,0021;Domestic;3164 - 2022 2 - 3(m3/h) +dem_2022_2;3173;CONNEC;0,0208;Domestic;3173 - 2022 2 - 30(m3/h) +dem_2022_2;3165;CONNEC;0,0319;Domestic;3165 - 2022 2 - 46(m3/h) +dem_2022_2;3244;CONNEC;0,0146;Domestic;3244 - 2022 2 - 21(m3/h) +dem_2022_2;3245;CONNEC;0,0111;Domestic;3245 - 2022 2 - 16(m3/h) +dem_2022_2;3004;CONNEC;0,0111;Domestic;3004 - 2022 2 - 16(m3/h) +dem_2022_2;3006;CONNEC;0,0375;Domestic;3006 - 2022 2 - 54(m3/h) +dem_2022_2;3078;CONNEC;0,0292;Domestic;3078 - 2022 2 - 42(m3/h) +dem_2022_2;3075;CONNEC;0,025;Domestic;3075 - 2022 2 - 36(m3/h) +dem_2022_2;3077;CONNEC;0,0167;Domestic;3077 - 2022 2 - 24(m3/h) +dem_2022_2;3073;CONNEC;0,0153;Domestic;3073 - 2022 2 - 22(m3/h) +dem_2022_2;3155;CONNEC;0,025;Domestic;3155 - 2022 2 - 36(m3/h) +dem_2022_2;3108;CONNEC;0,0083;Domestic;3108 - 2022 2 - 12(m3/h) +dem_2022_2;3231;CONNEC;0,0313;Domestic;3231 - 2022 2 - 45(m3/h) +dem_2022_2;3232;CONNEC;0,0035;Domestic;3232 - 2022 2 - 5(m3/h) +dem_2022_2;3079;CONNEC;0,0299;Domestic;3079 - 2022 2 - 43(m3/h) +dem_2022_2;3145;CONNEC;0,0083;Domestic;3145 - 2022 2 - 12(m3/h) +dem_2022_2;3148;CONNEC;0,0417;Domestic;3148 - 2022 2 - 60(m3/h) +dem_2022_2;3147;CONNEC;0,0118;Domestic;3147 - 2022 2 - 17(m3/h) +dem_2022_2;3146;CONNEC;0,0083;Domestic;3146 - 2022 2 - 12(m3/h) +dem_2022_2;3119;CONNEC;0,0299;Domestic;3119 - 2022 2 - 43(m3/h) +dem_2022_2;3120;CONNEC;0,0215;Domestic;3120 - 2022 2 - 31(m3/h) +dem_2022_2;3112;CONNEC;0,0257;Domestic;3112 - 2022 2 - 37(m3/h) +dem_2022_2;3115;CONNEC;0,0264;Domestic;3115 - 2022 2 - 38(m3/h) +dem_2022_2;3113;CONNEC;0,0438;Domestic;3113 - 2022 2 - 63(m3/h) +dem_2022_2;3128;CONNEC;0,0028;Domestic;3128 - 2022 2 - 4(m3/h) +dem_2022_2;3125;CONNEC;0,0215;Domestic;3125 - 2022 2 - 31(m3/h) +dem_2022_2;3127;CONNEC;0,0326;Domestic;3127 - 2022 2 - 47(m3/h) +dem_2022_2;3124;CONNEC;0,0153;Domestic;3124 - 2022 2 - 22(m3/h) +dem_2022_2;3123;CONNEC;0,0118;Domestic;3123 - 2022 2 - 17(m3/h) +dem_2022_2;3116;CONNEC;0,0118;Domestic;3116 - 2022 2 - 17(m3/h) +dem_2022_2;3126;CONNEC;0,0382;Domestic;3126 - 2022 2 - 55(m3/h) +dem_2022_2;3129;CONNEC;0,0299;Domestic;3129 - 2022 2 - 43(m3/h) +dem_2022_2;3007;CONNEC;0,0257;Domestic;3007 - 2022 2 - 37(m3/h) +dem_2022_2;3170;CONNEC;0,0174;Domestic;3170 - 2022 2 - 25(m3/h) +dem_2022_2;3174;CONNEC;0,016;Domestic;3174 - 2022 2 - 23(m3/h) +dem_2022_2;3036;CONNEC;0,0257;Domestic;3036 - 2022 2 - 37(m3/h) +dem_2022_2;3040;CONNEC;0,009;Domestic;3040 - 2022 2 - 13(m3/h) +dem_2022_2;3035;CONNEC;0,0319;Domestic;3035 - 2022 2 - 46(m3/h) +dem_2022_2;3037;CONNEC;0,0042;Domestic;3037 - 2022 2 - 6(m3/h) +dem_2022_2;3039;CONNEC;0,0306;Domestic;3039 - 2022 2 - 44(m3/h) +dem_2022_2;3204;CONNEC;0,009;Domestic;3204 - 2022 2 - 13(m3/h) +dem_2022_2;3208;CONNEC;0,0424;Domestic;3208 - 2022 2 - 61(m3/h) +dem_2022_2;3207;CONNEC;0,0125;Domestic;3207 - 2022 2 - 18(m3/h) +dem_2022_2;3205;CONNEC;0,009;Domestic;3205 - 2022 2 - 13(m3/h) +dem_2022_2;3206;CONNEC;0,0306;Domestic;3206 - 2022 2 - 44(m3/h) +dem_2022_2;3038;CONNEC;0,0222;Domestic;3038 - 2022 2 - 32(m3/h) +dem_2022_2;3057;CONNEC;0,0264;Domestic;3057 - 2022 2 - 38(m3/h) +dem_2022_2;3058;CONNEC;0,0271;Domestic;3058 - 2022 2 - 39(m3/h) +dem_2022_2;3051;CONNEC;0,0444;Domestic;3051 - 2022 2 - 64(m3/h) +dem_2022_2;3052;CONNEC;0,0035;Domestic;3052 - 2022 2 - 5(m3/h) +dem_2022_2;3081;CONNEC;0,0222;Domestic;3081 - 2022 2 - 32(m3/h) +dem_2022_2;3069;CONNEC;0,0333;Domestic;3069 - 2022 2 - 48(m3/h) +dem_2022_2;3192;CONNEC;0,016;Domestic;3192 - 2022 2 - 23(m3/h) +dem_2022_2;3188;CONNEC;0,0125;Domestic;3188 - 2022 2 - 18(m3/h) +dem_2022_2;3190;CONNEC;0,0125;Domestic;3190 - 2022 2 - 18(m3/h) +dem_2022_2;3187;CONNEC;0,0389;Domestic;3187 - 2022 2 - 56(m3/h) +dem_2022_2;3191;CONNEC;0,0306;Domestic;3191 - 2022 2 - 44(m3/h) +dem_2022_2;3185;CONNEC;0,0264;Domestic;3185 - 2022 2 - 38(m3/h) +dem_2022_2;3186;CONNEC;0,0181;Domestic;3186 - 2022 2 - 26(m3/h) +dem_2022_2;3189;CONNEC;0,0167;Domestic;3189 - 2022 2 - 24(m3/h) +dem_2022_2;3005;CONNEC;0,0264;Domestic;3005 - 2022 2 - 38(m3/h) +dem_2022_2;3014;CONNEC;0,0097;Domestic;3014 - 2022 2 - 14(m3/h) +dem_2022_2;3265;CONNEC;0,0326;Domestic;3265 - 2022 2 - 47(m3/h) +dem_2022_2;3264;CONNEC;0,0049;Domestic;3264 - 2022 2 - 7(m3/h) +dem_2022_2;3259;CONNEC;0,0313;Domestic;3259 - 2022 2 - 45(m3/h) +dem_2022_2;3260;CONNEC;0,0097;Domestic;3260 - 2022 2 - 14(m3/h) +dem_2022_2;3101;CONNEC;0,0431;Domestic;3101 - 2022 2 - 62(m3/h) +dem_2022_2;3098;CONNEC;0,0132;Domestic;3098 - 2022 2 - 19(m3/h) +dem_2022_2;3099;CONNEC;0,0097;Domestic;3099 - 2022 2 - 14(m3/h) +dem_2022_2;3100;CONNEC;0,0313;Domestic;3100 - 2022 2 - 45(m3/h) +dem_2022_2;3134;CONNEC;0,0229;Domestic;3134 - 2022 2 - 33(m3/h) +dem_2022_2;3137;CONNEC;0,0271;Domestic;3137 - 2022 2 - 39(m3/h) +dem_2022_2;3153;CONNEC;0,0278;Domestic;3153 - 2022 2 - 40(m3/h) +dem_2022_2;3135;CONNEC;0,0451;Domestic;3135 - 2022 2 - 65(m3/h) +dem_2022_2;3200;CONNEC;0,0042;Domestic;3200 - 2022 2 - 6(m3/h) +dem_2022_2;3198;CONNEC;0,0229;Domestic;3198 - 2022 2 - 33(m3/h) +dem_2022_2;3199;CONNEC;0,034;Domestic;3199 - 2022 2 - 49(m3/h) +dem_2022_2;3201;CONNEC;0,0167;Domestic;3201 - 2022 2 - 24(m3/h) +dem_2022_2;3118;CONNEC;0,0132;Domestic;3118 - 2022 2 - 19(m3/h) +dem_2022_2;3109;CONNEC;0,0132;Domestic;3109 - 2022 2 - 19(m3/h) +dem_2022_2;3117;CONNEC;0,0396;Domestic;3117 - 2022 2 - 57(m3/h) +dem_2022_2;3168;CONNEC;0,0313;Domestic;3168 - 2022 2 - 45(m3/h) +dem_2022_2;3171;CONNEC;0,0271;Domestic;3171 - 2022 2 - 39(m3/h) +dem_2022_2;3151;CONNEC;0,0188;Domestic;3151 - 2022 2 - 27(m3/h) +dem_2022_2;3159;CONNEC;0,0174;Domestic;3159 - 2022 2 - 25(m3/h) +dem_2022_2;3167;CONNEC;0,0271;Domestic;3167 - 2022 2 - 39(m3/h) +dem_2022_2;3154;CONNEC;0,0104;Domestic;3154 - 2022 2 - 15(m3/h) +dem_2022_2;3166;CONNEC;0,0333;Domestic;3166 - 2022 2 - 48(m3/h) +dem_2022_2;3150;CONNEC;0,0056;Domestic;3150 - 2022 2 - 8(m3/h) +dem_2022_2;3142;CONNEC;0,0319;Domestic;3142 - 2022 2 - 46(m3/h) +dem_2022_2;3172;CONNEC;0,0104;Domestic;3172 - 2022 2 - 15(m3/h) +dem_2022_2;3160;CONNEC;0,0438;Domestic;3160 - 2022 2 - 63(m3/h) +dem_2022_2;3138;CONNEC;0,0139;Domestic;3138 - 2022 2 - 20(m3/h) +dem_2022_2;3139;CONNEC;0,0104;Domestic;3139 - 2022 2 - 15(m3/h) +dem_2022_2;3169;CONNEC;0,0319;Domestic;3169 - 2022 2 - 46(m3/h) +dem_2022_2;3136;CONNEC;0,0236;Domestic;3136 - 2022 2 - 34(m3/h) +dem_2022_2;3133;CONNEC;0,0278;Domestic;3133 - 2022 2 - 40(m3/h) +dem_2022_2;3130;CONNEC;0,0285;Domestic;3130 - 2022 2 - 41(m3/h) +dem_2022_2;3132;CONNEC;0,0458;Domestic;3132 - 2022 2 - 66(m3/h) +dem_2022_2;3131;CONNEC;0,0049;Domestic;3131 - 2022 2 - 7(m3/h) +dem_2022_2;3088;CONNEC;0,0236;Domestic;3088 - 2022 2 - 34(m3/h) +dem_2022_2;3089;CONNEC;0,0347;Domestic;3089 - 2022 2 - 50(m3/h) +dem_2022_2;3086;CONNEC;0,0174;Domestic;3086 - 2022 2 - 25(m3/h) +dem_2022_2;3087;CONNEC;0,0139;Domestic;3087 - 2022 2 - 20(m3/h) +dem_2022_2;3041;CONNEC;0,0139;Domestic;3041 - 2022 2 - 20(m3/h) +dem_2022_2;3028;CONNEC;0,0403;Domestic;3028 - 2022 2 - 58(m3/h) +dem_2022_2;3046;CONNEC;0,0319;Domestic;3046 - 2022 2 - 46(m3/h) +dem_2022_2;3042;CONNEC;0,0278;Domestic;3042 - 2022 2 - 40(m3/h) +dem_2022_2;3045;CONNEC;0,0194;Domestic;3045 - 2022 2 - 28(m3/h) +dem_2022_2;3111;CONNEC;0,0181;Domestic;3111 - 2022 2 - 26(m3/h) +dem_2022_2;3110;CONNEC;0,0278;Domestic;3110 - 2022 2 - 40(m3/h) +dem_2022_2;3114;CONNEC;0,0111;Domestic;3114 - 2022 2 - 16(m3/h) +dem_2022_2;3197;CONNEC;0,034;Domestic;3197 - 2022 2 - 49(m3/h) +dem_2022_2;3193;CONNEC;0,0063;Domestic;3193 - 2022 2 - 9(m3/h) +dem_2022_2;3195;CONNEC;0,0326;Domestic;3195 - 2022 2 - 47(m3/h) +dem_2022_2;3194;CONNEC;0,0111;Domestic;3194 - 2022 2 - 16(m3/h) +dem_2022_2;3196;CONNEC;0,0444;Domestic;3196 - 2022 2 - 64(m3/h) +dem_2022_2;3218;CONNEC;0,0146;Domestic;3218 - 2022 2 - 21(m3/h) +dem_2022_2;3217;CONNEC;0,0111;Domestic;3217 - 2022 2 - 16(m3/h) +dem_2022_2;3214;CONNEC;0,0326;Domestic;3214 - 2022 2 - 47(m3/h) +dem_2022_2;3277;CONNEC;0,0243;Domestic;3277 - 2022 2 - 35(m3/h) +dem_2022_2;3276;CONNEC;0,0285;Domestic;3276 - 2022 2 - 41(m3/h) +dem_2022_2;3080;CONNEC;0,0292;Domestic;3080 - 2022 2 - 42(m3/h) +dem_2022_2;3203;CONNEC;0,0465;Domestic;3203 - 2022 2 - 67(m3/h) +dem_2022_2;3202;CONNEC;0,0056;Domestic;3202 - 2022 2 - 8(m3/h) +dem_2022_2;3102;CONNEC;0,0243;Domestic;3102 - 2022 2 - 35(m3/h) +dem_2022_2;3032;CONNEC;0,0354;Domestic;3032 - 2022 2 - 51(m3/h) +dem_2022_2;3033;CONNEC;0,0181;Domestic;3033 - 2022 2 - 26(m3/h) +dem_2022_2;3044;CONNEC;0,0146;Domestic;3044 - 2022 2 - 21(m3/h) +dem_2022_2;3031;CONNEC;0,0146;Domestic;3031 - 2022 2 - 21(m3/h) +dem_2022_2;3034;CONNEC;0,041;Domestic;3034 - 2022 2 - 59(m3/h) +dem_2022_2;3302;CONNEC;0,0326;Domestic;3302 - 2022 2 - 47(m3/h) +dem_2022_2;3301;CONNEC;0,0285;Domestic;3301 - 2022 2 - 41(m3/h) +dem_2022_2;3300;CONNEC;0,0201;Domestic;3300 - 2022 2 - 29(m3/h) +dem_2022_2;3158;CONNEC;0,0188;Domestic;3158 - 2022 2 - 27(m3/h) +dem_2022_2;3161;CONNEC;0,0285;Domestic;3161 - 2022 2 - 41(m3/h) +dem_2022_2;3156;CONNEC;0,0118;Domestic;3156 - 2022 2 - 17(m3/h) +dem_2022_2;3157;CONNEC;0,0347;Domestic;3157 - 2022 2 - 50(m3/h) +dem_2022_2;3162;CONNEC;0,0069;Domestic;3162 - 2022 2 - 10(m3/h) +dem_2022_2;3278;CONNEC;0,0333;Domestic;3278 - 2022 2 - 48(m3/h) +dem_2022_2;3267;CONNEC;0,0118;Domestic;3267 - 2022 2 - 17(m3/h) +dem_2022_2;3269;CONNEC;0,0451;Domestic;3269 - 2022 2 - 65(m3/h) +dem_2022_2;3272;CONNEC;0,0153;Domestic;3272 - 2022 2 - 22(m3/h) +dem_2022_2;3270;CONNEC;0,0118;Domestic;3270 - 2022 2 - 17(m3/h) +dem_2022_2;3271;CONNEC;0,0333;Domestic;3271 - 2022 2 - 48(m3/h) +dem_2022_2;3273;CONNEC;0,025;Domestic;3273 - 2022 2 - 36(m3/h) +dem_2022_2;3227;CONNEC;0,0292;Domestic;3227 - 2022 2 - 42(m3/h) +dem_2022_2;3274;CONNEC;0,0299;Domestic;3274 - 2022 2 - 43(m3/h) +dem_2022_2;3261;CONNEC;0,0472;Domestic;3261 - 2022 2 - 68(m3/h) +dem_2022_2;3219;CONNEC;0,0063;Domestic;3219 - 2022 2 - 9(m3/h) +dem_2022_2;3221;CONNEC;0,025;Domestic;3221 - 2022 2 - 36(m3/h) +dem_2022_2;3225;CONNEC;0,0361;Domestic;3225 - 2022 2 - 52(m3/h) +dem_2022_2;3258;CONNEC;0,0188;Domestic;3258 - 2022 2 - 27(m3/h) +dem_2022_2;3257;CONNEC;0,0153;Domestic;3257 - 2022 2 - 22(m3/h) +dem_2022_2;3226;CONNEC;0,0153;Domestic;3226 - 2022 2 - 22(m3/h) +dem_2022_2;3220;CONNEC;0,0417;Domestic;3220 - 2022 2 - 60(m3/h) +dem_2022_2;3262;CONNEC;0,0333;Domestic;3262 - 2022 2 - 48(m3/h) +dem_2022_2;3252;CONNEC;0,0292;Domestic;3252 - 2022 2 - 42(m3/h) +dem_2022_2;3253;CONNEC;0,0208;Domestic;3253 - 2022 2 - 30(m3/h) +dem_2022_2;3251;CONNEC;0,0194;Domestic;3251 - 2022 2 - 28(m3/h) +dem_2022_2;3250;CONNEC;0,0292;Domestic;3250 - 2022 2 - 42(m3/h) +dem_2022_2;3248;CONNEC;0,0125;Domestic;3248 - 2022 2 - 18(m3/h) +dem_2022_2;3247;CONNEC;0,0354;Domestic;3247 - 2022 2 - 51(m3/h) +dem_2022_2;3246;CONNEC;0,0076;Domestic;3246 - 2022 2 - 11(m3/h) +dem_2022_2;3249;CONNEC;0,034;Domestic;3249 - 2022 2 - 49(m3/h) +dem_2022_2;3010;CONNEC;0,0125;Domestic;3010 - 2022 2 - 18(m3/h) +dem_2022_2;3018;CONNEC;0,0458;Domestic;3018 - 2022 2 - 66(m3/h) +dem_2022_2;3013;CONNEC;0,016;Domestic;3013 - 2022 2 - 23(m3/h) +dem_2022_2;3011;CONNEC;0,0125;Domestic;3011 - 2022 2 - 18(m3/h) +dem_2022_2;3012;CONNEC;0,034;Domestic;3012 - 2022 2 - 49(m3/h) +dem_2022_2;3019;CONNEC;0,0257;Domestic;3019 - 2022 2 - 37(m3/h) +dem_2022_2;3029;CONNEC;0,0299;Domestic;3029 - 2022 2 - 43(m3/h) +dem_2022_2;3239;CONNEC;0,0306;Domestic;3239 - 2022 2 - 44(m3/h) +dem_2022_2;3085;CONNEC;0,0479;Domestic;3085 - 2022 2 - 69(m3/h) +dem_2022_2;3083;CONNEC;0,0069;Domestic;3083 - 2022 2 - 10(m3/h) +dem_2022_2;3084;CONNEC;0,0257;Domestic;3084 - 2022 2 - 37(m3/h) +dem_2022_2;3082;CONNEC;0,0368;Domestic;3082 - 2022 2 - 53(m3/h) +dem_2022_2;3179;CONNEC;0,0194;Domestic;3179 - 2022 2 - 28(m3/h) +dem_2022_2;3064;CONNEC;0,016;Domestic;3064 - 2022 2 - 23(m3/h) +dem_2022_2;3063;CONNEC;0,016;Domestic;3063 - 2022 2 - 23(m3/h) +dem_2022_2;3176;CONNEC;0,0424;Domestic;3176 - 2022 2 - 61(m3/h) +dem_2022_2;3065;CONNEC;0,034;Domestic;3065 - 2022 2 - 49(m3/h) +dem_2022_2;3178;CONNEC;0,0299;Domestic;3178 - 2022 2 - 43(m3/h) +dem_2022_2;3067;CONNEC;0,0215;Domestic;3067 - 2022 2 - 31(m3/h) +dem_2022_2;3068;CONNEC;0,0201;Domestic;3068 - 2022 2 - 29(m3/h) +dem_2022_2;3060;CONNEC;0,0299;Domestic;3060 - 2022 2 - 43(m3/h) +dem_2022_2;3066;CONNEC;0,0132;Domestic;3066 - 2022 2 - 19(m3/h) +dem_2022_2;3062;CONNEC;0,0361;Domestic;3062 - 2022 2 - 52(m3/h) +dem_2022_2;3106;CONNEC;0,0083;Domestic;3106 - 2022 2 - 12(m3/h) +dem_2022_2;3059;CONNEC;0,0347;Domestic;3059 - 2022 2 - 50(m3/h) +dem_2022_2;3107;CONNEC;0,0132;Domestic;3107 - 2022 2 - 19(m3/h) +dem_2022_2;3061;CONNEC;0,0465;Domestic;3061 - 2022 2 - 67(m3/h) +dem_2022_2;3180;CONNEC;0,0167;Domestic;3180 - 2022 2 - 24(m3/h) +dem_2022_2;3105;CONNEC;0,0132;Domestic;3105 - 2022 2 - 19(m3/h) +dem_2022_2;3003;CONNEC;0,0347;Domestic;3003 - 2022 2 - 50(m3/h) +dem_2022_2;3238;CONNEC;0,0264;Domestic;3238 - 2022 2 - 38(m3/h) +dem_2022_2;3235;CONNEC;0,0306;Domestic;3235 - 2022 2 - 44(m3/h) +dem_2022_2;3240;CONNEC;0,0313;Domestic;3240 - 2022 2 - 45(m3/h) +dem_2022_2;3241;CONNEC;0,0486;Domestic;3241 - 2022 2 - 70(m3/h) +dem_2022_2;3237;CONNEC;0,0076;Domestic;3237 - 2022 2 - 11(m3/h) +dem_2022_2;3149;CONNEC;0,0264;Domestic;3149 - 2022 2 - 38(m3/h) +dem_2022_2;3152;CONNEC;0,0375;Domestic;3152 - 2022 2 - 54(m3/h) +dem_2022_2;3236;CONNEC;0,0201;Domestic;3236 - 2022 2 - 29(m3/h) +dem_2022_2;3076;CONNEC;0,0167;Domestic;3076 - 2022 2 - 24(m3/h) +dem_2022_2;3177;CONNEC;0,0181;Domestic;3177 - 2022 2 - 26(m3/h) diff --git a/resources/example/csv/import_valve_status.csv b/resources/example/csv/import_valve_status.csv new file mode 100644 index 000000000..ed729eab3 --- /dev/null +++ b/resources/example/csv/import_valve_status.csv @@ -0,0 +1,3 @@ +dscenario_name;node_id;status +dsc_valve_closed;1090;CLOSED +dsc_valve_closed;1091;CLOSED From f72d385a43816ce1f3687dbc6c8cb087a45ae43a Mon Sep 17 00:00:00 2001 From: "xtorret@bgeo.es" Date: Wed, 16 Aug 2023 14:30:46 +0200 Subject: [PATCH 03/57] Harmonize names of example files and adding csv example for flowmeter values --- ...ario_demands.csv => dscenario_demands.csv} | 0 ..._status.csv => dscenario_valve_status.csv} | 0 .../example/csv/ext_rtc_hdyrometer_x_data.csv | 7195 ----------------- .../example/csv/ext_rtc_scada_cum_values.csv | 93 - .../csv/ext_rtc_scada_daily_values.csv | 553 -- .../example/csv/ext_rtc_scada_x_data.csv | 19 - .../{addfields.csv => feature_addfields.csv} | 0 ...{dxf_blocks.csv => feature_dxf_blocks.csv} | 0 .../{elements.csv => feature_elements.csv} | 0 ...t_period.csv => hydrometer_cat_period.csv} | 0 ...meter_x_data.csv => hydrometer_values.csv} | 0 .../{db_prices_ud.csv => plan_prices_ud.csv} | 0 .../{db_prices_ws.csv => plan_prices_ws.csv} | 0 .../csv/scada_flowmeter_agg_values.csv | 93 + .../csv/scada_flowmeter_daily_values.csv | 553 ++ resources/example/csv/scada_values.csv | 553 ++ 16 files changed, 1199 insertions(+), 7860 deletions(-) rename resources/example/csv/{import_dscenario_demands.csv => dscenario_demands.csv} (100%) rename resources/example/csv/{import_valve_status.csv => dscenario_valve_status.csv} (100%) delete mode 100644 resources/example/csv/ext_rtc_hdyrometer_x_data.csv delete mode 100644 resources/example/csv/ext_rtc_scada_cum_values.csv delete mode 100644 resources/example/csv/ext_rtc_scada_daily_values.csv delete mode 100644 resources/example/csv/ext_rtc_scada_x_data.csv rename resources/example/csv/{addfields.csv => feature_addfields.csv} (100%) rename resources/example/csv/{dxf_blocks.csv => feature_dxf_blocks.csv} (100%) rename resources/example/csv/{elements.csv => feature_elements.csv} (100%) rename resources/example/csv/{ext_cat_period.csv => hydrometer_cat_period.csv} (100%) rename resources/example/csv/{ext_rtc_hydrometer_x_data.csv => hydrometer_values.csv} (100%) rename resources/example/csv/{db_prices_ud.csv => plan_prices_ud.csv} (100%) rename resources/example/csv/{db_prices_ws.csv => plan_prices_ws.csv} (100%) create mode 100644 resources/example/csv/scada_flowmeter_agg_values.csv create mode 100644 resources/example/csv/scada_flowmeter_daily_values.csv create mode 100644 resources/example/csv/scada_values.csv diff --git a/resources/example/csv/import_dscenario_demands.csv b/resources/example/csv/dscenario_demands.csv similarity index 100% rename from resources/example/csv/import_dscenario_demands.csv rename to resources/example/csv/dscenario_demands.csv diff --git a/resources/example/csv/import_valve_status.csv b/resources/example/csv/dscenario_valve_status.csv similarity index 100% rename from resources/example/csv/import_valve_status.csv rename to resources/example/csv/dscenario_valve_status.csv diff --git a/resources/example/csv/ext_rtc_hdyrometer_x_data.csv b/resources/example/csv/ext_rtc_hdyrometer_x_data.csv deleted file mode 100644 index 8ad84107e..000000000 --- a/resources/example/csv/ext_rtc_hdyrometer_x_data.csv +++ /dev/null @@ -1,7195 +0,0 @@ -hydrometer_id;cat_period_id;value;value_date -2;5;9,706;01/05/17 -3;5;11,168;01/05/17 -4;5;11,679;01/05/17 -5;5;8,849;01/05/17 -6;5;7,529;01/05/17 -7;5;7,091;01/05/17 -8;5;5,746;01/05/17 -9;5;11,379;01/05/17 -10;5;10,664;01/05/17 -11;5;9,438;01/05/17 -12;5;10,189;01/05/17 -13;5;5,774;01/05/17 -14;5;11,98;01/05/17 -15;5;10,686;01/05/17 -16;5;6,991;01/05/17 -17;5;10,695;01/05/17 -18;5;3,232;01/05/17 -19;5;8,395;01/05/17 -20;5;4,951;01/05/17 -21;5;7,341;01/05/17 -22;5;9,697;01/05/17 -23;5;7,799;01/05/17 -24;5;5,989;01/05/17 -25;5;4,086;01/05/17 -26;5;10,637;01/05/17 -27;5;7,49;01/05/17 -28;5;3,593;01/05/17 -29;5;4,849;01/05/17 -30;5;8,483;01/05/17 -31;5;4,779;01/05/17 -32;5;5,099;01/05/17 -33;5;4,151;01/05/17 -34;5;5,133;01/05/17 -35;5;11,287;01/05/17 -36;5;4,389;01/05/17 -37;5;7,062;01/05/17 -38;5;10,9;01/05/17 -39;5;10,897;01/05/17 -40;5;10,232;01/05/17 -41;5;9,103;01/05/17 -42;5;9,955;01/05/17 -43;5;9,56;01/05/17 -44;5;5,453;01/05/17 -45;5;6,008;01/05/17 -46;5;11,496;01/05/17 -47;5;11,533;01/05/17 -48;5;4,311;01/05/17 -49;5;11,139;01/05/17 -50;5;5,496;01/05/17 -51;5;7,529;01/05/17 -52;5;10,513;01/05/17 -53;5;11,864;01/05/17 -54;5;8,598;01/05/17 -55;5;4,265;01/05/17 -56;5;4,44;01/05/17 -57;5;9,303;01/05/17 -58;5;3,538;01/05/17 -59;5;5,222;01/05/17 -60;5;10,993;01/05/17 -61;5;4,02;01/05/17 -62;5;4,147;01/05/17 -63;5;11,603;01/05/17 -64;5;6,113;01/05/17 -65;5;7,702;01/05/17 -66;5;8,763;01/05/17 -67;5;9,317;01/05/17 -68;5;11,472;01/05/17 -69;5;9,936;01/05/17 -70;5;9,742;01/05/17 -71;5;6,179;01/05/17 -72;5;4,638;01/05/17 -73;5;8,385;01/05/17 -74;5;11,153;01/05/17 -75;5;6,303;01/05/17 -76;5;3,575;01/05/17 -77;5;4,706;01/05/17 -78;5;9,532;01/05/17 -79;5;4,788;01/05/17 -80;5;9,538;01/05/17 -81;5;7,483;01/05/17 -82;5;7,651;01/05/17 -83;5;4,663;01/05/17 -84;5;3,327;01/05/17 -85;5;4,736;01/05/17 -86;5;6,874;01/05/17 -87;5;6,053;01/05/17 -88;5;9,97;01/05/17 -89;5;7,586;01/05/17 -90;5;3,919;01/05/17 -91;5;5,21;01/05/17 -92;5;5,616;01/05/17 -93;5;8,269;01/05/17 -94;5;6,108;01/05/17 -95;5;9,612;01/05/17 -96;5;6,444;01/05/17 -97;5;4,273;01/05/17 -98;5;10,059;01/05/17 -99;5;4,313;01/05/17 -100;5;8,776;01/05/17 -101;5;4,193;01/05/17 -102;5;5,76;01/05/17 -103;5;7,136;01/05/17 -104;5;3,422;01/05/17 -105;5;8,101;01/05/17 -106;5;8,898;01/05/17 -107;5;6,242;01/05/17 -108;5;4,321;01/05/17 -109;5;11,024;01/05/17 -110;5;7,856;01/05/17 -111;5;6,257;01/05/17 -112;5;7,736;01/05/17 -113;5;8,087;01/05/17 -114;5;5,765;01/05/17 -115;5;11,985;01/05/17 -116;5;5,468;01/05/17 -117;5;9,431;01/05/17 -118;5;7,702;01/05/17 -119;5;4,787;01/05/17 -120;5;11,161;01/05/17 -121;5;9,455;01/05/17 -122;5;8,822;01/05/17 -123;5;11,103;01/05/17 -124;5;9,71;01/05/17 -125;5;3,047;01/05/17 -126;5;9,294;01/05/17 -127;5;7,963;01/05/17 -128;5;4,071;01/05/17 -129;5;8,49;01/05/17 -130;5;7,472;01/05/17 -131;5;3,077;01/05/17 -132;5;6,145;01/05/17 -133;5;10,841;01/05/17 -134;5;10,216;01/05/17 -135;5;11,678;01/05/17 -136;5;11,981;01/05/17 -137;5;7,639;01/05/17 -138;5;3,407;01/05/17 -139;5;9,573;01/05/17 -140;5;6,058;01/05/17 -141;5;8,938;01/05/17 -142;5;6,102;01/05/17 -143;5;5,064;01/05/17 -144;5;5,099;01/05/17 -145;5;11,772;01/05/17 -146;5;7,823;01/05/17 -147;5;7,588;01/05/17 -148;5;4,945;01/05/17 -149;5;10,721;01/05/17 -150;5;4,577;01/05/17 -151;5;6,956;01/05/17 -152;5;6,08;01/05/17 -153;5;6,098;01/05/17 -154;5;7,98;01/05/17 -155;5;3,613;01/05/17 -156;5;4,407;01/05/17 -157;5;5,854;01/05/17 -158;5;3,236;01/05/17 -159;5;10,665;01/05/17 -160;5;3,58;01/05/17 -161;5;11,68;01/05/17 -162;5;8,99;02/05/17 -163;5;9,544;02/05/17 -164;5;5,943;02/05/17 -165;5;3,472;02/05/17 -166;5;8,805;02/05/17 -167;5;7,107;02/05/17 -168;5;3,623;02/05/17 -169;5;10,227;02/05/17 -170;5;5,483;02/05/17 -171;5;6,262;02/05/17 -172;5;10,549;02/05/17 -173;5;11,458;02/05/17 -174;5;7,453;02/05/17 -175;5;11,458;02/05/17 -176;5;3,317;02/05/17 -177;5;10,467;02/05/17 -178;5;10,489;02/05/17 -179;5;10,385;02/05/17 -180;5;3,012;02/05/17 -181;5;7,413;02/05/17 -182;5;8,128;02/05/17 -183;5;7,388;02/05/17 -184;5;9,313;02/05/17 -185;5;8,583;02/05/17 -186;5;8,656;02/05/17 -187;5;9,463;02/05/17 -188;5;4,033;02/05/17 -189;5;9,526;02/05/17 -190;5;4,219;02/05/17 -191;5;11,485;02/05/17 -192;5;4,863;02/05/17 -193;5;6,642;02/05/17 -194;5;5,489;02/05/17 -195;5;4,478;02/05/17 -196;5;10,33;02/05/17 -197;5;4,728;02/05/17 -198;5;11,307;02/05/17 -199;5;9,962;02/05/17 -200;5;7,6;02/05/17 -201;5;11,595;02/05/17 -202;5;9,924;02/05/17 -203;5;7,298;02/05/17 -204;5;8,709;02/05/17 -205;5;6,76;02/05/17 -206;5;11,696;02/05/17 -207;5;5,446;02/05/17 -208;5;5,075;02/05/17 -209;5;4,272;02/05/17 -210;5;7,157;02/05/17 -211;5;11,812;02/05/17 -212;5;10,606;02/05/17 -213;5;8,042;02/05/17 -214;5;5,023;02/05/17 -215;5;5,103;02/05/17 -216;5;9,428;02/05/17 -217;5;3,248;02/05/17 -218;5;8,956;02/05/17 -219;5;7,855;02/05/17 -220;5;8,978;02/05/17 -221;5;3,209;02/05/17 -222;5;11,58;02/05/17 -223;5;8,841;02/05/17 -224;5;8,82;02/05/17 -225;5;9,863;02/05/17 -226;5;10,678;02/05/17 -227;5;11,137;02/05/17 -228;5;10,637;02/05/17 -229;5;3,959;02/05/17 -230;5;8,855;02/05/17 -231;5;10,904;02/05/17 -232;5;6,03;02/05/17 -233;5;3,36;02/05/17 -234;5;11,447;02/05/17 -235;5;4,606;02/05/17 -236;5;6,939;02/05/17 -237;5;6,701;02/05/17 -238;5;11,535;02/05/17 -239;5;8,023;02/05/17 -240;5;7,327;02/05/17 -241;5;8,206;02/05/17 -242;5;6,385;02/05/17 -243;5;4,862;02/05/17 -244;5;8,486;02/05/17 -245;5;3,806;02/05/17 -246;5;3,225;02/05/17 -247;5;5,718;02/05/17 -248;5;3,309;02/05/17 -249;5;9,736;02/05/17 -250;5;4,69;02/05/17 -251;5;6,809;02/05/17 -252;5;10,311;02/05/17 -253;5;9,151;02/05/17 -254;5;5,636;02/05/17 -255;5;4,997;02/05/17 -256;5;7,236;02/05/17 -257;5;3,932;02/05/17 -258;5;6,028;02/05/17 -259;5;7,367;02/05/17 -260;5;8,628;02/05/17 -261;5;9,354;02/05/17 -262;5;8,264;02/05/17 -263;5;9,906;02/05/17 -264;5;5,644;02/05/17 -265;5;9,05;02/05/17 -266;5;6,849;02/05/17 -267;5;4,244;02/05/17 -268;5;9,651;02/05/17 -269;5;9,986;02/05/17 -270;5;4,039;02/05/17 -271;5;3,185;02/05/17 -272;5;7,426;02/05/17 -273;5;9,131;02/05/17 -274;5;6,679;02/05/17 -275;5;3,985;02/05/17 -276;5;9,779;02/05/17 -277;5;3,853;02/05/17 -278;5;3,432;02/05/17 -279;5;9,436;02/05/17 -280;5;4,53;02/05/17 -281;5;10,387;02/05/17 -282;5;11,577;02/05/17 -283;5;6,74;02/05/17 -284;5;9,753;02/05/17 -285;5;10,42;02/05/17 -286;5;7,451;02/05/17 -287;5;5,164;02/05/17 -288;5;10,59;02/05/17 -289;5;8,469;02/05/17 -290;5;6,487;02/05/17 -291;5;6,342;02/05/17 -292;5;9,201;02/05/17 -293;5;11,533;02/05/17 -294;5;6,944;02/05/17 -295;5;10,208;02/05/17 -296;5;4,831;02/05/17 -297;5;7,711;02/05/17 -298;5;6,396;02/05/17 -299;5;4,711;02/05/17 -300;5;7,422;02/05/17 -301;5;6,846;02/05/17 -302;5;7,446;02/05/17 -303;5;3,232;02/05/17 -304;5;7,559;02/05/17 -305;5;10,236;02/05/17 -306;5;11,229;02/05/17 -307;5;9,955;02/05/17 -308;5;4,131;02/05/17 -309;5;10,132;02/05/17 -310;5;4,644;02/05/17 -311;5;8,927;02/05/17 -312;5;6,986;02/05/17 -313;5;7,882;02/05/17 -314;5;6,366;02/05/17 -315;5;9,821;02/05/17 -316;5;10,626;02/05/17 -317;5;7,561;02/05/17 -318;5;8,419;02/05/17 -319;5;4,368;02/05/17 -320;5;4,822;02/05/17 -321;5;9,447;02/05/17 -322;5;6,104;03/05/17 -323;5;10,56;03/05/17 -324;5;6,317;03/05/17 -325;5;7,761;03/05/17 -326;5;9,078;03/05/17 -327;5;3,849;03/05/17 -328;5;8,534;03/05/17 -329;5;6,423;03/05/17 -330;5;8,52;03/05/17 -331;5;6,338;03/05/17 -332;5;6,679;03/05/17 -333;5;11,246;03/05/17 -334;5;3,538;03/05/17 -335;5;3,626;03/05/17 -336;5;10,951;03/05/17 -337;5;4,254;03/05/17 -338;5;5,564;03/05/17 -339;5;8,003;03/05/17 -340;5;7,682;03/05/17 -341;5;9,114;03/05/17 -342;5;8,816;03/05/17 -343;5;9,127;03/05/17 -344;5;11,944;03/05/17 -345;5;10,452;03/05/17 -346;5;6,32;03/05/17 -347;5;5,608;03/05/17 -348;5;9,353;03/05/17 -349;5;4,528;03/05/17 -350;5;3,735;03/05/17 -351;5;9,486;03/05/17 -352;5;3,284;03/05/17 -353;5;11,223;03/05/17 -354;5;3,623;03/05/17 -355;5;5,332;03/05/17 -356;5;8,641;03/05/17 -357;5;8,283;03/05/17 -358;5;6,583;03/05/17 -359;5;7,309;03/05/17 -360;5;11,299;03/05/17 -361;5;3,431;03/05/17 -362;5;10,222;03/05/17 -363;5;11,991;03/05/17 -364;5;3,797;03/05/17 -365;5;9,273;03/05/17 -366;5;10,829;03/05/17 -367;5;11,034;03/05/17 -368;5;9,211;03/05/17 -369;5;11,277;03/05/17 -370;5;10,276;03/05/17 -371;5;5,434;03/05/17 -372;5;5,559;03/05/17 -373;5;7,307;03/05/17 -374;5;10,126;03/05/17 -375;5;8,003;03/05/17 -376;5;11,894;03/05/17 -377;5;9,735;03/05/17 -378;5;7,797;03/05/17 -379;5;10,336;03/05/17 -380;5;4,411;03/05/17 -381;5;11,924;03/05/17 -382;5;5,67;03/05/17 -383;5;4,103;03/05/17 -384;5;11,441;03/05/17 -385;5;8,956;03/05/17 -386;5;3,868;03/05/17 -387;5;6,415;03/05/17 -388;5;6,526;03/05/17 -389;5;5,18;03/05/17 -390;5;3,498;03/05/17 -391;5;4,811;03/05/17 -392;5;5,638;03/05/17 -393;5;10,699;03/05/17 -394;5;9,609;03/05/17 -395;5;11,229;03/05/17 -396;5;11,312;03/05/17 -397;5;10,86;03/05/17 -398;5;10,32;03/05/17 -399;5;5,487;03/05/17 -400;5;3,052;03/05/17 -401;5;3,776;03/05/17 -402;5;7,158;03/05/17 -403;5;11,912;03/05/17 -404;5;8,144;03/05/17 -405;5;3,341;03/05/17 -406;5;10,594;03/05/17 -407;5;4,065;03/05/17 -408;5;3,683;03/05/17 -409;5;5,576;03/05/17 -410;5;6,642;03/05/17 -411;5;9,143;03/05/17 -412;5;4,124;03/05/17 -413;5;9,026;03/05/17 -414;5;6,379;03/05/17 -415;5;4,611;03/05/17 -416;5;5,98;03/05/17 -417;5;4,856;03/05/17 -418;5;8,337;03/05/17 -419;5;10,241;03/05/17 -420;5;3,437;03/05/17 -421;5;11,274;03/05/17 -422;5;9,455;03/05/17 -423;5;3,147;03/05/17 -424;5;10,148;03/05/17 -425;5;9,223;03/05/17 -426;5;4,006;03/05/17 -427;5;11,971;03/05/17 -428;5;4,275;03/05/17 -429;5;10,195;03/05/17 -430;5;9,772;03/05/17 -431;5;10,996;03/05/17 -432;5;6,64;03/05/17 -433;5;10,105;03/05/17 -434;5;3,06;03/05/17 -435;5;3,687;03/05/17 -436;5;4,904;03/05/17 -437;5;3,473;03/05/17 -438;5;6,096;03/05/17 -439;5;7,074;03/05/17 -440;5;6,029;03/05/17 -441;5;5,27;03/05/17 -442;5;11,962;03/05/17 -443;5;9,998;03/05/17 -444;5;7,118;03/05/17 -445;5;3,365;03/05/17 -446;5;8,511;03/05/17 -447;5;6,745;03/05/17 -448;5;4,341;03/05/17 -449;5;6,673;03/05/17 -450;5;11,242;03/05/17 -451;5;4,577;03/05/17 -452;5;4,379;03/05/17 -453;5;9,335;03/05/17 -454;5;3,781;03/05/17 -455;5;3,063;03/05/17 -456;5;3,609;03/05/17 -457;5;6,052;03/05/17 -458;5;7,224;03/05/17 -459;5;7,126;03/05/17 -460;5;10,503;03/05/17 -461;5;10,526;03/05/17 -462;5;10,144;03/05/17 -463;5;8,695;03/05/17 -464;5;4,29;03/05/17 -465;5;5,398;03/05/17 -466;5;11,574;03/05/17 -467;5;5,542;03/05/17 -468;5;11,056;03/05/17 -469;5;3,405;03/05/17 -470;5;5,76;03/05/17 -471;5;10,362;03/05/17 -472;5;6,364;03/05/17 -473;5;3,84;03/05/17 -474;5;11,713;03/05/17 -475;5;10,194;03/05/17 -476;5;9,86;03/05/17 -477;5;10,025;03/05/17 -478;5;6,556;03/05/17 -479;5;9,106;03/05/17 -480;5;6,421;03/05/17 -481;5;11,823;03/05/17 -482;5;6,745;04/05/17 -483;5;8,275;04/05/17 -484;5;3,669;04/05/17 -485;5;6,115;04/05/17 -486;5;9,559;04/05/17 -487;5;8,953;04/05/17 -488;5;3,578;04/05/17 -489;5;7,949;04/05/17 -490;5;11,979;04/05/17 -491;5;8,121;04/05/17 -492;5;5,225;04/05/17 -493;5;11,572;04/05/17 -494;5;10,711;04/05/17 -495;5;9,12;04/05/17 -496;5;10,954;04/05/17 -497;5;11,422;04/05/17 -498;5;11,211;04/05/17 -499;5;8,662;04/05/17 -500;5;9,055;04/05/17 -501;5;4,637;04/05/17 -502;5;6,155;04/05/17 -503;5;6,09;04/05/17 -504;5;8,321;04/05/17 -505;5;8,357;04/05/17 -506;5;5,742;04/05/17 -507;5;9,836;04/05/17 -508;5;3,091;04/05/17 -509;5;6,635;04/05/17 -510;5;3,516;04/05/17 -511;5;9,342;04/05/17 -512;5;4,525;04/05/17 -513;5;7,9;04/05/17 -514;5;8,711;04/05/17 -515;5;9,087;04/05/17 -516;5;5,731;04/05/17 -517;5;9,238;04/05/17 -518;5;10,964;04/05/17 -519;5;6,093;04/05/17 -520;5;11,908;04/05/17 -521;5;4,577;04/05/17 -522;5;5,015;04/05/17 -523;5;4,58;04/05/17 -524;5;9,555;04/05/17 -525;5;6,884;04/05/17 -526;5;10,385;04/05/17 -527;5;10,387;04/05/17 -528;5;8,805;04/05/17 -529;5;3,518;04/05/17 -530;5;5,737;04/05/17 -531;5;7,741;04/05/17 -532;5;8,449;04/05/17 -533;5;9,411;04/05/17 -534;5;9,248;04/05/17 -535;5;3,973;04/05/17 -536;5;8,849;04/05/17 -537;5;7,873;04/05/17 -538;5;11,59;04/05/17 -539;5;11,188;04/05/17 -540;5;4,742;04/05/17 -541;5;11,15;04/05/17 -542;5;5,798;04/05/17 -543;5;3,866;04/05/17 -544;5;7,487;04/05/17 -545;5;4,589;04/05/17 -546;5;7,525;04/05/17 -547;5;4,742;04/05/17 -548;5;8,588;04/05/17 -549;5;8,87;04/05/17 -550;5;9,861;04/05/17 -551;5;4,475;04/05/17 -552;5;11,778;04/05/17 -553;5;5,7;04/05/17 -554;5;6,466;04/05/17 -555;5;6,044;04/05/17 -556;5;3,81;04/05/17 -557;5;7,282;04/05/17 -558;5;9,621;04/05/17 -559;5;4,756;04/05/17 -560;5;6,695;04/05/17 -561;5;5,609;04/05/17 -562;5;8,856;04/05/17 -563;5;7,555;04/05/17 -564;5;8,179;04/05/17 -565;5;5,476;04/05/17 -566;5;7,765;04/05/17 -567;5;7,231;04/05/17 -568;5;9,564;04/05/17 -569;5;4,133;04/05/17 -570;5;10,114;04/05/17 -571;5;6,78;04/05/17 -572;5;6,534;04/05/17 -573;5;3,647;04/05/17 -574;5;7,03;04/05/17 -575;5;3,325;04/05/17 -576;5;4,206;04/05/17 -577;5;6,619;04/05/17 -578;5;5,448;04/05/17 -579;5;4,635;04/05/17 -580;5;6,608;04/05/17 -581;5;11,841;04/05/17 -582;5;7,225;04/05/17 -583;5;11,149;04/05/17 -584;5;3,784;04/05/17 -585;5;3,031;04/05/17 -586;5;3,197;04/05/17 -587;5;8,833;04/05/17 -588;5;4,401;04/05/17 -589;5;3,205;04/05/17 -590;5;4,698;04/05/17 -591;5;10,323;04/05/17 -592;5;5,616;04/05/17 -593;5;9,596;04/05/17 -594;5;11,521;04/05/17 -595;5;4,005;04/05/17 -596;5;7,301;04/05/17 -597;5;3,203;04/05/17 -598;5;4,211;04/05/17 -599;5;6,561;04/05/17 -600;5;7,568;04/05/17 -604;5;5,55;04/05/17 -605;5;4,873;04/05/17 -606;5;4,147;04/05/17 -607;5;7,77;04/05/17 -608;5;11,251;04/05/17 -609;5;9,506;04/05/17 -610;5;7,37;04/05/17 -611;5;4,171;04/05/17 -612;5;3,467;04/05/17 -613;5;8,357;04/05/17 -614;5;5,326;04/05/17 -615;5;5,819;04/05/17 -616;5;10,053;04/05/17 -617;5;4,629;04/05/17 -618;5;11,1;04/05/17 -619;5;6,189;04/05/17 -620;5;8,78;04/05/17 -621;5;7,646;04/05/17 -622;5;4,295;04/05/17 -623;5;7,799;04/05/17 -624;5;8,528;04/05/17 -625;5;10,626;04/05/17 -626;5;7,136;04/05/17 -627;5;5,871;04/05/17 -628;5;7,513;04/05/17 -629;5;10,678;04/05/17 -630;5;7,325;04/05/17 -631;5;7,684;04/05/17 -632;5;5,75;04/05/17 -633;5;8,27;04/05/17 -634;5;9,125;04/05/17 -635;5;7,427;04/05/17 -636;5;9,532;04/05/17 -637;5;3,808;04/05/17 -638;5;9,322;04/05/17 -639;5;7,458;04/05/17 -640;5;11,071;04/05/17 -641;5;5,739;04/05/17 -642;5;9,422;04/05/17 -643;5;7,397;04/05/17 -644;5;4,168;04/05/17 -645;5;10,619;05/05/17 -646;5;3,795;05/05/17 -647;5;11,259;05/05/17 -648;5;10,523;05/05/17 -649;5;7,324;05/05/17 -650;5;10,561;05/05/17 -651;5;6,473;05/05/17 -652;5;6,341;05/05/17 -653;5;7,393;05/05/17 -654;5;4,501;05/05/17 -655;5;8,665;05/05/17 -656;5;4,433;05/05/17 -657;5;4,706;05/05/17 -658;5;7,581;05/05/17 -659;5;4,492;05/05/17 -660;5;11,385;05/05/17 -661;5;8,417;05/05/17 -662;5;5,365;05/05/17 -663;5;7,044;05/05/17 -664;5;9,667;05/05/17 -665;5;8,26;05/05/17 -666;5;10,739;05/05/17 -667;5;4,394;05/05/17 -668;5;4,309;05/05/17 -669;5;11,123;05/05/17 -670;5;4,042;05/05/17 -671;5;8,111;05/05/17 -672;5;5,313;05/05/17 -673;5;4,066;05/05/17 -674;5;9,13;05/05/17 -675;5;9,807;05/05/17 -676;5;7,328;05/05/17 -677;5;8,266;05/05/17 -678;5;9,043;05/05/17 -679;5;11,283;05/05/17 -680;5;6,198;05/05/17 -681;5;4,832;05/05/17 -682;5;10,245;05/05/17 -683;5;3,559;05/05/17 -684;5;9,099;05/05/17 -685;5;8,462;05/05/17 -686;5;4,64;05/05/17 -687;5;3,634;05/05/17 -688;5;10,233;05/05/17 -689;5;8,994;05/05/17 -690;5;3,176;05/05/17 -691;5;6,818;05/05/17 -692;5;6,602;05/05/17 -693;5;5,655;05/05/17 -694;5;5,7;05/05/17 -695;5;3,627;05/05/17 -696;5;6,892;05/05/17 -697;5;9,609;05/05/17 -698;5;6,261;05/05/17 -699;5;11,438;05/05/17 -700;5;10,973;05/05/17 -701;5;5,588;05/05/17 -702;5;3,452;05/05/17 -703;5;10,415;05/05/17 -704;5;9,144;05/05/17 -705;5;3,877;05/05/17 -706;5;10,932;05/05/17 -707;5;5,192;05/05/17 -708;5;6,509;05/05/17 -709;5;4,641;05/05/17 -710;5;9,248;05/05/17 -711;5;9,091;05/05/17 -712;5;3,169;05/05/17 -713;5;6,554;05/05/17 -714;5;5,465;05/05/17 -715;5;4,218;05/05/17 -716;5;4,753;05/05/17 -717;5;4,687;05/05/17 -718;5;7,093;05/05/17 -719;5;5,726;05/05/17 -720;5;4,486;05/05/17 -721;5;6,673;05/05/17 -722;5;6,512;05/05/17 -723;5;3,105;05/05/17 -724;5;5,738;05/05/17 -725;5;11,306;05/05/17 -726;5;9,064;05/05/17 -727;5;7,534;05/05/17 -728;5;8,364;05/05/17 -729;5;3,775;05/05/17 -730;5;5,777;05/05/17 -731;5;7,627;05/05/17 -732;5;3,914;05/05/17 -733;5;10,416;05/05/17 -734;5;9,944;05/05/17 -735;5;4,466;05/05/17 -736;5;11,082;05/05/17 -737;5;11,921;05/05/17 -738;5;10,405;05/05/17 -739;5;11,497;05/05/17 -740;5;7,993;05/05/17 -741;5;9,752;05/05/17 -742;5;9,765;05/05/17 -743;5;8,983;05/05/17 -744;5;7,581;05/05/17 -745;5;4,397;05/05/17 -746;5;11,932;05/05/17 -747;5;4,639;05/05/17 -748;5;11,223;05/05/17 -749;5;8,897;05/05/17 -750;5;8,182;05/05/17 -751;5;9,739;05/05/17 -752;5;9,658;05/05/17 -753;5;7,121;05/05/17 -754;5;4,536;05/05/17 -755;5;10,527;05/05/17 -756;5;6,759;05/05/17 -757;5;10,933;05/05/17 -758;5;8,809;05/05/17 -759;5;5,796;05/05/17 -760;5;3,024;05/05/17 -761;5;9,161;05/05/17 -762;5;7,445;05/05/17 -763;5;3,016;05/05/17 -764;5;10,07;05/05/17 -765;5;4,128;05/05/17 -766;5;9,116;05/05/17 -767;5;9,624;05/05/17 -768;5;6,057;05/05/17 -769;5;5,537;05/05/17 -770;5;9,617;05/05/17 -771;5;4,076;05/05/17 -772;5;6,537;05/05/17 -773;5;5,04;05/05/17 -774;5;5,857;05/05/17 -775;5;10,063;05/05/17 -776;5;6,778;05/05/17 -777;5;7,586;05/05/17 -778;5;5,994;05/05/17 -779;5;6,188;05/05/17 -780;5;4,793;05/05/17 -781;5;5,354;05/05/17 -782;5;11,08;05/05/17 -783;5;11,061;05/05/17 -784;5;11,912;05/05/17 -785;5;8,086;05/05/17 -786;5;11,986;05/05/17 -787;5;10,522;05/05/17 -788;5;4,222;05/05/17 -789;5;7,123;05/05/17 -790;5;8,986;05/05/17 -791;5;8,502;05/05/17 -792;5;6,966;05/05/17 -793;5;6,426;05/05/17 -794;5;6,208;05/05/17 -795;5;10,591;05/05/17 -796;5;9,92;05/05/17 -797;5;11,764;05/05/17 -798;5;9,188;05/05/17 -799;5;10,394;05/05/17 -800;5;6,451;05/05/17 -801;5;11,15;05/05/17 -802;5;7,962;05/05/17 -803;5;7,209;05/05/17 -804;5;4,28;05/05/17 -805;5;5,874;06/05/17 -806;5;6,944;06/05/17 -807;5;4,569;06/05/17 -808;5;9,429;06/05/17 -809;5;11,992;06/05/17 -810;5;4,512;06/05/17 -811;5;8,3;06/05/17 -812;5;9,096;06/05/17 -813;5;4,099;06/05/17 -814;5;5,515;06/05/17 -815;5;6,918;06/05/17 -816;5;11,256;06/05/17 -817;5;4,846;06/05/17 -818;5;6,225;06/05/17 -819;5;9,311;06/05/17 -820;5;8,852;06/05/17 -821;5;10,481;06/05/17 -822;5;8,938;06/05/17 -823;5;3,915;06/05/17 -824;5;9,039;06/05/17 -825;5;4,914;06/05/17 -826;5;5,438;06/05/17 -827;5;9,512;06/05/17 -828;5;7,155;06/05/17 -829;5;3,948;06/05/17 -830;5;11,048;06/05/17 -831;5;6,731;06/05/17 -832;5;5,505;06/05/17 -833;5;6,212;06/05/17 -834;5;5,097;06/05/17 -835;5;3,822;06/05/17 -836;5;8,322;06/05/17 -837;5;9,066;06/05/17 -838;5;6,074;06/05/17 -839;5;3,375;06/05/17 -840;5;4,004;06/05/17 -841;5;7,991;06/05/17 -842;5;5,255;06/05/17 -843;5;6,668;06/05/17 -844;5;8,359;06/05/17 -845;5;9,567;06/05/17 -846;5;5,509;06/05/17 -847;5;9,741;06/05/17 -848;5;11,218;06/05/17 -849;5;7,308;06/05/17 -850;5;8,186;06/05/17 -851;5;4,903;06/05/17 -852;5;7,61;06/05/17 -853;5;8,258;06/05/17 -854;5;6,298;06/05/17 -855;5;7,206;06/05/17 -856;5;4,336;06/05/17 -857;5;6,428;06/05/17 -858;5;9,562;06/05/17 -859;5;10,683;06/05/17 -860;5;6,663;06/05/17 -861;5;10,737;06/05/17 -862;5;9,294;06/05/17 -863;5;9,946;06/05/17 -864;5;5,415;06/05/17 -865;5;11,092;06/05/17 -866;5;11,627;06/05/17 -867;5;10,711;06/05/17 -868;5;6,124;06/05/17 -869;5;3,448;06/05/17 -870;5;6,49;06/05/17 -871;5;6,264;06/05/17 -872;5;9,037;06/05/17 -873;5;3,41;06/05/17 -874;5;10,801;06/05/17 -875;5;8,894;06/05/17 -876;5;5,041;06/05/17 -877;5;6,461;06/05/17 -878;5;8,317;06/05/17 -879;5;9,787;06/05/17 -880;5;3,032;06/05/17 -881;5;7,221;06/05/17 -882;5;7,845;06/05/17 -883;5;8,449;06/05/17 -884;5;8,581;06/05/17 -885;5;7,429;06/05/17 -886;5;8,105;06/05/17 -887;5;11,202;06/05/17 -888;5;7,464;06/05/17 -889;5;5,045;06/05/17 -890;5;10,678;06/05/17 -891;5;6,69;06/05/17 -892;5;3,742;06/05/17 -893;5;11,772;06/05/17 -894;5;11,482;06/05/17 -895;5;11,695;06/05/17 -896;5;9,584;06/05/17 -897;5;9,388;06/05/17 -898;5;10,997;06/05/17 -899;5;11,439;06/05/17 -900;5;9,345;06/05/17 -901;5;8,606;06/05/17 -902;5;6,083;06/05/17 -903;5;4,635;06/05/17 -904;5;11,289;06/05/17 -905;5;4,3;06/05/17 -906;5;10,275;06/05/17 -907;5;5,765;06/05/17 -908;5;3,258;06/05/17 -909;5;10,449;06/05/17 -910;5;4,758;06/05/17 -911;5;9,533;06/05/17 -912;5;3,6;06/05/17 -913;5;3,489;06/05/17 -914;5;9,514;06/05/17 -915;5;11,382;06/05/17 -916;5;6,818;06/05/17 -917;5;5,927;06/05/17 -918;5;7,746;06/05/17 -919;5;9,02;06/05/17 -920;5;8,88;06/05/17 -921;5;7,067;06/05/17 -922;5;6,438;06/05/17 -923;5;10,112;06/05/17 -924;5;7,303;06/05/17 -925;5;10,387;06/05/17 -926;5;10,367;06/05/17 -927;5;7,917;06/05/17 -928;5;7,602;06/05/17 -929;5;3,063;06/05/17 -930;5;5,414;06/05/17 -931;5;10,858;06/05/17 -932;5;3,477;06/05/17 -933;5;7,922;06/05/17 -934;5;3,037;06/05/17 -935;5;8,351;06/05/17 -936;5;9,181;06/05/17 -937;5;11,089;06/05/17 -938;5;5,78;06/05/17 -939;5;11,384;06/05/17 -940;5;10,066;06/05/17 -941;5;10,991;06/05/17 -942;5;9,592;06/05/17 -943;5;6,925;06/05/17 -944;5;3,81;06/05/17 -945;5;3,868;06/05/17 -946;5;10,6;06/05/17 -947;5;6,983;06/05/17 -948;5;8,936;06/05/17 -949;5;11,435;06/05/17 -950;5;5,461;06/05/17 -951;5;7,944;06/05/17 -952;5;7,987;06/05/17 -953;5;9,641;06/05/17 -954;5;8,277;06/05/17 -955;5;8,407;06/05/17 -956;5;10,664;06/05/17 -957;5;11,936;06/05/17 -958;5;5,685;06/05/17 -959;5;8,68;06/05/17 -960;5;6,298;06/05/17 -961;5;8,621;06/05/17 -962;5;11,347;06/05/17 -963;5;9,281;06/05/17 -964;5;11,093;06/05/17 -965;5;11,557;07/05/17 -966;5;9,99;07/05/17 -967;5;7,829;07/05/17 -968;5;11,466;07/05/17 -969;5;8,17;07/05/17 -970;5;9,067;07/05/17 -971;5;3,094;07/05/17 -972;5;4,015;07/05/17 -973;5;10,594;07/05/17 -974;5;6,526;07/05/17 -975;5;10,924;07/05/17 -976;5;10,885;07/05/17 -977;5;5,996;07/05/17 -978;5;4,967;07/05/17 -979;5;5,142;07/05/17 -980;5;9,85;07/05/17 -981;5;6,992;07/05/17 -982;5;4,661;07/05/17 -983;5;8,179;07/05/17 -984;5;9,456;07/05/17 -985;5;3,981;07/05/17 -986;5;9,792;07/05/17 -987;5;3,044;07/05/17 -988;5;8,91;07/05/17 -989;5;6,454;07/05/17 -990;5;6,622;07/05/17 -991;5;4,456;07/05/17 -992;5;6,368;07/05/17 -993;5;4,065;07/05/17 -994;5;9,413;07/05/17 -995;5;10,178;07/05/17 -996;5;8,935;07/05/17 -997;5;4,602;07/05/17 -998;5;7,056;07/05/17 -999;5;3,11;07/05/17 -1000;5;7,332;07/05/17 -1001;5;11,116;07/05/17 -1002;5;6,758;07/05/17 -1003;5;7,344;07/05/17 -1004;5;11,8;07/05/17 -1005;5;3,008;07/05/17 -1006;5;6,617;07/05/17 -1007;5;5,833;07/05/17 -1008;5;10,193;07/05/17 -1009;5;9,911;07/05/17 -1010;5;3,942;07/05/17 -1011;5;10,692;07/05/17 -1012;5;9,619;07/05/17 -1013;5;9,71;07/05/17 -1014;5;11,869;07/05/17 -1015;5;9,082;07/05/17 -1016;5;3,81;07/05/17 -1017;5;4,072;07/05/17 -1018;5;9,738;07/05/17 -1019;5;3,095;07/05/17 -1020;5;7,966;07/05/17 -1021;5;3,45;07/05/17 -1022;5;7,228;07/05/17 -1023;5;7,617;07/05/17 -1024;5;3,156;07/05/17 -1025;5;3,24;07/05/17 -1026;5;9,992;07/05/17 -1027;5;9,125;07/05/17 -1028;5;6,552;07/05/17 -1029;5;11,939;07/05/17 -1030;5;3,1;07/05/17 -1031;5;8,116;07/05/17 -1032;5;5,704;07/05/17 -1033;5;9,425;07/05/17 -1034;5;8,29;07/05/17 -1035;5;11,404;07/05/17 -1036;5;11,497;07/05/17 -1037;5;4,47;07/05/17 -1038;5;4,684;07/05/17 -1039;5;10,044;07/05/17 -1040;5;6,651;07/05/17 -1041;5;7,083;07/05/17 -1042;5;4,551;07/05/17 -1043;5;4,937;07/05/17 -1044;5;9,027;07/05/17 -1045;5;11,953;07/05/17 -1046;5;8,351;07/05/17 -1047;5;3,27;07/05/17 -1048;5;11,987;07/05/17 -1049;5;3,578;07/05/17 -1050;5;7,219;07/05/17 -1051;5;4,553;07/05/17 -1052;5;5,745;07/05/17 -1053;5;9,163;07/05/17 -1054;5;11,967;07/05/17 -1055;5;11,626;07/05/17 -1056;5;6,518;07/05/17 -1057;5;5,589;07/05/17 -1058;5;7,455;07/05/17 -1059;5;8,625;07/05/17 -1060;5;8,111;07/05/17 -1061;5;6,987;07/05/17 -1062;5;4,265;07/05/17 -1063;5;4,475;07/05/17 -1064;5;3,278;07/05/17 -1065;5;4,747;07/05/17 -1066;5;9,741;07/05/17 -1067;5;11,839;07/05/17 -1068;5;7,33;07/05/17 -1069;5;7,697;07/05/17 -1070;5;5,086;07/05/17 -1071;5;8,764;07/05/17 -1072;5;6,075;07/05/17 -1073;5;10,638;07/05/17 -1074;5;3,095;07/05/17 -1075;5;8,029;07/05/17 -1076;5;8,106;07/05/17 -1077;5;10,091;07/05/17 -1078;5;10,23;07/05/17 -1079;5;4,616;07/05/17 -1080;5;4,833;07/05/17 -1081;5;8,179;07/05/17 -1082;5;7,814;07/05/17 -1083;5;8,124;07/05/17 -1084;5;6,395;07/05/17 -1085;5;5,459;07/05/17 -1086;5;8,486;07/05/17 -1087;5;8,349;07/05/17 -1088;5;6,646;07/05/17 -1089;5;7,037;07/05/17 -1090;5;6,3;07/05/17 -1091;5;10,249;07/05/17 -1092;5;7,443;07/05/17 -1093;5;11,176;07/05/17 -1094;5;7,07;07/05/17 -1095;5;8,916;07/05/17 -1096;5;11,589;07/05/17 -1097;5;10,333;07/05/17 -1098;5;8,255;07/05/17 -1099;5;5,787;07/05/17 -1100;5;6,007;07/05/17 -1101;5;7,958;07/05/17 -1102;5;6,275;07/05/17 -1103;5;8,017;07/05/17 -1104;5;9,522;07/05/17 -1105;5;8,009;07/05/17 -1106;5;8,793;07/05/17 -1107;5;6,797;07/05/17 -1108;5;11,673;07/05/17 -1109;5;8,198;07/05/17 -1110;5;4,463;07/05/17 -1111;5;9,732;07/05/17 -1112;5;9,115;07/05/17 -1113;5;5,055;07/05/17 -1114;5;7,009;07/05/17 -1115;5;5,125;07/05/17 -1116;5;5,349;07/05/17 -1117;5;7,42;07/05/17 -1118;5;6,171;07/05/17 -1119;5;10,266;07/05/17 -1120;5;3,079;07/05/17 -1121;5;9,993;07/05/17 -1122;5;3,808;07/05/17 -1123;5;4,969;07/05/17 -1124;5;3,137;07/05/17 -1125;5;10,129;08/05/17 -1126;5;4,833;08/05/17 -1127;5;9,63;08/05/17 -1128;5;4,491;08/05/17 -1129;5;8,697;08/05/17 -1130;5;10,495;08/05/17 -1131;5;4,983;08/05/17 -1132;5;6,837;08/05/17 -1133;5;7,408;08/05/17 -1134;5;5,92;08/05/17 -1135;5;11,927;08/05/17 -1136;5;11,447;08/05/17 -1137;5;8,793;08/05/17 -1138;5;10,211;08/05/17 -1139;5;8,791;08/05/17 -1140;5;7,643;08/05/17 -1141;5;8,671;08/05/17 -1142;5;4,95;08/05/17 -1143;5;11,79;08/05/17 -1144;5;10,81;08/05/17 -1145;5;3,701;08/05/17 -1146;5;8,138;08/05/17 -1147;5;11,272;08/05/17 -1148;5;3,908;08/05/17 -1149;5;11,258;08/05/17 -1150;5;8,609;08/05/17 -1151;5;11,198;08/05/17 -1152;5;11,058;08/05/17 -1153;5;5,888;08/05/17 -1154;5;9,925;08/05/17 -1155;5;4,746;08/05/17 -1156;5;4,877;08/05/17 -1157;5;7,291;08/05/17 -1158;5;3,695;08/05/17 -1159;5;6,039;08/05/17 -1160;5;9,595;08/05/17 -1161;5;8,55;08/05/17 -1162;5;8,192;08/05/17 -1163;5;11,818;08/05/17 -1164;5;7,492;08/05/17 -1165;5;4,406;08/05/17 -1166;5;4,568;08/05/17 -1167;5;9,25;08/05/17 -1168;5;11,403;08/05/17 -1169;5;11,119;08/05/17 -1170;5;4,073;08/05/17 -1171;5;6,072;08/05/17 -1172;5;11,67;08/05/17 -1173;5;5,96;08/05/17 -1174;5;3,486;08/05/17 -1175;5;9,029;08/05/17 -1176;5;8,117;08/05/17 -1177;5;9,044;08/05/17 -1178;5;7,583;08/05/17 -1179;5;6,982;08/05/17 -1180;5;10,091;08/05/17 -1181;5;7,373;08/05/17 -1182;5;7,974;08/05/17 -1183;5;11,104;08/05/17 -1184;5;3,458;08/05/17 -1185;5;11,947;08/05/17 -1186;5;3,146;08/05/17 -1187;5;4,228;08/05/17 -1188;5;3,597;08/05/17 -1189;5;11,772;08/05/17 -1190;5;8,385;08/05/17 -1191;5;5,05;08/05/17 -1192;5;3,364;08/05/17 -1193;5;9,061;08/05/17 -1194;5;10,526;08/05/17 -1195;5;11,381;08/05/17 -1196;5;7,157;08/05/17 -1197;5;6,112;08/05/17 -1198;5;5,604;08/05/17 -1199;5;4,96;08/05/17 -1200;5;8,501;08/05/17 -1201;5;7,108;08/05/17 -1202;5;8,605;08/05/17 -1203;5;3,016;08/05/17 -2001;5;9,706;08/05/17 -2002;5;11,168;08/05/17 -2003;5;11,679;08/05/17 -2004;5;8,849;08/05/17 -2005;5;7,529;08/05/17 -2006;5;7,091;08/05/17 -2007;5;5,746;08/05/17 -2008;5;11,379;08/05/17 -2009;5;10,664;08/05/17 -2010;5;9,438;08/05/17 -2011;5;10,189;08/05/17 -2012;5;5,774;08/05/17 -2013;5;11,98;08/05/17 -2014;5;10,686;08/05/17 -2015;5;6,991;08/05/17 -2016;5;10,695;08/05/17 -2017;5;3,232;08/05/17 -2018;5;8,395;08/05/17 -2019;5;4,951;08/05/17 -2020;5;7,341;08/05/17 -2021;5;9,697;08/05/17 -2022;5;7,799;08/05/17 -2023;5;5,989;08/05/17 -2024;5;4,086;08/05/17 -2025;5;10,637;08/05/17 -2026;5;7,49;08/05/17 -2027;5;3,593;08/05/17 -2028;5;4,849;08/05/17 -2029;5;8,483;08/05/17 -2030;5;4,779;08/05/17 -2031;5;5,099;08/05/17 -2032;5;4,151;08/05/17 -2033;5;5,133;08/05/17 -2034;5;11,287;08/05/17 -2035;5;4,389;08/05/17 -2036;5;7,062;08/05/17 -2037;5;10,9;08/05/17 -2038;5;10,897;08/05/17 -2039;5;10,232;08/05/17 -2040;5;9,103;08/05/17 -2041;5;9,955;08/05/17 -2042;5;9,56;08/05/17 -2043;5;5,453;08/05/17 -2044;5;6,008;08/05/17 -2045;5;11,496;08/05/17 -2046;5;11,533;08/05/17 -2047;5;4,311;08/05/17 -2048;5;11,139;08/05/17 -2049;5;5,496;08/05/17 -2050;5;7,529;08/05/17 -2051;5;10,513;08/05/17 -2052;5;11,864;08/05/17 -2053;5;8,598;08/05/17 -2054;5;4,265;08/05/17 -2055;5;4,44;08/05/17 -2056;5;9,303;08/05/17 -2057;5;3,538;08/05/17 -2058;5;5,222;08/05/17 -2059;5;10,993;08/05/17 -2060;5;4,02;08/05/17 -2061;5;4,147;08/05/17 -2062;5;11,603;08/05/17 -2063;5;6,113;08/05/17 -2064;5;7,702;08/05/17 -2065;5;8,763;08/05/17 -2066;5;9,317;08/05/17 -2067;5;11,472;08/05/17 -2068;5;9,936;08/05/17 -2069;5;9,742;08/05/17 -2070;5;6,179;08/05/17 -2071;5;4,638;08/05/17 -2072;5;8,385;08/05/17 -2073;5;11,153;08/05/17 -2074;5;6,303;08/05/17 -2075;5;3,575;08/05/17 -2076;5;4,706;08/05/17 -2077;5;9,532;08/05/17 -2078;5;4,788;08/05/17 -2079;5;9,538;08/05/17 -2080;5;7,483;08/05/17 -2081;5;7,651;08/05/17 -2082;5;4,663;09/05/17 -2083;5;3,327;09/05/17 -2084;5;4,736;09/05/17 -2085;5;6,874;09/05/17 -2086;5;6,053;09/05/17 -2087;5;9,97;09/05/17 -2088;5;7,586;09/05/17 -2089;5;3,919;09/05/17 -2090;5;5,21;09/05/17 -2091;5;5,616;09/05/17 -2092;5;8,269;09/05/17 -2093;5;6,108;09/05/17 -2094;5;9,612;09/05/17 -2095;5;6,444;09/05/17 -2096;5;4,273;09/05/17 -2097;5;10,059;09/05/17 -2098;5;4,313;09/05/17 -2099;5;8,776;09/05/17 -2100;5;4,193;09/05/17 -2101;5;5,76;09/05/17 -2102;5;7,136;09/05/17 -2103;5;3,422;09/05/17 -2104;5;8,101;09/05/17 -2105;5;8,898;09/05/17 -2106;5;6,242;09/05/17 -2107;5;4,321;09/05/17 -2108;5;11,024;09/05/17 -2109;5;7,856;09/05/17 -2110;5;6,257;09/05/17 -2111;5;7,736;09/05/17 -2112;5;8,087;09/05/17 -2113;5;5,765;09/05/17 -2114;5;11,985;09/05/17 -2115;5;5,468;09/05/17 -2116;5;9,431;09/05/17 -2117;5;7,702;09/05/17 -2118;5;4,787;09/05/17 -2119;5;11,161;09/05/17 -2120;5;9,455;09/05/17 -2121;5;8,822;09/05/17 -2122;5;11,103;09/05/17 -2123;5;9,71;09/05/17 -2124;5;3,047;09/05/17 -2125;5;9,294;09/05/17 -2126;5;7,963;09/05/17 -2127;5;4,071;09/05/17 -2128;5;8,49;09/05/17 -2129;5;7,472;09/05/17 -2130;5;3,077;09/05/17 -2131;5;6,145;09/05/17 -2132;5;10,841;09/05/17 -2133;5;10,216;09/05/17 -2134;5;11,678;09/05/17 -2135;5;11,981;09/05/17 -2136;5;7,639;09/05/17 -2137;5;3,407;09/05/17 -2138;5;9,573;09/05/17 -2139;5;6,058;09/05/17 -2140;5;8,938;09/05/17 -2141;5;6,102;09/05/17 -2142;5;5,064;09/05/17 -2143;5;5,099;09/05/17 -2144;5;11,772;09/05/17 -2145;5;7,823;09/05/17 -2146;5;7,588;09/05/17 -2147;5;4,945;09/05/17 -2148;5;10,721;09/05/17 -2149;5;4,577;09/05/17 -2150;5;6,956;09/05/17 -2151;5;6,08;09/05/17 -2152;5;6,098;09/05/17 -2153;5;7,98;09/05/17 -2154;5;3,613;09/05/17 -2155;5;4,407;09/05/17 -2156;5;5,854;09/05/17 -2157;5;3,236;09/05/17 -2158;5;10,665;09/05/17 -2159;5;3,58;09/05/17 -2160;5;11,68;09/05/17 -2161;5;8,99;09/05/17 -2162;5;9,544;09/05/17 -2163;5;5,943;09/05/17 -2164;5;3,472;09/05/17 -2165;5;8,805;09/05/17 -2166;5;7,107;09/05/17 -2167;5;3,623;09/05/17 -2168;5;10,227;09/05/17 -2169;5;5,483;09/05/17 -2170;5;6,262;09/05/17 -2171;5;10,549;09/05/17 -2172;5;11,458;09/05/17 -2173;5;7,453;09/05/17 -2174;5;11,458;09/05/17 -2175;5;3,317;09/05/17 -2176;5;10,467;09/05/17 -2177;5;10,489;09/05/17 -2178;5;10,385;09/05/17 -2179;5;3,012;09/05/17 -2180;5;7,413;09/05/17 -2181;5;8,128;09/05/17 -2182;5;7,388;09/05/17 -2183;5;9,313;09/05/17 -2184;5;8,583;09/05/17 -2185;5;8,656;09/05/17 -2186;5;9,463;09/05/17 -2187;5;4,033;09/05/17 -2188;5;9,526;09/05/17 -2189;5;4,219;09/05/17 -2190;5;11,485;09/05/17 -2191;5;4,863;09/05/17 -2192;5;6,642;09/05/17 -2193;5;5,489;09/05/17 -2194;5;4,478;09/05/17 -2195;5;10,33;09/05/17 -2196;5;4,728;09/05/17 -2197;5;11,307;09/05/17 -2198;5;9,962;09/05/17 -2199;5;7,6;09/05/17 -2200;5;11,595;09/05/17 -2201;5;9,924;09/05/17 -2202;5;7,298;09/05/17 -2203;5;8,709;09/05/17 -2204;5;6,76;09/05/17 -2205;5;11,696;09/05/17 -2206;5;5,446;09/05/17 -2207;5;5,075;09/05/17 -2208;5;4,272;09/05/17 -2209;5;7,157;09/05/17 -2210;5;11,812;09/05/17 -2211;5;10,606;09/05/17 -2212;5;8,042;09/05/17 -2213;5;5,023;09/05/17 -2214;5;5,103;09/05/17 -2215;5;9,428;09/05/17 -2216;5;3,248;09/05/17 -2217;5;8,956;09/05/17 -2218;5;7,855;09/05/17 -2219;5;8,978;09/05/17 -2220;5;3,209;09/05/17 -2221;5;11,58;09/05/17 -2222;5;8,841;09/05/17 -2223;5;8,82;09/05/17 -2224;5;9,863;09/05/17 -2225;5;10,678;09/05/17 -2226;5;11,137;09/05/17 -2227;5;10,637;09/05/17 -2228;5;3,959;09/05/17 -2229;5;8,855;09/05/17 -2230;5;10,904;09/05/17 -2231;5;6,03;09/05/17 -2232;5;3,36;09/05/17 -2233;5;11,447;09/05/17 -2234;5;4,606;09/05/17 -2235;5;6,939;09/05/17 -2236;5;6,701;09/05/17 -2237;5;11,535;09/05/17 -2238;5;8,023;09/05/17 -2239;5;7,327;09/05/17 -2240;5;8,206;09/05/17 -2241;5;6,385;09/05/17 -2242;5;4,862;10/05/17 -2243;5;8,486;10/05/17 -2244;5;3,806;10/05/17 -2245;5;3,225;10/05/17 -2246;5;5,718;10/05/17 -2247;5;3,309;10/05/17 -2248;5;9,736;10/05/17 -2249;5;4,69;10/05/17 -2250;5;6,809;10/05/17 -2251;5;10,311;10/05/17 -2252;5;9,151;10/05/17 -2253;5;5,636;10/05/17 -2254;5;4,997;10/05/17 -2255;5;7,236;10/05/17 -2256;5;3,932;10/05/17 -2257;5;6,028;10/05/17 -2258;5;7,367;10/05/17 -2259;5;8,628;10/05/17 -2260;5;9,354;10/05/17 -2261;5;8,264;10/05/17 -2262;5;9,906;10/05/17 -2263;5;5,644;10/05/17 -2264;5;9,05;10/05/17 -2265;5;6,849;10/05/17 -2266;5;4,244;10/05/17 -2267;5;9,651;10/05/17 -2268;5;9,986;10/05/17 -2269;5;4,039;10/05/17 -2270;5;3,185;10/05/17 -2271;5;7,426;10/05/17 -2272;5;9,131;10/05/17 -2273;5;6,679;10/05/17 -2274;5;3,985;10/05/17 -2275;5;9,779;10/05/17 -2276;5;3,853;10/05/17 -2277;5;3,432;10/05/17 -2278;5;9,436;10/05/17 -2279;5;4,53;10/05/17 -2280;5;10,387;10/05/17 -2281;5;11,577;10/05/17 -2282;5;6,74;10/05/17 -2283;5;9,753;10/05/17 -2284;5;10,42;10/05/17 -2285;5;7,451;10/05/17 -2286;5;5,164;10/05/17 -2287;5;10,59;10/05/17 -2288;5;8,469;10/05/17 -2289;5;6,487;10/05/17 -2290;5;6,342;10/05/17 -2291;5;9,201;10/05/17 -2292;5;11,533;10/05/17 -2293;5;6,944;10/05/17 -2294;5;10,208;10/05/17 -2295;5;4,831;10/05/17 -2296;5;7,711;10/05/17 -2297;5;6,396;10/05/17 -2298;5;4,711;10/05/17 -2299;5;7,422;10/05/17 -2300;5;6,846;10/05/17 -2301;5;7,446;10/05/17 -2302;5;3,232;10/05/17 -2303;5;7,559;10/05/17 -2304;5;10,236;10/05/17 -2305;5;11,229;10/05/17 -2306;5;9,955;10/05/17 -2307;5;4,131;10/05/17 -2308;5;10,132;10/05/17 -2309;5;4,644;10/05/17 -2310;5;8,927;10/05/17 -2311;5;6,986;10/05/17 -2312;5;7,882;10/05/17 -2313;5;6,366;10/05/17 -2314;5;9,821;10/05/17 -2315;5;10,626;10/05/17 -2316;5;7,561;10/05/17 -2317;5;8,419;10/05/17 -2318;5;4,368;10/05/17 -2319;5;4,822;10/05/17 -2320;5;9,447;10/05/17 -2321;5;6,104;10/05/17 -2322;5;10,56;10/05/17 -2323;5;6,317;10/05/17 -2324;5;7,761;10/05/17 -2325;5;9,078;10/05/17 -2326;5;3,849;10/05/17 -2327;5;8,534;10/05/17 -2328;5;6,423;10/05/17 -2329;5;8,52;10/05/17 -2330;5;6,338;10/05/17 -2331;5;6,679;10/05/17 -2332;5;11,246;10/05/17 -2333;5;3,538;10/05/17 -2334;5;3,626;10/05/17 -2335;5;10,951;10/05/17 -2336;5;4,254;10/05/17 -2337;5;5,564;10/05/17 -2338;5;8,003;10/05/17 -2339;5;7,682;10/05/17 -2340;5;9,114;10/05/17 -2341;5;8,816;10/05/17 -2342;5;9,127;10/05/17 -2343;5;11,944;10/05/17 -2344;5;10,452;10/05/17 -2345;5;6,32;10/05/17 -2346;5;5,608;10/05/17 -2347;5;9,353;10/05/17 -2348;5;4,528;10/05/17 -2349;5;3,735;10/05/17 -2350;5;9,486;10/05/17 -2351;5;3,284;10/05/17 -2352;5;11,223;10/05/17 -2353;5;3,623;10/05/17 -2354;5;5,332;10/05/17 -2355;5;8,641;10/05/17 -2356;5;8,283;10/05/17 -2357;5;6,583;10/05/17 -2358;5;7,309;10/05/17 -2359;5;11,299;10/05/17 -2360;5;3,431;10/05/17 -2361;5;10,222;10/05/17 -2362;5;11,991;10/05/17 -2363;5;3,797;10/05/17 -2364;5;9,273;10/05/17 -2365;5;10,829;10/05/17 -2366;5;11,034;10/05/17 -2367;5;9,211;10/05/17 -2368;5;11,277;10/05/17 -2369;5;10,276;10/05/17 -2370;5;5,434;10/05/17 -2371;5;5,559;10/05/17 -2372;5;7,307;10/05/17 -2373;5;10,126;10/05/17 -2374;5;8,003;10/05/17 -2375;5;11,894;10/05/17 -2376;5;9,735;10/05/17 -2377;5;7,797;10/05/17 -2378;5;10,336;10/05/17 -2379;5;4,411;10/05/17 -2380;5;11,924;10/05/17 -2381;5;5,67;10/05/17 -2382;5;4,103;10/05/17 -2383;5;11,441;10/05/17 -2384;5;8,956;10/05/17 -2385;5;3,868;10/05/17 -2386;5;6,415;10/05/17 -2387;5;6,526;10/05/17 -2388;5;5,18;10/05/17 -2389;5;3,498;10/05/17 -2390;5;4,811;10/05/17 -2391;5;5,638;10/05/17 -2392;5;10,699;10/05/17 -2393;5;9,609;10/05/17 -2394;5;11,229;10/05/17 -2395;5;11,312;10/05/17 -2396;5;10,86;10/05/17 -2397;5;10,32;10/05/17 -2398;5;5,487;10/05/17 -2399;5;3,052;10/05/17 -2400;5;3,776;10/05/17 -2401;5;7,158;10/05/17 -2402;5;11,912;11/05/17 -2403;5;8,144;11/05/17 -2404;5;3,341;11/05/17 -2405;5;10,594;11/05/17 -2406;5;4,065;11/05/17 -2407;5;3,683;11/05/17 -2408;5;5,576;11/05/17 -2409;5;6,642;11/05/17 -2410;5;9,143;11/05/17 -2411;5;4,124;11/05/17 -2412;5;9,026;11/05/17 -2413;5;6,379;11/05/17 -2414;5;4,611;11/05/17 -2415;5;5,98;11/05/17 -2416;5;4,856;11/05/17 -2417;5;8,337;11/05/17 -2418;5;10,241;11/05/17 -2419;5;3,437;11/05/17 -2420;5;11,274;11/05/17 -2421;5;9,455;11/05/17 -2422;5;3,147;11/05/17 -2423;5;10,148;11/05/17 -2424;5;9,223;11/05/17 -2425;5;4,006;11/05/17 -2426;5;11,971;11/05/17 -2427;5;4,275;11/05/17 -2428;5;10,195;11/05/17 -2429;5;9,772;11/05/17 -2430;5;10,996;11/05/17 -2431;5;6,64;11/05/17 -2432;5;10,105;11/05/17 -2433;5;3,06;11/05/17 -2434;5;3,687;11/05/17 -2435;5;4,904;11/05/17 -2436;5;3,473;11/05/17 -2437;5;6,096;11/05/17 -2438;5;7,074;11/05/17 -2439;5;6,029;11/05/17 -2440;5;5,27;11/05/17 -2441;5;11,962;11/05/17 -2442;5;9,998;11/05/17 -2443;5;7,118;11/05/17 -2444;5;3,365;11/05/17 -2445;5;8,511;11/05/17 -2446;5;6,745;11/05/17 -2447;5;4,341;11/05/17 -2448;5;6,673;11/05/17 -2449;5;11,242;11/05/17 -2450;5;4,577;11/05/17 -2451;5;4,379;11/05/17 -2452;5;9,335;11/05/17 -2453;5;3,781;11/05/17 -2454;5;3,063;11/05/17 -2455;5;3,609;11/05/17 -2456;5;6,052;11/05/17 -2457;5;7,224;11/05/17 -2458;5;7,126;11/05/17 -2459;5;10,503;11/05/17 -2460;5;10,526;11/05/17 -2461;5;10,144;11/05/17 -2462;5;8,695;11/05/17 -2463;5;4,29;11/05/17 -2464;5;5,398;11/05/17 -2465;5;11,574;11/05/17 -2466;5;5,542;11/05/17 -2467;5;11,056;11/05/17 -2468;5;3,405;11/05/17 -2469;5;5,76;11/05/17 -2470;5;10,362;11/05/17 -2471;5;6,364;11/05/17 -2472;5;3,84;11/05/17 -2473;5;11,713;11/05/17 -2474;5;10,194;11/05/17 -2475;5;9,86;11/05/17 -2476;5;10,025;11/05/17 -2477;5;6,556;11/05/17 -2478;5;9,106;11/05/17 -2479;5;6,421;11/05/17 -2480;5;11,823;11/05/17 -2481;5;6,745;11/05/17 -2482;5;8,275;11/05/17 -2483;5;3,669;11/05/17 -2484;5;6,115;11/05/17 -2485;5;9,559;11/05/17 -2486;5;8,953;11/05/17 -2487;5;3,578;11/05/17 -2488;5;7,949;11/05/17 -2489;5;11,979;11/05/17 -2490;5;8,121;11/05/17 -2491;5;5,225;11/05/17 -2492;5;11,572;11/05/17 -2493;5;10,711;11/05/17 -2494;5;9,12;11/05/17 -2495;5;10,954;11/05/17 -2496;5;11,422;11/05/17 -2497;5;11,211;11/05/17 -2498;5;8,662;11/05/17 -2499;5;9,055;11/05/17 -2500;5;4,637;11/05/17 -2501;5;6,155;11/05/17 -2502;5;6,09;11/05/17 -2503;5;8,321;11/05/17 -2504;5;8,357;11/05/17 -2505;5;5,742;11/05/17 -2506;5;9,836;11/05/17 -2507;5;3,091;11/05/17 -2508;5;6,635;11/05/17 -2509;5;3,516;11/05/17 -2510;5;9,342;11/05/17 -2511;5;4,525;11/05/17 -2512;5;7,9;11/05/17 -2513;5;8,711;11/05/17 -2514;5;9,087;11/05/17 -2515;5;5,731;11/05/17 -2516;5;9,238;11/05/17 -2517;5;10,964;11/05/17 -2518;5;6,093;11/05/17 -2519;5;11,908;11/05/17 -2520;5;4,577;11/05/17 -2521;5;5,015;11/05/17 -2522;5;4,58;11/05/17 -2523;5;9,555;11/05/17 -2524;5;6,884;11/05/17 -2525;5;10,385;11/05/17 -2526;5;10,387;11/05/17 -2527;5;8,805;11/05/17 -2528;5;3,518;11/05/17 -2529;5;5,737;11/05/17 -2530;5;7,741;11/05/17 -2531;5;8,449;11/05/17 -2532;5;9,411;11/05/17 -2533;5;9,248;11/05/17 -2534;5;3,973;11/05/17 -2535;5;8,849;11/05/17 -2536;5;7,873;11/05/17 -2537;5;11,59;11/05/17 -2538;5;11,188;11/05/17 -2539;5;4,742;11/05/17 -2540;5;11,15;11/05/17 -2541;5;5,798;11/05/17 -2542;5;3,866;11/05/17 -2543;5;7,487;11/05/17 -2544;5;4,589;11/05/17 -2545;5;7,525;11/05/17 -2546;5;4,742;11/05/17 -2547;5;8,588;11/05/17 -2548;5;8,87;11/05/17 -2549;5;9,861;11/05/17 -2550;5;4,475;11/05/17 -2551;5;11,778;11/05/17 -2552;5;5,7;11/05/17 -2553;5;6,466;11/05/17 -2554;5;6,044;11/05/17 -2555;5;3,81;11/05/17 -2556;5;7,282;11/05/17 -2557;5;9,621;11/05/17 -2558;5;4,756;11/05/17 -2559;5;6,695;11/05/17 -2560;5;5,609;11/05/17 -2561;5;8,856;11/05/17 -2562;5;7,555;12/05/17 -2563;5;8,179;12/05/17 -2564;5;5,476;12/05/17 -2565;5;7,765;12/05/17 -2566;5;7,231;12/05/17 -2567;5;9,564;12/05/17 -2568;5;4,133;12/05/17 -2569;5;10,114;12/05/17 -2570;5;6,78;12/05/17 -2571;5;6,534;12/05/17 -2572;5;3,647;12/05/17 -2573;5;7,03;12/05/17 -2574;5;3,325;12/05/17 -2575;5;4,206;12/05/17 -2576;5;6,619;12/05/17 -2577;5;5,448;12/05/17 -2578;5;4,635;12/05/17 -2579;5;6,608;12/05/17 -2580;5;11,841;12/05/17 -2581;5;7,225;12/05/17 -2582;5;11,149;12/05/17 -2583;5;3,784;12/05/17 -2584;5;3,031;12/05/17 -2585;5;3,197;12/05/17 -2586;5;8,833;12/05/17 -2587;5;4,401;12/05/17 -2588;5;3,205;12/05/17 -2589;5;4,698;12/05/17 -2590;5;10,323;12/05/17 -2591;5;5,616;12/05/17 -2592;5;9,596;12/05/17 -2593;5;11,521;12/05/17 -2594;5;4,005;12/05/17 -2595;5;7,301;12/05/17 -2596;5;3,203;12/05/17 -2597;5;4,211;12/05/17 -2598;5;6,561;12/05/17 -2599;5;7,568;12/05/17 -2603;5;5,55;12/05/17 -2604;5;4,873;12/05/17 -2605;5;4,147;12/05/17 -2606;5;7,77;12/05/17 -2607;5;11,251;12/05/17 -2608;5;9,506;12/05/17 -2609;5;7,37;12/05/17 -2610;5;4,171;12/05/17 -2611;5;3,467;12/05/17 -2612;5;8,357;12/05/17 -2613;5;5,326;12/05/17 -2614;5;5,819;12/05/17 -2615;5;10,053;12/05/17 -2616;5;4,629;12/05/17 -2617;5;11,1;12/05/17 -2618;5;6,189;12/05/17 -2619;5;8,78;12/05/17 -2620;5;7,646;12/05/17 -2621;5;4,295;12/05/17 -2622;5;7,799;12/05/17 -2623;5;8,528;12/05/17 -2624;5;10,626;12/05/17 -2625;5;7,136;12/05/17 -2626;5;5,871;12/05/17 -2627;5;7,513;12/05/17 -2628;5;10,678;12/05/17 -2629;5;7,325;12/05/17 -2630;5;7,684;12/05/17 -2631;5;5,75;12/05/17 -2632;5;8,27;12/05/17 -2633;5;9,125;12/05/17 -2634;5;7,427;12/05/17 -2635;5;9,532;12/05/17 -2636;5;3,808;12/05/17 -2637;5;9,322;12/05/17 -2638;5;7,458;12/05/17 -2639;5;11,071;12/05/17 -2640;5;5,739;12/05/17 -2641;5;9,422;12/05/17 -2642;5;7,397;12/05/17 -2643;5;4,168;12/05/17 -2644;5;10,619;12/05/17 -2645;5;3,795;12/05/17 -2646;5;11,259;12/05/17 -2647;5;10,523;12/05/17 -2648;5;7,324;12/05/17 -2649;5;10,561;12/05/17 -2650;5;6,473;12/05/17 -2651;5;6,341;12/05/17 -2652;5;7,393;12/05/17 -2653;5;4,501;12/05/17 -2654;5;8,665;12/05/17 -2655;5;4,433;12/05/17 -2656;5;4,706;12/05/17 -2657;5;7,581;12/05/17 -2658;5;4,492;12/05/17 -2659;5;11,385;12/05/17 -2660;5;8,417;12/05/17 -2661;5;5,365;12/05/17 -2662;5;7,044;12/05/17 -2663;5;9,667;12/05/17 -2664;5;8,26;12/05/17 -2665;5;10,739;12/05/17 -2666;5;4,394;12/05/17 -2667;5;4,309;12/05/17 -2668;5;11,123;12/05/17 -2669;5;4,042;12/05/17 -2670;5;8,111;12/05/17 -2671;5;5,313;12/05/17 -2672;5;4,066;12/05/17 -2673;5;9,13;12/05/17 -2674;5;9,807;12/05/17 -2675;5;7,328;12/05/17 -2676;5;8,266;12/05/17 -2677;5;9,043;12/05/17 -2678;5;11,283;12/05/17 -2679;5;6,198;12/05/17 -2680;5;4,832;12/05/17 -2681;5;10,245;12/05/17 -2682;5;3,559;12/05/17 -2683;5;9,099;12/05/17 -2684;5;8,462;12/05/17 -2685;5;4,64;12/05/17 -2686;5;3,634;12/05/17 -2687;5;10,233;12/05/17 -2688;5;8,994;12/05/17 -2689;5;3,176;12/05/17 -2690;5;6,818;12/05/17 -2691;5;6,602;12/05/17 -2692;5;5,655;12/05/17 -2693;5;5,7;12/05/17 -2694;5;3,627;12/05/17 -2695;5;6,892;12/05/17 -2696;5;9,609;12/05/17 -2697;5;6,261;12/05/17 -2698;5;11,438;12/05/17 -2699;5;10,973;12/05/17 -2700;5;5,588;12/05/17 -2701;5;3,452;12/05/17 -2702;5;10,415;12/05/17 -2703;5;9,144;12/05/17 -2704;5;3,877;12/05/17 -2705;5;10,932;12/05/17 -2706;5;5,192;12/05/17 -2707;5;6,509;12/05/17 -2708;5;4,641;12/05/17 -2709;5;9,248;12/05/17 -2710;5;9,091;12/05/17 -2711;5;3,169;12/05/17 -2712;5;6,554;12/05/17 -2713;5;5,465;12/05/17 -2714;5;4,218;12/05/17 -2715;5;4,753;12/05/17 -2716;5;4,687;12/05/17 -2717;5;7,093;12/05/17 -2718;5;5,726;12/05/17 -2719;5;4,486;12/05/17 -2720;5;6,673;12/05/17 -2721;5;6,512;12/05/17 -2722;5;3,105;12/05/17 -2723;5;5,738;12/05/17 -2724;5;11,306;12/05/17 -2725;5;9,064;13/05/17 -2726;5;7,534;13/05/17 -2727;5;8,364;13/05/17 -2728;5;3,775;13/05/17 -2729;5;5,777;13/05/17 -2730;5;7,627;13/05/17 -2731;5;3,914;13/05/17 -2732;5;10,416;13/05/17 -2733;5;9,944;13/05/17 -2734;5;4,466;13/05/17 -2735;5;11,082;13/05/17 -2736;5;11,921;13/05/17 -2737;5;10,405;13/05/17 -2738;5;11,497;13/05/17 -2739;5;7,993;13/05/17 -2740;5;9,752;13/05/17 -2741;5;9,765;13/05/17 -2742;5;8,983;13/05/17 -2743;5;7,581;13/05/17 -2744;5;4,397;13/05/17 -2745;5;11,932;13/05/17 -2746;5;4,639;13/05/17 -2747;5;11,223;13/05/17 -2748;5;8,897;13/05/17 -2749;5;8,182;13/05/17 -2750;5;9,739;13/05/17 -2751;5;9,658;13/05/17 -2752;5;7,121;13/05/17 -2753;5;4,536;13/05/17 -2754;5;10,527;13/05/17 -2755;5;6,759;13/05/17 -2756;5;10,933;13/05/17 -2757;5;8,809;13/05/17 -2758;5;5,796;13/05/17 -2759;5;3,024;13/05/17 -2760;5;9,161;13/05/17 -2761;5;7,445;13/05/17 -2762;5;3,016;13/05/17 -2763;5;10,07;13/05/17 -2764;5;4,128;13/05/17 -2765;5;9,116;13/05/17 -2766;5;9,624;13/05/17 -2767;5;6,057;13/05/17 -2768;5;5,537;13/05/17 -2769;5;9,617;13/05/17 -2770;5;4,076;13/05/17 -2771;5;6,537;13/05/17 -2772;5;5,04;13/05/17 -2773;5;5,857;13/05/17 -2774;5;10,063;13/05/17 -2775;5;6,778;13/05/17 -2776;5;7,586;13/05/17 -2777;5;5,994;13/05/17 -2778;5;6,188;13/05/17 -2779;5;4,793;13/05/17 -2780;5;5,354;13/05/17 -2781;5;11,08;13/05/17 -2782;5;11,061;13/05/17 -2783;5;11,912;13/05/17 -2784;5;8,086;13/05/17 -2785;5;11,986;13/05/17 -2786;5;10,522;13/05/17 -2787;5;4,222;13/05/17 -2788;5;7,123;13/05/17 -2789;5;8,986;13/05/17 -2790;5;8,502;13/05/17 -2791;5;6,966;13/05/17 -2792;5;6,426;13/05/17 -2793;5;6,208;13/05/17 -2794;5;10,591;13/05/17 -2795;5;9,92;13/05/17 -2796;5;11,764;13/05/17 -2797;5;9,188;13/05/17 -2798;5;10,394;13/05/17 -2799;5;6,451;13/05/17 -2800;5;11,15;13/05/17 -2801;5;7,962;13/05/17 -2802;5;7,209;13/05/17 -2803;5;4,28;13/05/17 -2804;5;5,874;13/05/17 -2805;5;6,944;13/05/17 -2806;5;4,569;13/05/17 -2807;5;9,429;13/05/17 -2808;5;11,992;13/05/17 -2809;5;4,512;13/05/17 -2810;5;8,3;13/05/17 -2811;5;9,096;13/05/17 -2812;5;4,099;13/05/17 -2813;5;5,515;13/05/17 -2814;5;6,918;13/05/17 -2815;5;11,256;13/05/17 -2816;5;4,846;13/05/17 -2817;5;6,225;13/05/17 -2818;5;9,311;13/05/17 -2819;5;8,852;13/05/17 -2820;5;10,481;13/05/17 -2821;5;8,938;13/05/17 -2822;5;3,915;13/05/17 -2823;5;9,039;13/05/17 -2824;5;4,914;13/05/17 -2825;5;5,438;13/05/17 -2826;5;9,512;13/05/17 -2827;5;7,155;13/05/17 -2828;5;3,948;13/05/17 -2829;5;11,048;13/05/17 -2830;5;6,731;13/05/17 -2831;5;5,505;13/05/17 -2832;5;6,212;13/05/17 -2833;5;5,097;13/05/17 -2834;5;3,822;13/05/17 -2835;5;8,322;13/05/17 -2836;5;9,066;13/05/17 -2837;5;6,074;13/05/17 -2838;5;3,375;13/05/17 -2839;5;4,004;13/05/17 -2840;5;7,991;13/05/17 -2841;5;5,255;13/05/17 -2842;5;6,668;13/05/17 -2843;5;8,359;13/05/17 -2844;5;9,567;13/05/17 -2845;5;5,509;13/05/17 -2846;5;9,741;13/05/17 -2847;5;11,218;13/05/17 -2848;5;7,308;13/05/17 -2849;5;8,186;13/05/17 -2850;5;4,903;13/05/17 -2851;5;7,61;13/05/17 -2852;5;8,258;13/05/17 -2853;5;6,298;13/05/17 -2854;5;7,206;13/05/17 -2855;5;4,336;13/05/17 -2856;5;6,428;13/05/17 -2857;5;9,562;13/05/17 -2858;5;10,683;13/05/17 -2859;5;6,663;13/05/17 -2860;5;10,737;13/05/17 -2861;5;9,294;13/05/17 -2862;5;9,946;13/05/17 -2863;5;5,415;13/05/17 -2864;5;11,092;13/05/17 -2865;5;11,627;13/05/17 -2866;5;10,711;13/05/17 -2867;5;6,124;13/05/17 -2868;5;3,448;13/05/17 -2869;5;6,49;13/05/17 -2870;5;6,264;13/05/17 -2871;5;9,037;13/05/17 -2872;5;3,41;13/05/17 -2873;5;10,801;13/05/17 -2874;5;8,894;13/05/17 -2875;5;5,041;13/05/17 -2876;5;6,461;13/05/17 -2877;5;8,317;13/05/17 -2878;5;9,787;13/05/17 -2879;5;3,032;13/05/17 -2880;5;7,221;13/05/17 -2881;5;7,845;13/05/17 -2882;5;8,449;13/05/17 -2883;5;8,581;13/05/17 -2884;5;7,429;13/05/17 -2885;5;8,105;14/05/17 -2886;5;11,202;14/05/17 -2887;5;7,464;14/05/17 -2888;5;5,045;14/05/17 -2889;5;10,678;14/05/17 -2890;5;6,69;14/05/17 -2891;5;3,742;14/05/17 -2892;5;11,772;14/05/17 -2893;5;11,482;14/05/17 -2894;5;11,695;14/05/17 -2895;5;9,584;14/05/17 -2896;5;9,388;14/05/17 -2897;5;10,997;14/05/17 -2898;5;11,439;14/05/17 -2899;5;9,345;14/05/17 -2900;5;8,606;14/05/17 -2901;5;6,083;14/05/17 -2902;5;4,635;14/05/17 -2903;5;11,289;14/05/17 -2904;5;4,3;14/05/17 -2905;5;10,275;14/05/17 -2906;5;5,765;14/05/17 -2907;5;3,258;14/05/17 -2908;5;10,449;14/05/17 -2909;5;4,758;14/05/17 -2910;5;9,533;14/05/17 -2911;5;3,6;14/05/17 -2912;5;3,489;14/05/17 -2913;5;9,514;14/05/17 -2914;5;11,382;14/05/17 -2915;5;6,818;14/05/17 -2916;5;5,927;14/05/17 -2917;5;7,746;14/05/17 -2918;5;9,02;14/05/17 -2919;5;8,88;14/05/17 -2920;5;7,067;14/05/17 -2921;5;6,438;14/05/17 -2922;5;10,112;14/05/17 -2923;5;7,303;14/05/17 -2924;5;10,387;14/05/17 -2925;5;10,367;14/05/17 -2926;5;7,917;14/05/17 -2927;5;7,602;14/05/17 -2928;5;3,063;14/05/17 -2929;5;5,414;14/05/17 -2930;5;10,858;14/05/17 -2931;5;3,477;14/05/17 -2932;5;7,922;14/05/17 -2933;5;3,037;14/05/17 -2934;5;8,351;14/05/17 -2935;5;9,181;14/05/17 -2936;5;11,089;14/05/17 -2937;5;5,78;14/05/17 -2938;5;11,384;14/05/17 -2939;5;10,066;14/05/17 -2940;5;10,991;14/05/17 -2941;5;9,592;14/05/17 -2942;5;6,925;14/05/17 -2943;5;3,81;14/05/17 -2944;5;3,868;14/05/17 -2945;5;10,6;14/05/17 -2946;5;6,983;14/05/17 -2947;5;8,936;14/05/17 -2948;5;11,435;14/05/17 -2949;5;5,461;14/05/17 -2950;5;7,944;14/05/17 -2951;5;7,987;14/05/17 -2952;5;9,641;14/05/17 -2953;5;8,277;14/05/17 -2954;5;8,407;14/05/17 -2955;5;10,664;14/05/17 -2956;5;11,936;14/05/17 -2957;5;5,685;14/05/17 -2958;5;8,68;14/05/17 -2959;5;6,298;14/05/17 -2960;5;8,621;14/05/17 -2961;5;11,347;14/05/17 -2962;5;9,281;14/05/17 -2963;5;11,093;14/05/17 -2964;5;11,557;14/05/17 -2965;5;9,99;14/05/17 -2966;5;7,829;14/05/17 -2967;5;11,466;14/05/17 -2968;5;8,17;14/05/17 -2969;5;9,067;14/05/17 -2970;5;3,094;14/05/17 -2971;5;4,015;14/05/17 -2972;5;10,594;14/05/17 -2973;5;6,526;14/05/17 -2974;5;10,924;14/05/17 -2975;5;10,885;14/05/17 -2976;5;5,996;14/05/17 -2977;5;4,967;14/05/17 -2978;5;5,142;14/05/17 -2979;5;9,85;14/05/17 -2980;5;6,992;14/05/17 -2981;5;4,661;14/05/17 -2982;5;8,179;14/05/17 -2983;5;9,456;14/05/17 -2984;5;3,981;14/05/17 -2985;5;9,792;14/05/17 -2986;5;3,044;14/05/17 -2987;5;8,91;14/05/17 -2988;5;6,454;14/05/17 -2989;5;6,622;14/05/17 -2990;5;4,456;14/05/17 -2991;5;6,368;14/05/17 -2992;5;4,065;14/05/17 -2993;5;9,413;14/05/17 -2994;5;10,178;14/05/17 -2995;5;8,935;14/05/17 -2996;5;4,602;14/05/17 -2997;5;7,056;14/05/17 -2998;5;3,11;14/05/17 -2999;5;7,332;14/05/17 -3000;5;11,116;14/05/17 -3001;5;6,758;14/05/17 -3002;5;7,344;14/05/17 -3003;5;11,8;14/05/17 -3004;5;3,008;14/05/17 -3005;5;6,617;14/05/17 -3006;5;5,833;14/05/17 -3007;5;10,193;14/05/17 -3008;5;9,911;14/05/17 -3009;5;3,942;14/05/17 -3010;5;10,692;14/05/17 -3011;5;9,619;14/05/17 -3012;5;9,71;14/05/17 -3013;5;11,869;14/05/17 -3014;5;9,082;14/05/17 -3015;5;3,81;14/05/17 -3016;5;4,072;14/05/17 -3017;5;9,738;14/05/17 -3018;5;3,095;14/05/17 -3019;5;7,966;14/05/17 -3020;5;3,45;14/05/17 -3021;5;7,228;14/05/17 -3022;5;7,617;14/05/17 -3023;5;3,156;14/05/17 -3024;5;3,24;14/05/17 -3025;5;9,992;14/05/17 -3026;5;9,125;14/05/17 -3027;5;6,552;14/05/17 -3028;5;11,939;14/05/17 -3029;5;3,1;14/05/17 -3030;5;8,116;14/05/17 -3031;5;5,704;14/05/17 -3032;5;9,425;14/05/17 -3033;5;8,29;14/05/17 -3034;5;11,404;14/05/17 -3035;5;11,497;14/05/17 -3036;5;4,47;14/05/17 -3037;5;4,684;14/05/17 -3038;5;10,044;14/05/17 -3039;5;6,651;14/05/17 -3040;5;7,083;14/05/17 -3041;5;4,551;14/05/17 -3042;5;4,937;14/05/17 -3043;5;9,027;14/05/17 -3044;5;11,953;14/05/17 -3045;5;8,351;15/05/17 -3046;5;3,27;15/05/17 -3047;5;11,987;15/05/17 -3048;5;3,578;15/05/17 -3049;5;7,219;15/05/17 -3050;5;4,553;15/05/17 -3051;5;5,745;15/05/17 -3052;5;9,163;15/05/17 -3053;5;11,967;15/05/17 -3054;5;11,626;15/05/17 -3055;5;6,518;15/05/17 -3056;5;5,589;15/05/17 -3057;5;7,455;15/05/17 -3058;5;8,625;15/05/17 -3059;5;8,111;15/05/17 -3060;5;6,987;15/05/17 -3061;5;4,265;15/05/17 -3062;5;4,475;15/05/17 -3063;5;3,278;15/05/17 -3064;5;4,747;15/05/17 -3065;5;9,741;15/05/17 -3066;5;11,839;15/05/17 -3067;5;7,33;15/05/17 -3068;5;7,697;15/05/17 -3069;5;5,086;15/05/17 -3070;5;8,764;15/05/17 -3071;5;6,075;15/05/17 -3072;5;10,638;15/05/17 -3073;5;3,095;15/05/17 -3074;5;8,029;15/05/17 -3075;5;8,106;15/05/17 -3076;5;10,091;15/05/17 -3077;5;10,23;15/05/17 -3078;5;4,616;15/05/17 -3079;5;4,833;15/05/17 -3080;5;8,179;15/05/17 -3081;5;7,814;15/05/17 -3082;5;8,124;15/05/17 -3083;5;6,395;15/05/17 -3084;5;5,459;15/05/17 -3085;5;8,486;15/05/17 -3086;5;8,349;15/05/17 -3087;5;6,646;15/05/17 -3088;5;7,037;15/05/17 -3089;5;6,3;15/05/17 -3090;5;10,249;15/05/17 -3091;5;7,443;15/05/17 -3092;5;11,176;15/05/17 -3093;5;7,07;15/05/17 -3094;5;8,916;15/05/17 -3095;5;11,589;15/05/17 -3096;5;10,333;15/05/17 -3097;5;8,255;15/05/17 -3098;5;5,787;15/05/17 -3099;5;6,007;15/05/17 -3100;5;7,958;15/05/17 -3101;5;6,275;15/05/17 -3102;5;8,017;15/05/17 -3103;5;9,522;15/05/17 -3104;5;8,009;15/05/17 -3105;5;8,793;15/05/17 -3106;5;6,797;15/05/17 -3107;5;11,673;15/05/17 -3108;5;8,198;15/05/17 -3109;5;4,463;15/05/17 -3110;5;9,732;15/05/17 -3111;5;9,115;15/05/17 -3112;5;5,055;15/05/17 -3113;5;7,009;15/05/17 -3114;5;5,125;15/05/17 -3115;5;5,349;15/05/17 -3116;5;7,42;15/05/17 -3117;5;6,171;15/05/17 -3118;5;10,266;15/05/17 -3119;5;3,079;15/05/17 -3120;5;9,993;15/05/17 -3121;5;3,808;15/05/17 -3122;5;4,969;15/05/17 -3123;5;3,137;15/05/17 -3124;5;10,129;15/05/17 -3125;5;4,833;15/05/17 -3126;5;9,63;15/05/17 -3127;5;4,491;15/05/17 -3128;5;8,697;15/05/17 -3129;5;10,495;15/05/17 -3130;5;4,983;15/05/17 -3131;5;6,837;15/05/17 -3132;5;7,408;15/05/17 -3133;5;5,92;15/05/17 -3134;5;11,927;15/05/17 -3135;5;11,447;15/05/17 -3136;5;8,793;15/05/17 -3137;5;10,211;15/05/17 -3138;5;8,791;15/05/17 -3139;5;7,643;15/05/17 -3140;5;8,671;15/05/17 -3141;5;4,95;15/05/17 -3142;5;11,79;15/05/17 -3143;5;10,81;15/05/17 -3144;5;3,701;15/05/17 -3145;5;8,138;15/05/17 -3146;5;11,272;15/05/17 -3147;5;3,908;15/05/17 -3148;5;11,258;15/05/17 -3149;5;8,609;15/05/17 -3150;5;11,198;15/05/17 -3151;5;11,058;15/05/17 -3152;5;5,888;15/05/17 -3153;5;9,925;15/05/17 -3154;5;4,746;15/05/17 -3155;5;4,877;15/05/17 -3156;5;7,291;15/05/17 -3157;5;3,695;15/05/17 -3158;5;6,039;15/05/17 -3159;5;9,595;15/05/17 -3160;5;8,55;15/05/17 -3161;5;8,192;15/05/17 -3162;5;11,818;15/05/17 -3163;5;7,492;15/05/17 -3164;5;4,406;15/05/17 -3165;5;4,568;15/05/17 -3166;5;9,25;15/05/17 -3167;5;11,403;15/05/17 -3168;5;11,119;15/05/17 -3169;5;4,073;15/05/17 -3170;5;6,072;15/05/17 -3171;5;11,67;15/05/17 -3172;5;5,96;15/05/17 -3173;5;3,486;15/05/17 -3174;5;9,029;15/05/17 -3175;5;8,117;15/05/17 -3176;5;9,044;15/05/17 -3177;5;7,583;15/05/17 -3178;5;6,982;15/05/17 -3179;5;10,091;15/05/17 -3180;5;7,373;15/05/17 -3181;5;7,974;15/05/17 -3182;5;11,104;15/05/17 -3183;5;3,458;15/05/17 -3184;5;11,947;15/05/17 -3185;5;3,146;15/05/17 -3186;5;4,228;15/05/17 -3187;5;3,597;15/05/17 -3188;5;11,772;15/05/17 -3189;5;8,385;15/05/17 -3190;5;5,05;15/05/17 -3191;5;3,364;15/05/17 -3192;5;9,061;15/05/17 -3193;5;10,526;15/05/17 -3194;5;11,381;15/05/17 -3195;5;7,157;15/05/17 -3196;5;6,112;15/05/17 -3197;5;5,604;15/05/17 -3198;5;4,96;15/05/17 -3199;5;8,501;15/05/17 -3200;5;7,108;15/05/17 -3201;5;8,605;15/05/17 -3202;5;3,016;15/05/17 -2;6;9,976;01/06/17 -3;6;5,433;01/06/17 -4;6;8,797;01/06/17 -5;6;3,008;01/06/17 -6;6;9,148;01/06/17 -7;6;5,055;01/06/17 -8;6;5,138;01/06/17 -9;6;3,72;01/06/17 -10;6;9,567;01/06/17 -11;6;9,882;01/06/17 -12;6;9,633;01/06/17 -13;6;9,689;01/06/17 -14;6;8,738;01/06/17 -15;6;6,011;01/06/17 -16;6;4,772;01/06/17 -17;6;9,439;01/06/17 -18;6;5,251;01/06/17 -19;6;9,042;01/06/17 -20;6;5,376;01/06/17 -21;6;6,342;01/06/17 -22;6;7,478;01/06/17 -23;6;9,364;01/06/17 -24;6;8,824;01/06/17 -25;6;7,949;01/06/17 -26;6;3,986;01/06/17 -27;6;8,118;01/06/17 -28;6;7,549;01/06/17 -29;6;5,135;01/06/17 -30;6;6,567;01/06/17 -31;6;4,02;01/06/17 -32;6;9,474;01/06/17 -33;6;6,161;01/06/17 -34;6;5,613;01/06/17 -35;6;9,01;01/06/17 -36;6;5,079;01/06/17 -37;6;4,574;01/06/17 -38;6;8,959;01/06/17 -39;6;10,626;01/06/17 -40;6;10,289;01/06/17 -41;6;3,405;01/06/17 -42;6;10,908;01/06/17 -43;6;3,756;01/06/17 -44;6;5,636;01/06/17 -45;6;11,301;01/06/17 -46;6;5,749;01/06/17 -47;6;10,671;01/06/17 -48;6;7,855;01/06/17 -49;6;8,636;01/06/17 -50;6;10,079;01/06/17 -51;6;8,557;01/06/17 -52;6;3,221;01/06/17 -53;6;6,02;01/06/17 -54;6;7,918;01/06/17 -55;6;4,025;01/06/17 -56;6;11,577;01/06/17 -57;6;3,604;01/06/17 -58;6;3,915;01/06/17 -59;6;6,311;01/06/17 -60;6;9,853;01/06/17 -61;6;4,961;01/06/17 -62;6;10,886;01/06/17 -63;6;4,764;01/06/17 -64;6;6,186;01/06/17 -65;6;4,459;01/06/17 -66;6;4,78;01/06/17 -67;6;3,763;01/06/17 -68;6;3,023;01/06/17 -69;6;8,183;01/06/17 -70;6;10,275;01/06/17 -71;6;9,223;01/06/17 -72;6;5,848;01/06/17 -73;6;8,499;01/06/17 -74;6;3,561;01/06/17 -75;6;8,907;01/06/17 -76;6;8,509;01/06/17 -77;6;7,705;01/06/17 -78;6;11,674;01/06/17 -79;6;7,632;01/06/17 -80;6;8,606;01/06/17 -81;6;11,607;01/06/17 -82;6;10,977;01/06/17 -83;6;5,51;01/06/17 -84;6;4,752;01/06/17 -85;6;7,085;01/06/17 -86;6;8,294;01/06/17 -87;6;5,513;01/06/17 -88;6;8,373;01/06/17 -89;6;5,622;01/06/17 -90;6;6,991;01/06/17 -91;6;6,336;01/06/17 -92;6;11,788;01/06/17 -93;6;7,427;01/06/17 -94;6;5,043;01/06/17 -95;6;11,747;01/06/17 -96;6;5,596;01/06/17 -97;6;11,213;01/06/17 -98;6;9,699;01/06/17 -99;6;10,099;01/06/17 -100;6;3,698;01/06/17 -101;6;5,554;01/06/17 -102;6;5,074;01/06/17 -103;6;5,566;01/06/17 -104;6;8,018;01/06/17 -105;6;6,937;01/06/17 -106;6;4,262;01/06/17 -107;6;4,699;01/06/17 -108;6;8,728;01/06/17 -109;6;9,09;01/06/17 -110;6;10,518;01/06/17 -111;6;6,188;01/06/17 -112;6;4,713;01/06/17 -113;6;11,585;01/06/17 -114;6;11,436;01/06/17 -115;6;5,692;01/06/17 -116;6;10,22;01/06/17 -117;6;11,432;01/06/17 -118;6;4,009;01/06/17 -119;6;7,768;01/06/17 -120;6;6,493;01/06/17 -121;6;7,589;01/06/17 -122;6;4,989;01/06/17 -123;6;11,341;01/06/17 -124;6;11,875;01/06/17 -125;6;8,723;01/06/17 -126;6;8,759;01/06/17 -127;6;5,448;01/06/17 -128;6;3,82;01/06/17 -129;6;8,472;01/06/17 -130;6;6,571;01/06/17 -131;6;5,415;01/06/17 -132;6;10,527;01/06/17 -133;6;8,975;01/06/17 -134;6;8,256;01/06/17 -135;6;3,928;01/06/17 -136;6;9,343;01/06/17 -137;6;9,199;01/06/17 -138;6;10,512;01/06/17 -139;6;10,519;01/06/17 -140;6;3,238;01/06/17 -141;6;9,762;01/06/17 -142;6;9,864;01/06/17 -143;6;7,729;01/06/17 -144;6;8,505;01/06/17 -145;6;7,541;01/06/17 -146;6;11,457;01/06/17 -147;6;5,661;01/06/17 -148;6;9,228;01/06/17 -149;6;5,163;01/06/17 -150;6;11,037;01/06/17 -151;6;3,831;01/06/17 -152;6;9,065;01/06/17 -153;6;10,648;01/06/17 -154;6;8,253;01/06/17 -155;6;3,438;01/06/17 -156;6;3,248;01/06/17 -157;6;4,257;01/06/17 -158;6;7,246;01/06/17 -159;6;8,233;01/06/17 -160;6;8,85;01/06/17 -161;6;9,639;01/06/17 -162;6;5,167;01/06/17 -163;6;6,473;01/06/17 -164;6;7,566;01/06/17 -165;6;9,409;01/06/17 -166;6;11,368;01/06/17 -167;6;4,065;01/06/17 -168;6;6,823;01/06/17 -169;6;8;01/06/17 -170;6;4,865;01/06/17 -171;6;4,431;01/06/17 -172;6;7,539;01/06/17 -173;6;9,774;01/06/17 -174;6;4,108;01/06/17 -175;6;11,644;01/06/17 -176;6;7,158;01/06/17 -177;6;6,315;01/06/17 -178;6;10,891;01/06/17 -179;6;7,801;01/06/17 -180;6;3,819;01/06/17 -181;6;4,517;01/06/17 -182;6;4,082;01/06/17 -183;6;5,805;01/06/17 -184;6;6,848;01/06/17 -185;6;9,611;01/06/17 -186;6;6,446;01/06/17 -187;6;3,599;01/06/17 -188;6;3,99;01/06/17 -189;6;4,408;01/06/17 -190;6;6,823;01/06/17 -191;6;10,514;01/06/17 -192;6;3,52;01/06/17 -193;6;3,223;02/06/17 -194;6;6,697;02/06/17 -195;6;6,658;02/06/17 -196;6;5,039;02/06/17 -197;6;6,344;02/06/17 -198;6;5,212;02/06/17 -199;6;3,747;02/06/17 -200;6;4,967;02/06/17 -201;6;7,463;02/06/17 -202;6;9,501;02/06/17 -203;6;7,183;02/06/17 -204;6;6,311;02/06/17 -205;6;8,231;02/06/17 -206;6;5,169;02/06/17 -207;6;4,662;02/06/17 -208;6;11,575;02/06/17 -209;6;3,033;02/06/17 -210;6;9,996;02/06/17 -211;6;7,556;02/06/17 -212;6;7,473;02/06/17 -213;6;7,697;02/06/17 -214;6;7,024;02/06/17 -215;6;3,397;02/06/17 -216;6;10,168;02/06/17 -217;6;11,281;02/06/17 -218;6;9,103;02/06/17 -219;6;7,284;02/06/17 -220;6;5,363;02/06/17 -221;6;7,471;02/06/17 -222;6;4,202;02/06/17 -223;6;10,785;02/06/17 -224;6;7,787;02/06/17 -225;6;5,085;02/06/17 -226;6;6,649;02/06/17 -227;6;8,735;02/06/17 -228;6;8,089;02/06/17 -229;6;9,663;02/06/17 -230;6;4,491;02/06/17 -231;6;8,236;02/06/17 -232;6;8,756;02/06/17 -233;6;5,051;02/06/17 -234;6;8,386;02/06/17 -235;6;4,195;02/06/17 -236;6;11,026;02/06/17 -237;6;6,309;02/06/17 -238;6;3,945;02/06/17 -239;6;4,949;02/06/17 -240;6;10,181;02/06/17 -241;6;10,146;02/06/17 -242;6;11,394;02/06/17 -243;6;5,743;02/06/17 -244;6;8,039;02/06/17 -245;6;3,886;02/06/17 -246;6;4,464;02/06/17 -247;6;9,911;02/06/17 -248;6;10,021;02/06/17 -249;6;5,497;02/06/17 -250;6;7,83;02/06/17 -251;6;6,558;02/06/17 -252;6;9,858;02/06/17 -253;6;7,351;02/06/17 -254;6;11,574;02/06/17 -255;6;4,48;02/06/17 -256;6;6,539;02/06/17 -257;6;3,289;02/06/17 -258;6;9,985;02/06/17 -259;6;5,004;02/06/17 -260;6;6,634;02/06/17 -261;6;3,662;02/06/17 -262;6;7,001;02/06/17 -263;6;3,32;02/06/17 -264;6;5,3;02/06/17 -265;6;4,775;02/06/17 -266;6;5,037;02/06/17 -267;6;10,404;02/06/17 -268;6;6,141;02/06/17 -269;6;11,859;02/06/17 -270;6;5,154;02/06/17 -271;6;6,384;02/06/17 -272;6;3,244;02/06/17 -273;6;6,904;02/06/17 -274;6;7,736;02/06/17 -275;6;5,863;02/06/17 -276;6;4,838;02/06/17 -277;6;9,257;02/06/17 -278;6;6,815;02/06/17 -279;6;6,986;02/06/17 -280;6;7,34;02/06/17 -281;6;10,247;02/06/17 -282;6;5,245;02/06/17 -283;6;4,713;02/06/17 -284;6;5,03;02/06/17 -285;6;4,284;02/06/17 -286;6;9,937;02/06/17 -287;6;10,937;02/06/17 -288;6;7,141;02/06/17 -289;6;6,09;02/06/17 -290;6;4,336;02/06/17 -291;6;5,341;02/06/17 -292;6;10,737;02/06/17 -293;6;3,483;02/06/17 -294;6;10,177;02/06/17 -295;6;8,214;02/06/17 -296;6;9,1;02/06/17 -297;6;6,612;02/06/17 -298;6;11,774;02/06/17 -299;6;9,523;02/06/17 -300;6;8,728;02/06/17 -301;6;11,945;02/06/17 -302;6;5,593;02/06/17 -303;6;5,98;02/06/17 -304;6;7,07;02/06/17 -305;6;9,015;02/06/17 -306;6;10,233;02/06/17 -307;6;9,026;02/06/17 -308;6;5,107;02/06/17 -309;6;4,61;02/06/17 -310;6;7,859;02/06/17 -311;6;5,574;02/06/17 -312;6;5,947;02/06/17 -313;6;5,91;02/06/17 -314;6;9,645;02/06/17 -315;6;5,144;02/06/17 -316;6;11,671;02/06/17 -317;6;3,564;02/06/17 -318;6;9,666;02/06/17 -319;6;3,997;02/06/17 -320;6;11,912;02/06/17 -321;6;5,903;02/06/17 -322;6;4,789;02/06/17 -323;6;8,207;02/06/17 -324;6;11,823;02/06/17 -325;6;4,957;02/06/17 -326;6;6,785;02/06/17 -327;6;7,664;02/06/17 -328;6;9,794;02/06/17 -329;6;7;02/06/17 -330;6;7,256;02/06/17 -331;6;10,647;02/06/17 -332;6;8,247;02/06/17 -333;6;11,64;02/06/17 -334;6;8,325;02/06/17 -335;6;7,891;02/06/17 -336;6;6,222;02/06/17 -337;6;3,013;02/06/17 -338;6;11,559;02/06/17 -339;6;3,104;02/06/17 -340;6;11,764;02/06/17 -341;6;6,889;02/06/17 -342;6;5,041;02/06/17 -343;6;4,185;02/06/17 -344;6;11,629;02/06/17 -345;6;4,264;02/06/17 -346;6;11,749;02/06/17 -347;6;7,753;02/06/17 -348;6;8,505;02/06/17 -349;6;7,464;02/06/17 -350;6;4,277;02/06/17 -351;6;10,879;02/06/17 -352;6;9,418;02/06/17 -353;6;3,974;02/06/17 -354;6;4,943;02/06/17 -355;6;4,454;02/06/17 -356;6;5,33;02/06/17 -357;6;10,997;02/06/17 -358;6;10,262;02/06/17 -359;6;11,894;02/06/17 -360;6;3,947;02/06/17 -361;6;10,862;02/06/17 -362;6;7,764;02/06/17 -363;6;11,418;02/06/17 -364;6;9,167;02/06/17 -365;6;8,179;02/06/17 -366;6;8,04;02/06/17 -367;6;8,172;02/06/17 -368;6;5,799;02/06/17 -369;6;7,065;02/06/17 -370;6;8,792;02/06/17 -371;6;9,373;02/06/17 -372;6;8,296;02/06/17 -373;6;7,866;02/06/17 -374;6;5,078;02/06/17 -375;6;3,788;02/06/17 -376;6;9,088;02/06/17 -377;6;3,519;02/06/17 -378;6;4,108;02/06/17 -379;6;5,218;02/06/17 -380;6;11,178;02/06/17 -381;6;6,78;02/06/17 -382;6;7,918;02/06/17 -383;6;10,979;02/06/17 -384;6;10,048;03/06/17 -385;6;9,34;03/06/17 -386;6;5,227;03/06/17 -387;6;5,418;03/06/17 -388;6;10,838;03/06/17 -389;6;5,915;03/06/17 -390;6;7,107;03/06/17 -391;6;8,744;03/06/17 -392;6;7,223;03/06/17 -393;6;3,306;03/06/17 -394;6;11,606;03/06/17 -395;6;5,374;03/06/17 -396;6;7,357;03/06/17 -397;6;9,386;03/06/17 -398;6;3,031;03/06/17 -399;6;6,409;03/06/17 -400;6;10,287;03/06/17 -401;6;7,925;03/06/17 -402;6;4,425;03/06/17 -403;6;4,567;03/06/17 -404;6;4,207;03/06/17 -405;6;4,018;03/06/17 -406;6;5,657;03/06/17 -407;6;9,329;03/06/17 -408;6;7,259;03/06/17 -409;6;10,845;03/06/17 -410;6;3,792;03/06/17 -411;6;6,175;03/06/17 -412;6;9,199;03/06/17 -413;6;10,175;03/06/17 -414;6;3,767;03/06/17 -415;6;5,045;03/06/17 -416;6;4,419;03/06/17 -417;6;5,825;03/06/17 -418;6;3,4;03/06/17 -419;6;7,74;03/06/17 -420;6;9,645;03/06/17 -421;6;4,564;03/06/17 -422;6;10,082;03/06/17 -423;6;9,951;03/06/17 -424;6;9,433;03/06/17 -425;6;9,846;03/06/17 -426;6;6,275;03/06/17 -427;6;6,246;03/06/17 -428;6;7,578;03/06/17 -429;6;5,12;03/06/17 -430;6;10,942;03/06/17 -431;6;9,992;03/06/17 -432;6;3,126;03/06/17 -433;6;10,495;03/06/17 -434;6;7,738;03/06/17 -435;6;6,175;03/06/17 -436;6;6,546;03/06/17 -437;6;10,588;03/06/17 -438;6;4,947;03/06/17 -439;6;11,404;03/06/17 -440;6;3,676;03/06/17 -441;6;7,539;03/06/17 -442;6;8,153;03/06/17 -443;6;8,777;03/06/17 -444;6;8,776;03/06/17 -445;6;5,009;03/06/17 -446;6;5,396;03/06/17 -447;6;7,41;03/06/17 -448;6;4,172;03/06/17 -449;6;11,418;03/06/17 -450;6;3,892;03/06/17 -451;6;6,314;03/06/17 -452;6;5,384;03/06/17 -453;6;10,076;03/06/17 -454;6;11,473;03/06/17 -455;6;11,63;03/06/17 -456;6;8,409;03/06/17 -457;6;9,487;03/06/17 -458;6;4,681;03/06/17 -459;6;4,026;03/06/17 -460;6;4,432;03/06/17 -461;6;9,28;03/06/17 -462;6;7,177;03/06/17 -463;6;10,756;03/06/17 -464;6;9,955;03/06/17 -465;6;7,592;03/06/17 -466;6;4,301;03/06/17 -467;6;4,524;03/06/17 -468;6;6,882;03/06/17 -469;6;8,889;03/06/17 -470;6;6,672;03/06/17 -471;6;6;03/06/17 -472;6;4,459;03/06/17 -473;6;5,219;03/06/17 -474;6;5,463;03/06/17 -475;6;8,822;03/06/17 -476;6;3,749;03/06/17 -477;6;8,461;03/06/17 -478;6;5,958;03/06/17 -479;6;9,351;03/06/17 -480;6;3,317;03/06/17 -481;6;11,526;03/06/17 -482;6;10,941;03/06/17 -483;6;6,227;03/06/17 -484;6;9,762;03/06/17 -485;6;11,345;03/06/17 -486;6;8,048;03/06/17 -487;6;8,731;03/06/17 -488;6;10,934;03/06/17 -489;6;6,125;03/06/17 -490;6;11,645;03/06/17 -491;6;8,36;03/06/17 -492;6;3,869;03/06/17 -493;6;3,774;03/06/17 -494;6;8,808;03/06/17 -495;6;8,182;03/06/17 -496;6;11,047;03/06/17 -497;6;9,77;03/06/17 -498;6;6,884;03/06/17 -499;6;10,029;03/06/17 -500;6;4,652;03/06/17 -501;6;11,128;03/06/17 -502;6;6,647;03/06/17 -503;6;10,496;03/06/17 -504;6;8,192;03/06/17 -505;6;7,763;03/06/17 -506;6;7,933;03/06/17 -507;6;11,527;03/06/17 -508;6;8,522;03/06/17 -509;6;7,752;03/06/17 -510;6;3,44;03/06/17 -511;6;10,552;03/06/17 -512;6;10,454;03/06/17 -513;6;9,128;03/06/17 -514;6;3,768;03/06/17 -515;6;4,552;03/06/17 -516;6;3,108;03/06/17 -517;6;6,031;03/06/17 -518;6;3,758;03/06/17 -519;6;7,335;03/06/17 -520;6;5,279;03/06/17 -521;6;8,086;03/06/17 -522;6;3,767;03/06/17 -523;6;5,287;03/06/17 -524;6;5,769;03/06/17 -525;6;4,036;03/06/17 -526;6;9,8;03/06/17 -527;6;9,162;03/06/17 -528;6;3,611;03/06/17 -529;6;11,774;03/06/17 -530;6;7,668;03/06/17 -531;6;7,778;03/06/17 -532;6;8,665;03/06/17 -533;6;7,873;03/06/17 -534;6;10,147;03/06/17 -535;6;3,58;03/06/17 -536;6;10,007;03/06/17 -537;6;7,154;03/06/17 -538;6;5,573;03/06/17 -539;6;10,765;03/06/17 -540;6;5,935;03/06/17 -541;6;10,346;03/06/17 -542;6;11,782;03/06/17 -543;6;10,491;03/06/17 -544;6;8,548;03/06/17 -545;6;5,533;03/06/17 -546;6;7,215;03/06/17 -547;6;6,603;03/06/17 -548;6;11,54;03/06/17 -549;6;8,11;03/06/17 -550;6;11,506;03/06/17 -551;6;6,75;03/06/17 -552;6;10,654;03/06/17 -553;6;10,103;03/06/17 -554;6;3,106;03/06/17 -555;6;9,174;03/06/17 -556;6;10,686;03/06/17 -557;6;9,201;03/06/17 -558;6;4,261;03/06/17 -559;6;8,908;03/06/17 -560;6;6,308;03/06/17 -561;6;4,081;03/06/17 -562;6;8,691;03/06/17 -563;6;7,611;03/06/17 -564;6;10,795;03/06/17 -565;6;7,028;03/06/17 -566;6;11,35;03/06/17 -567;6;11,5;03/06/17 -568;6;3,239;03/06/17 -569;6;10,431;03/06/17 -570;6;7,268;03/06/17 -571;6;5,199;03/06/17 -572;6;9,84;03/06/17 -573;6;7,97;03/06/17 -574;6;7,713;03/06/17 -575;6;7,028;04/06/17 -576;6;7,301;04/06/17 -577;6;6,37;04/06/17 -578;6;11,342;04/06/17 -579;6;5,794;04/06/17 -580;6;8,213;04/06/17 -581;6;7,54;04/06/17 -582;6;4,91;04/06/17 -583;6;8,294;04/06/17 -584;6;11,455;04/06/17 -585;6;10,932;04/06/17 -586;6;4,956;04/06/17 -587;6;10,753;04/06/17 -588;6;6,265;04/06/17 -589;6;11,898;04/06/17 -590;6;3,225;04/06/17 -591;6;6,058;04/06/17 -592;6;10,562;04/06/17 -593;6;8,521;04/06/17 -594;6;9,759;04/06/17 -595;6;3,598;04/06/17 -596;6;9,892;04/06/17 -597;6;8,685;04/06/17 -598;6;9,252;04/06/17 -599;6;6,261;04/06/17 -600;6;10,734;04/06/17 -604;6;9,976;04/06/17 -605;6;5,352;04/06/17 -606;6;8,828;04/06/17 -607;6;9,816;04/06/17 -608;6;4,659;04/06/17 -609;6;11,006;04/06/17 -610;6;3,004;04/06/17 -611;6;3,314;04/06/17 -612;6;7,479;04/06/17 -613;6;5,979;04/06/17 -614;6;9,207;04/06/17 -615;6;10,274;04/06/17 -616;6;7,521;04/06/17 -617;6;8,772;04/06/17 -618;6;3,348;04/06/17 -619;6;9,391;04/06/17 -620;6;3,561;04/06/17 -621;6;11,852;04/06/17 -622;6;7,852;04/06/17 -623;6;7,003;04/06/17 -624;6;8,532;04/06/17 -625;6;10,818;04/06/17 -626;6;4,531;04/06/17 -627;6;7,696;04/06/17 -628;6;3,618;04/06/17 -629;6;11,681;04/06/17 -630;6;10,138;04/06/17 -631;6;7,527;04/06/17 -632;6;5,936;04/06/17 -633;6;4,668;04/06/17 -634;6;9,133;04/06/17 -635;6;10,014;04/06/17 -636;6;3,196;04/06/17 -637;6;9,316;04/06/17 -638;6;9,828;04/06/17 -639;6;7,747;04/06/17 -640;6;9,389;04/06/17 -641;6;4,864;04/06/17 -642;6;10,782;04/06/17 -643;6;10,497;04/06/17 -644;6;3,433;04/06/17 -645;6;5,984;04/06/17 -646;6;10,432;04/06/17 -647;6;6,374;04/06/17 -648;6;7,393;04/06/17 -649;6;4,103;04/06/17 -650;6;5,548;04/06/17 -651;6;10,684;04/06/17 -652;6;9,773;04/06/17 -653;6;6,176;04/06/17 -654;6;3,113;04/06/17 -655;6;5,889;04/06/17 -656;6;7,223;04/06/17 -657;6;4,001;04/06/17 -658;6;6,822;04/06/17 -659;6;4,681;04/06/17 -660;6;9,884;04/06/17 -661;6;5,553;04/06/17 -662;6;8,557;04/06/17 -663;6;6,944;04/06/17 -664;6;8,216;04/06/17 -665;6;3,756;04/06/17 -666;6;6,495;04/06/17 -667;6;8,085;04/06/17 -668;6;4,809;04/06/17 -669;6;6,025;04/06/17 -670;6;11,397;04/06/17 -671;6;6,907;04/06/17 -672;6;3,409;04/06/17 -673;6;7,91;04/06/17 -674;6;3,107;04/06/17 -675;6;5,405;04/06/17 -676;6;7,062;04/06/17 -677;6;11,507;04/06/17 -678;6;9,059;04/06/17 -679;6;8,593;04/06/17 -680;6;10,939;04/06/17 -681;6;5,474;04/06/17 -682;6;6,776;04/06/17 -683;6;3,708;04/06/17 -684;6;10,208;04/06/17 -685;6;6,647;04/06/17 -686;6;11,231;04/06/17 -687;6;6,789;04/06/17 -688;6;3,148;04/06/17 -689;6;11,899;04/06/17 -690;6;9,771;04/06/17 -691;6;8,238;04/06/17 -692;6;5,371;04/06/17 -693;6;8,35;04/06/17 -694;6;10,555;04/06/17 -695;6;8,705;04/06/17 -696;6;5,094;04/06/17 -697;6;3,089;04/06/17 -698;6;5,235;04/06/17 -699;6;5,721;04/06/17 -700;6;5,965;04/06/17 -701;6;10,919;04/06/17 -702;6;8,27;04/06/17 -703;6;7,343;04/06/17 -704;6;6,121;04/06/17 -705;6;5,061;04/06/17 -706;6;10,71;04/06/17 -707;6;11,559;04/06/17 -708;6;5,807;04/06/17 -709;6;6,972;04/06/17 -710;6;11,216;04/06/17 -711;6;8,933;04/06/17 -712;6;5,309;04/06/17 -713;6;5,782;04/06/17 -714;6;9,389;04/06/17 -715;6;7,169;04/06/17 -716;6;3,095;04/06/17 -717;6;10,698;04/06/17 -718;6;4,115;04/06/17 -719;6;11,509;04/06/17 -720;6;7,807;04/06/17 -721;6;6,863;04/06/17 -722;6;7,348;04/06/17 -723;6;7,221;04/06/17 -724;6;3,561;04/06/17 -725;6;9,542;04/06/17 -726;6;9,653;04/06/17 -727;6;6,824;04/06/17 -728;6;3,479;04/06/17 -729;6;11,731;04/06/17 -730;6;9,973;04/06/17 -731;6;6,461;04/06/17 -732;6;10,115;04/06/17 -733;6;9,949;04/06/17 -734;6;6,562;04/06/17 -735;6;8,543;04/06/17 -736;6;6,848;04/06/17 -737;6;4,118;04/06/17 -738;6;8,657;04/06/17 -739;6;6,936;04/06/17 -740;6;9,585;04/06/17 -741;6;11,82;04/06/17 -742;6;8,857;04/06/17 -743;6;6,144;04/06/17 -744;6;8,044;04/06/17 -745;6;5,535;04/06/17 -746;6;3,273;04/06/17 -747;6;6,394;04/06/17 -748;6;6,87;04/06/17 -749;6;5,697;04/06/17 -750;6;3,627;04/06/17 -751;6;4,481;04/06/17 -752;6;7,103;04/06/17 -753;6;7,385;04/06/17 -754;6;7,371;04/06/17 -755;6;10,1;04/06/17 -756;6;11,254;04/06/17 -757;6;8,324;04/06/17 -758;6;6,755;04/06/17 -759;6;9,814;04/06/17 -760;6;7,828;04/06/17 -761;6;10,737;04/06/17 -762;6;5,998;04/06/17 -763;6;4,894;04/06/17 -764;6;7,494;04/06/17 -765;6;10,276;04/06/17 -766;6;4,316;04/06/17 -767;6;9,18;04/06/17 -768;6;9,454;04/06/17 -769;6;9,652;05/06/17 -770;6;4,129;05/06/17 -771;6;5,57;05/06/17 -772;6;10,264;05/06/17 -773;6;4,686;05/06/17 -774;6;8,371;05/06/17 -775;6;7,815;05/06/17 -776;6;9,122;05/06/17 -777;6;4,216;05/06/17 -778;6;6,965;05/06/17 -779;6;3,417;05/06/17 -780;6;5,119;05/06/17 -781;6;11,264;05/06/17 -782;6;8,594;05/06/17 -783;6;4,015;05/06/17 -784;6;9,144;05/06/17 -785;6;8,974;05/06/17 -786;6;7,348;05/06/17 -787;6;3,548;05/06/17 -788;6;10,98;05/06/17 -789;6;7,1;05/06/17 -790;6;5,9;05/06/17 -791;6;11,997;05/06/17 -792;6;7,714;05/06/17 -793;6;9,874;05/06/17 -794;6;4,972;05/06/17 -795;6;5,142;05/06/17 -796;6;8,28;05/06/17 -797;6;7,855;05/06/17 -798;6;11,367;05/06/17 -799;6;7,03;05/06/17 -800;6;4,032;05/06/17 -801;6;3,24;05/06/17 -802;6;10,869;05/06/17 -803;6;7,916;05/06/17 -804;6;4,339;05/06/17 -805;6;3,443;05/06/17 -806;6;6,439;05/06/17 -807;6;11,543;05/06/17 -808;6;10,569;05/06/17 -809;6;7,549;05/06/17 -810;6;4,878;05/06/17 -811;6;3,366;05/06/17 -812;6;3,094;05/06/17 -813;6;9,18;05/06/17 -814;6;11,679;05/06/17 -815;6;7,131;05/06/17 -816;6;4,239;05/06/17 -817;6;11,628;05/06/17 -818;6;8,576;05/06/17 -819;6;3,798;05/06/17 -820;6;3,632;05/06/17 -821;6;7,699;05/06/17 -822;6;4,311;05/06/17 -823;6;3,895;05/06/17 -824;6;4,601;05/06/17 -825;6;3,774;05/06/17 -826;6;6,851;05/06/17 -827;6;10,108;05/06/17 -828;6;5,575;05/06/17 -829;6;9,698;05/06/17 -830;6;10,7;05/06/17 -831;6;6,386;05/06/17 -832;6;4,179;05/06/17 -833;6;11,586;05/06/17 -834;6;3,176;05/06/17 -835;6;4,593;05/06/17 -836;6;5,029;05/06/17 -837;6;3,376;05/06/17 -838;6;5,151;05/06/17 -839;6;11,496;05/06/17 -840;6;5,459;05/06/17 -841;6;4,665;05/06/17 -842;6;8,351;05/06/17 -843;6;3,353;05/06/17 -844;6;6,625;05/06/17 -845;6;5,71;05/06/17 -846;6;5,272;05/06/17 -847;6;4,072;05/06/17 -848;6;9,885;05/06/17 -849;6;8,951;05/06/17 -850;6;10,047;05/06/17 -851;6;5,162;05/06/17 -852;6;3,008;05/06/17 -853;6;7,097;05/06/17 -854;6;11,237;05/06/17 -855;6;7,884;05/06/17 -856;6;8,343;05/06/17 -857;6;8,249;05/06/17 -858;6;5,738;05/06/17 -859;6;4,439;05/06/17 -860;6;9,209;05/06/17 -861;6;4,798;05/06/17 -862;6;4,972;05/06/17 -863;6;9,856;05/06/17 -864;6;7,489;05/06/17 -865;6;3,655;05/06/17 -866;6;9,978;05/06/17 -867;6;8,269;05/06/17 -868;6;8,361;05/06/17 -869;6;10,943;05/06/17 -870;6;8,493;05/06/17 -871;6;7,872;05/06/17 -872;6;10,946;05/06/17 -873;6;10,243;05/06/17 -874;6;3,398;05/06/17 -875;6;4,579;05/06/17 -876;6;11,832;05/06/17 -877;6;11,084;05/06/17 -878;6;11,507;05/06/17 -879;6;7,858;05/06/17 -880;6;4,194;05/06/17 -881;6;5,459;05/06/17 -882;6;9,385;05/06/17 -883;6;9,032;05/06/17 -884;6;11,183;05/06/17 -885;6;5,882;05/06/17 -886;6;8,287;05/06/17 -887;6;7,584;05/06/17 -888;6;6,211;05/06/17 -889;6;4,269;05/06/17 -890;6;11,274;05/06/17 -891;6;4,668;05/06/17 -892;6;3,208;05/06/17 -893;6;4,349;05/06/17 -894;6;3,595;05/06/17 -895;6;4,831;05/06/17 -896;6;6,242;05/06/17 -897;6;10,885;05/06/17 -898;6;3,11;05/06/17 -899;6;9,17;05/06/17 -900;6;11,389;05/06/17 -901;6;5,456;05/06/17 -902;6;3,666;05/06/17 -903;6;7,952;05/06/17 -904;6;7,914;05/06/17 -905;6;9,692;05/06/17 -906;6;9,549;05/06/17 -907;6;10,71;05/06/17 -908;6;6,174;05/06/17 -909;6;3,617;05/06/17 -910;6;7,966;05/06/17 -911;6;10,144;05/06/17 -912;6;8,914;05/06/17 -913;6;10,637;05/06/17 -914;6;9,705;05/06/17 -915;6;6,102;05/06/17 -916;6;11,19;05/06/17 -917;6;3,108;05/06/17 -918;6;5,282;05/06/17 -919;6;7,101;05/06/17 -920;6;11,696;05/06/17 -921;6;8,665;05/06/17 -922;6;4,692;05/06/17 -923;6;7,457;05/06/17 -924;6;6,307;05/06/17 -925;6;4,969;05/06/17 -926;6;5,463;05/06/17 -927;6;8,329;05/06/17 -928;6;11,512;05/06/17 -929;6;8,658;05/06/17 -930;6;8,479;05/06/17 -931;6;5,273;05/06/17 -932;6;9,351;05/06/17 -933;6;3,743;05/06/17 -934;6;4,947;05/06/17 -935;6;5,219;05/06/17 -936;6;6,625;05/06/17 -937;6;10,95;05/06/17 -938;6;8,302;05/06/17 -939;6;3,264;05/06/17 -940;6;11,543;05/06/17 -941;6;9,567;05/06/17 -942;6;4,784;05/06/17 -943;6;9,62;05/06/17 -944;6;7,993;05/06/17 -945;6;10,794;05/06/17 -946;6;8,823;05/06/17 -947;6;4,934;05/06/17 -948;6;11,986;05/06/17 -949;6;9,503;05/06/17 -950;6;9,979;05/06/17 -951;6;9,946;05/06/17 -952;6;8,809;05/06/17 -953;6;8,866;05/06/17 -954;6;9,986;05/06/17 -955;6;8,209;05/06/17 -956;6;9,166;05/06/17 -957;6;6,354;05/06/17 -958;6;6,3;05/06/17 -959;6;3,497;05/06/17 -960;6;10,152;06/06/17 -961;6;3,772;06/06/17 -962;6;3,279;06/06/17 -963;6;8,283;06/06/17 -964;6;4,712;06/06/17 -965;6;5,682;06/06/17 -966;6;5,177;06/06/17 -967;6;10,048;06/06/17 -968;6;9,517;06/06/17 -969;6;8,442;06/06/17 -970;6;6,974;06/06/17 -971;6;3,625;06/06/17 -972;6;3,846;06/06/17 -973;6;4,285;06/06/17 -974;6;8,516;06/06/17 -975;6;6,81;06/06/17 -976;6;6,037;06/06/17 -977;6;11,446;06/06/17 -978;6;6,098;06/06/17 -979;6;9,299;06/06/17 -980;6;6,929;06/06/17 -981;6;5,144;06/06/17 -982;6;7,54;06/06/17 -983;6;7,71;06/06/17 -984;6;11,365;06/06/17 -985;6;9,531;06/06/17 -986;6;8,208;06/06/17 -987;6;3,752;06/06/17 -988;6;11,537;06/06/17 -989;6;7,341;06/06/17 -990;6;3,768;06/06/17 -991;6;8,027;06/06/17 -992;6;9,157;06/06/17 -993;6;8,9;06/06/17 -994;6;4,816;06/06/17 -995;6;4,083;06/06/17 -996;6;5,541;06/06/17 -997;6;6,872;06/06/17 -998;6;5,037;06/06/17 -999;6;11,256;06/06/17 -1000;6;10,903;06/06/17 -1001;6;10,298;06/06/17 -1002;6;10,928;06/06/17 -1003;6;3,812;06/06/17 -1004;6;9,75;06/06/17 -1005;6;9,606;06/06/17 -1006;6;10,566;06/06/17 -1007;6;3,417;06/06/17 -1008;6;3,58;06/06/17 -1009;6;7,358;06/06/17 -1010;6;5,203;06/06/17 -1011;6;10,118;06/06/17 -1012;6;10,726;06/06/17 -1013;6;10,327;06/06/17 -1014;6;10,163;06/06/17 -1015;6;4,67;06/06/17 -1016;6;9,363;06/06/17 -1017;6;9,175;06/06/17 -1018;6;5,338;06/06/17 -1019;6;4,056;06/06/17 -1020;6;7,099;06/06/17 -1021;6;6,389;06/06/17 -1022;6;5,292;06/06/17 -1023;6;8,564;06/06/17 -1024;6;10,208;06/06/17 -1025;6;11,173;06/06/17 -1026;6;6,806;06/06/17 -1027;6;5,449;06/06/17 -1028;6;11,725;06/06/17 -1029;6;6,883;06/06/17 -1030;6;7,397;06/06/17 -1031;6;3,793;06/06/17 -1032;6;9,1;06/06/17 -1033;6;7,045;06/06/17 -1034;6;8,714;06/06/17 -1035;6;4,164;06/06/17 -1036;6;9,635;06/06/17 -1037;6;7,151;06/06/17 -1038;6;8,751;06/06/17 -1039;6;6,618;06/06/17 -1040;6;11,861;06/06/17 -1041;6;4,014;06/06/17 -1042;6;9,2;06/06/17 -1043;6;10,548;06/06/17 -1044;6;10,242;06/06/17 -1045;6;3,678;06/06/17 -1046;6;3,301;06/06/17 -1047;6;6,334;06/06/17 -1048;6;9,691;06/06/17 -1049;6;10,418;06/06/17 -1050;6;8,014;06/06/17 -1051;6;5,003;06/06/17 -1052;6;11,756;06/06/17 -1053;6;7,418;06/06/17 -1054;6;11,626;06/06/17 -1055;6;9,956;06/06/17 -1056;6;7,785;06/06/17 -1057;6;7,665;06/06/17 -1058;6;9,082;06/06/17 -1059;6;11,648;06/06/17 -1060;6;9,705;06/06/17 -1061;6;8,109;06/06/17 -1062;6;6,976;06/06/17 -1063;6;4,256;06/06/17 -1064;6;11,557;06/06/17 -1065;6;5,53;06/06/17 -1066;6;10,168;06/06/17 -1067;6;3,986;06/06/17 -1068;6;9,781;06/06/17 -1069;6;5,126;06/06/17 -1070;6;3,009;06/06/17 -1071;6;8,911;06/06/17 -1072;6;10,406;06/06/17 -1073;6;5,514;06/06/17 -1074;6;3,296;06/06/17 -1075;6;3,409;06/06/17 -1076;6;3,837;06/06/17 -1077;6;7,558;06/06/17 -1078;6;5,271;06/06/17 -1079;6;6,869;06/06/17 -1080;6;11,447;06/06/17 -1081;6;4,713;06/06/17 -1082;6;8,825;06/06/17 -1083;6;8,964;06/06/17 -1084;6;3,715;06/06/17 -1085;6;6,614;06/06/17 -1086;6;3,346;06/06/17 -1087;6;4,732;06/06/17 -1088;6;10,958;06/06/17 -1089;6;10,114;06/06/17 -1090;6;4,474;06/06/17 -1091;6;10,14;06/06/17 -1092;6;5,532;06/06/17 -1093;6;4,084;06/06/17 -1094;6;10,28;06/06/17 -1095;6;6,281;06/06/17 -1096;6;11,456;06/06/17 -1097;6;6,894;06/06/17 -1098;6;6,744;06/06/17 -1099;6;11,206;06/06/17 -1100;6;6,291;06/06/17 -1101;6;9,236;06/06/17 -1102;6;5,665;06/06/17 -1103;6;4,261;06/06/17 -1104;6;4,256;06/06/17 -1105;6;7,682;06/06/17 -1106;6;11,762;06/06/17 -1107;6;9,249;06/06/17 -1108;6;10,488;06/06/17 -1109;6;5,563;06/06/17 -1110;6;9,974;06/06/17 -1111;6;6,181;06/06/17 -1112;6;11,993;06/06/17 -1113;6;3,976;06/06/17 -1114;6;8,798;06/06/17 -1115;6;4,663;06/06/17 -1116;6;6,293;06/06/17 -1117;6;9,187;06/06/17 -1118;6;6,763;06/06/17 -1119;6;5,066;06/06/17 -1120;6;7,483;06/06/17 -1121;6;4,436;06/06/17 -1122;6;9,143;06/06/17 -1123;6;6,647;06/06/17 -1124;6;6,997;06/06/17 -1125;6;9,153;06/06/17 -1126;6;11,045;06/06/17 -1127;6;5,315;06/06/17 -1128;6;5,582;06/06/17 -1129;6;6,348;06/06/17 -1130;6;11,519;06/06/17 -1131;6;5,837;06/06/17 -1132;6;3,729;06/06/17 -1133;6;9,58;06/06/17 -1134;6;8,802;06/06/17 -1135;6;8,281;06/06/17 -1136;6;7,533;06/06/17 -1137;6;8,018;06/06/17 -1138;6;4,855;06/06/17 -1139;6;8,608;06/06/17 -1140;6;8,383;06/06/17 -1141;6;9,881;06/06/17 -1142;6;8,948;06/06/17 -1143;6;7,425;06/06/17 -1144;6;8,613;06/06/17 -1145;6;6,29;06/06/17 -1146;6;8,343;06/06/17 -1147;6;9,375;06/06/17 -1148;6;3,539;06/06/17 -1149;6;10,349;06/06/17 -1150;6;10,577;06/06/17 -1151;6;10,469;07/06/17 -1152;6;8,626;07/06/17 -1153;6;10,167;07/06/17 -1154;6;9,548;07/06/17 -1155;6;8,94;07/06/17 -1156;6;10,309;07/06/17 -1157;6;7,446;07/06/17 -1158;6;11,467;07/06/17 -1159;6;6,401;07/06/17 -1160;6;10,666;07/06/17 -1161;6;4,184;07/06/17 -1162;6;6,524;07/06/17 -1163;6;6,583;07/06/17 -1164;6;5,426;07/06/17 -1165;6;8,331;07/06/17 -1166;6;9,432;07/06/17 -1167;6;6,523;07/06/17 -1168;6;9,514;07/06/17 -1169;6;9,61;07/06/17 -1170;6;8,784;07/06/17 -1171;6;5,301;07/06/17 -1172;6;10,293;07/06/17 -1173;6;6,243;07/06/17 -1174;6;11,642;07/06/17 -1175;6;3,284;07/06/17 -1176;6;11,338;07/06/17 -1177;6;5,267;07/06/17 -1178;6;4,932;07/06/17 -1179;6;5,227;07/06/17 -1180;6;6,944;07/06/17 -1181;6;11,131;07/06/17 -1182;6;6,372;07/06/17 -1183;6;11,946;07/06/17 -1184;6;4,266;07/06/17 -1185;6;5,069;07/06/17 -1186;6;10,104;07/06/17 -1187;6;10,137;07/06/17 -1188;6;5,817;07/06/17 -1189;6;11,376;07/06/17 -1190;6;7,62;07/06/17 -1191;6;6,655;07/06/17 -1192;6;9,909;07/06/17 -1193;6;7,045;07/06/17 -1194;6;10,936;07/06/17 -1195;6;4,818;07/06/17 -1196;6;7,922;07/06/17 -1197;6;7,425;07/06/17 -1198;6;10,755;07/06/17 -1199;6;10,188;07/06/17 -1200;6;9,408;07/06/17 -1201;6;4,799;07/06/17 -1202;6;4,64;07/06/17 -1203;6;8,507;07/06/17 -2001;6;9,976;07/06/17 -2002;6;5,433;07/06/17 -2003;6;8,797;07/06/17 -2004;6;3,008;07/06/17 -2005;6;9,148;07/06/17 -2006;6;5,055;07/06/17 -2007;6;5,138;07/06/17 -2008;6;3,72;07/06/17 -2009;6;9,567;07/06/17 -2010;6;9,882;07/06/17 -2011;6;9,633;07/06/17 -2012;6;9,689;07/06/17 -2013;6;8,738;07/06/17 -2014;6;6,011;07/06/17 -2015;6;4,772;07/06/17 -2016;6;9,439;07/06/17 -2017;6;5,251;07/06/17 -2018;6;9,042;07/06/17 -2019;6;5,376;07/06/17 -2020;6;6,342;07/06/17 -2021;6;7,478;07/06/17 -2022;6;9,364;07/06/17 -2023;6;8,824;07/06/17 -2024;6;7,949;07/06/17 -2025;6;3,986;07/06/17 -2026;6;8,118;07/06/17 -2027;6;7,549;07/06/17 -2028;6;5,135;07/06/17 -2029;6;6,567;07/06/17 -2030;6;4,02;07/06/17 -2031;6;9,474;07/06/17 -2032;6;6,161;07/06/17 -2033;6;5,613;07/06/17 -2034;6;9,01;07/06/17 -2035;6;5,079;07/06/17 -2036;6;4,574;07/06/17 -2037;6;8,959;07/06/17 -2038;6;10,626;07/06/17 -2039;6;10,289;07/06/17 -2040;6;3,405;07/06/17 -2041;6;10,908;07/06/17 -2042;6;3,756;07/06/17 -2043;6;5,636;07/06/17 -2044;6;11,301;07/06/17 -2045;6;5,749;07/06/17 -2046;6;10,671;07/06/17 -2047;6;7,855;07/06/17 -2048;6;8,636;07/06/17 -2049;6;10,079;07/06/17 -2050;6;8,557;07/06/17 -2051;6;3,221;07/06/17 -2052;6;6,02;07/06/17 -2053;6;7,918;07/06/17 -2054;6;4,025;07/06/17 -2055;6;11,577;07/06/17 -2056;6;3,604;07/06/17 -2057;6;3,915;07/06/17 -2058;6;6,311;07/06/17 -2059;6;9,853;07/06/17 -2060;6;4,961;07/06/17 -2061;6;10,886;07/06/17 -2062;6;4,764;07/06/17 -2063;6;6,186;07/06/17 -2064;6;4,459;07/06/17 -2065;6;4,78;07/06/17 -2066;6;3,763;07/06/17 -2067;6;3,023;07/06/17 -2068;6;8,183;07/06/17 -2069;6;10,275;07/06/17 -2070;6;9,223;07/06/17 -2071;6;5,848;07/06/17 -2072;6;8,499;07/06/17 -2073;6;3,561;07/06/17 -2074;6;8,907;07/06/17 -2075;6;8,509;07/06/17 -2076;6;7,705;07/06/17 -2077;6;11,674;07/06/17 -2078;6;7,632;07/06/17 -2079;6;8,606;07/06/17 -2080;6;11,607;07/06/17 -2081;6;10,977;07/06/17 -2082;6;5,51;07/06/17 -2083;6;4,752;07/06/17 -2084;6;7,085;07/06/17 -2085;6;8,294;07/06/17 -2086;6;5,513;07/06/17 -2087;6;8,373;07/06/17 -2088;6;5,622;07/06/17 -2089;6;6,991;07/06/17 -2090;6;6,336;07/06/17 -2091;6;11,788;07/06/17 -2092;6;7,427;07/06/17 -2093;6;5,043;07/06/17 -2094;6;11,747;07/06/17 -2095;6;5,596;07/06/17 -2096;6;11,213;07/06/17 -2097;6;9,699;07/06/17 -2098;6;10,099;07/06/17 -2099;6;3,698;07/06/17 -2100;6;5,554;07/06/17 -2101;6;5,074;07/06/17 -2102;6;5,566;07/06/17 -2103;6;8,018;07/06/17 -2104;6;6,937;07/06/17 -2105;6;4,262;07/06/17 -2106;6;4,699;07/06/17 -2107;6;8,728;07/06/17 -2108;6;9,09;07/06/17 -2109;6;10,518;07/06/17 -2110;6;6,188;07/06/17 -2111;6;4,713;07/06/17 -2112;6;11,585;07/06/17 -2113;6;11,436;07/06/17 -2114;6;5,692;07/06/17 -2115;6;10,22;07/06/17 -2116;6;11,432;07/06/17 -2117;6;4,009;07/06/17 -2118;6;7,768;07/06/17 -2119;6;6,493;07/06/17 -2120;6;7,589;07/06/17 -2121;6;4,989;07/06/17 -2122;6;11,341;07/06/17 -2123;6;11,875;07/06/17 -2124;6;8,723;07/06/17 -2125;6;8,759;07/06/17 -2126;6;5,448;07/06/17 -2127;6;3,82;07/06/17 -2128;6;8,472;07/06/17 -2129;6;6,571;07/06/17 -2130;6;5,415;07/06/17 -2131;6;10,527;07/06/17 -2132;6;8,975;07/06/17 -2133;6;8,256;07/06/17 -2134;6;3,928;07/06/17 -2135;6;9,343;07/06/17 -2136;6;9,199;07/06/17 -2137;6;10,512;07/06/17 -2138;6;10,519;07/06/17 -2139;6;3,238;08/06/17 -2140;6;9,762;08/06/17 -2141;6;9,864;08/06/17 -2142;6;7,729;08/06/17 -2143;6;8,505;08/06/17 -2144;6;7,541;08/06/17 -2145;6;11,457;08/06/17 -2146;6;5,661;08/06/17 -2147;6;9,228;08/06/17 -2148;6;5,163;08/06/17 -2149;6;11,037;08/06/17 -2150;6;3,831;08/06/17 -2151;6;9,065;08/06/17 -2152;6;10,648;08/06/17 -2153;6;8,253;08/06/17 -2154;6;3,438;08/06/17 -2155;6;3,248;08/06/17 -2156;6;4,257;08/06/17 -2157;6;7,246;08/06/17 -2158;6;8,233;08/06/17 -2159;6;8,85;08/06/17 -2160;6;9,639;08/06/17 -2161;6;5,167;08/06/17 -2162;6;6,473;08/06/17 -2163;6;7,566;08/06/17 -2164;6;9,409;08/06/17 -2165;6;11,368;08/06/17 -2166;6;4,065;08/06/17 -2167;6;6,823;08/06/17 -2168;6;8;08/06/17 -2169;6;4,865;08/06/17 -2170;6;4,431;08/06/17 -2171;6;7,539;08/06/17 -2172;6;9,774;08/06/17 -2173;6;4,108;08/06/17 -2174;6;11,644;08/06/17 -2175;6;7,158;08/06/17 -2176;6;6,315;08/06/17 -2177;6;10,891;08/06/17 -2178;6;7,801;08/06/17 -2179;6;3,819;08/06/17 -2180;6;4,517;08/06/17 -2181;6;4,082;08/06/17 -2182;6;5,805;08/06/17 -2183;6;6,848;08/06/17 -2184;6;9,611;08/06/17 -2185;6;6,446;08/06/17 -2186;6;3,599;08/06/17 -2187;6;3,99;08/06/17 -2188;6;4,408;08/06/17 -2189;6;6,823;08/06/17 -2190;6;10,514;08/06/17 -2191;6;3,52;08/06/17 -2192;6;3,223;08/06/17 -2193;6;6,697;08/06/17 -2194;6;6,658;08/06/17 -2195;6;5,039;08/06/17 -2196;6;6,344;08/06/17 -2197;6;5,212;08/06/17 -2198;6;3,747;08/06/17 -2199;6;4,967;08/06/17 -2200;6;7,463;08/06/17 -2201;6;9,501;08/06/17 -2202;6;7,183;08/06/17 -2203;6;6,311;08/06/17 -2204;6;8,231;08/06/17 -2205;6;5,169;08/06/17 -2206;6;4,662;08/06/17 -2207;6;11,575;08/06/17 -2208;6;3,033;08/06/17 -2209;6;9,996;08/06/17 -2210;6;7,556;08/06/17 -2211;6;7,473;08/06/17 -2212;6;7,697;08/06/17 -2213;6;7,024;08/06/17 -2214;6;3,397;08/06/17 -2215;6;10,168;08/06/17 -2216;6;11,281;08/06/17 -2217;6;9,103;08/06/17 -2218;6;7,284;08/06/17 -2219;6;5,363;08/06/17 -2220;6;7,471;08/06/17 -2221;6;4,202;08/06/17 -2222;6;10,785;08/06/17 -2223;6;7,787;08/06/17 -2224;6;5,085;08/06/17 -2225;6;6,649;08/06/17 -2226;6;8,735;08/06/17 -2227;6;8,089;08/06/17 -2228;6;9,663;08/06/17 -2229;6;4,491;08/06/17 -2230;6;8,236;08/06/17 -2231;6;8,756;08/06/17 -2232;6;5,051;08/06/17 -2233;6;8,386;08/06/17 -2234;6;4,195;08/06/17 -2235;6;11,026;08/06/17 -2236;6;6,309;08/06/17 -2237;6;3,945;08/06/17 -2238;6;4,949;08/06/17 -2239;6;10,181;08/06/17 -2240;6;10,146;08/06/17 -2241;6;11,394;08/06/17 -2242;6;5,743;08/06/17 -2243;6;8,039;08/06/17 -2244;6;3,886;08/06/17 -2245;6;4,464;08/06/17 -2246;6;9,911;08/06/17 -2247;6;10,021;08/06/17 -2248;6;5,497;08/06/17 -2249;6;7,83;08/06/17 -2250;6;6,558;08/06/17 -2251;6;9,858;08/06/17 -2252;6;7,351;08/06/17 -2253;6;11,574;08/06/17 -2254;6;4,48;08/06/17 -2255;6;6,539;08/06/17 -2256;6;3,289;08/06/17 -2257;6;9,985;08/06/17 -2258;6;5,004;08/06/17 -2259;6;6,634;08/06/17 -2260;6;3,662;08/06/17 -2261;6;7,001;08/06/17 -2262;6;3,32;08/06/17 -2263;6;5,3;08/06/17 -2264;6;4,775;08/06/17 -2265;6;5,037;08/06/17 -2266;6;10,404;08/06/17 -2267;6;6,141;08/06/17 -2268;6;11,859;08/06/17 -2269;6;5,154;08/06/17 -2270;6;6,384;08/06/17 -2271;6;3,244;08/06/17 -2272;6;6,904;08/06/17 -2273;6;7,736;08/06/17 -2274;6;5,863;08/06/17 -2275;6;4,838;08/06/17 -2276;6;9,257;08/06/17 -2277;6;6,815;08/06/17 -2278;6;6,986;08/06/17 -2279;6;7,34;08/06/17 -2280;6;10,247;08/06/17 -2281;6;5,245;08/06/17 -2282;6;4,713;08/06/17 -2283;6;5,03;08/06/17 -2284;6;4,284;08/06/17 -2285;6;9,937;08/06/17 -2286;6;10,937;08/06/17 -2287;6;7,141;08/06/17 -2288;6;6,09;08/06/17 -2289;6;4,336;08/06/17 -2290;6;5,341;08/06/17 -2291;6;10,737;08/06/17 -2292;6;3,483;08/06/17 -2293;6;10,177;08/06/17 -2294;6;8,214;08/06/17 -2295;6;9,1;08/06/17 -2296;6;6,612;08/06/17 -2297;6;11,774;08/06/17 -2298;6;9,523;08/06/17 -2299;6;8,728;08/06/17 -2300;6;11,945;08/06/17 -2301;6;5,593;08/06/17 -2302;6;5,98;08/06/17 -2303;6;7,07;08/06/17 -2304;6;9,015;08/06/17 -2305;6;10,233;08/06/17 -2306;6;9,026;08/06/17 -2307;6;5,107;08/06/17 -2308;6;4,61;08/06/17 -2309;6;7,859;08/06/17 -2310;6;5,574;08/06/17 -2311;6;5,947;08/06/17 -2312;6;5,91;08/06/17 -2313;6;9,645;08/06/17 -2314;6;5,144;08/06/17 -2315;6;11,671;08/06/17 -2316;6;3,564;08/06/17 -2317;6;9,666;08/06/17 -2318;6;3,997;08/06/17 -2319;6;11,912;08/06/17 -2320;6;5,903;08/06/17 -2321;6;4,789;08/06/17 -2322;6;8,207;08/06/17 -2323;6;11,823;08/06/17 -2324;6;4,957;08/06/17 -2325;6;6,785;08/06/17 -2326;6;7,664;08/06/17 -2327;6;9,794;08/06/17 -2328;6;7;08/06/17 -2329;6;7,256;08/06/17 -2330;6;10,647;09/06/17 -2331;6;8,247;09/06/17 -2332;6;11,64;09/06/17 -2333;6;8,325;09/06/17 -2334;6;7,891;09/06/17 -2335;6;6,222;09/06/17 -2336;6;3,013;09/06/17 -2337;6;11,559;09/06/17 -2338;6;3,104;09/06/17 -2339;6;11,764;09/06/17 -2340;6;6,889;09/06/17 -2341;6;5,041;09/06/17 -2342;6;4,185;09/06/17 -2343;6;11,629;09/06/17 -2344;6;4,264;09/06/17 -2345;6;11,749;09/06/17 -2346;6;7,753;09/06/17 -2347;6;8,505;09/06/17 -2348;6;7,464;09/06/17 -2349;6;4,277;09/06/17 -2350;6;10,879;09/06/17 -2351;6;9,418;09/06/17 -2352;6;3,974;09/06/17 -2353;6;4,943;09/06/17 -2354;6;4,454;09/06/17 -2355;6;5,33;09/06/17 -2356;6;10,997;09/06/17 -2357;6;10,262;09/06/17 -2358;6;11,894;09/06/17 -2359;6;3,947;09/06/17 -2360;6;10,862;09/06/17 -2361;6;7,764;09/06/17 -2362;6;11,418;09/06/17 -2363;6;9,167;09/06/17 -2364;6;8,179;09/06/17 -2365;6;8,04;09/06/17 -2366;6;8,172;09/06/17 -2367;6;5,799;09/06/17 -2368;6;7,065;09/06/17 -2369;6;8,792;09/06/17 -2370;6;9,373;09/06/17 -2371;6;8,296;09/06/17 -2372;6;7,866;09/06/17 -2373;6;5,078;09/06/17 -2374;6;3,788;09/06/17 -2375;6;9,088;09/06/17 -2376;6;3,519;09/06/17 -2377;6;4,108;09/06/17 -2378;6;5,218;09/06/17 -2379;6;11,178;09/06/17 -2380;6;6,78;09/06/17 -2381;6;7,918;09/06/17 -2382;6;10,979;09/06/17 -2383;6;10,048;09/06/17 -2384;6;9,34;09/06/17 -2385;6;5,227;09/06/17 -2386;6;5,418;09/06/17 -2387;6;10,838;09/06/17 -2388;6;5,915;09/06/17 -2389;6;7,107;09/06/17 -2390;6;8,744;09/06/17 -2391;6;7,223;09/06/17 -2392;6;3,306;09/06/17 -2393;6;11,606;09/06/17 -2394;6;5,374;09/06/17 -2395;6;7,357;09/06/17 -2396;6;9,386;09/06/17 -2397;6;3,031;09/06/17 -2398;6;6,409;09/06/17 -2399;6;10,287;09/06/17 -2400;6;7,925;09/06/17 -2401;6;4,425;09/06/17 -2402;6;4,567;09/06/17 -2403;6;4,207;09/06/17 -2404;6;4,018;09/06/17 -2405;6;5,657;09/06/17 -2406;6;9,329;09/06/17 -2407;6;7,259;09/06/17 -2408;6;10,845;09/06/17 -2409;6;3,792;09/06/17 -2410;6;6,175;09/06/17 -2411;6;9,199;09/06/17 -2412;6;10,175;09/06/17 -2413;6;3,767;09/06/17 -2414;6;5,045;09/06/17 -2415;6;4,419;09/06/17 -2416;6;5,825;09/06/17 -2417;6;3,4;09/06/17 -2418;6;7,74;09/06/17 -2419;6;9,645;09/06/17 -2420;6;4,564;09/06/17 -2421;6;10,082;09/06/17 -2422;6;9,951;09/06/17 -2423;6;9,433;09/06/17 -2424;6;9,846;09/06/17 -2425;6;6,275;09/06/17 -2426;6;6,246;09/06/17 -2427;6;7,578;09/06/17 -2428;6;5,12;09/06/17 -2429;6;10,942;09/06/17 -2430;6;9,992;09/06/17 -2431;6;3,126;09/06/17 -2432;6;10,495;09/06/17 -2433;6;7,738;09/06/17 -2434;6;6,175;09/06/17 -2435;6;6,546;09/06/17 -2436;6;10,588;09/06/17 -2437;6;4,947;09/06/17 -2438;6;11,404;09/06/17 -2439;6;3,676;09/06/17 -2440;6;7,539;09/06/17 -2441;6;8,153;09/06/17 -2442;6;8,777;09/06/17 -2443;6;8,776;09/06/17 -2444;6;5,009;09/06/17 -2445;6;5,396;09/06/17 -2446;6;7,41;09/06/17 -2447;6;4,172;09/06/17 -2448;6;11,418;09/06/17 -2449;6;3,892;09/06/17 -2450;6;6,314;09/06/17 -2451;6;5,384;09/06/17 -2452;6;10,076;09/06/17 -2453;6;11,473;09/06/17 -2454;6;11,63;09/06/17 -2455;6;8,409;09/06/17 -2456;6;9,487;09/06/17 -2457;6;4,681;09/06/17 -2458;6;4,026;09/06/17 -2459;6;4,432;09/06/17 -2460;6;9,28;09/06/17 -2461;6;7,177;09/06/17 -2462;6;10,756;09/06/17 -2463;6;9,955;09/06/17 -2464;6;7,592;09/06/17 -2465;6;4,301;09/06/17 -2466;6;4,524;09/06/17 -2467;6;6,882;09/06/17 -2468;6;8,889;09/06/17 -2469;6;6,672;09/06/17 -2470;6;6;09/06/17 -2471;6;4,459;09/06/17 -2472;6;5,219;09/06/17 -2473;6;5,463;09/06/17 -2474;6;8,822;09/06/17 -2475;6;3,749;09/06/17 -2476;6;8,461;09/06/17 -2477;6;5,958;09/06/17 -2478;6;9,351;09/06/17 -2479;6;3,317;09/06/17 -2480;6;11,526;09/06/17 -2481;6;10,941;09/06/17 -2482;6;6,227;09/06/17 -2483;6;9,762;09/06/17 -2484;6;11,345;09/06/17 -2485;6;8,048;09/06/17 -2486;6;8,731;09/06/17 -2487;6;10,934;09/06/17 -2488;6;6,125;09/06/17 -2489;6;11,645;09/06/17 -2490;6;8,36;09/06/17 -2491;6;3,869;09/06/17 -2492;6;3,774;09/06/17 -2493;6;8,808;09/06/17 -2494;6;8,182;09/06/17 -2495;6;11,047;09/06/17 -2496;6;9,77;09/06/17 -2497;6;6,884;09/06/17 -2498;6;10,029;09/06/17 -2499;6;4,652;09/06/17 -2500;6;11,128;09/06/17 -2501;6;6,647;09/06/17 -2502;6;10,496;09/06/17 -2503;6;8,192;09/06/17 -2504;6;7,763;09/06/17 -2505;6;7,933;09/06/17 -2506;6;11,527;09/06/17 -2507;6;8,522;09/06/17 -2508;6;7,752;09/06/17 -2509;6;3,44;09/06/17 -2510;6;10,552;09/06/17 -2511;6;10,454;09/06/17 -2512;6;9,128;09/06/17 -2513;6;3,768;09/06/17 -2514;6;4,552;09/06/17 -2515;6;3,108;09/06/17 -2516;6;6,031;09/06/17 -2517;6;3,758;09/06/17 -2518;6;7,335;09/06/17 -2519;6;5,279;09/06/17 -2520;6;8,086;09/06/17 -2521;6;3,767;10/06/17 -2522;6;5,287;10/06/17 -2523;6;5,769;10/06/17 -2524;6;4,036;10/06/17 -2525;6;9,8;10/06/17 -2526;6;9,162;10/06/17 -2527;6;3,611;10/06/17 -2528;6;11,774;10/06/17 -2529;6;7,668;10/06/17 -2530;6;7,778;10/06/17 -2531;6;8,665;10/06/17 -2532;6;7,873;10/06/17 -2533;6;10,147;10/06/17 -2534;6;3,58;10/06/17 -2535;6;10,007;10/06/17 -2536;6;7,154;10/06/17 -2537;6;5,573;10/06/17 -2538;6;10,765;10/06/17 -2539;6;5,935;10/06/17 -2540;6;10,346;10/06/17 -2541;6;11,782;10/06/17 -2542;6;10,491;10/06/17 -2543;6;8,548;10/06/17 -2544;6;5,533;10/06/17 -2545;6;7,215;10/06/17 -2546;6;6,603;10/06/17 -2547;6;11,54;10/06/17 -2548;6;8,11;10/06/17 -2549;6;11,506;10/06/17 -2550;6;6,75;10/06/17 -2551;6;10,654;10/06/17 -2552;6;10,103;10/06/17 -2553;6;3,106;10/06/17 -2554;6;9,174;10/06/17 -2555;6;10,686;10/06/17 -2556;6;9,201;10/06/17 -2557;6;4,261;10/06/17 -2558;6;8,908;10/06/17 -2559;6;6,308;10/06/17 -2560;6;4,081;10/06/17 -2561;6;8,691;10/06/17 -2562;6;7,611;10/06/17 -2563;6;10,795;10/06/17 -2564;6;7,028;10/06/17 -2565;6;11,35;10/06/17 -2566;6;11,5;10/06/17 -2567;6;3,239;10/06/17 -2568;6;10,431;10/06/17 -2569;6;7,268;10/06/17 -2570;6;5,199;10/06/17 -2571;6;9,84;10/06/17 -2572;6;7,97;10/06/17 -2573;6;7,713;10/06/17 -2574;6;7,028;10/06/17 -2575;6;7,301;10/06/17 -2576;6;6,37;10/06/17 -2577;6;11,342;10/06/17 -2578;6;5,794;10/06/17 -2579;6;8,213;10/06/17 -2580;6;7,54;10/06/17 -2581;6;4,91;10/06/17 -2582;6;8,294;10/06/17 -2583;6;11,455;10/06/17 -2584;6;10,932;10/06/17 -2585;6;4,956;10/06/17 -2586;6;10,753;10/06/17 -2587;6;6,265;10/06/17 -2588;6;11,898;10/06/17 -2589;6;3,225;10/06/17 -2590;6;6,058;10/06/17 -2591;6;10,562;10/06/17 -2592;6;8,521;10/06/17 -2593;6;9,759;10/06/17 -2594;6;3,598;10/06/17 -2595;6;9,892;10/06/17 -2596;6;8,685;10/06/17 -2597;6;9,252;10/06/17 -2598;6;6,261;10/06/17 -2599;6;10,734;10/06/17 -2603;6;9,976;10/06/17 -2604;6;5,352;10/06/17 -2605;6;8,828;10/06/17 -2606;6;9,816;10/06/17 -2607;6;4,659;10/06/17 -2608;6;11,006;10/06/17 -2609;6;3,004;10/06/17 -2610;6;3,314;10/06/17 -2611;6;7,479;10/06/17 -2612;6;5,979;10/06/17 -2613;6;9,207;10/06/17 -2614;6;10,274;10/06/17 -2615;6;7,521;10/06/17 -2616;6;8,772;10/06/17 -2617;6;3,348;10/06/17 -2618;6;9,391;10/06/17 -2619;6;3,561;10/06/17 -2620;6;11,852;10/06/17 -2621;6;7,852;10/06/17 -2622;6;7,003;10/06/17 -2623;6;8,532;10/06/17 -2624;6;10,818;10/06/17 -2625;6;4,531;10/06/17 -2626;6;7,696;10/06/17 -2627;6;3,618;10/06/17 -2628;6;11,681;10/06/17 -2629;6;10,138;10/06/17 -2630;6;7,527;10/06/17 -2631;6;5,936;10/06/17 -2632;6;4,668;10/06/17 -2633;6;9,133;10/06/17 -2634;6;10,014;10/06/17 -2635;6;3,196;10/06/17 -2636;6;9,316;10/06/17 -2637;6;9,828;10/06/17 -2638;6;7,747;10/06/17 -2639;6;9,389;10/06/17 -2640;6;4,864;10/06/17 -2641;6;10,782;10/06/17 -2642;6;10,497;10/06/17 -2643;6;3,433;10/06/17 -2644;6;5,984;10/06/17 -2645;6;10,432;10/06/17 -2646;6;6,374;10/06/17 -2647;6;7,393;10/06/17 -2648;6;4,103;10/06/17 -2649;6;5,548;10/06/17 -2650;6;10,684;10/06/17 -2651;6;9,773;10/06/17 -2652;6;6,176;10/06/17 -2653;6;3,113;10/06/17 -2654;6;5,889;10/06/17 -2655;6;7,223;10/06/17 -2656;6;4,001;10/06/17 -2657;6;6,822;10/06/17 -2658;6;4,681;10/06/17 -2659;6;9,884;10/06/17 -2660;6;5,553;10/06/17 -2661;6;8,557;10/06/17 -2662;6;6,944;10/06/17 -2663;6;8,216;10/06/17 -2664;6;3,756;10/06/17 -2665;6;6,495;10/06/17 -2666;6;8,085;10/06/17 -2667;6;4,809;10/06/17 -2668;6;6,025;10/06/17 -2669;6;11,397;10/06/17 -2670;6;6,907;10/06/17 -2671;6;3,409;10/06/17 -2672;6;7,91;10/06/17 -2673;6;3,107;10/06/17 -2674;6;5,405;10/06/17 -2675;6;7,062;10/06/17 -2676;6;11,507;10/06/17 -2677;6;9,059;10/06/17 -2678;6;8,593;10/06/17 -2679;6;10,939;10/06/17 -2680;6;5,474;10/06/17 -2681;6;6,776;10/06/17 -2682;6;3,708;10/06/17 -2683;6;10,208;10/06/17 -2684;6;6,647;10/06/17 -2685;6;11,231;10/06/17 -2686;6;6,789;10/06/17 -2687;6;3,148;10/06/17 -2688;6;11,899;10/06/17 -2689;6;9,771;10/06/17 -2690;6;8,238;10/06/17 -2691;6;5,371;10/06/17 -2692;6;8,35;10/06/17 -2693;6;10,555;10/06/17 -2694;6;8,705;10/06/17 -2695;6;5,094;10/06/17 -2696;6;3,089;10/06/17 -2697;6;5,235;10/06/17 -2698;6;5,721;10/06/17 -2699;6;5,965;10/06/17 -2700;6;10,919;10/06/17 -2701;6;8,27;10/06/17 -2702;6;7,343;10/06/17 -2703;6;6,121;10/06/17 -2704;6;5,061;10/06/17 -2705;6;10,71;10/06/17 -2706;6;11,559;10/06/17 -2707;6;5,807;10/06/17 -2708;6;6,972;10/06/17 -2709;6;11,216;10/06/17 -2710;6;8,933;10/06/17 -2711;6;5,309;10/06/17 -2712;6;5,782;10/06/17 -2713;6;9,389;10/06/17 -2714;6;7,169;10/06/17 -2715;6;3,095;11/06/17 -2716;6;10,698;11/06/17 -2717;6;4,115;11/06/17 -2718;6;11,509;11/06/17 -2719;6;7,807;11/06/17 -2720;6;6,863;11/06/17 -2721;6;7,348;11/06/17 -2722;6;7,221;11/06/17 -2723;6;3,561;11/06/17 -2724;6;9,542;11/06/17 -2725;6;9,653;11/06/17 -2726;6;6,824;11/06/17 -2727;6;3,479;11/06/17 -2728;6;11,731;11/06/17 -2729;6;9,973;11/06/17 -2730;6;6,461;11/06/17 -2731;6;10,115;11/06/17 -2732;6;9,949;11/06/17 -2733;6;6,562;11/06/17 -2734;6;8,543;11/06/17 -2735;6;6,848;11/06/17 -2736;6;4,118;11/06/17 -2737;6;8,657;11/06/17 -2738;6;6,936;11/06/17 -2739;6;9,585;11/06/17 -2740;6;11,82;11/06/17 -2741;6;8,857;11/06/17 -2742;6;6,144;11/06/17 -2743;6;8,044;11/06/17 -2744;6;5,535;11/06/17 -2745;6;3,273;11/06/17 -2746;6;6,394;11/06/17 -2747;6;6,87;11/06/17 -2748;6;5,697;11/06/17 -2749;6;3,627;11/06/17 -2750;6;4,481;11/06/17 -2751;6;7,103;11/06/17 -2752;6;7,385;11/06/17 -2753;6;7,371;11/06/17 -2754;6;10,1;11/06/17 -2755;6;11,254;11/06/17 -2756;6;8,324;11/06/17 -2757;6;6,755;11/06/17 -2758;6;9,814;11/06/17 -2759;6;7,828;11/06/17 -2760;6;10,737;11/06/17 -2761;6;5,998;11/06/17 -2762;6;4,894;11/06/17 -2763;6;7,494;11/06/17 -2764;6;10,276;11/06/17 -2765;6;4,316;11/06/17 -2766;6;9,18;11/06/17 -2767;6;9,454;11/06/17 -2768;6;9,652;11/06/17 -2769;6;4,129;11/06/17 -2770;6;5,57;11/06/17 -2771;6;10,264;11/06/17 -2772;6;4,686;11/06/17 -2773;6;8,371;11/06/17 -2774;6;7,815;11/06/17 -2775;6;9,122;11/06/17 -2776;6;4,216;11/06/17 -2777;6;6,965;11/06/17 -2778;6;3,417;11/06/17 -2779;6;5,119;11/06/17 -2780;6;11,264;11/06/17 -2781;6;8,594;11/06/17 -2782;6;4,015;11/06/17 -2783;6;9,144;11/06/17 -2784;6;8,974;11/06/17 -2785;6;7,348;11/06/17 -2786;6;3,548;11/06/17 -2787;6;10,98;11/06/17 -2788;6;7,1;11/06/17 -2789;6;5,9;11/06/17 -2790;6;11,997;11/06/17 -2791;6;7,714;11/06/17 -2792;6;9,874;11/06/17 -2793;6;4,972;11/06/17 -2794;6;5,142;11/06/17 -2795;6;8,28;11/06/17 -2796;6;7,855;11/06/17 -2797;6;11,367;11/06/17 -2798;6;7,03;11/06/17 -2799;6;4,032;11/06/17 -2800;6;3,24;11/06/17 -2801;6;10,869;11/06/17 -2802;6;7,916;11/06/17 -2803;6;4,339;11/06/17 -2804;6;3,443;11/06/17 -2805;6;6,439;11/06/17 -2806;6;11,543;11/06/17 -2807;6;10,569;11/06/17 -2808;6;7,549;11/06/17 -2809;6;4,878;11/06/17 -2810;6;3,366;11/06/17 -2811;6;3,094;11/06/17 -2812;6;9,18;11/06/17 -2813;6;11,679;11/06/17 -2814;6;7,131;11/06/17 -2815;6;4,239;11/06/17 -2816;6;11,628;11/06/17 -2817;6;8,576;11/06/17 -2818;6;3,798;11/06/17 -2819;6;3,632;11/06/17 -2820;6;7,699;11/06/17 -2821;6;4,311;11/06/17 -2822;6;3,895;11/06/17 -2823;6;4,601;11/06/17 -2824;6;3,774;11/06/17 -2825;6;6,851;11/06/17 -2826;6;10,108;11/06/17 -2827;6;5,575;11/06/17 -2828;6;9,698;11/06/17 -2829;6;10,7;11/06/17 -2830;6;6,386;11/06/17 -2831;6;4,179;11/06/17 -2832;6;11,586;11/06/17 -2833;6;3,176;11/06/17 -2834;6;4,593;11/06/17 -2835;6;5,029;11/06/17 -2836;6;3,376;11/06/17 -2837;6;5,151;11/06/17 -2838;6;11,496;11/06/17 -2839;6;5,459;11/06/17 -2840;6;4,665;11/06/17 -2841;6;8,351;11/06/17 -2842;6;3,353;11/06/17 -2843;6;6,625;11/06/17 -2844;6;5,71;11/06/17 -2845;6;5,272;11/06/17 -2846;6;4,072;11/06/17 -2847;6;9,885;11/06/17 -2848;6;8,951;11/06/17 -2849;6;10,047;11/06/17 -2850;6;5,162;11/06/17 -2851;6;3,008;11/06/17 -2852;6;7,097;11/06/17 -2853;6;11,237;11/06/17 -2854;6;7,884;11/06/17 -2855;6;8,343;11/06/17 -2856;6;8,249;11/06/17 -2857;6;5,738;11/06/17 -2858;6;4,439;11/06/17 -2859;6;9,209;11/06/17 -2860;6;4,798;11/06/17 -2861;6;4,972;11/06/17 -2862;6;9,856;11/06/17 -2863;6;7,489;11/06/17 -2864;6;3,655;11/06/17 -2865;6;9,978;11/06/17 -2866;6;8,269;11/06/17 -2867;6;8,361;11/06/17 -2868;6;10,943;11/06/17 -2869;6;8,493;11/06/17 -2870;6;7,872;11/06/17 -2871;6;10,946;11/06/17 -2872;6;10,243;11/06/17 -2873;6;3,398;11/06/17 -2874;6;4,579;11/06/17 -2875;6;11,832;11/06/17 -2876;6;11,084;11/06/17 -2877;6;11,507;11/06/17 -2878;6;7,858;11/06/17 -2879;6;4,194;11/06/17 -2880;6;5,459;11/06/17 -2881;6;9,385;11/06/17 -2882;6;9,032;11/06/17 -2883;6;11,183;11/06/17 -2884;6;5,882;11/06/17 -2885;6;8,287;11/06/17 -2886;6;7,584;11/06/17 -2887;6;6,211;11/06/17 -2888;6;4,269;11/06/17 -2889;6;11,274;11/06/17 -2890;6;4,668;11/06/17 -2891;6;3,208;11/06/17 -2892;6;4,349;11/06/17 -2893;6;3,595;11/06/17 -2894;6;4,831;11/06/17 -2895;6;6,242;11/06/17 -2896;6;10,885;11/06/17 -2897;6;3,11;11/06/17 -2898;6;9,17;11/06/17 -2899;6;11,389;11/06/17 -2900;6;5,456;11/06/17 -2901;6;3,666;11/06/17 -2902;6;7,952;11/06/17 -2903;6;7,914;11/06/17 -2904;6;9,692;11/06/17 -2905;6;9,549;11/06/17 -2906;6;10,71;12/06/17 -2907;6;6,174;12/06/17 -2908;6;3,617;12/06/17 -2909;6;7,966;12/06/17 -2910;6;10,144;12/06/17 -2911;6;8,914;12/06/17 -2912;6;10,637;12/06/17 -2913;6;9,705;12/06/17 -2914;6;6,102;12/06/17 -2915;6;11,19;12/06/17 -2916;6;3,108;12/06/17 -2917;6;5,282;12/06/17 -2918;6;7,101;12/06/17 -2919;6;11,696;12/06/17 -2920;6;8,665;12/06/17 -2921;6;4,692;12/06/17 -2922;6;7,457;12/06/17 -2923;6;6,307;12/06/17 -2924;6;4,969;12/06/17 -2925;6;5,463;12/06/17 -2926;6;8,329;12/06/17 -2927;6;11,512;12/06/17 -2928;6;8,658;12/06/17 -2929;6;8,479;12/06/17 -2930;6;5,273;12/06/17 -2931;6;9,351;12/06/17 -2932;6;3,743;12/06/17 -2933;6;4,947;12/06/17 -2934;6;5,219;12/06/17 -2935;6;6,625;12/06/17 -2936;6;10,95;12/06/17 -2937;6;8,302;12/06/17 -2938;6;3,264;12/06/17 -2939;6;11,543;12/06/17 -2940;6;9,567;12/06/17 -2941;6;4,784;12/06/17 -2942;6;9,62;12/06/17 -2943;6;7,993;12/06/17 -2944;6;10,794;12/06/17 -2945;6;8,823;12/06/17 -2946;6;4,934;12/06/17 -2947;6;11,986;12/06/17 -2948;6;9,503;12/06/17 -2949;6;9,979;12/06/17 -2950;6;9,946;12/06/17 -2951;6;8,809;12/06/17 -2952;6;8,866;12/06/17 -2953;6;9,986;12/06/17 -2954;6;8,209;12/06/17 -2955;6;9,166;12/06/17 -2956;6;6,354;12/06/17 -2957;6;6,3;12/06/17 -2958;6;3,497;12/06/17 -2959;6;10,152;12/06/17 -2960;6;3,772;12/06/17 -2961;6;3,279;12/06/17 -2962;6;8,283;12/06/17 -2963;6;4,712;12/06/17 -2964;6;5,682;12/06/17 -2965;6;5,177;12/06/17 -2966;6;10,048;12/06/17 -2967;6;9,517;12/06/17 -2968;6;8,442;12/06/17 -2969;6;6,974;12/06/17 -2970;6;3,625;12/06/17 -2971;6;3,846;12/06/17 -2972;6;4,285;12/06/17 -2973;6;8,516;12/06/17 -2974;6;6,81;12/06/17 -2975;6;6,037;12/06/17 -2976;6;11,446;12/06/17 -2977;6;6,098;12/06/17 -2978;6;9,299;12/06/17 -2979;6;6,929;12/06/17 -2980;6;5,144;12/06/17 -2981;6;7,54;12/06/17 -2982;6;7,71;12/06/17 -2983;6;11,365;12/06/17 -2984;6;9,531;12/06/17 -2985;6;8,208;12/06/17 -2986;6;3,752;12/06/17 -2987;6;11,537;12/06/17 -2988;6;7,341;12/06/17 -2989;6;3,768;12/06/17 -2990;6;8,027;12/06/17 -2991;6;9,157;12/06/17 -2992;6;8,9;12/06/17 -2993;6;4,816;12/06/17 -2994;6;4,083;12/06/17 -2995;6;5,541;12/06/17 -2996;6;6,872;12/06/17 -2997;6;5,037;12/06/17 -2998;6;11,256;12/06/17 -2999;6;10,903;12/06/17 -3000;6;10,298;12/06/17 -3001;6;10,928;12/06/17 -3002;6;3,812;12/06/17 -3003;6;9,75;12/06/17 -3004;6;9,606;12/06/17 -3005;6;10,566;12/06/17 -3006;6;3,417;12/06/17 -3007;6;3,58;12/06/17 -3008;6;7,358;12/06/17 -3009;6;5,203;12/06/17 -3010;6;10,118;12/06/17 -3011;6;10,726;12/06/17 -3012;6;10,327;12/06/17 -3013;6;10,163;12/06/17 -3014;6;4,67;12/06/17 -3015;6;9,363;12/06/17 -3016;6;9,175;12/06/17 -3017;6;5,338;12/06/17 -3018;6;4,056;12/06/17 -3019;6;7,099;12/06/17 -3020;6;6,389;12/06/17 -3021;6;5,292;12/06/17 -3022;6;8,564;12/06/17 -3023;6;10,208;12/06/17 -3024;6;11,173;12/06/17 -3025;6;6,806;12/06/17 -3026;6;5,449;12/06/17 -3027;6;11,725;12/06/17 -3028;6;6,883;12/06/17 -3029;6;7,397;12/06/17 -3030;6;3,793;12/06/17 -3031;6;9,1;12/06/17 -3032;6;7,045;12/06/17 -3033;6;8,714;12/06/17 -3034;6;4,164;12/06/17 -3035;6;9,635;12/06/17 -3036;6;7,151;12/06/17 -3037;6;8,751;12/06/17 -3038;6;6,618;12/06/17 -3039;6;11,861;12/06/17 -3040;6;4,014;12/06/17 -3041;6;9,2;12/06/17 -3042;6;10,548;12/06/17 -3043;6;10,242;12/06/17 -3044;6;3,678;12/06/17 -3045;6;3,301;12/06/17 -3046;6;6,334;12/06/17 -3047;6;9,691;12/06/17 -3048;6;10,418;12/06/17 -3049;6;8,014;12/06/17 -3050;6;5,003;12/06/17 -3051;6;11,756;12/06/17 -3052;6;7,418;12/06/17 -3053;6;11,626;12/06/17 -3054;6;9,956;12/06/17 -3055;6;7,785;12/06/17 -3056;6;7,665;12/06/17 -3057;6;9,082;12/06/17 -3058;6;11,648;12/06/17 -3059;6;9,705;12/06/17 -3060;6;8,109;12/06/17 -3061;6;6,976;12/06/17 -3062;6;4,256;12/06/17 -3063;6;11,557;12/06/17 -3064;6;5,53;12/06/17 -3065;6;10,168;12/06/17 -3066;6;3,986;12/06/17 -3067;6;9,781;12/06/17 -3068;6;5,126;12/06/17 -3069;6;3,009;12/06/17 -3070;6;8,911;12/06/17 -3071;6;10,406;12/06/17 -3072;6;5,514;12/06/17 -3073;6;3,296;12/06/17 -3074;6;3,409;12/06/17 -3075;6;3,837;12/06/17 -3076;6;7,558;12/06/17 -3077;6;5,271;12/06/17 -3078;6;6,869;12/06/17 -3079;6;11,447;12/06/17 -3080;6;4,713;12/06/17 -3081;6;8,825;12/06/17 -3082;6;8,964;12/06/17 -3083;6;3,715;12/06/17 -3084;6;6,614;12/06/17 -3085;6;3,346;12/06/17 -3086;6;4,732;12/06/17 -3087;6;10,958;12/06/17 -3088;6;10,114;12/06/17 -3089;6;4,474;12/06/17 -3090;6;10,14;12/06/17 -3091;6;5,532;12/06/17 -3092;6;4,084;12/06/17 -3093;6;10,28;12/06/17 -3094;6;6,281;12/06/17 -3095;6;11,456;12/06/17 -3096;6;6,894;12/06/17 -3097;6;6,744;13/06/17 -3098;6;11,206;13/06/17 -3099;6;6,291;13/06/17 -3100;6;9,236;13/06/17 -3101;6;5,665;13/06/17 -3102;6;4,261;13/06/17 -3103;6;4,256;13/06/17 -3104;6;7,682;13/06/17 -3105;6;11,762;13/06/17 -3106;6;9,249;13/06/17 -3107;6;10,488;13/06/17 -3108;6;5,563;13/06/17 -3109;6;9,974;13/06/17 -3110;6;6,181;13/06/17 -3111;6;11,993;13/06/17 -3112;6;3,976;13/06/17 -3113;6;8,798;13/06/17 -3114;6;4,663;13/06/17 -3115;6;6,293;13/06/17 -3116;6;9,187;13/06/17 -3117;6;6,763;13/06/17 -3118;6;5,066;13/06/17 -3119;6;7,483;13/06/17 -3120;6;4,436;13/06/17 -3121;6;9,143;13/06/17 -3122;6;6,647;13/06/17 -3123;6;6,997;13/06/17 -3124;6;9,153;13/06/17 -3125;6;11,045;13/06/17 -3126;6;5,315;13/06/17 -3127;6;5,582;13/06/17 -3128;6;6,348;13/06/17 -3129;6;11,519;13/06/17 -3130;6;5,837;13/06/17 -3131;6;3,729;13/06/17 -3132;6;9,58;13/06/17 -3133;6;8,802;13/06/17 -3134;6;8,281;13/06/17 -3135;6;7,533;13/06/17 -3136;6;8,018;13/06/17 -3137;6;4,855;13/06/17 -3138;6;8,608;13/06/17 -3139;6;8,383;13/06/17 -3140;6;9,881;13/06/17 -3141;6;8,948;13/06/17 -3142;6;7,425;13/06/17 -3143;6;8,613;13/06/17 -3144;6;6,29;13/06/17 -3145;6;8,343;13/06/17 -3146;6;9,375;13/06/17 -3147;6;3,539;13/06/17 -3148;6;10,349;13/06/17 -3149;6;10,577;13/06/17 -3150;6;10,469;13/06/17 -3151;6;8,626;13/06/17 -3152;6;10,167;13/06/17 -3153;6;9,548;13/06/17 -3154;6;8,94;13/06/17 -3155;6;10,309;13/06/17 -3156;6;7,446;13/06/17 -3157;6;11,467;13/06/17 -3158;6;6,401;13/06/17 -3159;6;10,666;13/06/17 -3160;6;4,184;13/06/17 -3161;6;6,524;13/06/17 -3162;6;6,583;13/06/17 -3163;6;5,426;13/06/17 -3164;6;8,331;13/06/17 -3165;6;9,432;13/06/17 -3166;6;6,523;13/06/17 -3167;6;9,514;13/06/17 -3168;6;9,61;13/06/17 -3169;6;8,784;13/06/17 -3170;6;5,301;13/06/17 -3171;6;10,293;13/06/17 -3172;6;6,243;13/06/17 -3173;6;11,642;13/06/17 -3174;6;3,284;13/06/17 -3175;6;11,338;13/06/17 -3176;6;5,267;13/06/17 -3177;6;4,932;13/06/17 -3178;6;5,227;13/06/17 -3179;6;6,944;13/06/17 -3180;6;11,131;13/06/17 -3181;6;6,372;13/06/17 -3182;6;11,946;13/06/17 -3183;6;4,266;13/06/17 -3184;6;5,069;13/06/17 -3185;6;10,104;13/06/17 -3186;6;10,137;13/06/17 -3187;6;5,817;13/06/17 -3188;6;11,376;13/06/17 -3189;6;7,62;13/06/17 -3190;6;6,655;13/06/17 -3191;6;9,909;13/06/17 -3192;6;7,045;13/06/17 -3193;6;10,936;13/06/17 -3194;6;4,818;13/06/17 -3195;6;7,922;13/06/17 -3196;6;7,425;13/06/17 -3197;6;10,755;13/06/17 -3198;6;10,188;13/06/17 -3199;6;9,408;13/06/17 -3200;6;4,799;13/06/17 -3201;6;4,64;13/06/17 -3202;6;8,507;13/06/17 -2;7;11,761;01/07/17 -3;7;10,865;01/07/17 -4;7;5,872;01/07/17 -5;7;11,521;01/07/17 -6;7;9,559;01/07/17 -7;7;4,564;01/07/17 -8;7;9,524;01/07/17 -9;7;10,177;01/07/17 -10;7;3,415;01/07/17 -11;7;11,134;01/07/17 -12;7;4,662;01/07/17 -13;7;7,258;01/07/17 -14;7;10,798;01/07/17 -15;7;4,305;01/07/17 -16;7;7,74;01/07/17 -17;7;11,97;01/07/17 -18;7;7,023;01/07/17 -19;7;6,45;01/07/17 -20;7;5,358;01/07/17 -21;7;8,94;01/07/17 -22;7;6,043;01/07/17 -23;7;8,822;01/07/17 -24;7;8,329;01/07/17 -25;7;7,954;01/07/17 -26;7;5,406;01/07/17 -27;7;6,435;01/07/17 -28;7;5,463;01/07/17 -29;7;5,58;01/07/17 -30;7;10,769;01/07/17 -31;7;8,707;01/07/17 -32;7;8,85;01/07/17 -33;7;3,374;01/07/17 -34;7;6,714;01/07/17 -35;7;8,594;01/07/17 -36;7;4,986;01/07/17 -37;7;5,741;01/07/17 -38;7;11,232;01/07/17 -39;7;5,042;01/07/17 -40;7;8,81;01/07/17 -41;7;9,656;01/07/17 -42;7;6,877;01/07/17 -43;7;3,563;01/07/17 -44;7;4,909;01/07/17 -45;7;5,191;01/07/17 -46;7;4,694;01/07/17 -47;7;11,434;01/07/17 -48;7;11,681;01/07/17 -49;7;11,7;01/07/17 -50;7;5,452;01/07/17 -51;7;11,712;01/07/17 -52;7;11,199;01/07/17 -53;7;5,113;01/07/17 -54;7;11,054;01/07/17 -55;7;8,763;01/07/17 -56;7;3,38;01/07/17 -57;7;4,993;01/07/17 -58;7;11,024;01/07/17 -59;7;5,652;01/07/17 -60;7;3,861;01/07/17 -61;7;4,193;01/07/17 -62;7;6,999;01/07/17 -63;7;4,371;01/07/17 -64;7;8,271;01/07/17 -65;7;5,219;01/07/17 -66;7;8,086;01/07/17 -67;7;3,035;01/07/17 -68;7;8,376;01/07/17 -69;7;3,951;01/07/17 -70;7;10,098;01/07/17 -71;7;9,882;01/07/17 -72;7;9,513;01/07/17 -73;7;9,081;01/07/17 -74;7;3,369;01/07/17 -75;7;7,17;01/07/17 -76;7;8,244;01/07/17 -77;7;4,126;01/07/17 -78;7;5,86;01/07/17 -79;7;5,138;01/07/17 -80;7;7,746;01/07/17 -81;7;11,323;01/07/17 -82;7;5,731;01/07/17 -83;7;4,091;01/07/17 -84;7;11,338;01/07/17 -85;7;3,7;01/07/17 -86;7;10,537;01/07/17 -87;7;10,23;01/07/17 -88;7;4,575;01/07/17 -89;7;6,904;01/07/17 -90;7;8,346;01/07/17 -91;7;7,798;01/07/17 -92;7;10,208;01/07/17 -93;7;11,883;01/07/17 -94;7;11,407;01/07/17 -95;7;6,72;01/07/17 -96;7;4,975;01/07/17 -97;7;9,012;01/07/17 -98;7;11,613;01/07/17 -99;7;11,132;01/07/17 -100;7;5,395;01/07/17 -101;7;10,545;01/07/17 -102;7;8,277;01/07/17 -103;7;3,292;01/07/17 -104;7;5,701;01/07/17 -105;7;3,761;01/07/17 -106;7;4,438;01/07/17 -107;7;7,693;01/07/17 -108;7;10,309;01/07/17 -109;7;3,063;01/07/17 -110;7;7,517;01/07/17 -111;7;10,716;01/07/17 -112;7;7,232;01/07/17 -113;7;4,789;01/07/17 -114;7;4,017;01/07/17 -115;7;11,717;01/07/17 -116;7;4,184;01/07/17 -117;7;5,081;01/07/17 -118;7;4,483;01/07/17 -119;7;10,175;01/07/17 -120;7;4,833;01/07/17 -121;7;5,583;01/07/17 -122;7;6,422;01/07/17 -123;7;7,032;01/07/17 -124;7;9,428;01/07/17 -125;7;8,634;01/07/17 -126;7;5,116;01/07/17 -127;7;3,579;01/07/17 -128;7;5,103;01/07/17 -129;7;9,021;01/07/17 -130;7;9,882;01/07/17 -131;7;6,501;01/07/17 -132;7;5,57;01/07/17 -133;7;3,774;01/07/17 -134;7;3,256;01/07/17 -135;7;6,017;01/07/17 -136;7;9,804;01/07/17 -137;7;9,705;01/07/17 -138;7;10,434;01/07/17 -139;7;6,834;01/07/17 -140;7;11,465;01/07/17 -141;7;4,408;01/07/17 -142;7;7,474;01/07/17 -143;7;7,483;01/07/17 -144;7;4,725;01/07/17 -145;7;7,791;01/07/17 -146;7;11,609;01/07/17 -147;7;11,508;01/07/17 -148;7;7,19;01/07/17 -149;7;6,672;01/07/17 -150;7;7,22;01/07/17 -151;7;7,66;01/07/17 -152;7;6,037;01/07/17 -153;7;9,197;01/07/17 -154;7;4,915;01/07/17 -155;7;10,813;01/07/17 -156;7;10,767;01/07/17 -157;7;4,603;01/07/17 -158;7;8,092;01/07/17 -159;7;6,898;01/07/17 -160;7;5,741;01/07/17 -161;7;7,771;01/07/17 -162;7;6,811;01/07/17 -163;7;11,933;01/07/17 -164;7;6,931;01/07/17 -165;7;11,086;01/07/17 -166;7;9,837;01/07/17 -167;7;9,639;01/07/17 -168;7;10,63;01/07/17 -169;7;3,211;01/07/17 -170;7;9,799;01/07/17 -171;7;9,043;01/07/17 -172;7;7,206;01/07/17 -173;7;10,501;01/07/17 -174;7;6,246;01/07/17 -175;7;9,78;01/07/17 -176;7;10,116;01/07/17 -177;7;9,91;01/07/17 -178;7;6,685;01/07/17 -179;7;8,15;01/07/17 -180;7;4,76;01/07/17 -181;7;5,623;01/07/17 -182;7;11,464;01/07/17 -183;7;3,713;01/07/17 -184;7;9,308;01/07/17 -185;7;9,009;01/07/17 -186;7;9,087;01/07/17 -187;7;7,17;01/07/17 -188;7;10,13;01/07/17 -189;7;6,284;01/07/17 -190;7;4,063;01/07/17 -191;7;4,05;01/07/17 -192;7;10,195;01/07/17 -193;7;11,45;01/07/17 -194;7;10,721;01/07/17 -195;7;9,446;01/07/17 -196;7;11,904;01/07/17 -197;7;10,872;01/07/17 -198;7;8,243;01/07/17 -199;7;5,375;01/07/17 -200;7;5,381;01/07/17 -201;7;4,928;01/07/17 -202;7;11,277;01/07/17 -203;7;10,586;01/07/17 -204;7;7,355;01/07/17 -205;7;9,484;01/07/17 -206;7;7,307;01/07/17 -207;7;9,597;01/07/17 -208;7;9,794;01/07/17 -209;7;7,178;01/07/17 -210;7;7,664;01/07/17 -211;7;5,536;01/07/17 -212;7;6,465;01/07/17 -213;7;3,578;01/07/17 -214;7;9,916;01/07/17 -215;7;6,7;01/07/17 -216;7;3,831;01/07/17 -217;7;8,693;01/07/17 -218;7;4,527;01/07/17 -219;7;11,103;01/07/17 -220;7;3,43;01/07/17 -221;7;9,415;01/07/17 -222;7;3,838;01/07/17 -223;7;10,231;01/07/17 -224;7;11,974;01/07/17 -225;7;5,047;01/07/17 -226;7;6,171;01/07/17 -227;7;9,805;01/07/17 -228;7;5,475;01/07/17 -229;7;11,93;01/07/17 -230;7;11,73;01/07/17 -231;7;5,315;01/07/17 -232;7;9,465;01/07/17 -233;7;7,135;01/07/17 -234;7;7,675;01/07/17 -235;7;8,956;01/07/17 -236;7;4,185;01/07/17 -237;7;9,666;01/07/17 -238;7;11,282;01/07/17 -239;7;10,304;01/07/17 -240;7;6,951;01/07/17 -241;7;5,686;01/07/17 -242;7;6,113;01/07/17 -243;7;4,091;01/07/17 -244;7;4,978;01/07/17 -245;7;9,991;01/07/17 -246;7;5,819;01/07/17 -247;7;8,552;01/07/17 -248;7;3,825;02/07/17 -249;7;10,868;02/07/17 -250;7;3,985;02/07/17 -251;7;8,811;02/07/17 -252;7;3,023;02/07/17 -253;7;9,649;02/07/17 -254;7;6,069;02/07/17 -255;7;10,096;02/07/17 -256;7;6,828;02/07/17 -257;7;4,251;02/07/17 -258;7;4,859;02/07/17 -259;7;7,74;02/07/17 -260;7;7,234;02/07/17 -261;7;11,054;02/07/17 -262;7;3,349;02/07/17 -263;7;5,896;02/07/17 -264;7;10,3;02/07/17 -265;7;5,27;02/07/17 -266;7;5,529;02/07/17 -267;7;10,758;02/07/17 -268;7;7,184;02/07/17 -269;7;11,619;02/07/17 -270;7;7,179;02/07/17 -271;7;3,941;02/07/17 -272;7;11,696;02/07/17 -273;7;9,109;02/07/17 -274;7;7,334;02/07/17 -275;7;8,316;02/07/17 -276;7;5,873;02/07/17 -277;7;7,894;02/07/17 -278;7;7,85;02/07/17 -279;7;7,516;02/07/17 -280;7;9,945;02/07/17 -281;7;11,004;02/07/17 -282;7;8,19;02/07/17 -283;7;4,168;02/07/17 -284;7;6,378;02/07/17 -285;7;5,179;02/07/17 -286;7;8,913;02/07/17 -287;7;7,011;02/07/17 -288;7;11,324;02/07/17 -289;7;7,985;02/07/17 -290;7;4,08;02/07/17 -291;7;9,186;02/07/17 -292;7;10,85;02/07/17 -293;7;8,459;02/07/17 -294;7;6,901;02/07/17 -295;7;5,005;02/07/17 -296;7;10,445;02/07/17 -297;7;6,403;02/07/17 -298;7;6,896;02/07/17 -299;7;7,936;02/07/17 -300;7;8,157;02/07/17 -301;7;7,647;02/07/17 -302;7;10,851;02/07/17 -303;7;8,103;02/07/17 -304;7;7,748;02/07/17 -305;7;6,259;02/07/17 -306;7;4,314;02/07/17 -307;7;3,246;02/07/17 -308;7;5,07;02/07/17 -309;7;3,731;02/07/17 -310;7;11,997;02/07/17 -311;7;8,181;02/07/17 -312;7;3,665;02/07/17 -313;7;7,684;02/07/17 -314;7;10,649;02/07/17 -315;7;9,8;02/07/17 -316;7;7,065;02/07/17 -317;7;3,362;02/07/17 -318;7;11,906;02/07/17 -319;7;3,569;02/07/17 -320;7;5,739;02/07/17 -321;7;6,752;02/07/17 -322;7;3,292;02/07/17 -323;7;8,219;02/07/17 -324;7;4,964;02/07/17 -325;7;7,437;02/07/17 -326;7;11,154;02/07/17 -327;7;6,692;02/07/17 -328;7;9,296;02/07/17 -329;7;9,174;02/07/17 -330;7;9,193;02/07/17 -331;7;6,214;02/07/17 -332;7;5,247;02/07/17 -333;7;3,226;02/07/17 -334;7;11,455;02/07/17 -335;7;7,367;02/07/17 -336;7;8,388;02/07/17 -337;7;10,332;02/07/17 -338;7;7,565;02/07/17 -339;7;4,593;02/07/17 -340;7;11,287;02/07/17 -341;7;8,507;02/07/17 -342;7;11,157;02/07/17 -343;7;8,255;02/07/17 -344;7;5,239;02/07/17 -345;7;9,999;02/07/17 -346;7;10,631;02/07/17 -347;7;4,797;02/07/17 -348;7;5,472;02/07/17 -349;7;7,125;02/07/17 -350;7;4,289;02/07/17 -351;7;5,638;02/07/17 -352;7;6,304;02/07/17 -353;7;3,844;02/07/17 -354;7;7,908;02/07/17 -355;7;7,538;02/07/17 -356;7;6,744;02/07/17 -357;7;7,792;02/07/17 -358;7;3,539;02/07/17 -359;7;5,531;02/07/17 -360;7;11,89;02/07/17 -361;7;4,973;02/07/17 -362;7;10,913;02/07/17 -363;7;11,475;02/07/17 -364;7;5,387;02/07/17 -365;7;3,742;02/07/17 -366;7;10,494;02/07/17 -367;7;7,878;02/07/17 -368;7;3,268;02/07/17 -369;7;6,685;02/07/17 -370;7;11,552;02/07/17 -371;7;10,362;02/07/17 -372;7;5,431;02/07/17 -373;7;3,574;02/07/17 -374;7;10,585;02/07/17 -375;7;10,425;02/07/17 -376;7;5,03;02/07/17 -377;7;4,921;02/07/17 -378;7;6,666;02/07/17 -379;7;5,008;02/07/17 -380;7;7,85;02/07/17 -381;7;4,769;02/07/17 -382;7;6,657;02/07/17 -383;7;10,397;02/07/17 -384;7;8,7;02/07/17 -385;7;9,814;02/07/17 -386;7;9,766;02/07/17 -387;7;9,018;02/07/17 -388;7;5,718;02/07/17 -389;7;6,233;02/07/17 -390;7;5,239;02/07/17 -391;7;9,539;02/07/17 -392;7;10,005;02/07/17 -393;7;6,099;02/07/17 -394;7;5,839;02/07/17 -395;7;10,501;02/07/17 -396;7;7,886;02/07/17 -397;7;7,303;02/07/17 -398;7;8,83;02/07/17 -399;7;8,312;02/07/17 -400;7;10,484;02/07/17 -401;7;9,634;02/07/17 -402;7;3,973;02/07/17 -403;7;4,593;02/07/17 -404;7;4,959;02/07/17 -405;7;7,486;02/07/17 -406;7;10,454;02/07/17 -407;7;5,224;02/07/17 -408;7;6,898;02/07/17 -409;7;6,12;02/07/17 -410;7;3,111;02/07/17 -411;7;5,475;02/07/17 -412;7;10,758;02/07/17 -413;7;9,404;02/07/17 -414;7;8,66;02/07/17 -415;7;7,792;02/07/17 -416;7;5,17;02/07/17 -417;7;7,985;02/07/17 -418;7;6,689;02/07/17 -419;7;9,747;02/07/17 -420;7;3,532;02/07/17 -421;7;3,344;02/07/17 -422;7;7,749;02/07/17 -423;7;11,812;02/07/17 -424;7;5,926;02/07/17 -425;7;10,822;02/07/17 -426;7;7,534;02/07/17 -427;7;7,205;02/07/17 -428;7;3,637;02/07/17 -429;7;11,113;02/07/17 -430;7;5,015;02/07/17 -431;7;11,196;02/07/17 -432;7;11,326;02/07/17 -433;7;4,912;02/07/17 -434;7;11,632;02/07/17 -435;7;9,188;02/07/17 -436;7;8,601;02/07/17 -437;7;8,867;02/07/17 -438;7;6,597;02/07/17 -439;7;4,063;02/07/17 -440;7;3,429;02/07/17 -441;7;9,902;02/07/17 -442;7;9,709;02/07/17 -443;7;8,021;02/07/17 -444;7;5,708;02/07/17 -445;7;7,779;02/07/17 -446;7;10,338;02/07/17 -447;7;4,378;02/07/17 -448;7;11,226;02/07/17 -449;7;9,978;02/07/17 -450;7;9,983;02/07/17 -451;7;4,582;02/07/17 -452;7;8,447;02/07/17 -453;7;4,031;02/07/17 -454;7;3,885;02/07/17 -455;7;6,293;02/07/17 -456;7;9,818;02/07/17 -457;7;4,393;02/07/17 -458;7;5,68;02/07/17 -459;7;4,925;02/07/17 -460;7;5,093;02/07/17 -461;7;9,327;02/07/17 -462;7;3,322;02/07/17 -463;7;9,995;02/07/17 -464;7;8,904;02/07/17 -465;7;5,054;02/07/17 -466;7;9,158;02/07/17 -467;7;4,523;02/07/17 -468;7;7,771;02/07/17 -469;7;5,276;02/07/17 -470;7;6,923;02/07/17 -471;7;4,157;02/07/17 -472;7;9,173;02/07/17 -473;7;8,057;02/07/17 -474;7;5,125;02/07/17 -475;7;10,62;02/07/17 -476;7;9,179;02/07/17 -477;7;10,132;02/07/17 -478;7;7,461;02/07/17 -479;7;7,08;02/07/17 -480;7;5,136;02/07/17 -481;7;11,765;02/07/17 -482;7;6,178;02/07/17 -483;7;5,603;02/07/17 -484;7;6,567;02/07/17 -485;7;4,708;02/07/17 -486;7;6,344;02/07/17 -487;7;9,218;02/07/17 -488;7;3,738;02/07/17 -489;7;4,056;02/07/17 -490;7;10,455;02/07/17 -491;7;11,149;02/07/17 -492;7;6,329;02/07/17 -493;7;3,776;02/07/17 -494;7;7,039;03/07/17 -495;7;6,178;03/07/17 -496;7;11,818;03/07/17 -497;7;6,013;03/07/17 -498;7;10,098;03/07/17 -499;7;11,609;03/07/17 -500;7;10,008;03/07/17 -501;7;5,389;03/07/17 -502;7;9,936;03/07/17 -503;7;11,883;03/07/17 -504;7;11,349;03/07/17 -505;7;8,584;03/07/17 -506;7;3,14;03/07/17 -507;7;9,289;03/07/17 -508;7;7,774;03/07/17 -509;7;3,237;03/07/17 -510;7;10,148;03/07/17 -511;7;10,386;03/07/17 -512;7;6,816;03/07/17 -513;7;6,288;03/07/17 -514;7;11,548;03/07/17 -515;7;7,921;03/07/17 -516;7;9,156;03/07/17 -517;7;8,895;03/07/17 -518;7;8,301;03/07/17 -519;7;7,742;03/07/17 -520;7;10,087;03/07/17 -521;7;4,398;03/07/17 -522;7;6,243;03/07/17 -523;7;6,771;03/07/17 -524;7;5,832;03/07/17 -525;7;6,487;03/07/17 -526;7;11,485;03/07/17 -527;7;11,328;03/07/17 -528;7;3,007;03/07/17 -529;7;3,046;03/07/17 -530;7;8,12;03/07/17 -531;7;5,915;03/07/17 -532;7;10,486;03/07/17 -533;7;9,214;03/07/17 -534;7;9,83;03/07/17 -535;7;11,499;03/07/17 -536;7;9,378;03/07/17 -537;7;4,409;03/07/17 -538;7;7,784;03/07/17 -539;7;4,496;03/07/17 -540;7;8,001;03/07/17 -541;7;10,516;03/07/17 -542;7;10,037;03/07/17 -543;7;4,012;03/07/17 -544;7;3,537;03/07/17 -545;7;5,997;03/07/17 -546;7;10,951;03/07/17 -547;7;11,149;03/07/17 -548;7;10,041;03/07/17 -549;7;5,401;03/07/17 -550;7;8,233;03/07/17 -551;7;9,298;03/07/17 -552;7;10,814;03/07/17 -553;7;3,39;03/07/17 -554;7;7,292;03/07/17 -555;7;6,257;03/07/17 -556;7;7,21;03/07/17 -557;7;7,72;03/07/17 -558;7;3,956;03/07/17 -559;7;3,715;03/07/17 -560;7;3,508;03/07/17 -561;7;11,938;03/07/17 -562;7;9,777;03/07/17 -563;7;5,618;03/07/17 -564;7;11,218;03/07/17 -565;7;9,542;03/07/17 -566;7;8,644;03/07/17 -567;7;8,432;03/07/17 -568;7;5,691;03/07/17 -569;7;11,009;03/07/17 -570;7;11,53;03/07/17 -571;7;6,771;03/07/17 -572;7;4,901;03/07/17 -573;7;8,979;03/07/17 -574;7;4,145;03/07/17 -575;7;8,507;03/07/17 -576;7;8,091;03/07/17 -577;7;3,517;03/07/17 -578;7;10,93;03/07/17 -579;7;9,837;03/07/17 -580;7;9,509;03/07/17 -581;7;9,61;03/07/17 -582;7;6,728;03/07/17 -583;7;7,424;03/07/17 -584;7;5,744;03/07/17 -585;7;10,386;03/07/17 -586;7;9,189;03/07/17 -587;7;5,924;03/07/17 -588;7;11,696;03/07/17 -589;7;3,364;03/07/17 -590;7;11,298;03/07/17 -591;7;7,206;03/07/17 -592;7;6,962;03/07/17 -593;7;7,441;03/07/17 -594;7;5,693;03/07/17 -595;7;8,506;03/07/17 -596;7;9,513;03/07/17 -597;7;4,593;03/07/17 -598;7;11,797;03/07/17 -599;7;9,771;03/07/17 -600;7;9,284;03/07/17 -604;7;3,328;03/07/17 -605;7;4,235;03/07/17 -606;7;3,719;03/07/17 -607;7;4,676;03/07/17 -608;7;5,599;03/07/17 -609;7;10,705;03/07/17 -610;7;10,056;03/07/17 -611;7;11,989;03/07/17 -612;7;5,438;03/07/17 -613;7;5,255;03/07/17 -614;7;6,12;03/07/17 -615;7;6,458;03/07/17 -616;7;4,704;03/07/17 -617;7;8,965;03/07/17 -618;7;4,302;03/07/17 -619;7;7,997;03/07/17 -620;7;3,647;03/07/17 -621;7;10,634;03/07/17 -622;7;8,523;03/07/17 -623;7;3,791;03/07/17 -624;7;7,279;03/07/17 -625;7;5,249;03/07/17 -626;7;5,37;03/07/17 -627;7;11,691;03/07/17 -628;7;7,008;03/07/17 -629;7;9,133;03/07/17 -630;7;9,436;03/07/17 -631;7;11,839;03/07/17 -632;7;6,208;03/07/17 -633;7;5,619;03/07/17 -634;7;5,61;03/07/17 -635;7;5,506;03/07/17 -636;7;6,663;03/07/17 -637;7;3,436;03/07/17 -638;7;8,678;03/07/17 -639;7;6,706;03/07/17 -640;7;10,026;03/07/17 -641;7;5,271;03/07/17 -642;7;9,701;03/07/17 -643;7;3,479;03/07/17 -644;7;11,911;03/07/17 -645;7;3,271;03/07/17 -646;7;11,566;03/07/17 -647;7;5,736;03/07/17 -648;7;7,849;03/07/17 -649;7;11,107;03/07/17 -650;7;8,987;03/07/17 -651;7;4,237;03/07/17 -652;7;7,117;03/07/17 -653;7;8,172;03/07/17 -654;7;7,08;03/07/17 -655;7;11,788;03/07/17 -656;7;6,029;03/07/17 -657;7;4,558;03/07/17 -658;7;4,863;03/07/17 -659;7;6,65;03/07/17 -660;7;9,245;03/07/17 -661;7;9,011;03/07/17 -662;7;7,78;03/07/17 -663;7;5,735;03/07/17 -664;7;4,898;03/07/17 -665;7;4,508;03/07/17 -666;7;10,089;03/07/17 -667;7;8,398;03/07/17 -668;7;4,939;03/07/17 -669;7;9,053;03/07/17 -670;7;7,042;03/07/17 -671;7;9,107;03/07/17 -672;7;7,806;03/07/17 -673;7;3,022;03/07/17 -674;7;10,029;03/07/17 -675;7;10,633;03/07/17 -676;7;6,667;03/07/17 -677;7;7,054;03/07/17 -678;7;9,616;03/07/17 -679;7;11,383;03/07/17 -680;7;11,829;03/07/17 -681;7;8,034;03/07/17 -682;7;6,305;03/07/17 -683;7;9,864;03/07/17 -684;7;7,439;03/07/17 -685;7;8,206;03/07/17 -686;7;8,55;03/07/17 -687;7;8,81;03/07/17 -688;7;11,555;03/07/17 -689;7;4,809;03/07/17 -690;7;7,955;03/07/17 -691;7;8,287;03/07/17 -692;7;4,046;03/07/17 -693;7;8,366;03/07/17 -694;7;4,23;03/07/17 -695;7;3,986;03/07/17 -696;7;9,504;03/07/17 -697;7;7,912;03/07/17 -698;7;10,286;03/07/17 -699;7;3,567;03/07/17 -700;7;5,151;03/07/17 -701;7;4,603;03/07/17 -702;7;5,224;03/07/17 -703;7;11,806;03/07/17 -704;7;4,732;03/07/17 -705;7;3,136;03/07/17 -706;7;9,128;03/07/17 -707;7;6,52;03/07/17 -708;7;11,072;03/07/17 -709;7;3,059;03/07/17 -710;7;9,831;03/07/17 -711;7;5,897;03/07/17 -712;7;7,228;03/07/17 -713;7;5,419;03/07/17 -714;7;5,539;03/07/17 -715;7;8,469;03/07/17 -716;7;6,763;03/07/17 -717;7;3,617;03/07/17 -718;7;5,41;03/07/17 -719;7;9,005;03/07/17 -720;7;7,542;03/07/17 -721;7;10,136;03/07/17 -722;7;3,364;03/07/17 -723;7;10,599;03/07/17 -724;7;10,83;03/07/17 -725;7;8,182;03/07/17 -726;7;11,468;03/07/17 -727;7;6,001;03/07/17 -728;7;8,351;03/07/17 -729;7;11,903;03/07/17 -730;7;8,66;03/07/17 -731;7;11,891;03/07/17 -732;7;4,645;03/07/17 -733;7;9,978;03/07/17 -734;7;8,039;03/07/17 -735;7;10,898;03/07/17 -736;7;8,734;03/07/17 -737;7;10,841;03/07/17 -738;7;6,148;03/07/17 -739;7;10,939;03/07/17 -740;7;4,039;03/07/17 -741;7;8,033;03/07/17 -742;7;7,725;03/07/17 -743;7;6,62;04/07/17 -744;7;11,28;04/07/17 -745;7;11,076;04/07/17 -746;7;7,004;04/07/17 -747;7;7,296;04/07/17 -748;7;6,489;04/07/17 -749;7;5,036;04/07/17 -750;7;6,011;04/07/17 -751;7;3,613;04/07/17 -752;7;7,179;04/07/17 -753;7;10,3;04/07/17 -754;7;8,399;04/07/17 -755;7;11,702;04/07/17 -756;7;5,077;04/07/17 -757;7;11,245;04/07/17 -758;7;9,572;04/07/17 -759;7;11,377;04/07/17 -760;7;4,295;04/07/17 -761;7;7,877;04/07/17 -762;7;6,071;04/07/17 -763;7;3,16;04/07/17 -764;7;9,452;04/07/17 -765;7;3,698;04/07/17 -766;7;4,857;04/07/17 -767;7;7,903;04/07/17 -768;7;7,297;04/07/17 -769;7;8,981;04/07/17 -770;7;5,81;04/07/17 -771;7;11,321;04/07/17 -772;7;3,935;04/07/17 -773;7;6,038;04/07/17 -774;7;8,102;04/07/17 -775;7;6,229;04/07/17 -776;7;6,217;04/07/17 -777;7;9,885;04/07/17 -778;7;11,114;04/07/17 -779;7;7,3;04/07/17 -780;7;9,337;04/07/17 -781;7;4,119;04/07/17 -782;7;5,653;04/07/17 -783;7;4,889;04/07/17 -784;7;11,534;04/07/17 -785;7;8,745;04/07/17 -786;7;10,496;04/07/17 -787;7;4,513;04/07/17 -788;7;10,707;04/07/17 -789;7;7,765;04/07/17 -790;7;3,395;04/07/17 -791;7;3,187;04/07/17 -792;7;6,572;04/07/17 -793;7;7,007;04/07/17 -794;7;3,551;04/07/17 -795;7;4,093;04/07/17 -796;7;5,531;04/07/17 -797;7;5,43;04/07/17 -798;7;8,563;04/07/17 -799;7;5,974;04/07/17 -800;7;6,961;04/07/17 -801;7;6,37;04/07/17 -802;7;10,499;04/07/17 -803;7;7,277;04/07/17 -804;7;3,101;04/07/17 -805;7;3,868;04/07/17 -806;7;9,55;04/07/17 -807;7;5,39;04/07/17 -808;7;7,478;04/07/17 -809;7;7,439;04/07/17 -810;7;4,174;04/07/17 -811;7;9,727;04/07/17 -812;7;8,594;04/07/17 -813;7;9,367;04/07/17 -814;7;5,445;04/07/17 -815;7;3,482;04/07/17 -816;7;6,985;04/07/17 -817;7;3,688;04/07/17 -818;7;6,668;04/07/17 -819;7;3,742;04/07/17 -820;7;10,94;04/07/17 -821;7;10,311;04/07/17 -822;7;9,349;04/07/17 -823;7;8,98;04/07/17 -824;7;5,848;04/07/17 -825;7;4,329;04/07/17 -826;7;7,738;04/07/17 -827;7;10,773;04/07/17 -828;7;11,009;04/07/17 -829;7;4,9;04/07/17 -830;7;9,995;04/07/17 -831;7;10,839;04/07/17 -832;7;6,237;04/07/17 -833;7;10,421;04/07/17 -834;7;6,056;04/07/17 -835;7;11,032;04/07/17 -836;7;11,446;04/07/17 -837;7;7,968;04/07/17 -838;7;6,959;04/07/17 -839;7;8,243;04/07/17 -840;7;7,921;04/07/17 -841;7;5,698;04/07/17 -842;7;7,234;04/07/17 -843;7;4,154;04/07/17 -844;7;10,933;04/07/17 -845;7;3,783;04/07/17 -846;7;11,822;04/07/17 -847;7;7,65;04/07/17 -848;7;3,773;04/07/17 -849;7;9,395;04/07/17 -850;7;6,712;04/07/17 -851;7;5,325;04/07/17 -852;7;10,915;04/07/17 -853;7;9,2;04/07/17 -854;7;6,996;04/07/17 -855;7;4,825;04/07/17 -856;7;10,232;04/07/17 -857;7;6,527;04/07/17 -858;7;6,798;04/07/17 -859;7;3,374;04/07/17 -860;7;4,599;04/07/17 -861;7;9,92;04/07/17 -862;7;10,062;04/07/17 -863;7;6,409;04/07/17 -864;7;11,087;04/07/17 -865;7;7,206;04/07/17 -866;7;7,837;04/07/17 -867;7;6,377;04/07/17 -868;7;11,413;04/07/17 -869;7;11,994;04/07/17 -870;7;7,765;04/07/17 -871;7;5,848;04/07/17 -872;7;9,665;04/07/17 -873;7;9,002;04/07/17 -874;7;7,065;04/07/17 -875;7;7,881;04/07/17 -876;7;8,493;04/07/17 -877;7;7,16;04/07/17 -878;7;4,517;04/07/17 -879;7;5,166;04/07/17 -880;7;5,081;04/07/17 -881;7;5,379;04/07/17 -882;7;4,468;04/07/17 -883;7;5,886;04/07/17 -884;7;11,687;04/07/17 -885;7;7,945;04/07/17 -886;7;7,544;04/07/17 -887;7;10,169;04/07/17 -888;7;6,76;04/07/17 -889;7;5,188;04/07/17 -890;7;6,359;04/07/17 -891;7;11,504;04/07/17 -892;7;9,811;04/07/17 -893;7;7,182;04/07/17 -894;7;7,797;04/07/17 -895;7;10,565;04/07/17 -896;7;10,349;04/07/17 -897;7;9,826;04/07/17 -898;7;10,169;04/07/17 -899;7;8,595;04/07/17 -900;7;6,466;04/07/17 -901;7;4,728;04/07/17 -902;7;10,329;04/07/17 -903;7;6,002;04/07/17 -904;7;6,068;04/07/17 -905;7;11,828;04/07/17 -906;7;8,952;04/07/17 -907;7;6,589;04/07/17 -908;7;8,2;04/07/17 -909;7;11,009;04/07/17 -910;7;8,813;04/07/17 -911;7;8,074;04/07/17 -912;7;7,839;04/07/17 -913;7;8,105;04/07/17 -914;7;7,954;04/07/17 -915;7;4,33;04/07/17 -916;7;4,196;04/07/17 -917;7;7,66;04/07/17 -918;7;4,089;04/07/17 -919;7;4,049;04/07/17 -920;7;5,33;04/07/17 -921;7;6,319;04/07/17 -922;7;7,288;04/07/17 -923;7;9,714;04/07/17 -924;7;10,385;04/07/17 -925;7;11,056;04/07/17 -926;7;5,291;04/07/17 -927;7;4,251;04/07/17 -928;7;8,526;04/07/17 -929;7;5,095;04/07/17 -930;7;3,432;04/07/17 -931;7;6,782;04/07/17 -932;7;6,723;04/07/17 -933;7;4,374;04/07/17 -934;7;7,742;04/07/17 -935;7;10,338;04/07/17 -936;7;11,08;04/07/17 -937;7;4,824;04/07/17 -938;7;10,744;04/07/17 -939;7;7,32;04/07/17 -940;7;8,992;04/07/17 -941;7;10,674;04/07/17 -942;7;9,341;04/07/17 -943;7;3,055;04/07/17 -944;7;4,902;04/07/17 -945;7;7,025;04/07/17 -946;7;9,856;04/07/17 -947;7;6,019;04/07/17 -948;7;5,699;04/07/17 -949;7;7,706;04/07/17 -950;7;4,35;04/07/17 -951;7;5,34;04/07/17 -952;7;3,011;04/07/17 -953;7;3,479;04/07/17 -954;7;4,911;04/07/17 -955;7;4,807;04/07/17 -956;7;4,831;04/07/17 -957;7;10,891;04/07/17 -958;7;8,904;04/07/17 -959;7;10,075;04/07/17 -960;7;8,961;04/07/17 -961;7;9,365;04/07/17 -962;7;9,347;04/07/17 -963;7;3,965;04/07/17 -964;7;7,374;04/07/17 -965;7;6,731;04/07/17 -966;7;7,109;04/07/17 -967;7;10,292;04/07/17 -968;7;8,283;04/07/17 -969;7;9,673;04/07/17 -970;7;4,472;04/07/17 -971;7;3,976;04/07/17 -972;7;10,775;04/07/17 -973;7;10,077;04/07/17 -974;7;7,136;04/07/17 -975;7;5,661;04/07/17 -976;7;3,075;04/07/17 -977;7;3,96;04/07/17 -978;7;6,467;04/07/17 -979;7;3,061;04/07/17 -980;7;3,149;04/07/17 -981;7;3,892;04/07/17 -982;7;11,351;04/07/17 -983;7;9,677;04/07/17 -984;7;5,847;04/07/17 -985;7;6,718;04/07/17 -986;7;3,011;04/07/17 -987;7;7,37;04/07/17 -988;7;11,828;04/07/17 -989;7;9,776;05/07/17 -990;7;7,04;05/07/17 -991;7;7,206;05/07/17 -992;7;9,719;05/07/17 -993;7;5,423;05/07/17 -994;7;5,764;05/07/17 -995;7;3,228;05/07/17 -996;7;7,059;05/07/17 -997;7;6,134;05/07/17 -998;7;3,13;05/07/17 -999;7;11,954;05/07/17 -1000;7;7,351;05/07/17 -1001;7;3,803;05/07/17 -1002;7;5,944;05/07/17 -1003;7;11,074;05/07/17 -1004;7;7,886;05/07/17 -1005;7;6,241;05/07/17 -1006;7;5,602;05/07/17 -1007;7;5,734;05/07/17 -1008;7;11,411;05/07/17 -1009;7;8,448;05/07/17 -1010;7;4,936;05/07/17 -1011;7;6,582;05/07/17 -1012;7;11,44;05/07/17 -1013;7;8,692;05/07/17 -1014;7;3,661;05/07/17 -1015;7;4,257;05/07/17 -1016;7;7,364;05/07/17 -1017;7;11,192;05/07/17 -1018;7;6,71;05/07/17 -1019;7;3,464;05/07/17 -1020;7;11,639;05/07/17 -1021;7;9,564;05/07/17 -1022;7;5,65;05/07/17 -1023;7;4,112;05/07/17 -1024;7;9,348;05/07/17 -1025;7;3,617;05/07/17 -1026;7;11,689;05/07/17 -1027;7;11,412;05/07/17 -1028;7;8,347;05/07/17 -1029;7;4,914;05/07/17 -1030;7;8,688;05/07/17 -1031;7;7,011;05/07/17 -1032;7;4,031;05/07/17 -1033;7;9,788;05/07/17 -1034;7;8,271;05/07/17 -1035;7;3,521;05/07/17 -1036;7;9,719;05/07/17 -1037;7;3,436;05/07/17 -1038;7;6,097;05/07/17 -1039;7;4,384;05/07/17 -1040;7;6,127;05/07/17 -1041;7;11,075;05/07/17 -1042;7;5,579;05/07/17 -1043;7;11,387;05/07/17 -1044;7;10,779;05/07/17 -1045;7;7,21;05/07/17 -1046;7;3,323;05/07/17 -1047;7;10,635;05/07/17 -1048;7;9,668;05/07/17 -1049;7;5,959;05/07/17 -1050;7;3,192;05/07/17 -1051;7;7,766;05/07/17 -1052;7;5,931;05/07/17 -1053;7;8,199;05/07/17 -1054;7;9,481;05/07/17 -1055;7;10,841;05/07/17 -1056;7;6,733;05/07/17 -1057;7;5,051;05/07/17 -1058;7;11,92;05/07/17 -1059;7;5,033;05/07/17 -1060;7;6,732;05/07/17 -1061;7;7,396;05/07/17 -1062;7;6,02;05/07/17 -1063;7;6,376;05/07/17 -1064;7;8,209;05/07/17 -1065;7;8,048;05/07/17 -1066;7;10,005;05/07/17 -1067;7;6,376;05/07/17 -1068;7;11,21;05/07/17 -1069;7;10,265;05/07/17 -1070;7;7,944;05/07/17 -1071;7;11,58;05/07/17 -1072;7;6,368;05/07/17 -1073;7;10,335;05/07/17 -1074;7;9,968;05/07/17 -1075;7;7,393;05/07/17 -1076;7;7,701;05/07/17 -1077;7;3,067;05/07/17 -1078;7;5,318;05/07/17 -1079;7;9,687;05/07/17 -1080;7;4,405;05/07/17 -1081;7;11,757;05/07/17 -1082;7;6,884;05/07/17 -1083;7;3,157;05/07/17 -1084;7;6,084;05/07/17 -1085;7;6,943;05/07/17 -1086;7;4,713;05/07/17 -1087;7;11,638;05/07/17 -1088;7;3,373;05/07/17 -1089;7;8,22;05/07/17 -1090;7;8,054;05/07/17 -1091;7;11,262;05/07/17 -1092;7;4,755;05/07/17 -1093;7;10,385;05/07/17 -1094;7;10,836;05/07/17 -1095;7;7,918;05/07/17 -1096;7;3,724;05/07/17 -1097;7;8,367;05/07/17 -1098;7;7,463;05/07/17 -1099;7;8,811;05/07/17 -1100;7;8,837;05/07/17 -1101;7;3,748;05/07/17 -1102;7;9,759;05/07/17 -1103;7;7,264;05/07/17 -1104;7;11,402;05/07/17 -1105;7;5,86;05/07/17 -1106;7;10,151;05/07/17 -1107;7;10,62;05/07/17 -1108;7;9,842;05/07/17 -1109;7;11,582;05/07/17 -1110;7;6,873;05/07/17 -1111;7;5,904;05/07/17 -1112;7;5,082;05/07/17 -1113;7;3,273;05/07/17 -1114;7;8,364;05/07/17 -1115;7;11,86;05/07/17 -1116;7;5,348;05/07/17 -1117;7;8,357;05/07/17 -1118;7;10,829;05/07/17 -1119;7;10,502;05/07/17 -1120;7;11,068;05/07/17 -1121;7;3,41;05/07/17 -1122;7;9,466;05/07/17 -1123;7;5,264;05/07/17 -1124;7;10,728;05/07/17 -1125;7;5,124;05/07/17 -1126;7;4,639;05/07/17 -1127;7;4,365;05/07/17 -1128;7;4,038;05/07/17 -1129;7;5,941;05/07/17 -1130;7;6,816;05/07/17 -1131;7;4,358;05/07/17 -1132;7;7,17;05/07/17 -1133;7;11,767;05/07/17 -1134;7;11,225;05/07/17 -1135;7;3,296;05/07/17 -1136;7;11,26;05/07/17 -1137;7;6,54;05/07/17 -1138;7;6,905;05/07/17 -1139;7;6,419;05/07/17 -1140;7;4,15;05/07/17 -1141;7;7,084;05/07/17 -1142;7;5,565;05/07/17 -1143;7;11,503;05/07/17 -1144;7;4,484;05/07/17 -1145;7;5,425;05/07/17 -1146;7;8,129;05/07/17 -1147;7;8,687;05/07/17 -1148;7;6,856;05/07/17 -1149;7;5,753;05/07/17 -1150;7;9,893;05/07/17 -1151;7;6,249;05/07/17 -1152;7;9,144;05/07/17 -1153;7;6,861;05/07/17 -1154;7;3,083;05/07/17 -1155;7;5,851;05/07/17 -1156;7;4,807;05/07/17 -1157;7;4,527;05/07/17 -1158;7;8,754;05/07/17 -1159;7;4,203;05/07/17 -1160;7;6,295;05/07/17 -1161;7;6,087;05/07/17 -1162;7;5,642;05/07/17 -1163;7;9,709;05/07/17 -1164;7;7,187;05/07/17 -1165;7;5,886;05/07/17 -1166;7;8,835;05/07/17 -1167;7;7,054;05/07/17 -1168;7;5,87;05/07/17 -1169;7;7,464;05/07/17 -1170;7;5,805;05/07/17 -1171;7;6,982;05/07/17 -1172;7;11,435;05/07/17 -1173;7;8,371;05/07/17 -1174;7;10,67;05/07/17 -1175;7;8,746;05/07/17 -1176;7;3,34;05/07/17 -1177;7;4,495;05/07/17 -1178;7;10,551;05/07/17 -1179;7;8,754;05/07/17 -1180;7;8,984;05/07/17 -1181;7;4,046;05/07/17 -1182;7;9,343;05/07/17 -1183;7;5,665;05/07/17 -1184;7;7,707;05/07/17 -1185;7;8,207;05/07/17 -1186;7;7,908;05/07/17 -1187;7;10,843;05/07/17 -1188;7;10,442;05/07/17 -1189;7;11,638;05/07/17 -1190;7;10,237;05/07/17 -1191;7;9,471;05/07/17 -1192;7;9,401;05/07/17 -1193;7;7,943;05/07/17 -1194;7;10,206;05/07/17 -1195;7;9,859;05/07/17 -1196;7;9,616;05/07/17 -1197;7;5,389;05/07/17 -1198;7;6,003;05/07/17 -1199;7;7,095;05/07/17 -1200;7;4,5;05/07/17 -1201;7;11,619;05/07/17 -1202;7;4,267;05/07/17 -1203;7;6,876;05/07/17 -2001;7;11,761;05/07/17 -2002;7;10,865;05/07/17 -2003;7;5,872;05/07/17 -2004;7;11,521;05/07/17 -2005;7;9,559;05/07/17 -2006;7;4,564;05/07/17 -2007;7;9,524;05/07/17 -2008;7;10,177;05/07/17 -2009;7;3,415;05/07/17 -2010;7;11,134;05/07/17 -2011;7;4,662;05/07/17 -2012;7;7,258;05/07/17 -2013;7;10,798;05/07/17 -2014;7;4,305;05/07/17 -2015;7;7,74;05/07/17 -2016;7;11,97;05/07/17 -2017;7;7,023;05/07/17 -2018;7;6,45;05/07/17 -2019;7;5,358;05/07/17 -2020;7;8,94;05/07/17 -2021;7;6,043;05/07/17 -2022;7;8,822;05/07/17 -2023;7;8,329;05/07/17 -2024;7;7,954;05/07/17 -2025;7;5,406;05/07/17 -2026;7;6,435;05/07/17 -2027;7;5,463;05/07/17 -2028;7;5,58;05/07/17 -2029;7;10,769;05/07/17 -2030;7;8,707;05/07/17 -2031;7;8,85;05/07/17 -2032;7;3,374;06/07/17 -2033;7;6,714;06/07/17 -2034;7;8,594;06/07/17 -2035;7;4,986;06/07/17 -2036;7;5,741;06/07/17 -2037;7;11,232;06/07/17 -2038;7;5,042;06/07/17 -2039;7;8,81;06/07/17 -2040;7;9,656;06/07/17 -2041;7;6,877;06/07/17 -2042;7;3,563;06/07/17 -2043;7;4,909;06/07/17 -2044;7;5,191;06/07/17 -2045;7;4,694;06/07/17 -2046;7;11,434;06/07/17 -2047;7;11,681;06/07/17 -2048;7;11,7;06/07/17 -2049;7;5,452;06/07/17 -2050;7;11,712;06/07/17 -2051;7;11,199;06/07/17 -2052;7;5,113;06/07/17 -2053;7;11,054;06/07/17 -2054;7;8,763;06/07/17 -2055;7;3,38;06/07/17 -2056;7;4,993;06/07/17 -2057;7;11,024;06/07/17 -2058;7;5,652;06/07/17 -2059;7;3,861;06/07/17 -2060;7;4,193;06/07/17 -2061;7;6,999;06/07/17 -2062;7;4,371;06/07/17 -2063;7;8,271;06/07/17 -2064;7;5,219;06/07/17 -2065;7;8,086;06/07/17 -2066;7;3,035;06/07/17 -2067;7;8,376;06/07/17 -2068;7;3,951;06/07/17 -2069;7;10,098;06/07/17 -2070;7;9,882;06/07/17 -2071;7;9,513;06/07/17 -2072;7;9,081;06/07/17 -2073;7;3,369;06/07/17 -2074;7;7,17;06/07/17 -2075;7;8,244;06/07/17 -2076;7;4,126;06/07/17 -2077;7;5,86;06/07/17 -2078;7;5,138;06/07/17 -2079;7;7,746;06/07/17 -2080;7;11,323;06/07/17 -2081;7;5,731;06/07/17 -2082;7;4,091;06/07/17 -2083;7;11,338;06/07/17 -2084;7;3,7;06/07/17 -2085;7;10,537;06/07/17 -2086;7;10,23;06/07/17 -2087;7;4,575;06/07/17 -2088;7;6,904;06/07/17 -2089;7;8,346;06/07/17 -2090;7;7,798;06/07/17 -2091;7;10,208;06/07/17 -2092;7;11,883;06/07/17 -2093;7;11,407;06/07/17 -2094;7;6,72;06/07/17 -2095;7;4,975;06/07/17 -2096;7;9,012;06/07/17 -2097;7;11,613;06/07/17 -2098;7;11,132;06/07/17 -2099;7;5,395;06/07/17 -2100;7;10,545;06/07/17 -2101;7;8,277;06/07/17 -2102;7;3,292;06/07/17 -2103;7;5,701;06/07/17 -2104;7;3,761;06/07/17 -2105;7;4,438;06/07/17 -2106;7;7,693;06/07/17 -2107;7;10,309;06/07/17 -2108;7;3,063;06/07/17 -2109;7;7,517;06/07/17 -2110;7;10,716;06/07/17 -2111;7;7,232;06/07/17 -2112;7;4,789;06/07/17 -2113;7;4,017;06/07/17 -2114;7;11,717;06/07/17 -2115;7;4,184;06/07/17 -2116;7;5,081;06/07/17 -2117;7;4,483;06/07/17 -2118;7;10,175;06/07/17 -2119;7;4,833;06/07/17 -2120;7;5,583;06/07/17 -2121;7;6,422;06/07/17 -2122;7;7,032;06/07/17 -2123;7;9,428;06/07/17 -2124;7;8,634;06/07/17 -2125;7;5,116;06/07/17 -2126;7;3,579;06/07/17 -2127;7;5,103;06/07/17 -2128;7;9,021;06/07/17 -2129;7;9,882;06/07/17 -2130;7;6,501;06/07/17 -2131;7;5,57;06/07/17 -2132;7;3,774;06/07/17 -2133;7;3,256;06/07/17 -2134;7;6,017;06/07/17 -2135;7;9,804;06/07/17 -2136;7;9,705;06/07/17 -2137;7;10,434;06/07/17 -2138;7;6,834;06/07/17 -2139;7;11,465;06/07/17 -2140;7;4,408;06/07/17 -2141;7;7,474;06/07/17 -2142;7;7,483;06/07/17 -2143;7;4,725;06/07/17 -2144;7;7,791;06/07/17 -2145;7;11,609;06/07/17 -2146;7;11,508;06/07/17 -2147;7;7,19;06/07/17 -2148;7;6,672;06/07/17 -2149;7;7,22;06/07/17 -2150;7;7,66;06/07/17 -2151;7;6,037;06/07/17 -2152;7;9,197;06/07/17 -2153;7;4,915;06/07/17 -2154;7;10,813;06/07/17 -2155;7;10,767;06/07/17 -2156;7;4,603;06/07/17 -2157;7;8,092;06/07/17 -2158;7;6,898;06/07/17 -2159;7;5,741;06/07/17 -2160;7;7,771;06/07/17 -2161;7;6,811;06/07/17 -2162;7;11,933;06/07/17 -2163;7;6,931;06/07/17 -2164;7;11,086;06/07/17 -2165;7;9,837;06/07/17 -2166;7;9,639;06/07/17 -2167;7;10,63;06/07/17 -2168;7;3,211;06/07/17 -2169;7;9,799;06/07/17 -2170;7;9,043;06/07/17 -2171;7;7,206;06/07/17 -2172;7;10,501;06/07/17 -2173;7;6,246;06/07/17 -2174;7;9,78;06/07/17 -2175;7;10,116;06/07/17 -2176;7;9,91;06/07/17 -2177;7;6,685;06/07/17 -2178;7;8,15;06/07/17 -2179;7;4,76;06/07/17 -2180;7;5,623;06/07/17 -2181;7;11,464;06/07/17 -2182;7;3,713;06/07/17 -2183;7;9,308;06/07/17 -2184;7;9,009;06/07/17 -2185;7;9,087;06/07/17 -2186;7;7,17;06/07/17 -2187;7;10,13;06/07/17 -2188;7;6,284;06/07/17 -2189;7;4,063;06/07/17 -2190;7;4,05;06/07/17 -2191;7;10,195;06/07/17 -2192;7;11,45;06/07/17 -2193;7;10,721;06/07/17 -2194;7;9,446;06/07/17 -2195;7;11,904;06/07/17 -2196;7;10,872;06/07/17 -2197;7;8,243;06/07/17 -2198;7;5,375;06/07/17 -2199;7;5,381;06/07/17 -2200;7;4,928;06/07/17 -2201;7;11,277;06/07/17 -2202;7;10,586;06/07/17 -2203;7;7,355;06/07/17 -2204;7;9,484;06/07/17 -2205;7;7,307;06/07/17 -2206;7;9,597;06/07/17 -2207;7;9,794;06/07/17 -2208;7;7,178;06/07/17 -2209;7;7,664;06/07/17 -2210;7;5,536;06/07/17 -2211;7;6,465;06/07/17 -2212;7;3,578;06/07/17 -2213;7;9,916;06/07/17 -2214;7;6,7;06/07/17 -2215;7;3,831;06/07/17 -2216;7;8,693;06/07/17 -2217;7;4,527;06/07/17 -2218;7;11,103;06/07/17 -2219;7;3,43;06/07/17 -2220;7;9,415;06/07/17 -2221;7;3,838;06/07/17 -2222;7;10,231;06/07/17 -2223;7;11,974;06/07/17 -2224;7;5,047;06/07/17 -2225;7;6,171;06/07/17 -2226;7;9,805;06/07/17 -2227;7;5,475;06/07/17 -2228;7;11,93;06/07/17 -2229;7;11,73;06/07/17 -2230;7;5,315;06/07/17 -2231;7;9,465;06/07/17 -2232;7;7,135;06/07/17 -2233;7;7,675;06/07/17 -2234;7;8,956;06/07/17 -2235;7;4,185;06/07/17 -2236;7;9,666;06/07/17 -2237;7;11,282;06/07/17 -2238;7;10,304;06/07/17 -2239;7;6,951;06/07/17 -2240;7;5,686;06/07/17 -2241;7;6,113;06/07/17 -2242;7;4,091;06/07/17 -2243;7;4,978;06/07/17 -2244;7;9,991;06/07/17 -2245;7;5,819;06/07/17 -2246;7;8,552;06/07/17 -2247;7;3,825;06/07/17 -2248;7;10,868;06/07/17 -2249;7;3,985;06/07/17 -2250;7;8,811;06/07/17 -2251;7;3,023;06/07/17 -2252;7;9,649;06/07/17 -2253;7;6,069;06/07/17 -2254;7;10,096;06/07/17 -2255;7;6,828;06/07/17 -2256;7;4,251;06/07/17 -2257;7;4,859;06/07/17 -2258;7;7,74;06/07/17 -2259;7;7,234;06/07/17 -2260;7;11,054;06/07/17 -2261;7;3,349;06/07/17 -2262;7;5,896;06/07/17 -2263;7;10,3;06/07/17 -2264;7;5,27;06/07/17 -2265;7;5,529;06/07/17 -2266;7;10,758;06/07/17 -2267;7;7,184;06/07/17 -2268;7;11,619;06/07/17 -2269;7;7,179;06/07/17 -2270;7;3,941;06/07/17 -2271;7;11,696;06/07/17 -2272;7;9,109;06/07/17 -2273;7;7,334;06/07/17 -2274;7;8,316;06/07/17 -2275;7;5,873;06/07/17 -2276;7;7,894;06/07/17 -2277;7;7,85;06/07/17 -2278;7;7,516;07/07/17 -2279;7;9,945;07/07/17 -2280;7;11,004;07/07/17 -2281;7;8,19;07/07/17 -2282;7;4,168;07/07/17 -2283;7;6,378;07/07/17 -2284;7;5,179;07/07/17 -2285;7;8,913;07/07/17 -2286;7;7,011;07/07/17 -2287;7;11,324;07/07/17 -2288;7;7,985;07/07/17 -2289;7;4,08;07/07/17 -2290;7;9,186;07/07/17 -2291;7;10,85;07/07/17 -2292;7;8,459;07/07/17 -2293;7;6,901;07/07/17 -2294;7;5,005;07/07/17 -2295;7;10,445;07/07/17 -2296;7;6,403;07/07/17 -2297;7;6,896;07/07/17 -2298;7;7,936;07/07/17 -2299;7;8,157;07/07/17 -2300;7;7,647;07/07/17 -2301;7;10,851;07/07/17 -2302;7;8,103;07/07/17 -2303;7;7,748;07/07/17 -2304;7;6,259;07/07/17 -2305;7;4,314;07/07/17 -2306;7;3,246;07/07/17 -2307;7;5,07;07/07/17 -2308;7;3,731;07/07/17 -2309;7;11,997;07/07/17 -2310;7;8,181;07/07/17 -2311;7;3,665;07/07/17 -2312;7;7,684;07/07/17 -2313;7;10,649;07/07/17 -2314;7;9,8;07/07/17 -2315;7;7,065;07/07/17 -2316;7;3,362;07/07/17 -2317;7;11,906;07/07/17 -2318;7;3,569;07/07/17 -2319;7;5,739;07/07/17 -2320;7;6,752;07/07/17 -2321;7;3,292;07/07/17 -2322;7;8,219;07/07/17 -2323;7;4,964;07/07/17 -2324;7;7,437;07/07/17 -2325;7;11,154;07/07/17 -2326;7;6,692;07/07/17 -2327;7;9,296;07/07/17 -2328;7;9,174;07/07/17 -2329;7;9,193;07/07/17 -2330;7;6,214;07/07/17 -2331;7;5,247;07/07/17 -2332;7;3,226;07/07/17 -2333;7;11,455;07/07/17 -2334;7;7,367;07/07/17 -2335;7;8,388;07/07/17 -2336;7;10,332;07/07/17 -2337;7;7,565;07/07/17 -2338;7;4,593;07/07/17 -2339;7;11,287;07/07/17 -2340;7;8,507;07/07/17 -2341;7;11,157;07/07/17 -2342;7;8,255;07/07/17 -2343;7;5,239;07/07/17 -2344;7;9,999;07/07/17 -2345;7;10,631;07/07/17 -2346;7;4,797;07/07/17 -2347;7;5,472;07/07/17 -2348;7;7,125;07/07/17 -2349;7;4,289;07/07/17 -2350;7;5,638;07/07/17 -2351;7;6,304;07/07/17 -2352;7;3,844;07/07/17 -2353;7;7,908;07/07/17 -2354;7;7,538;07/07/17 -2355;7;6,744;07/07/17 -2356;7;7,792;07/07/17 -2357;7;3,539;07/07/17 -2358;7;5,531;07/07/17 -2359;7;11,89;07/07/17 -2360;7;4,973;07/07/17 -2361;7;10,913;07/07/17 -2362;7;11,475;07/07/17 -2363;7;5,387;07/07/17 -2364;7;3,742;07/07/17 -2365;7;10,494;07/07/17 -2366;7;7,878;07/07/17 -2367;7;3,268;07/07/17 -2368;7;6,685;07/07/17 -2369;7;11,552;07/07/17 -2370;7;10,362;07/07/17 -2371;7;5,431;07/07/17 -2372;7;3,574;07/07/17 -2373;7;10,585;07/07/17 -2374;7;10,425;07/07/17 -2375;7;5,03;07/07/17 -2376;7;4,921;07/07/17 -2377;7;6,666;07/07/17 -2378;7;5,008;07/07/17 -2379;7;7,85;07/07/17 -2380;7;4,769;07/07/17 -2381;7;6,657;07/07/17 -2382;7;10,397;07/07/17 -2383;7;8,7;07/07/17 -2384;7;9,814;07/07/17 -2385;7;9,766;07/07/17 -2386;7;9,018;07/07/17 -2387;7;5,718;07/07/17 -2388;7;6,233;07/07/17 -2389;7;5,239;07/07/17 -2390;7;9,539;07/07/17 -2391;7;10,005;07/07/17 -2392;7;6,099;07/07/17 -2393;7;5,839;07/07/17 -2394;7;10,501;07/07/17 -2395;7;7,886;07/07/17 -2396;7;7,303;07/07/17 -2397;7;8,83;07/07/17 -2398;7;8,312;07/07/17 -2399;7;10,484;07/07/17 -2400;7;9,634;07/07/17 -2401;7;3,973;07/07/17 -2402;7;4,593;07/07/17 -2403;7;4,959;07/07/17 -2404;7;7,486;07/07/17 -2405;7;10,454;07/07/17 -2406;7;5,224;07/07/17 -2407;7;6,898;07/07/17 -2408;7;6,12;07/07/17 -2409;7;3,111;07/07/17 -2410;7;5,475;07/07/17 -2411;7;10,758;07/07/17 -2412;7;9,404;07/07/17 -2413;7;8,66;07/07/17 -2414;7;7,792;07/07/17 -2415;7;5,17;07/07/17 -2416;7;7,985;07/07/17 -2417;7;6,689;07/07/17 -2418;7;9,747;07/07/17 -2419;7;3,532;07/07/17 -2420;7;3,344;07/07/17 -2421;7;7,749;07/07/17 -2422;7;11,812;07/07/17 -2423;7;5,926;07/07/17 -2424;7;10,822;07/07/17 -2425;7;7,534;07/07/17 -2426;7;7,205;07/07/17 -2427;7;3,637;07/07/17 -2428;7;11,113;07/07/17 -2429;7;5,015;07/07/17 -2430;7;11,196;07/07/17 -2431;7;11,326;07/07/17 -2432;7;4,912;07/07/17 -2433;7;11,632;07/07/17 -2434;7;9,188;07/07/17 -2435;7;8,601;07/07/17 -2436;7;8,867;07/07/17 -2437;7;6,597;07/07/17 -2438;7;4,063;07/07/17 -2439;7;3,429;07/07/17 -2440;7;9,902;07/07/17 -2441;7;9,709;07/07/17 -2442;7;8,021;07/07/17 -2443;7;5,708;07/07/17 -2444;7;7,779;07/07/17 -2445;7;10,338;07/07/17 -2446;7;4,378;07/07/17 -2447;7;11,226;07/07/17 -2448;7;9,978;07/07/17 -2449;7;9,983;07/07/17 -2450;7;4,582;07/07/17 -2451;7;8,447;07/07/17 -2452;7;4,031;07/07/17 -2453;7;3,885;07/07/17 -2454;7;6,293;07/07/17 -2455;7;9,818;07/07/17 -2456;7;4,393;07/07/17 -2457;7;5,68;07/07/17 -2458;7;4,925;07/07/17 -2459;7;5,093;07/07/17 -2460;7;9,327;07/07/17 -2461;7;3,322;07/07/17 -2462;7;9,995;07/07/17 -2463;7;8,904;07/07/17 -2464;7;5,054;07/07/17 -2465;7;9,158;07/07/17 -2466;7;4,523;07/07/17 -2467;7;7,771;07/07/17 -2468;7;5,276;07/07/17 -2469;7;6,923;07/07/17 -2470;7;4,157;07/07/17 -2471;7;9,173;07/07/17 -2472;7;8,057;07/07/17 -2473;7;5,125;07/07/17 -2474;7;10,62;07/07/17 -2475;7;9,179;07/07/17 -2476;7;10,132;07/07/17 -2477;7;7,461;07/07/17 -2478;7;7,08;07/07/17 -2479;7;5,136;07/07/17 -2480;7;11,765;07/07/17 -2481;7;6,178;07/07/17 -2482;7;5,603;07/07/17 -2483;7;6,567;07/07/17 -2484;7;4,708;07/07/17 -2485;7;6,344;07/07/17 -2486;7;9,218;07/07/17 -2487;7;3,738;07/07/17 -2488;7;4,056;07/07/17 -2489;7;10,455;07/07/17 -2490;7;11,149;07/07/17 -2491;7;6,329;07/07/17 -2492;7;3,776;07/07/17 -2493;7;7,039;07/07/17 -2494;7;6,178;07/07/17 -2495;7;11,818;07/07/17 -2496;7;6,013;07/07/17 -2497;7;10,098;07/07/17 -2498;7;11,609;07/07/17 -2499;7;10,008;07/07/17 -2500;7;5,389;07/07/17 -2501;7;9,936;07/07/17 -2502;7;11,883;07/07/17 -2503;7;11,349;07/07/17 -2504;7;8,584;07/07/17 -2505;7;3,14;07/07/17 -2506;7;9,289;07/07/17 -2507;7;7,774;07/07/17 -2508;7;3,237;07/07/17 -2509;7;10,148;07/07/17 -2510;7;10,386;07/07/17 -2511;7;6,816;07/07/17 -2512;7;6,288;07/07/17 -2513;7;11,548;07/07/17 -2514;7;7,921;07/07/17 -2515;7;9,156;07/07/17 -2516;7;8,895;07/07/17 -2517;7;8,301;07/07/17 -2518;7;7,742;07/07/17 -2519;7;10,087;07/07/17 -2520;7;4,398;07/07/17 -2521;7;6,243;07/07/17 -2522;7;6,771;07/07/17 -2523;7;5,832;07/07/17 -2524;7;6,487;08/07/17 -2525;7;11,485;08/07/17 -2526;7;11,328;08/07/17 -2527;7;3,007;08/07/17 -2528;7;3,046;08/07/17 -2529;7;8,12;08/07/17 -2530;7;5,915;08/07/17 -2531;7;10,486;08/07/17 -2532;7;9,214;08/07/17 -2533;7;9,83;08/07/17 -2534;7;11,499;08/07/17 -2535;7;9,378;08/07/17 -2536;7;4,409;08/07/17 -2537;7;7,784;08/07/17 -2538;7;4,496;08/07/17 -2539;7;8,001;08/07/17 -2540;7;10,516;08/07/17 -2541;7;10,037;08/07/17 -2542;7;4,012;08/07/17 -2543;7;3,537;08/07/17 -2544;7;5,997;08/07/17 -2545;7;10,951;08/07/17 -2546;7;11,149;08/07/17 -2547;7;10,041;08/07/17 -2548;7;5,401;08/07/17 -2549;7;8,233;08/07/17 -2550;7;9,298;08/07/17 -2551;7;10,814;08/07/17 -2552;7;3,39;08/07/17 -2553;7;7,292;08/07/17 -2554;7;6,257;08/07/17 -2555;7;7,21;08/07/17 -2556;7;7,72;08/07/17 -2557;7;3,956;08/07/17 -2558;7;3,715;08/07/17 -2559;7;3,508;08/07/17 -2560;7;11,938;08/07/17 -2561;7;9,777;08/07/17 -2562;7;5,618;08/07/17 -2563;7;11,218;08/07/17 -2564;7;9,542;08/07/17 -2565;7;8,644;08/07/17 -2566;7;8,432;08/07/17 -2567;7;5,691;08/07/17 -2568;7;11,009;08/07/17 -2569;7;11,53;08/07/17 -2570;7;6,771;08/07/17 -2571;7;4,901;08/07/17 -2572;7;8,979;08/07/17 -2573;7;4,145;08/07/17 -2574;7;8,507;08/07/17 -2575;7;8,091;08/07/17 -2576;7;3,517;08/07/17 -2577;7;10,93;08/07/17 -2578;7;9,837;08/07/17 -2579;7;9,509;08/07/17 -2580;7;9,61;08/07/17 -2581;7;6,728;08/07/17 -2582;7;7,424;08/07/17 -2583;7;5,744;08/07/17 -2584;7;10,386;08/07/17 -2585;7;9,189;08/07/17 -2586;7;5,924;08/07/17 -2587;7;11,696;08/07/17 -2588;7;3,364;08/07/17 -2589;7;11,298;08/07/17 -2590;7;7,206;08/07/17 -2591;7;6,962;08/07/17 -2592;7;7,441;08/07/17 -2593;7;5,693;08/07/17 -2594;7;8,506;08/07/17 -2595;7;9,513;08/07/17 -2596;7;4,593;08/07/17 -2597;7;11,797;08/07/17 -2598;7;9,771;08/07/17 -2599;7;9,284;08/07/17 -2603;7;3,328;08/07/17 -2604;7;4,235;08/07/17 -2605;7;3,719;08/07/17 -2606;7;4,676;08/07/17 -2607;7;5,599;08/07/17 -2608;7;10,705;08/07/17 -2609;7;10,056;08/07/17 -2610;7;11,989;08/07/17 -2611;7;5,438;08/07/17 -2612;7;5,255;08/07/17 -2613;7;6,12;08/07/17 -2614;7;6,458;08/07/17 -2615;7;4,704;08/07/17 -2616;7;8,965;08/07/17 -2617;7;4,302;08/07/17 -2618;7;7,997;08/07/17 -2619;7;3,647;08/07/17 -2620;7;10,634;08/07/17 -2621;7;8,523;08/07/17 -2622;7;3,791;08/07/17 -2623;7;7,279;08/07/17 -2624;7;5,249;08/07/17 -2625;7;5,37;08/07/17 -2626;7;11,691;08/07/17 -2627;7;7,008;08/07/17 -2628;7;9,133;08/07/17 -2629;7;9,436;08/07/17 -2630;7;11,839;08/07/17 -2631;7;6,208;08/07/17 -2632;7;5,619;08/07/17 -2633;7;5,61;08/07/17 -2634;7;5,506;08/07/17 -2635;7;6,663;08/07/17 -2636;7;3,436;08/07/17 -2637;7;8,678;08/07/17 -2638;7;6,706;08/07/17 -2639;7;10,026;08/07/17 -2640;7;5,271;08/07/17 -2641;7;9,701;08/07/17 -2642;7;3,479;08/07/17 -2643;7;11,911;08/07/17 -2644;7;3,271;08/07/17 -2645;7;11,566;08/07/17 -2646;7;5,736;08/07/17 -2647;7;7,849;08/07/17 -2648;7;11,107;08/07/17 -2649;7;8,987;08/07/17 -2650;7;4,237;08/07/17 -2651;7;7,117;08/07/17 -2652;7;8,172;08/07/17 -2653;7;7,08;08/07/17 -2654;7;11,788;08/07/17 -2655;7;6,029;08/07/17 -2656;7;4,558;08/07/17 -2657;7;4,863;08/07/17 -2658;7;6,65;08/07/17 -2659;7;9,245;08/07/17 -2660;7;9,011;08/07/17 -2661;7;7,78;08/07/17 -2662;7;5,735;08/07/17 -2663;7;4,898;08/07/17 -2664;7;4,508;08/07/17 -2665;7;10,089;08/07/17 -2666;7;8,398;08/07/17 -2667;7;4,939;08/07/17 -2668;7;9,053;08/07/17 -2669;7;7,042;08/07/17 -2670;7;9,107;08/07/17 -2671;7;7,806;08/07/17 -2672;7;3,022;08/07/17 -2673;7;10,029;08/07/17 -2674;7;10,633;08/07/17 -2675;7;6,667;08/07/17 -2676;7;7,054;08/07/17 -2677;7;9,616;08/07/17 -2678;7;11,383;08/07/17 -2679;7;11,829;08/07/17 -2680;7;8,034;08/07/17 -2681;7;6,305;08/07/17 -2682;7;9,864;08/07/17 -2683;7;7,439;08/07/17 -2684;7;8,206;08/07/17 -2685;7;8,55;08/07/17 -2686;7;8,81;08/07/17 -2687;7;11,555;08/07/17 -2688;7;4,809;08/07/17 -2689;7;7,955;08/07/17 -2690;7;8,287;08/07/17 -2691;7;4,046;08/07/17 -2692;7;8,366;08/07/17 -2693;7;4,23;08/07/17 -2694;7;3,986;08/07/17 -2695;7;9,504;08/07/17 -2696;7;7,912;08/07/17 -2697;7;10,286;08/07/17 -2698;7;3,567;08/07/17 -2699;7;5,151;08/07/17 -2700;7;4,603;08/07/17 -2701;7;5,224;08/07/17 -2702;7;11,806;08/07/17 -2703;7;4,732;08/07/17 -2704;7;3,136;08/07/17 -2705;7;9,128;08/07/17 -2706;7;6,52;08/07/17 -2707;7;11,072;08/07/17 -2708;7;3,059;08/07/17 -2709;7;9,831;08/07/17 -2710;7;5,897;08/07/17 -2711;7;7,228;08/07/17 -2712;7;5,419;08/07/17 -2713;7;5,539;08/07/17 -2714;7;8,469;08/07/17 -2715;7;6,763;08/07/17 -2716;7;3,617;08/07/17 -2717;7;5,41;08/07/17 -2718;7;9,005;08/07/17 -2719;7;7,542;08/07/17 -2720;7;10,136;08/07/17 -2721;7;3,364;08/07/17 -2722;7;10,599;08/07/17 -2723;7;10,83;08/07/17 -2724;7;8,182;08/07/17 -2725;7;11,468;08/07/17 -2726;7;6,001;08/07/17 -2727;7;8,351;08/07/17 -2728;7;11,903;08/07/17 -2729;7;8,66;08/07/17 -2730;7;11,891;08/07/17 -2731;7;4,645;08/07/17 -2732;7;9,978;08/07/17 -2733;7;8,039;08/07/17 -2734;7;10,898;08/07/17 -2735;7;8,734;08/07/17 -2736;7;10,841;08/07/17 -2737;7;6,148;08/07/17 -2738;7;10,939;08/07/17 -2739;7;4,039;08/07/17 -2740;7;8,033;08/07/17 -2741;7;7,725;08/07/17 -2742;7;6,62;08/07/17 -2743;7;11,28;08/07/17 -2744;7;11,076;08/07/17 -2745;7;7,004;08/07/17 -2746;7;7,296;08/07/17 -2747;7;6,489;08/07/17 -2748;7;5,036;08/07/17 -2749;7;6,011;08/07/17 -2750;7;3,613;08/07/17 -2751;7;7,179;08/07/17 -2752;7;10,3;08/07/17 -2753;7;8,399;08/07/17 -2754;7;11,702;08/07/17 -2755;7;5,077;08/07/17 -2756;7;11,245;08/07/17 -2757;7;9,572;08/07/17 -2758;7;11,377;08/07/17 -2759;7;4,295;08/07/17 -2760;7;7,877;08/07/17 -2761;7;6,071;08/07/17 -2762;7;3,16;08/07/17 -2763;7;9,452;08/07/17 -2764;7;3,698;08/07/17 -2765;7;4,857;08/07/17 -2766;7;7,903;08/07/17 -2767;7;7,297;08/07/17 -2768;7;8,981;08/07/17 -2769;7;5,81;08/07/17 -2770;7;11,321;08/07/17 -2771;7;3,935;08/07/17 -2772;7;6,038;08/07/17 -2773;7;8,102;09/07/17 -2774;7;6,229;09/07/17 -2775;7;6,217;09/07/17 -2776;7;9,885;09/07/17 -2777;7;11,114;09/07/17 -2778;7;7,3;09/07/17 -2779;7;9,337;09/07/17 -2780;7;4,119;09/07/17 -2781;7;5,653;09/07/17 -2782;7;4,889;09/07/17 -2783;7;11,534;09/07/17 -2784;7;8,745;09/07/17 -2785;7;10,496;09/07/17 -2786;7;4,513;09/07/17 -2787;7;10,707;09/07/17 -2788;7;7,765;09/07/17 -2789;7;3,395;09/07/17 -2790;7;3,187;09/07/17 -2791;7;6,572;09/07/17 -2792;7;7,007;09/07/17 -2793;7;3,551;09/07/17 -2794;7;4,093;09/07/17 -2795;7;5,531;09/07/17 -2796;7;5,43;09/07/17 -2797;7;8,563;09/07/17 -2798;7;5,974;09/07/17 -2799;7;6,961;09/07/17 -2800;7;6,37;09/07/17 -2801;7;10,499;09/07/17 -2802;7;7,277;09/07/17 -2803;7;3,101;09/07/17 -2804;7;3,868;09/07/17 -2805;7;9,55;09/07/17 -2806;7;5,39;09/07/17 -2807;7;7,478;09/07/17 -2808;7;7,439;09/07/17 -2809;7;4,174;09/07/17 -2810;7;9,727;09/07/17 -2811;7;8,594;09/07/17 -2812;7;9,367;09/07/17 -2813;7;5,445;09/07/17 -2814;7;3,482;09/07/17 -2815;7;6,985;09/07/17 -2816;7;3,688;09/07/17 -2817;7;6,668;09/07/17 -2818;7;3,742;09/07/17 -2819;7;10,94;09/07/17 -2820;7;10,311;09/07/17 -2821;7;9,349;09/07/17 -2822;7;8,98;09/07/17 -2823;7;5,848;09/07/17 -2824;7;4,329;09/07/17 -2825;7;7,738;09/07/17 -2826;7;10,773;09/07/17 -2827;7;11,009;09/07/17 -2828;7;4,9;09/07/17 -2829;7;9,995;09/07/17 -2830;7;10,839;09/07/17 -2831;7;6,237;09/07/17 -2832;7;10,421;09/07/17 -2833;7;6,056;09/07/17 -2834;7;11,032;09/07/17 -2835;7;11,446;09/07/17 -2836;7;7,968;09/07/17 -2837;7;6,959;09/07/17 -2838;7;8,243;09/07/17 -2839;7;7,921;09/07/17 -2840;7;5,698;09/07/17 -2841;7;7,234;09/07/17 -2842;7;4,154;09/07/17 -2843;7;10,933;09/07/17 -2844;7;3,783;09/07/17 -2845;7;11,822;09/07/17 -2846;7;7,65;09/07/17 -2847;7;3,773;09/07/17 -2848;7;9,395;09/07/17 -2849;7;6,712;09/07/17 -2850;7;5,325;09/07/17 -2851;7;10,915;09/07/17 -2852;7;9,2;09/07/17 -2853;7;6,996;09/07/17 -2854;7;4,825;09/07/17 -2855;7;10,232;09/07/17 -2856;7;6,527;09/07/17 -2857;7;6,798;09/07/17 -2858;7;3,374;09/07/17 -2859;7;4,599;09/07/17 -2860;7;9,92;09/07/17 -2861;7;10,062;09/07/17 -2862;7;6,409;09/07/17 -2863;7;11,087;09/07/17 -2864;7;7,206;09/07/17 -2865;7;7,837;09/07/17 -2866;7;6,377;09/07/17 -2867;7;11,413;09/07/17 -2868;7;11,994;09/07/17 -2869;7;7,765;09/07/17 -2870;7;5,848;09/07/17 -2871;7;9,665;09/07/17 -2872;7;9,002;09/07/17 -2873;7;7,065;09/07/17 -2874;7;7,881;09/07/17 -2875;7;8,493;09/07/17 -2876;7;7,16;09/07/17 -2877;7;4,517;09/07/17 -2878;7;5,166;09/07/17 -2879;7;5,081;09/07/17 -2880;7;5,379;09/07/17 -2881;7;4,468;09/07/17 -2882;7;5,886;09/07/17 -2883;7;11,687;09/07/17 -2884;7;7,945;09/07/17 -2885;7;7,544;09/07/17 -2886;7;10,169;09/07/17 -2887;7;6,76;09/07/17 -2888;7;5,188;09/07/17 -2889;7;6,359;09/07/17 -2890;7;11,504;09/07/17 -2891;7;9,811;09/07/17 -2892;7;7,182;09/07/17 -2893;7;7,797;09/07/17 -2894;7;10,565;09/07/17 -2895;7;10,349;09/07/17 -2896;7;9,826;09/07/17 -2897;7;10,169;09/07/17 -2898;7;8,595;09/07/17 -2899;7;6,466;09/07/17 -2900;7;4,728;09/07/17 -2901;7;10,329;09/07/17 -2902;7;6,002;09/07/17 -2903;7;6,068;09/07/17 -2904;7;11,828;09/07/17 -2905;7;8,952;09/07/17 -2906;7;6,589;09/07/17 -2907;7;8,2;09/07/17 -2908;7;11,009;09/07/17 -2909;7;8,813;09/07/17 -2910;7;8,074;09/07/17 -2911;7;7,839;09/07/17 -2912;7;8,105;09/07/17 -2913;7;7,954;09/07/17 -2914;7;4,33;09/07/17 -2915;7;4,196;09/07/17 -2916;7;7,66;09/07/17 -2917;7;4,089;09/07/17 -2918;7;4,049;09/07/17 -2919;7;5,33;09/07/17 -2920;7;6,319;09/07/17 -2921;7;7,288;09/07/17 -2922;7;9,714;09/07/17 -2923;7;10,385;09/07/17 -2924;7;11,056;09/07/17 -2925;7;5,291;09/07/17 -2926;7;4,251;09/07/17 -2927;7;8,526;09/07/17 -2928;7;5,095;09/07/17 -2929;7;3,432;09/07/17 -2930;7;6,782;09/07/17 -2931;7;6,723;09/07/17 -2932;7;4,374;09/07/17 -2933;7;7,742;09/07/17 -2934;7;10,338;09/07/17 -2935;7;11,08;09/07/17 -2936;7;4,824;09/07/17 -2937;7;10,744;09/07/17 -2938;7;7,32;09/07/17 -2939;7;8,992;09/07/17 -2940;7;10,674;09/07/17 -2941;7;9,341;09/07/17 -2942;7;3,055;09/07/17 -2943;7;4,902;09/07/17 -2944;7;7,025;09/07/17 -2945;7;9,856;09/07/17 -2946;7;6,019;09/07/17 -2947;7;5,699;09/07/17 -2948;7;7,706;09/07/17 -2949;7;4,35;09/07/17 -2950;7;5,34;09/07/17 -2951;7;3,011;09/07/17 -2952;7;3,479;09/07/17 -2953;7;4,911;09/07/17 -2954;7;4,807;09/07/17 -2955;7;4,831;09/07/17 -2956;7;10,891;09/07/17 -2957;7;8,904;09/07/17 -2958;7;10,075;09/07/17 -2959;7;8,961;09/07/17 -2960;7;9,365;09/07/17 -2961;7;9,347;09/07/17 -2962;7;3,965;09/07/17 -2963;7;7,374;09/07/17 -2964;7;6,731;09/07/17 -2965;7;7,109;09/07/17 -2966;7;10,292;09/07/17 -2967;7;8,283;09/07/17 -2968;7;9,673;09/07/17 -2969;7;4,472;09/07/17 -2970;7;3,976;09/07/17 -2971;7;10,775;09/07/17 -2972;7;10,077;09/07/17 -2973;7;7,136;09/07/17 -2974;7;5,661;09/07/17 -2975;7;3,075;09/07/17 -2976;7;3,96;09/07/17 -2977;7;6,467;09/07/17 -2978;7;3,061;09/07/17 -2979;7;3,149;09/07/17 -2980;7;3,892;09/07/17 -2981;7;11,351;09/07/17 -2982;7;9,677;09/07/17 -2983;7;5,847;09/07/17 -2984;7;6,718;09/07/17 -2985;7;3,011;09/07/17 -2986;7;7,37;09/07/17 -2987;7;11,828;09/07/17 -2988;7;9,776;09/07/17 -2989;7;7,04;09/07/17 -2990;7;7,206;09/07/17 -2991;7;9,719;09/07/17 -2992;7;5,423;09/07/17 -2993;7;5,764;09/07/17 -2994;7;3,228;09/07/17 -2995;7;7,059;09/07/17 -2996;7;6,134;09/07/17 -2997;7;3,13;09/07/17 -2998;7;11,954;09/07/17 -2999;7;7,351;09/07/17 -3000;7;3,803;09/07/17 -3001;7;5,944;09/07/17 -3002;7;11,074;09/07/17 -3003;7;7,886;09/07/17 -3004;7;6,241;09/07/17 -3005;7;5,602;09/07/17 -3006;7;5,734;09/07/17 -3007;7;11,411;09/07/17 -3008;7;8,448;09/07/17 -3009;7;4,936;09/07/17 -3010;7;6,582;09/07/17 -3011;7;11,44;09/07/17 -3012;7;8,692;09/07/17 -3013;7;3,661;09/07/17 -3014;7;4,257;09/07/17 -3015;7;7,364;09/07/17 -3016;7;11,192;09/07/17 -3017;7;6,71;09/07/17 -3018;7;3,464;09/07/17 -3019;7;11,639;10/07/17 -3020;7;9,564;10/07/17 -3021;7;5,65;10/07/17 -3022;7;4,112;10/07/17 -3023;7;9,348;10/07/17 -3024;7;3,617;10/07/17 -3025;7;11,689;10/07/17 -3026;7;11,412;10/07/17 -3027;7;8,347;10/07/17 -3028;7;4,914;10/07/17 -3029;7;8,688;10/07/17 -3030;7;7,011;10/07/17 -3031;7;4,031;10/07/17 -3032;7;9,788;10/07/17 -3033;7;8,271;10/07/17 -3034;7;3,521;10/07/17 -3035;7;9,719;10/07/17 -3036;7;3,436;10/07/17 -3037;7;6,097;10/07/17 -3038;7;4,384;10/07/17 -3039;7;6,127;10/07/17 -3040;7;11,075;10/07/17 -3041;7;5,579;10/07/17 -3042;7;11,387;10/07/17 -3043;7;10,779;10/07/17 -3044;7;7,21;10/07/17 -3045;7;3,323;10/07/17 -3046;7;10,635;10/07/17 -3047;7;9,668;10/07/17 -3048;7;5,959;10/07/17 -3049;7;3,192;10/07/17 -3050;7;7,766;10/07/17 -3051;7;5,931;10/07/17 -3052;7;8,199;10/07/17 -3053;7;9,481;10/07/17 -3054;7;10,841;10/07/17 -3055;7;6,733;10/07/17 -3056;7;5,051;10/07/17 -3057;7;11,92;10/07/17 -3058;7;5,033;10/07/17 -3059;7;6,732;10/07/17 -3060;7;7,396;10/07/17 -3061;7;6,02;10/07/17 -3062;7;6,376;10/07/17 -3063;7;8,209;10/07/17 -3064;7;8,048;10/07/17 -3065;7;10,005;10/07/17 -3066;7;6,376;10/07/17 -3067;7;11,21;10/07/17 -3068;7;10,265;10/07/17 -3069;7;7,944;10/07/17 -3070;7;11,58;10/07/17 -3071;7;6,368;10/07/17 -3072;7;10,335;10/07/17 -3073;7;9,968;10/07/17 -3074;7;7,393;10/07/17 -3075;7;7,701;10/07/17 -3076;7;3,067;10/07/17 -3077;7;5,318;10/07/17 -3078;7;9,687;10/07/17 -3079;7;4,405;10/07/17 -3080;7;11,757;10/07/17 -3081;7;6,884;10/07/17 -3082;7;3,157;10/07/17 -3083;7;6,084;10/07/17 -3084;7;6,943;10/07/17 -3085;7;4,713;10/07/17 -3086;7;11,638;10/07/17 -3087;7;3,373;10/07/17 -3088;7;8,22;10/07/17 -3089;7;8,054;10/07/17 -3090;7;11,262;10/07/17 -3091;7;4,755;10/07/17 -3092;7;10,385;10/07/17 -3093;7;10,836;10/07/17 -3094;7;7,918;10/07/17 -3095;7;3,724;10/07/17 -3096;7;8,367;10/07/17 -3097;7;7,463;10/07/17 -3098;7;8,811;10/07/17 -3099;7;8,837;10/07/17 -3100;7;3,748;10/07/17 -3101;7;9,759;10/07/17 -3102;7;7,264;10/07/17 -3103;7;11,402;10/07/17 -3104;7;5,86;10/07/17 -3105;7;10,151;10/07/17 -3106;7;10,62;10/07/17 -3107;7;9,842;10/07/17 -3108;7;11,582;10/07/17 -3109;7;6,873;10/07/17 -3110;7;5,904;10/07/17 -3111;7;5,082;10/07/17 -3112;7;3,273;10/07/17 -3113;7;8,364;10/07/17 -3114;7;11,86;10/07/17 -3115;7;5,348;10/07/17 -3116;7;8,357;10/07/17 -3117;7;10,829;10/07/17 -3118;7;10,502;10/07/17 -3119;7;11,068;10/07/17 -3120;7;3,41;10/07/17 -3121;7;9,466;10/07/17 -3122;7;5,264;10/07/17 -3123;7;10,728;10/07/17 -3124;7;5,124;10/07/17 -3125;7;4,639;10/07/17 -3126;7;4,365;10/07/17 -3127;7;4,038;10/07/17 -3128;7;5,941;10/07/17 -3129;7;6,816;10/07/17 -3130;7;4,358;10/07/17 -3131;7;7,17;10/07/17 -3132;7;11,767;10/07/17 -3133;7;11,225;10/07/17 -3134;7;3,296;10/07/17 -3135;7;11,26;10/07/17 -3136;7;6,54;10/07/17 -3137;7;6,905;10/07/17 -3138;7;6,419;10/07/17 -3139;7;4,15;10/07/17 -3140;7;7,084;10/07/17 -3141;7;5,565;10/07/17 -3142;7;11,503;10/07/17 -3143;7;4,484;10/07/17 -3144;7;5,425;10/07/17 -3145;7;8,129;10/07/17 -3146;7;8,687;10/07/17 -3147;7;6,856;10/07/17 -3148;7;5,753;10/07/17 -3149;7;9,893;10/07/17 -3150;7;6,249;10/07/17 -3151;7;9,144;10/07/17 -3152;7;6,861;10/07/17 -3153;7;3,083;10/07/17 -3154;7;5,851;10/07/17 -3155;7;4,807;10/07/17 -3156;7;4,527;10/07/17 -3157;7;8,754;10/07/17 -3158;7;4,203;10/07/17 -3159;7;6,295;10/07/17 -3160;7;6,087;10/07/17 -3161;7;5,642;10/07/17 -3162;7;9,709;10/07/17 -3163;7;7,187;10/07/17 -3164;7;5,886;10/07/17 -3165;7;8,835;10/07/17 -3166;7;7,054;10/07/17 -3167;7;5,87;10/07/17 -3168;7;7,464;10/07/17 -3169;7;5,805;10/07/17 -3170;7;6,982;10/07/17 -3171;7;11,435;10/07/17 -3172;7;8,371;10/07/17 -3173;7;10,67;10/07/17 -3174;7;8,746;10/07/17 -3175;7;3,34;10/07/17 -3176;7;4,495;10/07/17 -3177;7;10,551;10/07/17 -3178;7;8,754;10/07/17 -3179;7;8,984;10/07/17 -3180;7;4,046;10/07/17 -3181;7;9,343;10/07/17 -3182;7;5,665;10/07/17 -3183;7;7,707;10/07/17 -3184;7;8,207;10/07/17 -3185;7;7,908;10/07/17 -3186;7;10,843;10/07/17 -3187;7;10,442;10/07/17 -3188;7;11,638;10/07/17 -3189;7;10,237;10/07/17 -3190;7;9,471;10/07/17 -3191;7;9,401;10/07/17 -3192;7;7,943;10/07/17 -3193;7;10,206;10/07/17 -3194;7;9,859;10/07/17 -3195;7;9,616;10/07/17 -3196;7;5,389;10/07/17 -3197;7;6,003;10/07/17 -3198;7;7,095;10/07/17 -3199;7;4,5;10/07/17 -3200;7;11,619;10/07/17 -3201;7;4,267;10/07/17 -3202;7;6,876;10/07/17 diff --git a/resources/example/csv/ext_rtc_scada_cum_values.csv b/resources/example/csv/ext_rtc_scada_cum_values.csv deleted file mode 100644 index c6bd0188d..000000000 --- a/resources/example/csv/ext_rtc_scada_cum_values.csv +++ /dev/null @@ -1,93 +0,0 @@ -node_id;value_date;value -1080;01/05/2015;300,98 -1080;06/05/2015;1805,88 -1080;09/05/2015;2892,64 -1080;17/05/2015;5517,63 -1080;18/05/2015;5833,76 -1080;19/05/2015;6183,22 -1080;24/05/2015;7731,55 -1080;25/05/2015;8082,02 -1080;04/06/2015;11149,34 -1080;05/06/2015;11476,53 -1080;13/06/2015;14139,15 -1080;14/06/2015;14403,97 -1080;15/06/2015;14688,94 -1080;22/06/2015;16862,22 -1080;23/06/2015;17195,17 -1080;24/06/2015;17529,08 -1080;25/06/2015;17862,03 -1080;29/06/2015;19185,33 -1080;02/07/2015;20190,94 -1080;03/07/2015;20418,19 -1080;07/07/2015;21587,77 -1080;08/07/2015;21936,22 -1080;13/07/2015;23710,79 -1080;18/07/2015;25395,47 -1080;23/07/2015;27086,21 -1080;27/07/2015;28387,09 -1097;01/05/2015;306,03 -1097;03/05/2015;918,09 -1097;09/05/2015;2811,39 -1097;30/05/2015;9823,48 -1097;31/05/2015;10176,43 -1097;02/06/2015;10834,39 -1097;03/06/2015;11164,9 -1097;05/06/2015;11871,83 -1097;06/06/2015;12219,68 -1097;08/06/2015;12954,15 -1097;09/06/2015;13317,31 -1097;10/06/2015;13669,24 -1097;13/06/2015;14702,59 -1097;14/06/2015;14984,14 -1097;15/06/2015;15287,11 -1097;20/06/2015;16994,74 -1097;26/06/2015;19013,49 -1097;30/06/2015;20431,41 -1097;04/07/2015;21772,83 -1097;13/07/2015;24971,85 -1097;19/07/2015;26978,39 -1097;30/07/2015;30737,41 -1097;31/07/2015;31077,1 -1101;01/05/2015;12,12 -1101;03/05/2015;36,36 -1101;06/05/2015;72,72 -1101;07/05/2015;84,84 -1101;18/05/2015;218,16 -1101;24/05/2015;290,88 -1101;31/05/2015;375,72 -1101;06/06/2015;456,823 -1101;20/06/2015;717,504 -1101;25/06/2015;811,737 -1101;02/07/2015;910,818 -1101;08/07/2015;999,496 -1101;14/07/2015;1099,486 -1101;22/07/2015;1267,348 -1101;28/07/2015;1366,631 -1101;31/07/2015;1411,68811 -111111;01/05/2015;334,512 -111111;13/05/2015;4638,21795 -111111;29/05/2015;9832,5621 -111111;11/06/2015;14393,42415 -111111;23/06/2015;18420,11235 -111111;09/07/2015;24169,53735 -111111;19/07/2015;27670,4145 -111111;31/07/2015;31870,6308 -113766;01/05/2015;303 -113766;14/05/2015;4534,9 -113766;23/05/2015;7472,99 -113766;04/06/2015;11409,97 -113766;13/06/2015;14557,13 -113766;21/06/2015;17075,06 -113766;11/07/2015;24036,99 -113766;19/07/2015;26711,47 -113766;28/07/2015;29752,58 -113952;06/05/2015;2026,06 -113952;16/05/2015;5409,56 -113952;24/05/2015;7948,7 -113952;02/06/2015;10750,44 -113952;07/06/2015;12470,47 -113952;08/06/2015;12849,22 -113952;15/06/2015;15159,09 -113952;24/06/2015;18148,69 -113952;04/07/2015;21378,67 -113952;31/07/2015;30491,9 diff --git a/resources/example/csv/ext_rtc_scada_daily_values.csv b/resources/example/csv/ext_rtc_scada_daily_values.csv deleted file mode 100644 index 3e4f90b7f..000000000 --- a/resources/example/csv/ext_rtc_scada_daily_values.csv +++ /dev/null @@ -1,553 +0,0 @@ -node_id;value_date;value -1080;01/05/2015;300,98 -1080;02/05/2015;300,98 -1080;03/05/2015;300,98 -1080;04/05/2015;300,98 -1080;05/05/2015;300,98 -1080;06/05/2015;300,98 -1080;07/05/2015;348,45 -1080;08/05/2015;378,75 -1080;09/05/2015;359,56 -1080;10/05/2015;348,45 -1080;11/05/2015;349,46 -1080;12/05/2015;348,45 -1080;13/05/2015;325,22 -1080;14/05/2015;278,76 -1080;15/05/2015;299,97 -1080;16/05/2015;349,46 -1080;17/05/2015;325,22 -1080;18/05/2015;316,13 -1080;19/05/2015;349,46 -1080;20/05/2015;350,47 -1080;21/05/2015;248,46 -1080;22/05/2015;348,45 -1080;23/05/2015;249,47 -1080;24/05/2015;351,48 -1080;25/05/2015;350,47 -1080;26/05/2015;349,46 -1080;27/05/2015;351,48 -1080;28/05/2015;249,47 -1080;29/05/2015;250,48 -1080;30/05/2015;249,47 -1080;31/05/2015;349,46 -1080;01/06/2015;307,04 -1080;02/06/2015;311,84 -1080;03/06/2015;310,88 -1080;04/06/2015;337,74 -1080;05/06/2015;327,19 -1080;06/06/2015;327,19 -1080;07/06/2015;331,03 -1080;08/06/2015;359,81 -1080;09/06/2015;341,58 -1080;10/06/2015;331,03 -1080;11/06/2015;331,99 -1080;12/06/2015;331,03 -1080;13/06/2015;308,96 -1080;14/06/2015;264,82 -1080;15/06/2015;284,97 -1080;16/06/2015;331,99 -1080;17/06/2015;308,96 -1080;18/06/2015;300,32 -1080;19/06/2015;331,99 -1080;20/06/2015;332,95 -1080;21/06/2015;236,04 -1080;22/06/2015;331,03 -1080;23/06/2015;332,95 -1080;24/06/2015;333,91 -1080;25/06/2015;332,95 -1080;26/06/2015;322,53 -1080;27/06/2015;333,91 -1080;28/06/2015;332,95 -1080;29/06/2015;333,91 -1080;30/06/2015;332,95 -1080;01/07/2015;349,46 -1080;02/07/2015;323,2 -1080;03/07/2015;227,25 -1080;04/07/2015;226,24 -1080;05/07/2015;254,52 -1080;06/07/2015;344,41 -1080;07/07/2015;344,41 -1080;08/07/2015;348,45 -1080;09/07/2015;378,75 -1080;10/07/2015;359,56 -1080;11/07/2015;348,45 -1080;12/07/2015;349,46 -1080;13/07/2015;338,35 -1080;14/07/2015;392,89 -1080;15/07/2015;298,96 -1080;16/07/2015;301,99 -1080;17/07/2015;358,55 -1080;18/07/2015;332,29 -1080;19/07/2015;301,99 -1080;20/07/2015;349,46 -1080;21/07/2015;350,47 -1080;22/07/2015;340,37 -1080;23/07/2015;348,45 -1080;24/07/2015;249,47 -1080;25/07/2015;351,48 -1080;26/07/2015;350,47 -1080;27/07/2015;349,46 -1080;28/07/2015;351,48 -1080;29/07/2015;341,38 -1080;30/07/2015;339,36 -1080;31/07/2015;336,33 -1097;01/05/2015;306,03 -1097;02/05/2015;306,03 -1097;03/05/2015;306,03 -1097;04/05/2015;306,03 -1097;05/05/2015;306,03 -1097;06/05/2015;306,03 -1097;07/05/2015;306,03 -1097;08/05/2015;351,93 -1097;09/05/2015;317,25 -1097;10/05/2015;351,93 -1097;11/05/2015;352,95 -1097;12/05/2015;351,93 -1097;13/05/2015;328,47 -1097;14/05/2015;383,56 -1097;15/05/2015;404,98 -1097;16/05/2015;352,95 -1097;17/05/2015;328,47 -1097;18/05/2015;319,29 -1097;19/05/2015;352,95 -1097;20/05/2015;353,97 -1097;21/05/2015;250,94 -1097;22/05/2015;351,93 -1097;23/05/2015;251,96 -1097;24/05/2015;354,99 -1097;25/05/2015;353,97 -1097;26/05/2015;352,95 -1097;27/05/2015;354,99 -1097;28/05/2015;251,96 -1097;29/05/2015;252,98 -1097;30/05/2015;353,97 -1097;31/05/2015;352,95 -1097;01/06/2015;326,43 -1097;02/06/2015;331,53 -1097;03/06/2015;330,51 -1097;04/06/2015;359,08 -1097;05/06/2015;347,85 -1097;06/06/2015;347,85 -1097;07/06/2015;351,93 -1097;08/06/2015;382,54 -1097;09/06/2015;363,16 -1097;10/06/2015;351,93 -1097;11/06/2015;352,95 -1097;12/06/2015;351,93 -1097;13/06/2015;328,47 -1097;14/06/2015;281,55 -1097;15/06/2015;302,97 -1097;16/06/2015;352,95 -1097;17/06/2015;328,47 -1097;18/06/2015;319,29 -1097;19/06/2015;352,95 -1097;20/06/2015;353,97 -1097;21/06/2015;250,94 -1097;22/06/2015;351,93 -1097;23/06/2015;353,97 -1097;24/06/2015;354,99 -1097;25/06/2015;353,97 -1097;26/06/2015;352,95 -1097;27/06/2015;354,99 -1097;28/06/2015;353,97 -1097;29/06/2015;354,99 -1097;30/06/2015;353,97 -1097;01/07/2015;352,95 -1097;02/07/2015;326,43 -1097;03/07/2015;331,53 -1097;04/07/2015;330,51 -1097;05/07/2015;359,08 -1097;06/07/2015;347,85 -1097;07/07/2015;347,85 -1097;08/07/2015;351,93 -1097;09/07/2015;382,54 -1097;10/07/2015;363,16 -1097;11/07/2015;351,93 -1097;12/07/2015;352,95 -1097;13/07/2015;341,73 -1097;14/07/2015;396,82 -1097;15/07/2015;301,95 -1097;16/07/2015;305,01 -1097;17/07/2015;362,14 -1097;18/07/2015;335,61 -1097;19/07/2015;305,01 -1097;20/07/2015;352,95 -1097;21/07/2015;353,97 -1097;22/07/2015;343,77 -1097;23/07/2015;351,93 -1097;24/07/2015;251,96 -1097;25/07/2015;354,99 -1097;26/07/2015;353,97 -1097;27/07/2015;352,95 -1097;28/07/2015;354,99 -1097;29/07/2015;344,79 -1097;30/07/2015;342,75 -1097;31/07/2015;339,69 -1101;01/05/2015;12,12 -1101;02/05/2015;12,12 -1101;03/05/2015;12,12 -1101;04/05/2015;12,12 -1101;05/05/2015;12,12 -1101;06/05/2015;12,12 -1101;07/05/2015;12,12 -1101;08/05/2015;12,12 -1101;09/05/2015;12,12 -1101;10/05/2015;12,12 -1101;11/05/2015;12,12 -1101;12/05/2015;12,12 -1101;13/05/2015;12,12 -1101;14/05/2015;12,12 -1101;15/05/2015;12,12 -1101;16/05/2015;12,12 -1101;17/05/2015;12,12 -1101;18/05/2015;12,12 -1101;19/05/2015;12,12 -1101;20/05/2015;12,12 -1101;21/05/2015;12,12 -1101;22/05/2015;12,12 -1101;23/05/2015;12,12 -1101;24/05/2015;12,12 -1101;25/05/2015;12,12 -1101;26/05/2015;12,12 -1101;27/05/2015;12,12 -1101;28/05/2015;12,12 -1101;29/05/2015;12,12 -1101;30/05/2015;12,12 -1101;31/05/2015;12,12 -1101;01/06/2015;12,12 -1101;02/06/2015;12,625 -1101;03/06/2015;12,524 -1101;04/06/2015;15,352 -1101;05/06/2015;14,241 -1101;06/06/2015;14,241 -1101;07/06/2015;14,645 -1101;08/06/2015;17,675 -1101;09/06/2015;15,756 -1101;10/06/2015;14,645 -1101;11/06/2015;14,746 -1101;12/06/2015;14,645 -1101;13/06/2015;12,322 -1101;14/06/2015;27,876 -1101;15/06/2015;19,897 -1101;16/06/2015;24,846 -1101;17/06/2015;22,422 -1101;18/06/2015;21,513 -1101;19/06/2015;24,846 -1101;20/06/2015;14,847 -1101;21/06/2015;14,746 -1101;22/06/2015;24,745 -1101;23/06/2015;14,847 -1101;24/06/2015;25,048 -1101;25/06/2015;14,847 -1101;26/06/2015;14,746 -1101;27/06/2015;14,948 -1101;28/06/2015;14,847 -1101;29/06/2015;14,948 -1101;30/06/2015;14,847 -1101;01/07/2015;12,12 -1101;02/07/2015;12,625 -1101;03/07/2015;12,524 -1101;04/07/2015;15,352 -1101;05/07/2015;14,241 -1101;06/07/2015;14,241 -1101;07/07/2015;14,645 -1101;08/07/2015;17,675 -1101;09/07/2015;15,756 -1101;10/07/2015;14,645 -1101;11/07/2015;14,746 -1101;12/07/2015;14,645 -1101;13/07/2015;12,322 -1101;14/07/2015;27,876 -1101;15/07/2015;19,897 -1101;16/07/2015;24,846 -1101;17/07/2015;22,422 -1101;18/07/2015;21,513 -1101;19/07/2015;24,846 -1101;20/07/2015;14,847 -1101;21/07/2015;14,746 -1101;22/07/2015;24,745 -1101;23/07/2015;14,847 -1101;24/07/2015;25,048 -1101;25/07/2015;14,847 -1101;26/07/2015;14,746 -1101;27/07/2015;14,948 -1101;28/07/2015;14,847 -1101;29/07/2015;14,948 -1101;30/07/2015;14,847 -1101;31/07/2015;15,26211 -111111;01/05/2015;334,512 -111111;02/05/2015;339,73875 -111111;03/05/2015;338,6934 -111111;04/05/2015;367,9632 -111111;05/05/2015;356,46435 -111111;06/05/2015;356,46435 -111111;07/05/2015;360,64575 -111111;08/05/2015;392,00625 -111111;09/05/2015;372,1446 -111111;10/05/2015;360,64575 -111111;11/05/2015;361,6911 -111111;12/05/2015;360,64575 -111111;13/05/2015;336,6027 -111111;14/05/2015;288,5166 -111111;15/05/2015;310,46895 -111111;16/05/2015;361,6911 -111111;17/05/2015;336,6027 -111111;18/05/2015;327,19455 -111111;19/05/2015;361,6911 -111111;20/05/2015;362,73645 -111111;21/05/2015;257,1561 -111111;22/05/2015;360,64575 -111111;23/05/2015;258,20145 -111111;24/05/2015;363,7818 -111111;25/05/2015;362,73645 -111111;26/05/2015;361,6911 -111111;27/05/2015;363,7818 -111111;28/05/2015;258,20145 -111111;29/05/2015;259,2468 -111111;30/05/2015;258,20145 -111111;31/05/2015;361,6911 -111111;01/06/2015;334,512 -111111;02/06/2015;339,73875 -111111;03/06/2015;338,6934 -111111;04/06/2015;367,9632 -111111;05/06/2015;356,46435 -111111;06/06/2015;356,46435 -111111;07/06/2015;360,64575 -111111;08/06/2015;392,00625 -111111;09/06/2015;372,1446 -111111;10/06/2015;360,64575 -111111;11/06/2015;361,6911 -111111;12/06/2015;360,64575 -111111;13/06/2015;336,6027 -111111;14/06/2015;288,5166 -111111;15/06/2015;310,46895 -111111;16/06/2015;361,6911 -111111;17/06/2015;336,6027 -111111;18/06/2015;327,19455 -111111;19/06/2015;361,6911 -111111;20/06/2015;362,73645 -111111;21/06/2015;257,1561 -111111;22/06/2015;360,64575 -111111;23/06/2015;362,73645 -111111;24/06/2015;363,7818 -111111;25/06/2015;362,73645 -111111;26/06/2015;361,6911 -111111;27/06/2015;363,7818 -111111;28/06/2015;362,73645 -111111;29/06/2015;363,7818 -111111;30/06/2015;362,73645 -111111;01/07/2015;361,6911 -111111;02/07/2015;334,512 -111111;03/07/2015;339,73875 -111111;04/07/2015;338,6934 -111111;05/07/2015;367,9632 -111111;06/07/2015;356,46435 -111111;07/07/2015;356,46435 -111111;08/07/2015;360,64575 -111111;09/07/2015;392,00625 -111111;10/07/2015;372,1446 -111111;11/07/2015;360,64575 -111111;12/07/2015;361,6911 -111111;13/07/2015;350,19225 -111111;14/07/2015;406,64115 -111111;15/07/2015;309,4236 -111111;16/07/2015;312,55965 -111111;17/07/2015;371,09925 -111111;18/07/2015;343,92015 -111111;19/07/2015;312,55965 -111111;20/07/2015;361,6911 -111111;21/07/2015;362,73645 -111111;22/07/2015;352,28295 -111111;23/07/2015;360,64575 -111111;24/07/2015;258,20145 -111111;25/07/2015;363,7818 -111111;26/07/2015;362,73645 -111111;27/07/2015;361,6911 -111111;28/07/2015;363,7818 -111111;29/07/2015;353,3283 -111111;30/07/2015;351,2376 -111111;31/07/2015;348,10155 -113766;01/05/2015;303 -113766;02/05/2015;303 -113766;03/05/2015;303 -113766;04/05/2015;303 -113766;05/05/2015;303 -113766;06/05/2015;303 -113766;07/05/2015;303 -113766;08/05/2015;348,45 -113766;09/05/2015;314,11 -113766;10/05/2015;348,45 -113766;11/05/2015;349,46 -113766;12/05/2015;348,45 -113766;13/05/2015;325,22 -113766;14/05/2015;379,76 -113766;15/05/2015;400,97 -113766;16/05/2015;349,46 -113766;17/05/2015;325,22 -113766;18/05/2015;316,13 -113766;19/05/2015;349,46 -113766;20/05/2015;350,47 -113766;21/05/2015;248,46 -113766;22/05/2015;348,45 -113766;23/05/2015;249,47 -113766;24/05/2015;351,48 -113766;25/05/2015;350,47 -113766;26/05/2015;349,46 -113766;27/05/2015;351,48 -113766;28/05/2015;249,47 -113766;29/05/2015;250,48 -113766;30/05/2015;350,47 -113766;31/05/2015;349,46 -113766;01/06/2015;323,2 -113766;02/06/2015;328,25 -113766;03/06/2015;327,24 -113766;04/06/2015;355,52 -113766;05/06/2015;344,41 -113766;06/06/2015;344,41 -113766;07/06/2015;348,45 -113766;08/06/2015;378,75 -113766;09/06/2015;359,56 -113766;10/06/2015;348,45 -113766;11/06/2015;349,46 -113766;12/06/2015;348,45 -113766;13/06/2015;325,22 -113766;14/06/2015;278,76 -113766;15/06/2015;299,97 -113766;16/06/2015;349,46 -113766;17/06/2015;325,22 -113766;18/06/2015;316,13 -113766;19/06/2015;349,46 -113766;20/06/2015;350,47 -113766;21/06/2015;248,46 -113766;22/06/2015;348,45 -113766;23/06/2015;350,47 -113766;24/06/2015;351,48 -113766;25/06/2015;350,47 -113766;26/06/2015;349,46 -113766;27/06/2015;351,48 -113766;28/06/2015;350,47 -113766;29/06/2015;351,48 -113766;30/06/2015;350,47 -113766;01/07/2015;349,46 -113766;02/07/2015;323,2 -113766;03/07/2015;328,25 -113766;04/07/2015;327,24 -113766;05/07/2015;355,52 -113766;06/07/2015;344,41 -113766;07/07/2015;344,41 -113766;08/07/2015;348,45 -113766;09/07/2015;378,75 -113766;10/07/2015;359,56 -113766;11/07/2015;348,45 -113766;12/07/2015;349,46 -113766;13/07/2015;338,35 -113766;14/07/2015;392,89 -113766;15/07/2015;298,96 -113766;16/07/2015;301,99 -113766;17/07/2015;358,55 -113766;18/07/2015;332,29 -113766;19/07/2015;301,99 -113766;20/07/2015;349,46 -113766;21/07/2015;350,47 -113766;22/07/2015;340,37 -113766;23/07/2015;348,45 -113766;24/07/2015;249,47 -113766;25/07/2015;351,48 -113766;26/07/2015;350,47 -113766;27/07/2015;349,46 -113766;28/07/2015;351,48 -113766;29/07/2015;341,38 -113766;30/07/2015;339,36 -113766;31/07/2015;336,33 -113952;01/05/2015;346,43 -113952;02/05/2015;325,22 -113952;03/05/2015;336,33 -113952;04/05/2015;336,33 -113952;05/05/2015;336,33 -113952;06/05/2015;345,42 -113952;07/05/2015;345,42 -113952;08/05/2015;378,75 -113952;09/05/2015;359,56 -113952;10/05/2015;348,45 -113952;11/05/2015;349,46 -113952;12/05/2015;348,45 -113952;13/05/2015;325,22 -113952;14/05/2015;278,76 -113952;15/05/2015;299,97 -113952;16/05/2015;349,46 -113952;17/05/2015;325,22 -113952;18/05/2015;316,13 -113952;19/05/2015;349,46 -113952;20/05/2015;350,47 -113952;21/05/2015;248,46 -113952;22/05/2015;348,45 -113952;23/05/2015;249,47 -113952;24/05/2015;351,48 -113952;25/05/2015;350,47 -113952;26/05/2015;349,46 -113952;27/05/2015;351,48 -113952;28/05/2015;249,47 -113952;29/05/2015;250,48 -113952;30/05/2015;249,47 -113952;31/05/2015;349,46 -113952;01/06/2015;323,2 -113952;02/06/2015;328,25 -113952;03/06/2015;327,24 -113952;04/06/2015;355,52 -113952;05/06/2015;344,41 -113952;06/06/2015;344,41 -113952;07/06/2015;348,45 -113952;08/06/2015;378,75 -113952;09/06/2015;359,56 -113952;10/06/2015;348,45 -113952;11/06/2015;349,46 -113952;12/06/2015;348,45 -113952;13/06/2015;325,22 -113952;14/06/2015;278,76 -113952;15/06/2015;299,97 -113952;16/06/2015;349,46 -113952;17/06/2015;325,22 -113952;18/06/2015;316,13 -113952;19/06/2015;349,46 -113952;20/06/2015;350,47 -113952;21/06/2015;248,46 -113952;22/06/2015;348,45 -113952;23/06/2015;350,47 -113952;24/06/2015;351,48 -113952;25/06/2015;350,47 -113952;26/06/2015;248,46 -113952;27/06/2015;351,48 -113952;28/06/2015;249,47 -113952;29/06/2015;351,48 -113952;30/06/2015;350,47 -113952;01/07/2015;349,46 -113952;02/07/2015;323,2 -113952;03/07/2015;328,25 -113952;04/07/2015;327,24 -113952;05/07/2015;355,52 -113952;06/07/2015;344,41 -113952;07/07/2015;344,41 -113952;08/07/2015;348,45 -113952;09/07/2015;378,75 -113952;10/07/2015;359,56 -113952;11/07/2015;348,45 -113952;12/07/2015;349,46 -113952;13/07/2015;338,35 -113952;14/07/2015;392,89 -113952;15/07/2015;298,96 -113952;16/07/2015;301,99 -113952;17/07/2015;358,55 -113952;18/07/2015;332,29 -113952;19/07/2015;277,75 -113952;20/07/2015;333,3 -113952;21/07/2015;350,47 -113952;22/07/2015;331,28 -113952;23/07/2015;344,41 -113952;24/07/2015;246,44 -113952;25/07/2015;351,48 -113952;26/07/2015;350,47 -113952;27/07/2015;339,36 -113952;28/07/2015;330,27 -113952;29/07/2015;341,38 -113952;30/07/2015;339,36 -113952;31/07/2015;325,22 diff --git a/resources/example/csv/ext_rtc_scada_x_data.csv b/resources/example/csv/ext_rtc_scada_x_data.csv deleted file mode 100644 index 2c78eb31b..000000000 --- a/resources/example/csv/ext_rtc_scada_x_data.csv +++ /dev/null @@ -1,19 +0,0 @@ -node_id;cat_period_id;value -1080;5;9999,5 -1080;6;9945,4 -1080;7;9215,3 -1097;5;5120,5 -1097;6;5112,2 -1097;7;4734,9 -1101;5;5000,2 -1101;6;5000,3 -1101;7;5000,4 -111111;5;9315,2 -111111;6;9454,4 -111111;7;9321,3 -113873;5;10120,5 -113873;6;10112,2 -113873;7;9734,9 -113952;5;9315,2 -113952;6;9454,4 -113952;7;9321,3 diff --git a/resources/example/csv/addfields.csv b/resources/example/csv/feature_addfields.csv similarity index 100% rename from resources/example/csv/addfields.csv rename to resources/example/csv/feature_addfields.csv diff --git a/resources/example/csv/dxf_blocks.csv b/resources/example/csv/feature_dxf_blocks.csv similarity index 100% rename from resources/example/csv/dxf_blocks.csv rename to resources/example/csv/feature_dxf_blocks.csv diff --git a/resources/example/csv/elements.csv b/resources/example/csv/feature_elements.csv similarity index 100% rename from resources/example/csv/elements.csv rename to resources/example/csv/feature_elements.csv diff --git a/resources/example/csv/ext_cat_period.csv b/resources/example/csv/hydrometer_cat_period.csv similarity index 100% rename from resources/example/csv/ext_cat_period.csv rename to resources/example/csv/hydrometer_cat_period.csv diff --git a/resources/example/csv/ext_rtc_hydrometer_x_data.csv b/resources/example/csv/hydrometer_values.csv similarity index 100% rename from resources/example/csv/ext_rtc_hydrometer_x_data.csv rename to resources/example/csv/hydrometer_values.csv diff --git a/resources/example/csv/db_prices_ud.csv b/resources/example/csv/plan_prices_ud.csv similarity index 100% rename from resources/example/csv/db_prices_ud.csv rename to resources/example/csv/plan_prices_ud.csv diff --git a/resources/example/csv/db_prices_ws.csv b/resources/example/csv/plan_prices_ws.csv similarity index 100% rename from resources/example/csv/db_prices_ws.csv rename to resources/example/csv/plan_prices_ws.csv diff --git a/resources/example/csv/scada_flowmeter_agg_values.csv b/resources/example/csv/scada_flowmeter_agg_values.csv new file mode 100644 index 000000000..84ea69d48 --- /dev/null +++ b/resources/example/csv/scada_flowmeter_agg_values.csv @@ -0,0 +1,93 @@ +scada_id;node_id;value_date;value +1080-T1;1080;01/05/2015;300,98 +1080-T1;1080;06/05/2015;1805,88 +1080-T1;1080;09/05/2015;2892,64 +1080-T1;1080;17/05/2015;5517,63 +1080-T1;1080;18/05/2015;5833,76 +1080-T1;1080;19/05/2015;6183,22 +1080-T1;1080;24/05/2015;7731,55 +1080-T1;1080;25/05/2015;8082,02 +1080-T1;1080;04/06/2015;11149,34 +1080-T1;1080;05/06/2015;11476,53 +1080-T1;1080;13/06/2015;14139,15 +1080-T1;1080;14/06/2015;14403,97 +1080-T1;1080;15/06/2015;14688,94 +1080-T1;1080;22/06/2015;16862,22 +1080-T1;1080;23/06/2015;17195,17 +1080-T1;1080;24/06/2015;17529,08 +1080-T1;1080;25/06/2015;17862,03 +1080-T1;1080;29/06/2015;19185,33 +1080-T1;1080;02/07/2015;20190,94 +1080-T1;1080;03/07/2015;20418,19 +1080-T1;1080;07/07/2015;21587,77 +1080-T1;1080;08/07/2015;21936,22 +1080-T1;1080;13/07/2015;23710,79 +1080-T1;1080;18/07/2015;25395,47 +1080-T1;1080;23/07/2015;27086,21 +1080-T1;1080;27/07/2015;28387,09 +1097-T1;1097;01/05/2015;306,03 +1097-T1;1097;03/05/2015;918,09 +1097-T1;1097;09/05/2015;2811,39 +1097-T1;1097;30/05/2015;9823,48 +1097-T1;1097;31/05/2015;10176,43 +1097-T1;1097;02/06/2015;10834,39 +1097-T1;1097;03/06/2015;11164,9 +1097-T1;1097;05/06/2015;11871,83 +1097-T1;1097;06/06/2015;12219,68 +1097-T1;1097;08/06/2015;12954,15 +1097-T1;1097;09/06/2015;13317,31 +1097-T1;1097;10/06/2015;13669,24 +1097-T1;1097;13/06/2015;14702,59 +1097-T1;1097;14/06/2015;14984,14 +1097-T1;1097;15/06/2015;15287,11 +1097-T1;1097;20/06/2015;16994,74 +1097-T1;1097;26/06/2015;19013,49 +1097-T1;1097;30/06/2015;20431,41 +1097-T1;1097;04/07/2015;21772,83 +1097-T1;1097;13/07/2015;24971,85 +1097-T1;1097;19/07/2015;26978,39 +1097-T1;1097;30/07/2015;30737,41 +1097-T1;1097;31/07/2015;31077,1 +1101-T1;1101;01/05/2015;12,12 +1101-T1;1101;03/05/2015;36,36 +1101-T1;1101;06/05/2015;72,72 +1101-T1;1101;07/05/2015;84,84 +1101-T1;1101;18/05/2015;218,16 +1101-T1;1101;24/05/2015;290,88 +1101-T1;1101;31/05/2015;375,72 +1101-T1;1101;06/06/2015;456,823 +1101-T1;1101;20/06/2015;717,504 +1101-T1;1101;25/06/2015;811,737 +1101-T1;1101;02/07/2015;910,818 +1101-T1;1101;08/07/2015;999,496 +1101-T1;1101;14/07/2015;1099,486 +1101-T1;1101;22/07/2015;1267,348 +1101-T1;1101;28/07/2015;1366,631 +1101-T1;1101;31/07/2015;1411,68811 +111111-T1;111111;01/05/2015;334,512 +111111-T1;111111;13/05/2015;4638,21795 +111111-T1;111111;29/05/2015;9832,5621 +111111-T1;111111;11/06/2015;14393,42415 +111111-T1;111111;23/06/2015;18420,11235 +111111-T1;111111;09/07/2015;24169,53735 +111111-T1;111111;19/07/2015;27670,4145 +111111-T1;111111;31/07/2015;31870,6308 +113766-T1;113766;01/05/2015;303 +113766-T1;113766;14/05/2015;4534,9 +113766-T1;113766;23/05/2015;7472,99 +113766-T1;113766;04/06/2015;11409,97 +113766-T1;113766;13/06/2015;14557,13 +113766-T1;113766;21/06/2015;17075,06 +113766-T1;113766;11/07/2015;24036,99 +113766-T1;113766;19/07/2015;26711,47 +113766-T1;113766;28/07/2015;29752,58 +113952-T1;113952;06/05/2015;2026,06 +113952-T1;113952;16/05/2015;5409,56 +113952-T1;113952;24/05/2015;7948,7 +113952-T1;113952;02/06/2015;10750,44 +113952-T1;113952;07/06/2015;12470,47 +113952-T1;113952;08/06/2015;12849,22 +113952-T1;113952;15/06/2015;15159,09 +113952-T1;113952;24/06/2015;18148,69 +113952-T1;113952;04/07/2015;21378,67 +113952-T1;113952;31/07/2015;30491,9 diff --git a/resources/example/csv/scada_flowmeter_daily_values.csv b/resources/example/csv/scada_flowmeter_daily_values.csv new file mode 100644 index 000000000..a0d35c9d8 --- /dev/null +++ b/resources/example/csv/scada_flowmeter_daily_values.csv @@ -0,0 +1,553 @@ +scada_id;node_id;value_date;value +1080-T1;1080;01/05/2015;300,98 +1080-T1;1080;02/05/2015;300,98 +1080-T1;1080;03/05/2015;300,98 +1080-T1;1080;04/05/2015;300,98 +1080-T1;1080;05/05/2015;300,98 +1080-T1;1080;06/05/2015;300,98 +1080-T1;1080;07/05/2015;348,45 +1080-T1;1080;08/05/2015;378,75 +1080-T1;1080;09/05/2015;359,56 +1080-T1;1080;10/05/2015;348,45 +1080-T1;1080;11/05/2015;349,46 +1080-T1;1080;12/05/2015;348,45 +1080-T1;1080;13/05/2015;325,22 +1080-T1;1080;14/05/2015;278,76 +1080-T1;1080;15/05/2015;299,97 +1080-T1;1080;16/05/2015;349,46 +1080-T1;1080;17/05/2015;325,22 +1080-T1;1080;18/05/2015;316,13 +1080-T1;1080;19/05/2015;349,46 +1080-T1;1080;20/05/2015;350,47 +1080-T1;1080;21/05/2015;248,46 +1080-T1;1080;22/05/2015;348,45 +1080-T1;1080;23/05/2015;249,47 +1080-T1;1080;24/05/2015;351,48 +1080-T1;1080;25/05/2015;350,47 +1080-T1;1080;26/05/2015;349,46 +1080-T1;1080;27/05/2015;351,48 +1080-T1;1080;28/05/2015;249,47 +1080-T1;1080;29/05/2015;250,48 +1080-T1;1080;30/05/2015;249,47 +1080-T1;1080;31/05/2015;349,46 +1080-T1;1080;01/06/2015;307,04 +1080-T1;1080;02/06/2015;311,84 +1080-T1;1080;03/06/2015;310,88 +1080-T1;1080;04/06/2015;337,74 +1080-T1;1080;05/06/2015;327,19 +1080-T1;1080;06/06/2015;327,19 +1080-T1;1080;07/06/2015;331,03 +1080-T1;1080;08/06/2015;359,81 +1080-T1;1080;09/06/2015;341,58 +1080-T1;1080;10/06/2015;331,03 +1080-T1;1080;11/06/2015;331,99 +1080-T1;1080;12/06/2015;331,03 +1080-T1;1080;13/06/2015;308,96 +1080-T1;1080;14/06/2015;264,82 +1080-T1;1080;15/06/2015;284,97 +1080-T1;1080;16/06/2015;331,99 +1080-T1;1080;17/06/2015;308,96 +1080-T1;1080;18/06/2015;300,32 +1080-T1;1080;19/06/2015;331,99 +1080-T1;1080;20/06/2015;332,95 +1080-T1;1080;21/06/2015;236,04 +1080-T1;1080;22/06/2015;331,03 +1080-T1;1080;23/06/2015;332,95 +1080-T1;1080;24/06/2015;333,91 +1080-T1;1080;25/06/2015;332,95 +1080-T1;1080;26/06/2015;322,53 +1080-T1;1080;27/06/2015;333,91 +1080-T1;1080;28/06/2015;332,95 +1080-T1;1080;29/06/2015;333,91 +1080-T1;1080;30/06/2015;332,95 +1080-T1;1080;01/07/2015;349,46 +1080-T1;1080;02/07/2015;323,2 +1080-T1;1080;03/07/2015;227,25 +1080-T1;1080;04/07/2015;226,24 +1080-T1;1080;05/07/2015;254,52 +1080-T1;1080;06/07/2015;344,41 +1080-T1;1080;07/07/2015;344,41 +1080-T1;1080;08/07/2015;348,45 +1080-T1;1080;09/07/2015;378,75 +1080-T1;1080;10/07/2015;359,56 +1080-T1;1080;11/07/2015;348,45 +1080-T1;1080;12/07/2015;349,46 +1080-T1;1080;13/07/2015;338,35 +1080-T1;1080;14/07/2015;392,89 +1080-T1;1080;15/07/2015;298,96 +1080-T1;1080;16/07/2015;301,99 +1080-T1;1080;17/07/2015;358,55 +1080-T1;1080;18/07/2015;332,29 +1080-T1;1080;19/07/2015;301,99 +1080-T1;1080;20/07/2015;349,46 +1080-T1;1080;21/07/2015;350,47 +1080-T1;1080;22/07/2015;340,37 +1080-T1;1080;23/07/2015;348,45 +1080-T1;1080;24/07/2015;249,47 +1080-T1;1080;25/07/2015;351,48 +1080-T1;1080;26/07/2015;350,47 +1080-T1;1080;27/07/2015;349,46 +1080-T1;1080;28/07/2015;351,48 +1080-T1;1080;29/07/2015;341,38 +1080-T1;1080;30/07/2015;339,36 +1080-T1;1080;31/07/2015;336,33 +1097-T1;1097;01/05/2015;306,03 +1097-T1;1097;02/05/2015;306,03 +1097-T1;1097;03/05/2015;306,03 +1097-T1;1097;04/05/2015;306,03 +1097-T1;1097;05/05/2015;306,03 +1097-T1;1097;06/05/2015;306,03 +1097-T1;1097;07/05/2015;306,03 +1097-T1;1097;08/05/2015;351,93 +1097-T1;1097;09/05/2015;317,25 +1097-T1;1097;10/05/2015;351,93 +1097-T1;1097;11/05/2015;352,95 +1097-T1;1097;12/05/2015;351,93 +1097-T1;1097;13/05/2015;328,47 +1097-T1;1097;14/05/2015;383,56 +1097-T1;1097;15/05/2015;404,98 +1097-T1;1097;16/05/2015;352,95 +1097-T1;1097;17/05/2015;328,47 +1097-T1;1097;18/05/2015;319,29 +1097-T1;1097;19/05/2015;352,95 +1097-T1;1097;20/05/2015;353,97 +1097-T1;1097;21/05/2015;250,94 +1097-T1;1097;22/05/2015;351,93 +1097-T1;1097;23/05/2015;251,96 +1097-T1;1097;24/05/2015;354,99 +1097-T1;1097;25/05/2015;353,97 +1097-T1;1097;26/05/2015;352,95 +1097-T1;1097;27/05/2015;354,99 +1097-T1;1097;28/05/2015;251,96 +1097-T1;1097;29/05/2015;252,98 +1097-T1;1097;30/05/2015;353,97 +1097-T1;1097;31/05/2015;352,95 +1097-T1;1097;01/06/2015;326,43 +1097-T1;1097;02/06/2015;331,53 +1097-T1;1097;03/06/2015;330,51 +1097-T1;1097;04/06/2015;359,08 +1097-T1;1097;05/06/2015;347,85 +1097-T1;1097;06/06/2015;347,85 +1097-T1;1097;07/06/2015;351,93 +1097-T1;1097;08/06/2015;382,54 +1097-T1;1097;09/06/2015;363,16 +1097-T1;1097;10/06/2015;351,93 +1097-T1;1097;11/06/2015;352,95 +1097-T1;1097;12/06/2015;351,93 +1097-T1;1097;13/06/2015;328,47 +1097-T1;1097;14/06/2015;281,55 +1097-T1;1097;15/06/2015;302,97 +1097-T1;1097;16/06/2015;352,95 +1097-T1;1097;17/06/2015;328,47 +1097-T1;1097;18/06/2015;319,29 +1097-T1;1097;19/06/2015;352,95 +1097-T1;1097;20/06/2015;353,97 +1097-T1;1097;21/06/2015;250,94 +1097-T1;1097;22/06/2015;351,93 +1097-T1;1097;23/06/2015;353,97 +1097-T1;1097;24/06/2015;354,99 +1097-T1;1097;25/06/2015;353,97 +1097-T1;1097;26/06/2015;352,95 +1097-T1;1097;27/06/2015;354,99 +1097-T1;1097;28/06/2015;353,97 +1097-T1;1097;29/06/2015;354,99 +1097-T1;1097;30/06/2015;353,97 +1097-T1;1097;01/07/2015;352,95 +1097-T1;1097;02/07/2015;326,43 +1097-T1;1097;03/07/2015;331,53 +1097-T1;1097;04/07/2015;330,51 +1097-T1;1097;05/07/2015;359,08 +1097-T1;1097;06/07/2015;347,85 +1097-T1;1097;07/07/2015;347,85 +1097-T1;1097;08/07/2015;351,93 +1097-T1;1097;09/07/2015;382,54 +1097-T1;1097;10/07/2015;363,16 +1097-T1;1097;11/07/2015;351,93 +1097-T1;1097;12/07/2015;352,95 +1097-T1;1097;13/07/2015;341,73 +1097-T1;1097;14/07/2015;396,82 +1097-T1;1097;15/07/2015;301,95 +1097-T1;1097;16/07/2015;305,01 +1097-T1;1097;17/07/2015;362,14 +1097-T1;1097;18/07/2015;335,61 +1097-T1;1097;19/07/2015;305,01 +1097-T1;1097;20/07/2015;352,95 +1097-T1;1097;21/07/2015;353,97 +1097-T1;1097;22/07/2015;343,77 +1097-T1;1097;23/07/2015;351,93 +1097-T1;1097;24/07/2015;251,96 +1097-T1;1097;25/07/2015;354,99 +1097-T1;1097;26/07/2015;353,97 +1097-T1;1097;27/07/2015;352,95 +1097-T1;1097;28/07/2015;354,99 +1097-T1;1097;29/07/2015;344,79 +1097-T1;1097;30/07/2015;342,75 +1097-T1;1097;31/07/2015;339,69 +1101-T1;1101;01/05/2015;12,12 +1101-T1;1101;02/05/2015;12,12 +1101-T1;1101;03/05/2015;12,12 +1101-T1;1101;04/05/2015;12,12 +1101-T1;1101;05/05/2015;12,12 +1101-T1;1101;06/05/2015;12,12 +1101-T1;1101;07/05/2015;12,12 +1101-T1;1101;08/05/2015;12,12 +1101-T1;1101;09/05/2015;12,12 +1101-T1;1101;10/05/2015;12,12 +1101-T1;1101;11/05/2015;12,12 +1101-T1;1101;12/05/2015;12,12 +1101-T1;1101;13/05/2015;12,12 +1101-T1;1101;14/05/2015;12,12 +1101-T1;1101;15/05/2015;12,12 +1101-T1;1101;16/05/2015;12,12 +1101-T1;1101;17/05/2015;12,12 +1101-T1;1101;18/05/2015;12,12 +1101-T1;1101;19/05/2015;12,12 +1101-T1;1101;20/05/2015;12,12 +1101-T1;1101;21/05/2015;12,12 +1101-T1;1101;22/05/2015;12,12 +1101-T1;1101;23/05/2015;12,12 +1101-T1;1101;24/05/2015;12,12 +1101-T1;1101;25/05/2015;12,12 +1101-T1;1101;26/05/2015;12,12 +1101-T1;1101;27/05/2015;12,12 +1101-T1;1101;28/05/2015;12,12 +1101-T1;1101;29/05/2015;12,12 +1101-T1;1101;30/05/2015;12,12 +1101-T1;1101;31/05/2015;12,12 +1101-T1;1101;01/06/2015;12,12 +1101-T1;1101;02/06/2015;12,625 +1101-T1;1101;03/06/2015;12,524 +1101-T1;1101;04/06/2015;15,352 +1101-T1;1101;05/06/2015;14,241 +1101-T1;1101;06/06/2015;14,241 +1101-T1;1101;07/06/2015;14,645 +1101-T1;1101;08/06/2015;17,675 +1101-T1;1101;09/06/2015;15,756 +1101-T1;1101;10/06/2015;14,645 +1101-T1;1101;11/06/2015;14,746 +1101-T1;1101;12/06/2015;14,645 +1101-T1;1101;13/06/2015;12,322 +1101-T1;1101;14/06/2015;27,876 +1101-T1;1101;15/06/2015;19,897 +1101-T1;1101;16/06/2015;24,846 +1101-T1;1101;17/06/2015;22,422 +1101-T1;1101;18/06/2015;21,513 +1101-T1;1101;19/06/2015;24,846 +1101-T1;1101;20/06/2015;14,847 +1101-T1;1101;21/06/2015;14,746 +1101-T1;1101;22/06/2015;24,745 +1101-T1;1101;23/06/2015;14,847 +1101-T1;1101;24/06/2015;25,048 +1101-T1;1101;25/06/2015;14,847 +1101-T1;1101;26/06/2015;14,746 +1101-T1;1101;27/06/2015;14,948 +1101-T1;1101;28/06/2015;14,847 +1101-T1;1101;29/06/2015;14,948 +1101-T1;1101;30/06/2015;14,847 +1101-T1;1101;01/07/2015;12,12 +1101-T1;1101;02/07/2015;12,625 +1101-T1;1101;03/07/2015;12,524 +1101-T1;1101;04/07/2015;15,352 +1101-T1;1101;05/07/2015;14,241 +1101-T1;1101;06/07/2015;14,241 +1101-T1;1101;07/07/2015;14,645 +1101-T1;1101;08/07/2015;17,675 +1101-T1;1101;09/07/2015;15,756 +1101-T1;1101;10/07/2015;14,645 +1101-T1;1101;11/07/2015;14,746 +1101-T1;1101;12/07/2015;14,645 +1101-T1;1101;13/07/2015;12,322 +1101-T1;1101;14/07/2015;27,876 +1101-T1;1101;15/07/2015;19,897 +1101-T1;1101;16/07/2015;24,846 +1101-T1;1101;17/07/2015;22,422 +1101-T1;1101;18/07/2015;21,513 +1101-T1;1101;19/07/2015;24,846 +1101-T1;1101;20/07/2015;14,847 +1101-T1;1101;21/07/2015;14,746 +1101-T1;1101;22/07/2015;24,745 +1101-T1;1101;23/07/2015;14,847 +1101-T1;1101;24/07/2015;25,048 +1101-T1;1101;25/07/2015;14,847 +1101-T1;1101;26/07/2015;14,746 +1101-T1;1101;27/07/2015;14,948 +1101-T1;1101;28/07/2015;14,847 +1101-T1;1101;29/07/2015;14,948 +1101-T1;1101;30/07/2015;14,847 +1101-T1;1101;31/07/2015;15,26211 +111111-T1;111111;01/05/2015;334,512 +111111-T1;111111;02/05/2015;339,73875 +111111-T1;111111;03/05/2015;338,6934 +111111-T1;111111;04/05/2015;367,9632 +111111-T1;111111;05/05/2015;356,46435 +111111-T1;111111;06/05/2015;356,46435 +111111-T1;111111;07/05/2015;360,64575 +111111-T1;111111;08/05/2015;392,00625 +111111-T1;111111;09/05/2015;372,1446 +111111-T1;111111;10/05/2015;360,64575 +111111-T1;111111;11/05/2015;361,6911 +111111-T1;111111;12/05/2015;360,64575 +111111-T1;111111;13/05/2015;336,6027 +111111-T1;111111;14/05/2015;288,5166 +111111-T1;111111;15/05/2015;310,46895 +111111-T1;111111;16/05/2015;361,6911 +111111-T1;111111;17/05/2015;336,6027 +111111-T1;111111;18/05/2015;327,19455 +111111-T1;111111;19/05/2015;361,6911 +111111-T1;111111;20/05/2015;362,73645 +111111-T1;111111;21/05/2015;257,1561 +111111-T1;111111;22/05/2015;360,64575 +111111-T1;111111;23/05/2015;258,20145 +111111-T1;111111;24/05/2015;363,7818 +111111-T1;111111;25/05/2015;362,73645 +111111-T1;111111;26/05/2015;361,6911 +111111-T1;111111;27/05/2015;363,7818 +111111-T1;111111;28/05/2015;258,20145 +111111-T1;111111;29/05/2015;259,2468 +111111-T1;111111;30/05/2015;258,20145 +111111-T1;111111;31/05/2015;361,6911 +111111-T1;111111;01/06/2015;334,512 +111111-T1;111111;02/06/2015;339,73875 +111111-T1;111111;03/06/2015;338,6934 +111111-T1;111111;04/06/2015;367,9632 +111111-T1;111111;05/06/2015;356,46435 +111111-T1;111111;06/06/2015;356,46435 +111111-T1;111111;07/06/2015;360,64575 +111111-T1;111111;08/06/2015;392,00625 +111111-T1;111111;09/06/2015;372,1446 +111111-T1;111111;10/06/2015;360,64575 +111111-T1;111111;11/06/2015;361,6911 +111111-T1;111111;12/06/2015;360,64575 +111111-T1;111111;13/06/2015;336,6027 +111111-T1;111111;14/06/2015;288,5166 +111111-T1;111111;15/06/2015;310,46895 +111111-T1;111111;16/06/2015;361,6911 +111111-T1;111111;17/06/2015;336,6027 +111111-T1;111111;18/06/2015;327,19455 +111111-T1;111111;19/06/2015;361,6911 +111111-T1;111111;20/06/2015;362,73645 +111111-T1;111111;21/06/2015;257,1561 +111111-T1;111111;22/06/2015;360,64575 +111111-T1;111111;23/06/2015;362,73645 +111111-T1;111111;24/06/2015;363,7818 +111111-T1;111111;25/06/2015;362,73645 +111111-T1;111111;26/06/2015;361,6911 +111111-T1;111111;27/06/2015;363,7818 +111111-T1;111111;28/06/2015;362,73645 +111111-T1;111111;29/06/2015;363,7818 +111111-T1;111111;30/06/2015;362,73645 +111111-T1;111111;01/07/2015;361,6911 +111111-T1;111111;02/07/2015;334,512 +111111-T1;111111;03/07/2015;339,73875 +111111-T1;111111;04/07/2015;338,6934 +111111-T1;111111;05/07/2015;367,9632 +111111-T1;111111;06/07/2015;356,46435 +111111-T1;111111;07/07/2015;356,46435 +111111-T1;111111;08/07/2015;360,64575 +111111-T1;111111;09/07/2015;392,00625 +111111-T1;111111;10/07/2015;372,1446 +111111-T1;111111;11/07/2015;360,64575 +111111-T1;111111;12/07/2015;361,6911 +111111-T1;111111;13/07/2015;350,19225 +111111-T1;111111;14/07/2015;406,64115 +111111-T1;111111;15/07/2015;309,4236 +111111-T1;111111;16/07/2015;312,55965 +111111-T1;111111;17/07/2015;371,09925 +111111-T1;111111;18/07/2015;343,92015 +111111-T1;111111;19/07/2015;312,55965 +111111-T1;111111;20/07/2015;361,6911 +111111-T1;111111;21/07/2015;362,73645 +111111-T1;111111;22/07/2015;352,28295 +111111-T1;111111;23/07/2015;360,64575 +111111-T1;111111;24/07/2015;258,20145 +111111-T1;111111;25/07/2015;363,7818 +111111-T1;111111;26/07/2015;362,73645 +111111-T1;111111;27/07/2015;361,6911 +111111-T1;111111;28/07/2015;363,7818 +111111-T1;111111;29/07/2015;353,3283 +111111-T1;111111;30/07/2015;351,2376 +111111-T1;111111;31/07/2015;348,10155 +113766-T1;113766;01/05/2015;303 +113766-T1;113766;02/05/2015;303 +113766-T1;113766;03/05/2015;303 +113766-T1;113766;04/05/2015;303 +113766-T1;113766;05/05/2015;303 +113766-T1;113766;06/05/2015;303 +113766-T1;113766;07/05/2015;303 +113766-T1;113766;08/05/2015;348,45 +113766-T1;113766;09/05/2015;314,11 +113766-T1;113766;10/05/2015;348,45 +113766-T1;113766;11/05/2015;349,46 +113766-T1;113766;12/05/2015;348,45 +113766-T1;113766;13/05/2015;325,22 +113766-T1;113766;14/05/2015;379,76 +113766-T1;113766;15/05/2015;400,97 +113766-T1;113766;16/05/2015;349,46 +113766-T1;113766;17/05/2015;325,22 +113766-T1;113766;18/05/2015;316,13 +113766-T1;113766;19/05/2015;349,46 +113766-T1;113766;20/05/2015;350,47 +113766-T1;113766;21/05/2015;248,46 +113766-T1;113766;22/05/2015;348,45 +113766-T1;113766;23/05/2015;249,47 +113766-T1;113766;24/05/2015;351,48 +113766-T1;113766;25/05/2015;350,47 +113766-T1;113766;26/05/2015;349,46 +113766-T1;113766;27/05/2015;351,48 +113766-T1;113766;28/05/2015;249,47 +113766-T1;113766;29/05/2015;250,48 +113766-T1;113766;30/05/2015;350,47 +113766-T1;113766;31/05/2015;349,46 +113766-T1;113766;01/06/2015;323,2 +113766-T1;113766;02/06/2015;328,25 +113766-T1;113766;03/06/2015;327,24 +113766-T1;113766;04/06/2015;355,52 +113766-T1;113766;05/06/2015;344,41 +113766-T1;113766;06/06/2015;344,41 +113766-T1;113766;07/06/2015;348,45 +113766-T1;113766;08/06/2015;378,75 +113766-T1;113766;09/06/2015;359,56 +113766-T1;113766;10/06/2015;348,45 +113766-T1;113766;11/06/2015;349,46 +113766-T1;113766;12/06/2015;348,45 +113766-T1;113766;13/06/2015;325,22 +113766-T1;113766;14/06/2015;278,76 +113766-T1;113766;15/06/2015;299,97 +113766-T1;113766;16/06/2015;349,46 +113766-T1;113766;17/06/2015;325,22 +113766-T1;113766;18/06/2015;316,13 +113766-T1;113766;19/06/2015;349,46 +113766-T1;113766;20/06/2015;350,47 +113766-T1;113766;21/06/2015;248,46 +113766-T1;113766;22/06/2015;348,45 +113766-T1;113766;23/06/2015;350,47 +113766-T1;113766;24/06/2015;351,48 +113766-T1;113766;25/06/2015;350,47 +113766-T1;113766;26/06/2015;349,46 +113766-T1;113766;27/06/2015;351,48 +113766-T1;113766;28/06/2015;350,47 +113766-T1;113766;29/06/2015;351,48 +113766-T1;113766;30/06/2015;350,47 +113766-T1;113766;01/07/2015;349,46 +113766-T1;113766;02/07/2015;323,2 +113766-T1;113766;03/07/2015;328,25 +113766-T1;113766;04/07/2015;327,24 +113766-T1;113766;05/07/2015;355,52 +113766-T1;113766;06/07/2015;344,41 +113766-T1;113766;07/07/2015;344,41 +113766-T1;113766;08/07/2015;348,45 +113766-T1;113766;09/07/2015;378,75 +113766-T1;113766;10/07/2015;359,56 +113766-T1;113766;11/07/2015;348,45 +113766-T1;113766;12/07/2015;349,46 +113766-T1;113766;13/07/2015;338,35 +113766-T1;113766;14/07/2015;392,89 +113766-T1;113766;15/07/2015;298,96 +113766-T1;113766;16/07/2015;301,99 +113766-T1;113766;17/07/2015;358,55 +113766-T1;113766;18/07/2015;332,29 +113766-T1;113766;19/07/2015;301,99 +113766-T1;113766;20/07/2015;349,46 +113766-T1;113766;21/07/2015;350,47 +113766-T1;113766;22/07/2015;340,37 +113766-T1;113766;23/07/2015;348,45 +113766-T1;113766;24/07/2015;249,47 +113766-T1;113766;25/07/2015;351,48 +113766-T1;113766;26/07/2015;350,47 +113766-T1;113766;27/07/2015;349,46 +113766-T1;113766;28/07/2015;351,48 +113766-T1;113766;29/07/2015;341,38 +113766-T1;113766;30/07/2015;339,36 +113766-T1;113766;31/07/2015;336,33 +113952-T1;113952;01/05/2015;346,43 +113952-T1;113952;02/05/2015;325,22 +113952-T1;113952;03/05/2015;336,33 +113952-T1;113952;04/05/2015;336,33 +113952-T1;113952;05/05/2015;336,33 +113952-T1;113952;06/05/2015;345,42 +113952-T1;113952;07/05/2015;345,42 +113952-T1;113952;08/05/2015;378,75 +113952-T1;113952;09/05/2015;359,56 +113952-T1;113952;10/05/2015;348,45 +113952-T1;113952;11/05/2015;349,46 +113952-T1;113952;12/05/2015;348,45 +113952-T1;113952;13/05/2015;325,22 +113952-T1;113952;14/05/2015;278,76 +113952-T1;113952;15/05/2015;299,97 +113952-T1;113952;16/05/2015;349,46 +113952-T1;113952;17/05/2015;325,22 +113952-T1;113952;18/05/2015;316,13 +113952-T1;113952;19/05/2015;349,46 +113952-T1;113952;20/05/2015;350,47 +113952-T1;113952;21/05/2015;248,46 +113952-T1;113952;22/05/2015;348,45 +113952-T1;113952;23/05/2015;249,47 +113952-T1;113952;24/05/2015;351,48 +113952-T1;113952;25/05/2015;350,47 +113952-T1;113952;26/05/2015;349,46 +113952-T1;113952;27/05/2015;351,48 +113952-T1;113952;28/05/2015;249,47 +113952-T1;113952;29/05/2015;250,48 +113952-T1;113952;30/05/2015;249,47 +113952-T1;113952;31/05/2015;349,46 +113952-T1;113952;01/06/2015;323,2 +113952-T1;113952;02/06/2015;328,25 +113952-T1;113952;03/06/2015;327,24 +113952-T1;113952;04/06/2015;355,52 +113952-T1;113952;05/06/2015;344,41 +113952-T1;113952;06/06/2015;344,41 +113952-T1;113952;07/06/2015;348,45 +113952-T1;113952;08/06/2015;378,75 +113952-T1;113952;09/06/2015;359,56 +113952-T1;113952;10/06/2015;348,45 +113952-T1;113952;11/06/2015;349,46 +113952-T1;113952;12/06/2015;348,45 +113952-T1;113952;13/06/2015;325,22 +113952-T1;113952;14/06/2015;278,76 +113952-T1;113952;15/06/2015;299,97 +113952-T1;113952;16/06/2015;349,46 +113952-T1;113952;17/06/2015;325,22 +113952-T1;113952;18/06/2015;316,13 +113952-T1;113952;19/06/2015;349,46 +113952-T1;113952;20/06/2015;350,47 +113952-T1;113952;21/06/2015;248,46 +113952-T1;113952;22/06/2015;348,45 +113952-T1;113952;23/06/2015;350,47 +113952-T1;113952;24/06/2015;351,48 +113952-T1;113952;25/06/2015;350,47 +113952-T1;113952;26/06/2015;248,46 +113952-T1;113952;27/06/2015;351,48 +113952-T1;113952;28/06/2015;249,47 +113952-T1;113952;29/06/2015;351,48 +113952-T1;113952;30/06/2015;350,47 +113952-T1;113952;01/07/2015;349,46 +113952-T1;113952;02/07/2015;323,2 +113952-T1;113952;03/07/2015;328,25 +113952-T1;113952;04/07/2015;327,24 +113952-T1;113952;05/07/2015;355,52 +113952-T1;113952;06/07/2015;344,41 +113952-T1;113952;07/07/2015;344,41 +113952-T1;113952;08/07/2015;348,45 +113952-T1;113952;09/07/2015;378,75 +113952-T1;113952;10/07/2015;359,56 +113952-T1;113952;11/07/2015;348,45 +113952-T1;113952;12/07/2015;349,46 +113952-T1;113952;13/07/2015;338,35 +113952-T1;113952;14/07/2015;392,89 +113952-T1;113952;15/07/2015;298,96 +113952-T1;113952;16/07/2015;301,99 +113952-T1;113952;17/07/2015;358,55 +113952-T1;113952;18/07/2015;332,29 +113952-T1;113952;19/07/2015;277,75 +113952-T1;113952;20/07/2015;333,3 +113952-T1;113952;21/07/2015;350,47 +113952-T1;113952;22/07/2015;331,28 +113952-T1;113952;23/07/2015;344,41 +113952-T1;113952;24/07/2015;246,44 +113952-T1;113952;25/07/2015;351,48 +113952-T1;113952;26/07/2015;350,47 +113952-T1;113952;27/07/2015;339,36 +113952-T1;113952;28/07/2015;330,27 +113952-T1;113952;29/07/2015;341,38 +113952-T1;113952;30/07/2015;339,36 +113952-T1;113952;31/07/2015;325,22 diff --git a/resources/example/csv/scada_values.csv b/resources/example/csv/scada_values.csv new file mode 100644 index 000000000..a0d35c9d8 --- /dev/null +++ b/resources/example/csv/scada_values.csv @@ -0,0 +1,553 @@ +scada_id;node_id;value_date;value +1080-T1;1080;01/05/2015;300,98 +1080-T1;1080;02/05/2015;300,98 +1080-T1;1080;03/05/2015;300,98 +1080-T1;1080;04/05/2015;300,98 +1080-T1;1080;05/05/2015;300,98 +1080-T1;1080;06/05/2015;300,98 +1080-T1;1080;07/05/2015;348,45 +1080-T1;1080;08/05/2015;378,75 +1080-T1;1080;09/05/2015;359,56 +1080-T1;1080;10/05/2015;348,45 +1080-T1;1080;11/05/2015;349,46 +1080-T1;1080;12/05/2015;348,45 +1080-T1;1080;13/05/2015;325,22 +1080-T1;1080;14/05/2015;278,76 +1080-T1;1080;15/05/2015;299,97 +1080-T1;1080;16/05/2015;349,46 +1080-T1;1080;17/05/2015;325,22 +1080-T1;1080;18/05/2015;316,13 +1080-T1;1080;19/05/2015;349,46 +1080-T1;1080;20/05/2015;350,47 +1080-T1;1080;21/05/2015;248,46 +1080-T1;1080;22/05/2015;348,45 +1080-T1;1080;23/05/2015;249,47 +1080-T1;1080;24/05/2015;351,48 +1080-T1;1080;25/05/2015;350,47 +1080-T1;1080;26/05/2015;349,46 +1080-T1;1080;27/05/2015;351,48 +1080-T1;1080;28/05/2015;249,47 +1080-T1;1080;29/05/2015;250,48 +1080-T1;1080;30/05/2015;249,47 +1080-T1;1080;31/05/2015;349,46 +1080-T1;1080;01/06/2015;307,04 +1080-T1;1080;02/06/2015;311,84 +1080-T1;1080;03/06/2015;310,88 +1080-T1;1080;04/06/2015;337,74 +1080-T1;1080;05/06/2015;327,19 +1080-T1;1080;06/06/2015;327,19 +1080-T1;1080;07/06/2015;331,03 +1080-T1;1080;08/06/2015;359,81 +1080-T1;1080;09/06/2015;341,58 +1080-T1;1080;10/06/2015;331,03 +1080-T1;1080;11/06/2015;331,99 +1080-T1;1080;12/06/2015;331,03 +1080-T1;1080;13/06/2015;308,96 +1080-T1;1080;14/06/2015;264,82 +1080-T1;1080;15/06/2015;284,97 +1080-T1;1080;16/06/2015;331,99 +1080-T1;1080;17/06/2015;308,96 +1080-T1;1080;18/06/2015;300,32 +1080-T1;1080;19/06/2015;331,99 +1080-T1;1080;20/06/2015;332,95 +1080-T1;1080;21/06/2015;236,04 +1080-T1;1080;22/06/2015;331,03 +1080-T1;1080;23/06/2015;332,95 +1080-T1;1080;24/06/2015;333,91 +1080-T1;1080;25/06/2015;332,95 +1080-T1;1080;26/06/2015;322,53 +1080-T1;1080;27/06/2015;333,91 +1080-T1;1080;28/06/2015;332,95 +1080-T1;1080;29/06/2015;333,91 +1080-T1;1080;30/06/2015;332,95 +1080-T1;1080;01/07/2015;349,46 +1080-T1;1080;02/07/2015;323,2 +1080-T1;1080;03/07/2015;227,25 +1080-T1;1080;04/07/2015;226,24 +1080-T1;1080;05/07/2015;254,52 +1080-T1;1080;06/07/2015;344,41 +1080-T1;1080;07/07/2015;344,41 +1080-T1;1080;08/07/2015;348,45 +1080-T1;1080;09/07/2015;378,75 +1080-T1;1080;10/07/2015;359,56 +1080-T1;1080;11/07/2015;348,45 +1080-T1;1080;12/07/2015;349,46 +1080-T1;1080;13/07/2015;338,35 +1080-T1;1080;14/07/2015;392,89 +1080-T1;1080;15/07/2015;298,96 +1080-T1;1080;16/07/2015;301,99 +1080-T1;1080;17/07/2015;358,55 +1080-T1;1080;18/07/2015;332,29 +1080-T1;1080;19/07/2015;301,99 +1080-T1;1080;20/07/2015;349,46 +1080-T1;1080;21/07/2015;350,47 +1080-T1;1080;22/07/2015;340,37 +1080-T1;1080;23/07/2015;348,45 +1080-T1;1080;24/07/2015;249,47 +1080-T1;1080;25/07/2015;351,48 +1080-T1;1080;26/07/2015;350,47 +1080-T1;1080;27/07/2015;349,46 +1080-T1;1080;28/07/2015;351,48 +1080-T1;1080;29/07/2015;341,38 +1080-T1;1080;30/07/2015;339,36 +1080-T1;1080;31/07/2015;336,33 +1097-T1;1097;01/05/2015;306,03 +1097-T1;1097;02/05/2015;306,03 +1097-T1;1097;03/05/2015;306,03 +1097-T1;1097;04/05/2015;306,03 +1097-T1;1097;05/05/2015;306,03 +1097-T1;1097;06/05/2015;306,03 +1097-T1;1097;07/05/2015;306,03 +1097-T1;1097;08/05/2015;351,93 +1097-T1;1097;09/05/2015;317,25 +1097-T1;1097;10/05/2015;351,93 +1097-T1;1097;11/05/2015;352,95 +1097-T1;1097;12/05/2015;351,93 +1097-T1;1097;13/05/2015;328,47 +1097-T1;1097;14/05/2015;383,56 +1097-T1;1097;15/05/2015;404,98 +1097-T1;1097;16/05/2015;352,95 +1097-T1;1097;17/05/2015;328,47 +1097-T1;1097;18/05/2015;319,29 +1097-T1;1097;19/05/2015;352,95 +1097-T1;1097;20/05/2015;353,97 +1097-T1;1097;21/05/2015;250,94 +1097-T1;1097;22/05/2015;351,93 +1097-T1;1097;23/05/2015;251,96 +1097-T1;1097;24/05/2015;354,99 +1097-T1;1097;25/05/2015;353,97 +1097-T1;1097;26/05/2015;352,95 +1097-T1;1097;27/05/2015;354,99 +1097-T1;1097;28/05/2015;251,96 +1097-T1;1097;29/05/2015;252,98 +1097-T1;1097;30/05/2015;353,97 +1097-T1;1097;31/05/2015;352,95 +1097-T1;1097;01/06/2015;326,43 +1097-T1;1097;02/06/2015;331,53 +1097-T1;1097;03/06/2015;330,51 +1097-T1;1097;04/06/2015;359,08 +1097-T1;1097;05/06/2015;347,85 +1097-T1;1097;06/06/2015;347,85 +1097-T1;1097;07/06/2015;351,93 +1097-T1;1097;08/06/2015;382,54 +1097-T1;1097;09/06/2015;363,16 +1097-T1;1097;10/06/2015;351,93 +1097-T1;1097;11/06/2015;352,95 +1097-T1;1097;12/06/2015;351,93 +1097-T1;1097;13/06/2015;328,47 +1097-T1;1097;14/06/2015;281,55 +1097-T1;1097;15/06/2015;302,97 +1097-T1;1097;16/06/2015;352,95 +1097-T1;1097;17/06/2015;328,47 +1097-T1;1097;18/06/2015;319,29 +1097-T1;1097;19/06/2015;352,95 +1097-T1;1097;20/06/2015;353,97 +1097-T1;1097;21/06/2015;250,94 +1097-T1;1097;22/06/2015;351,93 +1097-T1;1097;23/06/2015;353,97 +1097-T1;1097;24/06/2015;354,99 +1097-T1;1097;25/06/2015;353,97 +1097-T1;1097;26/06/2015;352,95 +1097-T1;1097;27/06/2015;354,99 +1097-T1;1097;28/06/2015;353,97 +1097-T1;1097;29/06/2015;354,99 +1097-T1;1097;30/06/2015;353,97 +1097-T1;1097;01/07/2015;352,95 +1097-T1;1097;02/07/2015;326,43 +1097-T1;1097;03/07/2015;331,53 +1097-T1;1097;04/07/2015;330,51 +1097-T1;1097;05/07/2015;359,08 +1097-T1;1097;06/07/2015;347,85 +1097-T1;1097;07/07/2015;347,85 +1097-T1;1097;08/07/2015;351,93 +1097-T1;1097;09/07/2015;382,54 +1097-T1;1097;10/07/2015;363,16 +1097-T1;1097;11/07/2015;351,93 +1097-T1;1097;12/07/2015;352,95 +1097-T1;1097;13/07/2015;341,73 +1097-T1;1097;14/07/2015;396,82 +1097-T1;1097;15/07/2015;301,95 +1097-T1;1097;16/07/2015;305,01 +1097-T1;1097;17/07/2015;362,14 +1097-T1;1097;18/07/2015;335,61 +1097-T1;1097;19/07/2015;305,01 +1097-T1;1097;20/07/2015;352,95 +1097-T1;1097;21/07/2015;353,97 +1097-T1;1097;22/07/2015;343,77 +1097-T1;1097;23/07/2015;351,93 +1097-T1;1097;24/07/2015;251,96 +1097-T1;1097;25/07/2015;354,99 +1097-T1;1097;26/07/2015;353,97 +1097-T1;1097;27/07/2015;352,95 +1097-T1;1097;28/07/2015;354,99 +1097-T1;1097;29/07/2015;344,79 +1097-T1;1097;30/07/2015;342,75 +1097-T1;1097;31/07/2015;339,69 +1101-T1;1101;01/05/2015;12,12 +1101-T1;1101;02/05/2015;12,12 +1101-T1;1101;03/05/2015;12,12 +1101-T1;1101;04/05/2015;12,12 +1101-T1;1101;05/05/2015;12,12 +1101-T1;1101;06/05/2015;12,12 +1101-T1;1101;07/05/2015;12,12 +1101-T1;1101;08/05/2015;12,12 +1101-T1;1101;09/05/2015;12,12 +1101-T1;1101;10/05/2015;12,12 +1101-T1;1101;11/05/2015;12,12 +1101-T1;1101;12/05/2015;12,12 +1101-T1;1101;13/05/2015;12,12 +1101-T1;1101;14/05/2015;12,12 +1101-T1;1101;15/05/2015;12,12 +1101-T1;1101;16/05/2015;12,12 +1101-T1;1101;17/05/2015;12,12 +1101-T1;1101;18/05/2015;12,12 +1101-T1;1101;19/05/2015;12,12 +1101-T1;1101;20/05/2015;12,12 +1101-T1;1101;21/05/2015;12,12 +1101-T1;1101;22/05/2015;12,12 +1101-T1;1101;23/05/2015;12,12 +1101-T1;1101;24/05/2015;12,12 +1101-T1;1101;25/05/2015;12,12 +1101-T1;1101;26/05/2015;12,12 +1101-T1;1101;27/05/2015;12,12 +1101-T1;1101;28/05/2015;12,12 +1101-T1;1101;29/05/2015;12,12 +1101-T1;1101;30/05/2015;12,12 +1101-T1;1101;31/05/2015;12,12 +1101-T1;1101;01/06/2015;12,12 +1101-T1;1101;02/06/2015;12,625 +1101-T1;1101;03/06/2015;12,524 +1101-T1;1101;04/06/2015;15,352 +1101-T1;1101;05/06/2015;14,241 +1101-T1;1101;06/06/2015;14,241 +1101-T1;1101;07/06/2015;14,645 +1101-T1;1101;08/06/2015;17,675 +1101-T1;1101;09/06/2015;15,756 +1101-T1;1101;10/06/2015;14,645 +1101-T1;1101;11/06/2015;14,746 +1101-T1;1101;12/06/2015;14,645 +1101-T1;1101;13/06/2015;12,322 +1101-T1;1101;14/06/2015;27,876 +1101-T1;1101;15/06/2015;19,897 +1101-T1;1101;16/06/2015;24,846 +1101-T1;1101;17/06/2015;22,422 +1101-T1;1101;18/06/2015;21,513 +1101-T1;1101;19/06/2015;24,846 +1101-T1;1101;20/06/2015;14,847 +1101-T1;1101;21/06/2015;14,746 +1101-T1;1101;22/06/2015;24,745 +1101-T1;1101;23/06/2015;14,847 +1101-T1;1101;24/06/2015;25,048 +1101-T1;1101;25/06/2015;14,847 +1101-T1;1101;26/06/2015;14,746 +1101-T1;1101;27/06/2015;14,948 +1101-T1;1101;28/06/2015;14,847 +1101-T1;1101;29/06/2015;14,948 +1101-T1;1101;30/06/2015;14,847 +1101-T1;1101;01/07/2015;12,12 +1101-T1;1101;02/07/2015;12,625 +1101-T1;1101;03/07/2015;12,524 +1101-T1;1101;04/07/2015;15,352 +1101-T1;1101;05/07/2015;14,241 +1101-T1;1101;06/07/2015;14,241 +1101-T1;1101;07/07/2015;14,645 +1101-T1;1101;08/07/2015;17,675 +1101-T1;1101;09/07/2015;15,756 +1101-T1;1101;10/07/2015;14,645 +1101-T1;1101;11/07/2015;14,746 +1101-T1;1101;12/07/2015;14,645 +1101-T1;1101;13/07/2015;12,322 +1101-T1;1101;14/07/2015;27,876 +1101-T1;1101;15/07/2015;19,897 +1101-T1;1101;16/07/2015;24,846 +1101-T1;1101;17/07/2015;22,422 +1101-T1;1101;18/07/2015;21,513 +1101-T1;1101;19/07/2015;24,846 +1101-T1;1101;20/07/2015;14,847 +1101-T1;1101;21/07/2015;14,746 +1101-T1;1101;22/07/2015;24,745 +1101-T1;1101;23/07/2015;14,847 +1101-T1;1101;24/07/2015;25,048 +1101-T1;1101;25/07/2015;14,847 +1101-T1;1101;26/07/2015;14,746 +1101-T1;1101;27/07/2015;14,948 +1101-T1;1101;28/07/2015;14,847 +1101-T1;1101;29/07/2015;14,948 +1101-T1;1101;30/07/2015;14,847 +1101-T1;1101;31/07/2015;15,26211 +111111-T1;111111;01/05/2015;334,512 +111111-T1;111111;02/05/2015;339,73875 +111111-T1;111111;03/05/2015;338,6934 +111111-T1;111111;04/05/2015;367,9632 +111111-T1;111111;05/05/2015;356,46435 +111111-T1;111111;06/05/2015;356,46435 +111111-T1;111111;07/05/2015;360,64575 +111111-T1;111111;08/05/2015;392,00625 +111111-T1;111111;09/05/2015;372,1446 +111111-T1;111111;10/05/2015;360,64575 +111111-T1;111111;11/05/2015;361,6911 +111111-T1;111111;12/05/2015;360,64575 +111111-T1;111111;13/05/2015;336,6027 +111111-T1;111111;14/05/2015;288,5166 +111111-T1;111111;15/05/2015;310,46895 +111111-T1;111111;16/05/2015;361,6911 +111111-T1;111111;17/05/2015;336,6027 +111111-T1;111111;18/05/2015;327,19455 +111111-T1;111111;19/05/2015;361,6911 +111111-T1;111111;20/05/2015;362,73645 +111111-T1;111111;21/05/2015;257,1561 +111111-T1;111111;22/05/2015;360,64575 +111111-T1;111111;23/05/2015;258,20145 +111111-T1;111111;24/05/2015;363,7818 +111111-T1;111111;25/05/2015;362,73645 +111111-T1;111111;26/05/2015;361,6911 +111111-T1;111111;27/05/2015;363,7818 +111111-T1;111111;28/05/2015;258,20145 +111111-T1;111111;29/05/2015;259,2468 +111111-T1;111111;30/05/2015;258,20145 +111111-T1;111111;31/05/2015;361,6911 +111111-T1;111111;01/06/2015;334,512 +111111-T1;111111;02/06/2015;339,73875 +111111-T1;111111;03/06/2015;338,6934 +111111-T1;111111;04/06/2015;367,9632 +111111-T1;111111;05/06/2015;356,46435 +111111-T1;111111;06/06/2015;356,46435 +111111-T1;111111;07/06/2015;360,64575 +111111-T1;111111;08/06/2015;392,00625 +111111-T1;111111;09/06/2015;372,1446 +111111-T1;111111;10/06/2015;360,64575 +111111-T1;111111;11/06/2015;361,6911 +111111-T1;111111;12/06/2015;360,64575 +111111-T1;111111;13/06/2015;336,6027 +111111-T1;111111;14/06/2015;288,5166 +111111-T1;111111;15/06/2015;310,46895 +111111-T1;111111;16/06/2015;361,6911 +111111-T1;111111;17/06/2015;336,6027 +111111-T1;111111;18/06/2015;327,19455 +111111-T1;111111;19/06/2015;361,6911 +111111-T1;111111;20/06/2015;362,73645 +111111-T1;111111;21/06/2015;257,1561 +111111-T1;111111;22/06/2015;360,64575 +111111-T1;111111;23/06/2015;362,73645 +111111-T1;111111;24/06/2015;363,7818 +111111-T1;111111;25/06/2015;362,73645 +111111-T1;111111;26/06/2015;361,6911 +111111-T1;111111;27/06/2015;363,7818 +111111-T1;111111;28/06/2015;362,73645 +111111-T1;111111;29/06/2015;363,7818 +111111-T1;111111;30/06/2015;362,73645 +111111-T1;111111;01/07/2015;361,6911 +111111-T1;111111;02/07/2015;334,512 +111111-T1;111111;03/07/2015;339,73875 +111111-T1;111111;04/07/2015;338,6934 +111111-T1;111111;05/07/2015;367,9632 +111111-T1;111111;06/07/2015;356,46435 +111111-T1;111111;07/07/2015;356,46435 +111111-T1;111111;08/07/2015;360,64575 +111111-T1;111111;09/07/2015;392,00625 +111111-T1;111111;10/07/2015;372,1446 +111111-T1;111111;11/07/2015;360,64575 +111111-T1;111111;12/07/2015;361,6911 +111111-T1;111111;13/07/2015;350,19225 +111111-T1;111111;14/07/2015;406,64115 +111111-T1;111111;15/07/2015;309,4236 +111111-T1;111111;16/07/2015;312,55965 +111111-T1;111111;17/07/2015;371,09925 +111111-T1;111111;18/07/2015;343,92015 +111111-T1;111111;19/07/2015;312,55965 +111111-T1;111111;20/07/2015;361,6911 +111111-T1;111111;21/07/2015;362,73645 +111111-T1;111111;22/07/2015;352,28295 +111111-T1;111111;23/07/2015;360,64575 +111111-T1;111111;24/07/2015;258,20145 +111111-T1;111111;25/07/2015;363,7818 +111111-T1;111111;26/07/2015;362,73645 +111111-T1;111111;27/07/2015;361,6911 +111111-T1;111111;28/07/2015;363,7818 +111111-T1;111111;29/07/2015;353,3283 +111111-T1;111111;30/07/2015;351,2376 +111111-T1;111111;31/07/2015;348,10155 +113766-T1;113766;01/05/2015;303 +113766-T1;113766;02/05/2015;303 +113766-T1;113766;03/05/2015;303 +113766-T1;113766;04/05/2015;303 +113766-T1;113766;05/05/2015;303 +113766-T1;113766;06/05/2015;303 +113766-T1;113766;07/05/2015;303 +113766-T1;113766;08/05/2015;348,45 +113766-T1;113766;09/05/2015;314,11 +113766-T1;113766;10/05/2015;348,45 +113766-T1;113766;11/05/2015;349,46 +113766-T1;113766;12/05/2015;348,45 +113766-T1;113766;13/05/2015;325,22 +113766-T1;113766;14/05/2015;379,76 +113766-T1;113766;15/05/2015;400,97 +113766-T1;113766;16/05/2015;349,46 +113766-T1;113766;17/05/2015;325,22 +113766-T1;113766;18/05/2015;316,13 +113766-T1;113766;19/05/2015;349,46 +113766-T1;113766;20/05/2015;350,47 +113766-T1;113766;21/05/2015;248,46 +113766-T1;113766;22/05/2015;348,45 +113766-T1;113766;23/05/2015;249,47 +113766-T1;113766;24/05/2015;351,48 +113766-T1;113766;25/05/2015;350,47 +113766-T1;113766;26/05/2015;349,46 +113766-T1;113766;27/05/2015;351,48 +113766-T1;113766;28/05/2015;249,47 +113766-T1;113766;29/05/2015;250,48 +113766-T1;113766;30/05/2015;350,47 +113766-T1;113766;31/05/2015;349,46 +113766-T1;113766;01/06/2015;323,2 +113766-T1;113766;02/06/2015;328,25 +113766-T1;113766;03/06/2015;327,24 +113766-T1;113766;04/06/2015;355,52 +113766-T1;113766;05/06/2015;344,41 +113766-T1;113766;06/06/2015;344,41 +113766-T1;113766;07/06/2015;348,45 +113766-T1;113766;08/06/2015;378,75 +113766-T1;113766;09/06/2015;359,56 +113766-T1;113766;10/06/2015;348,45 +113766-T1;113766;11/06/2015;349,46 +113766-T1;113766;12/06/2015;348,45 +113766-T1;113766;13/06/2015;325,22 +113766-T1;113766;14/06/2015;278,76 +113766-T1;113766;15/06/2015;299,97 +113766-T1;113766;16/06/2015;349,46 +113766-T1;113766;17/06/2015;325,22 +113766-T1;113766;18/06/2015;316,13 +113766-T1;113766;19/06/2015;349,46 +113766-T1;113766;20/06/2015;350,47 +113766-T1;113766;21/06/2015;248,46 +113766-T1;113766;22/06/2015;348,45 +113766-T1;113766;23/06/2015;350,47 +113766-T1;113766;24/06/2015;351,48 +113766-T1;113766;25/06/2015;350,47 +113766-T1;113766;26/06/2015;349,46 +113766-T1;113766;27/06/2015;351,48 +113766-T1;113766;28/06/2015;350,47 +113766-T1;113766;29/06/2015;351,48 +113766-T1;113766;30/06/2015;350,47 +113766-T1;113766;01/07/2015;349,46 +113766-T1;113766;02/07/2015;323,2 +113766-T1;113766;03/07/2015;328,25 +113766-T1;113766;04/07/2015;327,24 +113766-T1;113766;05/07/2015;355,52 +113766-T1;113766;06/07/2015;344,41 +113766-T1;113766;07/07/2015;344,41 +113766-T1;113766;08/07/2015;348,45 +113766-T1;113766;09/07/2015;378,75 +113766-T1;113766;10/07/2015;359,56 +113766-T1;113766;11/07/2015;348,45 +113766-T1;113766;12/07/2015;349,46 +113766-T1;113766;13/07/2015;338,35 +113766-T1;113766;14/07/2015;392,89 +113766-T1;113766;15/07/2015;298,96 +113766-T1;113766;16/07/2015;301,99 +113766-T1;113766;17/07/2015;358,55 +113766-T1;113766;18/07/2015;332,29 +113766-T1;113766;19/07/2015;301,99 +113766-T1;113766;20/07/2015;349,46 +113766-T1;113766;21/07/2015;350,47 +113766-T1;113766;22/07/2015;340,37 +113766-T1;113766;23/07/2015;348,45 +113766-T1;113766;24/07/2015;249,47 +113766-T1;113766;25/07/2015;351,48 +113766-T1;113766;26/07/2015;350,47 +113766-T1;113766;27/07/2015;349,46 +113766-T1;113766;28/07/2015;351,48 +113766-T1;113766;29/07/2015;341,38 +113766-T1;113766;30/07/2015;339,36 +113766-T1;113766;31/07/2015;336,33 +113952-T1;113952;01/05/2015;346,43 +113952-T1;113952;02/05/2015;325,22 +113952-T1;113952;03/05/2015;336,33 +113952-T1;113952;04/05/2015;336,33 +113952-T1;113952;05/05/2015;336,33 +113952-T1;113952;06/05/2015;345,42 +113952-T1;113952;07/05/2015;345,42 +113952-T1;113952;08/05/2015;378,75 +113952-T1;113952;09/05/2015;359,56 +113952-T1;113952;10/05/2015;348,45 +113952-T1;113952;11/05/2015;349,46 +113952-T1;113952;12/05/2015;348,45 +113952-T1;113952;13/05/2015;325,22 +113952-T1;113952;14/05/2015;278,76 +113952-T1;113952;15/05/2015;299,97 +113952-T1;113952;16/05/2015;349,46 +113952-T1;113952;17/05/2015;325,22 +113952-T1;113952;18/05/2015;316,13 +113952-T1;113952;19/05/2015;349,46 +113952-T1;113952;20/05/2015;350,47 +113952-T1;113952;21/05/2015;248,46 +113952-T1;113952;22/05/2015;348,45 +113952-T1;113952;23/05/2015;249,47 +113952-T1;113952;24/05/2015;351,48 +113952-T1;113952;25/05/2015;350,47 +113952-T1;113952;26/05/2015;349,46 +113952-T1;113952;27/05/2015;351,48 +113952-T1;113952;28/05/2015;249,47 +113952-T1;113952;29/05/2015;250,48 +113952-T1;113952;30/05/2015;249,47 +113952-T1;113952;31/05/2015;349,46 +113952-T1;113952;01/06/2015;323,2 +113952-T1;113952;02/06/2015;328,25 +113952-T1;113952;03/06/2015;327,24 +113952-T1;113952;04/06/2015;355,52 +113952-T1;113952;05/06/2015;344,41 +113952-T1;113952;06/06/2015;344,41 +113952-T1;113952;07/06/2015;348,45 +113952-T1;113952;08/06/2015;378,75 +113952-T1;113952;09/06/2015;359,56 +113952-T1;113952;10/06/2015;348,45 +113952-T1;113952;11/06/2015;349,46 +113952-T1;113952;12/06/2015;348,45 +113952-T1;113952;13/06/2015;325,22 +113952-T1;113952;14/06/2015;278,76 +113952-T1;113952;15/06/2015;299,97 +113952-T1;113952;16/06/2015;349,46 +113952-T1;113952;17/06/2015;325,22 +113952-T1;113952;18/06/2015;316,13 +113952-T1;113952;19/06/2015;349,46 +113952-T1;113952;20/06/2015;350,47 +113952-T1;113952;21/06/2015;248,46 +113952-T1;113952;22/06/2015;348,45 +113952-T1;113952;23/06/2015;350,47 +113952-T1;113952;24/06/2015;351,48 +113952-T1;113952;25/06/2015;350,47 +113952-T1;113952;26/06/2015;248,46 +113952-T1;113952;27/06/2015;351,48 +113952-T1;113952;28/06/2015;249,47 +113952-T1;113952;29/06/2015;351,48 +113952-T1;113952;30/06/2015;350,47 +113952-T1;113952;01/07/2015;349,46 +113952-T1;113952;02/07/2015;323,2 +113952-T1;113952;03/07/2015;328,25 +113952-T1;113952;04/07/2015;327,24 +113952-T1;113952;05/07/2015;355,52 +113952-T1;113952;06/07/2015;344,41 +113952-T1;113952;07/07/2015;344,41 +113952-T1;113952;08/07/2015;348,45 +113952-T1;113952;09/07/2015;378,75 +113952-T1;113952;10/07/2015;359,56 +113952-T1;113952;11/07/2015;348,45 +113952-T1;113952;12/07/2015;349,46 +113952-T1;113952;13/07/2015;338,35 +113952-T1;113952;14/07/2015;392,89 +113952-T1;113952;15/07/2015;298,96 +113952-T1;113952;16/07/2015;301,99 +113952-T1;113952;17/07/2015;358,55 +113952-T1;113952;18/07/2015;332,29 +113952-T1;113952;19/07/2015;277,75 +113952-T1;113952;20/07/2015;333,3 +113952-T1;113952;21/07/2015;350,47 +113952-T1;113952;22/07/2015;331,28 +113952-T1;113952;23/07/2015;344,41 +113952-T1;113952;24/07/2015;246,44 +113952-T1;113952;25/07/2015;351,48 +113952-T1;113952;26/07/2015;350,47 +113952-T1;113952;27/07/2015;339,36 +113952-T1;113952;28/07/2015;330,27 +113952-T1;113952;29/07/2015;341,38 +113952-T1;113952;30/07/2015;339,36 +113952-T1;113952;31/07/2015;325,22 From f114585d579fb2227bceff87827e7842c72f147a Mon Sep 17 00:00:00 2001 From: Albert Bofill Date: Wed, 23 Aug 2023 14:23:26 +0200 Subject: [PATCH 04/57] New icons 215 (utils manager) and 219 (netscenario manager) --- icons/toolbars/epa/219.png | Bin 0 -> 8975 bytes icons/toolbars/utilities/215.png | Bin 0 -> 7174 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 icons/toolbars/epa/219.png create mode 100644 icons/toolbars/utilities/215.png diff --git a/icons/toolbars/epa/219.png b/icons/toolbars/epa/219.png new file mode 100644 index 0000000000000000000000000000000000000000..1d881348dbae700a467fd94e716fa2b9b67d25fa GIT binary patch literal 8975 zcmV+qBk zaB^>EX>4U6ba`-PAZ2)IW&i+q+TEL3mLxf^oZq<$Ex|dH%i(yAcA(|!GtzUaq3`Wq z_equA6|MS1M`Ct4gK0hYJTvAQx;ZLZcy2dZ%xqt4feZu+s{^R2_ z`}2MC`GMmt&#S-xOzXYA@qYZeA&2+<{_}m4$2(4W2YNsF7|`p{?)&!r zx2f*_($cr(y#KTG^XbRMzy3R9He*KK^v<~Dt$)tn?mo%ufA1Twg}?co3+;I)@T$M# z@B3#yx9$%c`1#u}`}d6ZegCx`cc71DrC;{xec#4E@88*_?=!OQ^U3b}jB2y{`TpnI z{_Q=>-s`Teg=E;S^e*aSDd#sX>};n$whp7snjezMeVp3Xn2b?o@I z!A{F8>^iT*4yG8~a+z1>hV$n=9NASjyi5@EW4Fu3S3j|i^8?Fy-gcjJvFEu}&*Nc* zCr`_j&N3J_{`q5med9m<`7zMma&v2+^0`;c%gMi(hAgMQxe9~4W>A>u6Kn3v^XnfO z)?>kVwz;st_VhbMkM_&A{IRotqT$l;T$i_bz5}pDJUcQO>#@L-tdBO?Cp(v|WgiRn zY0TXD;5rtt(L^_yr3>CCj8mMR%{|$kYh85rZQwCi)m+ zj49?=VvQ~N6jDqnKR&Ww!Gc4wU#o}2O zz@eRN_7od}ljUTyr#f%EkB(VJ8E0Bq3=4*3UEKE5c3+nJtKAH{`)}>${$x2L)BR6a z&d7A%Ecd(J{$RD)4&3@YxEqQZ{4P+wOK80RFZ#|@4HPGv_u->H!X*rSp%FkSMVPw0VByFT_=f7{k}W7`>V7v|7i z%M3E|u2r8u&A;!N?{Ch6m(5fkTOS`<9edl4k6YYp=(kS%t(5n0J>pfhzC<8rp- z#|`E$cl_(&&7a5r_rsh2?(`jz+u7Eyt!v@?_M5x^xYb&Fkt-l(fW}Vo48*MV`<%XK zjb5|zAG7Mw5s#rf-7aI@1{_+?W$cJO!Yec zF?#`KK}Vp&;~jQ3o;!=*Jb&+MpQYywQvVhNRu-NB%K$rzd4xPoVwym7;D2yBO`rx& z5TIQ)3Vvo}JID;f&cRj*i)Np$*N1WCguvRag;*o=VU*U%0DB2pK%~hd$W=S0Jyr_^ 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 literal 0 HcmV?d00001 diff --git a/icons/toolbars/utilities/215.png b/icons/toolbars/utilities/215.png new file mode 100644 index 0000000000000000000000000000000000000000..1bdb81864d2aadee7090d656fa0658d90c1db01e GIT binary patch literal 7174 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 Date: Tue, 29 Aug 2023 16:54:54 +0200 Subject: [PATCH 05/57] WIP: utils manager button --- config/giswater.config | 3 +- core/toolbars/buttons.py | 1 + core/toolbars/utilities/utils_manager_btn.py | 238 ++++++++++++++++++ core/ui/toolbars/utilities/mapzone_config.ui | 187 ++++++++++++++ core/ui/toolbars/utilities/mapzone_manager.ui | 176 +++++++++++++ core/ui/ui_manager.py | 8 + icons/toolbars/utilities/{215.png => 217.png} | Bin 7 files changed, 612 insertions(+), 1 deletion(-) create mode 100644 core/toolbars/utilities/utils_manager_btn.py create mode 100644 core/ui/toolbars/utilities/mapzone_config.ui create mode 100644 core/ui/toolbars/utilities/mapzone_manager.ui rename icons/toolbars/utilities/{215.png => 217.png} (100%) diff --git a/config/giswater.config b/config/giswater.config index 12ba5e536..8b88f8464 100644 --- a/config/giswater.config +++ b/config/giswater.config @@ -23,7 +23,7 @@ edit = 01, 02, 16, 17, 28, 44, 20, 68, 69, 39, 34, 66, 33, 67 cad = 71, 72 epa = 218, 23, 25, 29, 215 plan = 45, 46, 50 -utilities = 99, 206, 214, 58, 83, 59 +utilities = 99, 206, 214, 58, 83, 59, 217 toc = 306, 308 [project_exclude] @@ -79,6 +79,7 @@ ud = 26, 27 99 = GwConfigButton 214 = GwWorkspaceManagerButton 206 = GwToolBoxButton +217 = GwUtilsManagerButton # toc 306 = GwAddChildLayerButton 308 = GwEpaWorldButton diff --git a/core/toolbars/buttons.py b/core/toolbars/buttons.py index 249b84e80..4610d525c 100644 --- a/core/toolbars/buttons.py +++ b/core/toolbars/buttons.py @@ -60,6 +60,7 @@ from .utilities.print_btn import GwPrintButton from .utilities.project_check_btn import GwProjectCheckButton from .utilities.workspace_manager_btn import GwWorkspaceManagerButton +from .utilities.utils_manager_btn import GwUtilsManagerButton # ToC from .toc.add_child_layer_button import GwAddChildLayerButton diff --git a/core/toolbars/utilities/utils_manager_btn.py b/core/toolbars/utilities/utils_manager_btn.py new file mode 100644 index 000000000..fb878d69d --- /dev/null +++ b/core/toolbars/utilities/utils_manager_btn.py @@ -0,0 +1,238 @@ +""" +This file is part of Giswater 3 +The program is free software: you can redistribute it and/or modify it under the terms of the GNU +General Public License as published by the Free Software Foundation, either version 3 of the License, +or (at your option) any later version. +""" +# -*- coding: utf-8 -*- +from functools import partial +from sip import isdeleted + +from qgis.PyQt.QtGui import QKeySequence +from qgis.PyQt.QtWidgets import QAction, QMenu, QTableView, QAbstractItemView +from qgis.PyQt.QtSql import QSqlTableModel + +from ..dialog import GwAction +from ...ui.ui_manager import GwMapzoneManagerUi, GwMapzoneConfigUi +from ...shared.info import GwInfo +from ...shared.psector import GwPsector +from ...utils import tools_gw +from .... import global_vars +from ....libs import tools_qgis, tools_qt, lib_vars + + +class GwUtilsManagerButton(GwAction): + """ Button 217: Utils manager """ + + def __init__(self, icon_path, action_name, text, toolbar, action_group): + + super().__init__(icon_path, action_name, text, toolbar, action_group) + + # First add the menu before adding it to the toolbar + if toolbar is not None: + toolbar.removeAction(self.action) + + self.info_feature = GwInfo('data') + + self.menu = QMenu() + self.menu.setObjectName("GW_utils_menu") + self._fill_utils_menu() + + self.menu.aboutToShow.connect(self._fill_utils_menu) + + if toolbar is not None: + self.action.setMenu(self.menu) + toolbar.addAction(self.action) + + + def clicked_event(self): + + if self.menu.property('last_selection') is not None: + self.info_feature.add_feature(self.menu.property('last_selection'), action=self) + + + # region private functions + + + def _fill_utils_menu(self): + """ Fill add arc menu """ + + # disconnect and remove previuos signals and actions + actions = self.menu.actions() + for action in actions: + action.disconnect() + self.menu.removeAction(action) + del action + action_group = self.action.property('action_group') + + buttons = [['Mapzones manager', '_mapzones_manager'], ['Prices manager', '_prices_manager']] + + for button in buttons: + button_name = button[0] + button_function = button[1] + obj_action = QAction(str(button_name), action_group) + obj_action.setObjectName(button_name) + obj_action.setProperty('action_group', action_group) + # if f"{feature_cat.shortcut_key}" not in global_vars.shortcut_keys: + # obj_action.setShortcut(QKeySequence(str(feature_cat.shortcut_key))) + # try: + # obj_action.setShortcutVisibleInContextMenu(True) + # except Exception: + # pass + self.menu.addAction(obj_action) + obj_action.triggered.connect(partial(getattr(self, button_function))) + # obj_action.triggered.connect(partial(self._save_last_selection, self.menu, feature_cat)) + + + def _save_last_selection(self, menu, feature_cat): + menu.setProperty("last_selection", feature_cat) + + + def _mapzones_manager(self): + print(f"mapzones manager") + # Create dialog + self.mapzone_mng_dlg = GwMapzoneManagerUi() + tools_gw.load_settings(self.mapzone_mng_dlg) + + # Add icons + # tools_gw.add_icon(self.dlg_dscenario.btn_toc, "306", sub_folder="24x24") + # tools_gw.add_icon(self.dlg_dscenario.btn_insert, "111", sub_folder="24x24") + # tools_gw.add_icon(self.dlg_dscenario.btn_delete, "112", sub_folder="24x24") + # tools_gw.add_icon(self.dlg_dscenario.btn_snapping, "137") + + default_tab_idx = 0 + tabs = ['sector', 'dma', 'presszone', 'dqa'] + for tab in tabs: + view = f'v_edit_{tab}' + qtableview = QTableView() + qtableview.setObjectName(f"tbl_{view}") + # qtableview.clicked.connect(partial(self._manage_highlight, qtableview, view)) + tab_idx = self.mapzone_mng_dlg.main_tab.addTab(qtableview, f"{view.split('_')[-1].capitalize()}") + self.mapzone_mng_dlg.main_tab.widget(tab_idx).setObjectName(view) + + # if view.split('_')[-1].upper() == self.selected_dscenario_type: + # default_tab_idx = tab_idx + + # self.dlg_dscenario.main_tab.setCurrentIndex(default_tab_idx) + + # Connect signals + self.mapzone_mng_dlg.btn_config.clicked.connect(partial(self._manage_config)) + # self.mapzone_mng_dlg.btn_toc.clicked.connect(partial(self._manage_add_layers)) + # self.mapzone_mng_dlg.btn_insert.clicked.connect(partial(self._manage_insert)) + # self.mapzone_mng_dlg.btn_delete.clicked.connect(partial(self._manage_delete)) + # self.mapzone_mng_dlg.btn_snapping.clicked.connect(partial(self._manage_select)) + self.mapzone_mng_dlg.main_tab.currentChanged.connect(partial(self._manage_current_changed)) + # self.mapzone_mng_dlg.finished.connect(self._selection_end) + self.mapzone_mng_dlg.finished.connect(partial(tools_gw.close_dialog, self.mapzone_mng_dlg, True)) + + self._manage_current_changed() + + # sql = f"SELECT name FROM v_edit_cat_dscenario WHERE dscenario_id = {self.selected_dscenario_id}" + # row = tools_db.get_row(sql) + # dscenario_name = row[0] + # title = f"Dscenario {self.selected_dscenario_id} - {dscenario_name}" + tools_gw.open_dialog(self.mapzone_mng_dlg, 'mapzone_manager') + + + def _manage_current_changed(self): + """ Manages tab changes """ + + # Fill current table + self._fill_mapzone_table() + + # # Refresh txt_feature_id + # tools_qt.set_widget_text(self.dlg_dscenario, self.dlg_dscenario.txt_feature_id, '') + # self.dlg_dscenario.txt_feature_id.setStyleSheet(None) + # + # # Manage insert typeahead + # # Get index of selected tab + # index_tab = self.dlg_dscenario.main_tab.currentIndex() + # tab_name = self.dlg_dscenario.main_tab.widget(index_tab).objectName() + # enable = tab_name not in self.filter_disabled + # + # # Populate typeahead + # if enable: + # self._manage_feature_type() + # table_name = f"v_edit_{tab_name.replace('dscenario_', '')}" + # feature_type = self.feature_type + # if self.filter_dict.get(tab_name): + # table_name = self.filter_dict[tab_name]['filter_table'] + # feature_type = self.filter_dict[tab_name]['feature_type'] + # tools_gw.set_completer_widget(table_name, self.dlg_dscenario.txt_feature_id, feature_type, add_id=True) + # + # # Deactivate btn_snapping functionality + # self._selection_end() + # + # # Enable/disable filter & buttons + # self._enable_widgets(enable) + + + def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=None): + """ Fill dscenario table with data from its corresponding table """ + + # Manage exception if dialog is closed + if isdeleted(self.mapzone_mng_dlg): + return + + self.table_name = f"{self.mapzone_mng_dlg.main_tab.currentWidget().objectName()}" + widget = self.mapzone_mng_dlg.main_tab.currentWidget() + + if self.schema_name not in self.table_name: + self.table_name = self.schema_name + "." + self.table_name + + # Set model + model = QSqlTableModel(db=lib_vars.qgis_db_credentials) + model.setTable(self.table_name) + # model.setFilter(f"dscenario_id = {self.selected_dscenario_id}") + model.setEditStrategy(QSqlTableModel.OnFieldChange) + model.setSort(0, 0) + model.select() + # # Set item delegates + # readonly_delegate = ReadOnlyDelegate(widget) + # widget.setItemDelegateForColumn(0, readonly_delegate) + # widget.setItemDelegateForColumn(1, readonly_delegate) + # editable_delegate = EditableDelegate(widget) + # for x in range(2, model.columnCount()): + # widget.setItemDelegateForColumn(x, editable_delegate) + + + # Check for errors + if model.lastError().isValid(): + tools_qgis.show_warning(model.lastError().text(), dialog=self.mapzone_mng_dlg) + # Attach model to table view + if expr: + widget.setModel(model) + widget.model().setFilter(expr) + else: + widget.setModel(model) + widget.setSortingEnabled(True) + + # Set widget & model properties + tools_qt.set_tableview_config(widget, selection=QAbstractItemView.SelectRows, edit_triggers=set_edit_triggers, sectionResizeMode=0) + tools_gw.set_tablemodel_config(self.mapzone_mng_dlg, widget, f"{self.table_name[len(f'{self.schema_name}.'):]}") + + # Hide unwanted columns + col_idx = tools_qt.get_col_index_by_col_name(widget, 'dscenario_id') + if col_idx not in (None, False): + widget.setColumnHidden(col_idx, True) + + geom_col_idx = tools_qt.get_col_index_by_col_name(widget, 'the_geom') + if geom_col_idx not in (None, False): + widget.setColumnHidden(geom_col_idx, True) + + # Sort the table by feature id + model.sort(1, 0) + + + def _manage_config(self): + self.config_dlg = GwMapzoneConfigUi() + tools_gw.load_settings(self.config_dlg) + + tools_gw.open_dialog(self.config_dlg, 'mapzone_config') + + + def _prices_manager(self): + self.psector = GwPsector() + self.psector.manage_prices() + + # endregion diff --git a/core/ui/toolbars/utilities/mapzone_config.ui b/core/ui/toolbars/utilities/mapzone_config.ui new file mode 100644 index 000000000..af6103751 --- /dev/null +++ b/core/ui/toolbars/utilities/mapzone_config.ui @@ -0,0 +1,187 @@ + + + dlg_mapzone_config + + + + 0 + 0 + 658 + 492 + + + + Mapzone Config + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + OK + + + + + + + Cancel + + + + + + + + + + + nodeParent: + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + + + toArc: + + + + + + + + 0 + 0 + + + + + + + + + + + forceClosed: + + + + + + + ADD + + + + + + + + 0 + 0 + + + + + + + + + + + ADD + + + + + + + + + + + Preview: + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Clear Preview + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + diff --git a/core/ui/toolbars/utilities/mapzone_manager.ui b/core/ui/toolbars/utilities/mapzone_manager.ui new file mode 100644 index 000000000..f11e0e47c --- /dev/null +++ b/core/ui/toolbars/utilities/mapzone_manager.ui @@ -0,0 +1,176 @@ + + + dlg_mapzone_manager + + + + 0 + 0 + 1003 + 786 + + + + Mapzone manager + + + + + + + 0 + 0 + + + + + + + + + + + 0 + 0 + + + + Delete + + + + + + + + 0 + 0 + + + + Config + + + + + + + Qt::Horizontal + + + + 80 + 20 + + + + + + + + + 0 + 0 + + + + + + + + + + + Filter by: Mapzone name + + + + + + + + 0 + 0 + + + + Update + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Close + + + + + + + + 0 + 0 + + + + Create + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + Toggle active + + + + + + + + + + + + + txt_name + btn_config + btn_delete + btn_cancel + + + + diff --git a/core/ui/ui_manager.py b/core/ui/ui_manager.py index f2462c1ce..e1396436d 100644 --- a/core/ui/ui_manager.py +++ b/core/ui/ui_manager.py @@ -300,6 +300,14 @@ class GwWorkspaceManagerUi(GwDialog, FORM_CLASS): FORM_CLASS = _get_ui_class('workspace_create.ui', 'utilities') class GwCreateWorkspaceUi(GwDialog, FORM_CLASS): pass + +FORM_CLASS = _get_ui_class('mapzone_manager.ui', 'utilities') +class GwMapzoneManagerUi(GwDialog, FORM_CLASS): + pass + +FORM_CLASS = _get_ui_class('mapzone_config.ui', 'utilities') +class GwMapzoneConfigUi(GwDialog, FORM_CLASS): + pass # endregion # region TOC diff --git a/icons/toolbars/utilities/215.png b/icons/toolbars/utilities/217.png similarity index 100% rename from icons/toolbars/utilities/215.png rename to icons/toolbars/utilities/217.png From 6a37667f667061928f297865442722e18244daec Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 30 Aug 2023 09:47:47 +0200 Subject: [PATCH 06/57] WIP utils_manager: mapzones_config selection buttons --- core/toolbars/utilities/utils_manager_btn.py | 209 ++++++++++++++++++- core/ui/toolbars/utilities/mapzone_config.ui | 26 +-- 2 files changed, 218 insertions(+), 17 deletions(-) diff --git a/core/toolbars/utilities/utils_manager_btn.py b/core/toolbars/utilities/utils_manager_btn.py index fb878d69d..487dc57cb 100644 --- a/core/toolbars/utilities/utils_manager_btn.py +++ b/core/toolbars/utilities/utils_manager_btn.py @@ -8,12 +8,16 @@ from functools import partial from sip import isdeleted +from qgis.PyQt.QtCore import Qt from qgis.PyQt.QtGui import QKeySequence from qgis.PyQt.QtWidgets import QAction, QMenu, QTableView, QAbstractItemView from qgis.PyQt.QtSql import QSqlTableModel +from qgis.gui import QgsMapToolEmitPoint + from ..dialog import GwAction from ...ui.ui_manager import GwMapzoneManagerUi, GwMapzoneConfigUi +from ...utils.snap_manager import GwSnapManager from ...shared.info import GwInfo from ...shared.psector import GwPsector from ...utils import tools_gw @@ -44,6 +48,9 @@ def __init__(self, icon_path, action_name, text, toolbar, action_group): self.action.setMenu(self.menu) toolbar.addAction(self.action) + self.snapper_manager = GwSnapManager(self.iface) + self.snapper_manager.set_snapping_layers() + def clicked_event(self): @@ -53,6 +60,7 @@ def clicked_event(self): # region private functions + # region menu main functions def _fill_utils_menu(self): """ Fill add arc menu """ @@ -134,6 +142,15 @@ def _mapzones_manager(self): tools_gw.open_dialog(self.mapzone_mng_dlg, 'mapzone_manager') + def _prices_manager(self): + self.psector = GwPsector() + self.psector.manage_prices() + + + # endregion + + # region mapzone manager functions + def _manage_current_changed(self): """ Manages tab changes """ @@ -168,7 +185,7 @@ def _manage_current_changed(self): def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=None): - """ Fill dscenario table with data from its corresponding table """ + """ Fill mapzone table with data from its corresponding table """ # Manage exception if dialog is closed if isdeleted(self.mapzone_mng_dlg): @@ -225,14 +242,198 @@ def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=N def _manage_config(self): + """ Dialog from config button """ + + # Build dialog self.config_dlg = GwMapzoneConfigUi() tools_gw.load_settings(self.config_dlg) + # Button icons + tools_gw.add_icon(self.config_dlg.btn_snapping_nodeParent, "137") + tools_gw.add_icon(self.config_dlg.btn_snapping_toArc, "137") + tools_gw.add_icon(self.config_dlg.btn_snapping_forceClosed, "137") + + # Set variables + self.node_parent = None # (snapped feature of nodeParent selection, node_id) + self.to_arc = None # (snapped feature of toArc selection, arc_id) + + # Connect signals + self.child_type = None + self.config_dlg.btn_snapping_nodeParent.clicked.connect( + partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_nodeParent, 'v_edit_node', 'nodeParent', None, + self.child_type)) + self.config_dlg.btn_snapping_toArc.clicked.connect( + partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_toArc, 'v_edit_arc', 'toArc', None, + self.child_type)) + self.config_dlg.btn_cancel.clicked.connect(self.config_dlg.reject) + self.config_dlg.finished.connect(partial(tools_gw.close_dialog, self.config_dlg, True)) + + # Enable/disable certain widgets + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_nodeParent, True) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, False) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, False) + + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_forceClosed, True) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_forceClosed, False) + + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_clear_preview, True) + + # Open dialog tools_gw.open_dialog(self.config_dlg, 'mapzone_config') - def _prices_manager(self): - self.psector = GwPsector() - self.psector.manage_prices() + def get_snapped_feature_id(self, dialog, action, layer_name, option, widget_name, child_type): + """ Snap feature and set a value into dialog """ + + layer = tools_qgis.get_layer_by_tablename(layer_name) + if not layer: + action.setChecked(False) + return + # if widget_name is not None: + # widget = dialog.findChild(QWidget, widget_name) + # if widget is None: + # action.setChecked(False) + # return + # Block the signals of de dialog so that the key ESC does not close it + dialog.blockSignals(True) + + self.vertex_marker = self.snapper_manager.vertex_marker + + # Store user snapping configuration + self.snapper_manager.store_snapping_options() + + # Disable snapping + self.snapper_manager.set_snapping_status() + + # if we are doing info over connec or over node + if option in ('arc', 'set_to_arc'): + self.snapper_manager.config_snap_to_arc() + elif option == 'node': + self.snapper_manager.config_snap_to_node() + # Set signals + tools_gw.disconnect_signal('mapzone_manager_snapping', 'get_snapped_feature_id_xyCoordinates_mouse_moved') + tools_gw.connect_signal(self.canvas.xyCoordinates, partial(self._mouse_moved, layer), + 'mapzone_manager_snapping', 'get_snapped_feature_id_xyCoordinates_mouse_moved') + + tools_gw.disconnect_signal('mapzone_manager_snapping', 'get_snapped_feature_id_ep_canvasClicked_get_id') + emit_point = QgsMapToolEmitPoint(self.canvas) + self.canvas.setMapTool(emit_point) + tools_gw.connect_signal(emit_point.canvasClicked, partial(self._get_id, dialog, action, option, emit_point, child_type), + 'mapzone_manager_snapping', 'get_snapped_feature_id_ep_canvasClicked_get_id') + + + def _mouse_moved(self, layer, point): + """ Mouse motion detection """ + + # Set active layer + self.iface.setActiveLayer(layer) + layer_name = tools_qgis.get_layer_source_table_name(layer) + + # Get clicked point + self.vertex_marker.hide() + event_point = self.snapper_manager.get_event_point(point=point) + + # Snapping + result = self.snapper_manager.snap_to_current_layer(event_point) + if result.isValid(): + layer = self.snapper_manager.get_snapped_layer(result) + # Check feature + viewname = tools_qgis.get_layer_source_table_name(layer) + if viewname == layer_name: + self.snapper_manager.add_marker(result, self.vertex_marker) + + + def _get_id(self, dialog, action, option, emit_point, child_type, point, event): + """ Get selected attribute from snapped feature """ + + # @options{'key':['att to get from snapped feature', 'function to call']} + options = {'nodeParent': ['node_id', '_set_node_parent'], 'toArc': ['arc_id', '_set_to_arc'], + 'forceClosed': ['node_id', '_set_force_closed']} + + if event == Qt.RightButton: + self._cancel_snapping_tool(dialog, action) + return + + try: + # Refresh all layers to avoid selecting old deleted features + global_vars.canvas.refreshAllLayers() + # Get coordinates + event_point = self.snapper_manager.get_event_point(point=point) + # Snapping + result = self.snapper_manager.snap_to_current_layer(event_point) + if not result.isValid(): + return + # Get the point. Leave selection + snapped_feat = self.snapper_manager.get_snapped_feature(result) + feat_id = snapped_feat.attribute(f'{options[option][0]}') + getattr(self, options[option][1])(snapped_feat, feat_id, child_type) + except Exception as e: + tools_qgis.show_warning(f"Exception in info (def _get_id)", parameter=e) + finally: + self.snapper_manager.recover_snapping_options() + self._cancel_snapping_tool(dialog, action) + + + def _set_node_parent(self, snapped_feat, feat_id, child_type): + """ + Function called in def _get_id(self, dialog, action, option, point, event): + getattr(self, options[option][1])(feat_id, child_type) + + :param feat_id: Id of the snapped feature + """ + + self.node_parent = (snapped_feat, feat_id) + + tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', f"{feat_id}") + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, True) + + + def _set_to_arc(self, snapped_feat, feat_id, child_type): + """ + Function called in def _get_id(self, dialog, action, option, point, event): + getattr(self, options[option][1])(feat_id, child_type) + + :param feat_id: Id of the snapped feature + """ + + node_parent, node_parent_id = self.node_parent + dma_id = node_parent.attribute("dma_id") + presszone_id = node_parent.attribute("presszone_id") + sector_id = node_parent.attribute("sector_id") + dqa_id = node_parent.attribute("dqa_id") + if dqa_id == -1: + dqa_id = "null" + child_type = node_parent.attribute("node_type") + + feature = f'"featureType":"{child_type}", "id":"{node_parent_id}"' + extras = (f'"arcId":"{feat_id}", "dmaId":"{dma_id}", "presszoneId":"{presszone_id}", "sectorId":"{sector_id}", ' + f'"dqaId":"{dqa_id}"') + body = tools_gw.create_body(feature=feature, extras=extras) + json_result = tools_gw.execute_procedure('gw_fct_settoarc', body) + if json_result is None: + return + + if 'status' in json_result and json_result['status'] == 'Accepted': + if json_result['message']: + level = 1 + if 'level' in json_result['message']: + level = int(json_result['message']['level']) + tools_qgis.show_message(json_result['message']['text'], level) + + # Set variable, set widget text and enable add button + self.to_arc = (snapped_feat, feat_id) + tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', f"{feat_id}") + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, True) + + + def _cancel_snapping_tool(self, dialog, action): + + tools_qgis.disconnect_snapping(False, None, self.vertex_marker) + tools_gw.disconnect_signal('mapzone_manager_snapping') + dialog.blockSignals(False) + action.setChecked(False) + # self.signal_activate.emit() + + # endregion # endregion diff --git a/core/ui/toolbars/utilities/mapzone_config.ui b/core/ui/toolbars/utilities/mapzone_config.ui index af6103751..5bb3437b6 100644 --- a/core/ui/toolbars/utilities/mapzone_config.ui +++ b/core/ui/toolbars/utilities/mapzone_config.ui @@ -30,14 +30,14 @@ - + OK - + Cancel @@ -55,10 +55,10 @@ - + - + 0 @@ -71,10 +71,10 @@ - + - + @@ -84,7 +84,7 @@ - + 0 @@ -104,14 +104,14 @@ - + ADD - + 0 @@ -124,7 +124,7 @@ - + ADD @@ -157,7 +157,7 @@ - + Clear Preview @@ -166,12 +166,12 @@ - + - + 0 From ded6f1f6b2adda8e193545d0aae061d258883500 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 30 Aug 2023 12:02:33 +0200 Subject: [PATCH 07/57] Mapzone manager options: add forceClosed button & clean code --- core/toolbars/utilities/utils_manager_btn.py | 134 ++++++++++++++++--- 1 file changed, 112 insertions(+), 22 deletions(-) diff --git a/core/toolbars/utilities/utils_manager_btn.py b/core/toolbars/utilities/utils_manager_btn.py index 487dc57cb..3fe9374a0 100644 --- a/core/toolbars/utilities/utils_manager_btn.py +++ b/core/toolbars/utilities/utils_manager_btn.py @@ -5,6 +5,8 @@ or (at your option) any later version. """ # -*- coding: utf-8 -*- +import json + from functools import partial from sip import isdeleted @@ -244,6 +246,20 @@ def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=N def _manage_config(self): """ Dialog from config button """ + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + self.mapzone_id = index.sibling(index.row(), 0).data() + self.mapzone_type = tableview.objectName().split('_')[-1].lower() + graphconfig = index.sibling(index.row(), tools_qt.get_col_index_by_col_name(tableview, 'graphconfig')).data() + # Build dialog self.config_dlg = GwMapzoneConfigUi() tools_gw.load_settings(self.config_dlg) @@ -255,7 +271,12 @@ def _manage_config(self): # Set variables self.node_parent = None # (snapped feature of nodeParent selection, node_id) - self.to_arc = None # (snapped feature of toArc selection, arc_id) + self.to_arc_list = [] # list of arc_ids + self.force_closed_list = [] # list of node_ids + + # Fill preview + if graphconfig: + tools_qt.set_widget_text(self.config_dlg, 'txt_preview', graphconfig) # Connect signals self.child_type = None @@ -265,6 +286,19 @@ def _manage_config(self): self.config_dlg.btn_snapping_toArc.clicked.connect( partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_toArc, 'v_edit_arc', 'toArc', None, self.child_type)) + self.config_dlg.btn_add_nodeParent.clicked.connect( + partial(self._add_node_parent, self.config_dlg) + ) + # Force closed + self.config_dlg.btn_snapping_forceClosed.clicked.connect( + partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_forceClosed, 'v_edit_node', 'forceClosed', None, + self.child_type)) + self.config_dlg.btn_add_forceClosed.clicked.connect( + partial(self._add_force_closed, self.config_dlg) + ) + # Preview + self.config_dlg.btn_clear_preview.clicked.connect(partial(self._clear_preview, self.config_dlg)) + # Dialog buttons self.config_dlg.btn_cancel.clicked.connect(self.config_dlg.reject) self.config_dlg.finished.connect(partial(tools_gw.close_dialog, self.config_dlg, True)) @@ -294,7 +328,7 @@ def get_snapped_feature_id(self, dialog, action, layer_name, option, widget_name # if widget is None: # action.setChecked(False) # return - # Block the signals of de dialog so that the key ESC does not close it + # Block the signals of the dialog so that the key ESC does not close it dialog.blockSignals(True) self.vertex_marker = self.snapper_manager.vertex_marker @@ -371,7 +405,8 @@ def _get_id(self, dialog, action, option, emit_point, child_type, point, event): tools_qgis.show_warning(f"Exception in info (def _get_id)", parameter=e) finally: self.snapper_manager.recover_snapping_options() - self._cancel_snapping_tool(dialog, action) + if option == 'nodeParent': + self._cancel_snapping_tool(dialog, action) def _set_node_parent(self, snapped_feat, feat_id, child_type): @@ -396,20 +431,42 @@ def _set_to_arc(self, snapped_feat, feat_id, child_type): :param feat_id: Id of the snapped feature """ - node_parent, node_parent_id = self.node_parent - dma_id = node_parent.attribute("dma_id") - presszone_id = node_parent.attribute("presszone_id") - sector_id = node_parent.attribute("sector_id") - dqa_id = node_parent.attribute("dqa_id") - if dqa_id == -1: - dqa_id = "null" - child_type = node_parent.attribute("node_type") - - feature = f'"featureType":"{child_type}", "id":"{node_parent_id}"' - extras = (f'"arcId":"{feat_id}", "dmaId":"{dma_id}", "presszoneId":"{presszone_id}", "sectorId":"{sector_id}", ' - f'"dqaId":"{dqa_id}"') - body = tools_gw.create_body(feature=feature, extras=extras) - json_result = tools_gw.execute_procedure('gw_fct_settoarc', body) + # Set variable, set widget text and enable add button + self.to_arc_list.append(feat_id) + + tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', f"{self.to_arc_list}") + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, True) + + + def _set_force_closed(self, snapped_feat, feat_id, child_type): + """ + Function called in def _get_id(self, dialog, action, option, point, event): + getattr(self, options[option][1])(feat_id, child_type) + + :param feat_id: Id of the snapped feature + """ + + # Set variable, set widget text and enable add button + self.force_closed_list.append(feat_id) + + tools_qt.set_widget_text(self.config_dlg, 'txt_forceClosed', f"{self.force_closed_list}") + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_forceClosed, True) + + + def _add_node_parent(self, dialog): + """ ADD button for nodeParent """ + + node_parent_feat, node_parent_id = self.node_parent + to_arc_list = json.dumps(self.to_arc_list) + preview = tools_qt.get_text(dialog, 'txt_preview') + + parameters = f'"action": "PREVIEW", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ + f'"nodeParent": "{node_parent_id}", "toArc": {to_arc_list}' + if preview: + parameters += f', "config": {preview}' + extras = f'"parameters": {{{parameters}}}' + body = tools_gw.create_body(extras=extras) + json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) if json_result is None: return @@ -418,12 +475,45 @@ def _set_to_arc(self, snapped_feat, feat_id, child_type): level = 1 if 'level' in json_result['message']: level = int(json_result['message']['level']) - tools_qgis.show_message(json_result['message']['text'], level) + tools_qgis.show_message(json_result['message']['text'], level, dialog=dialog) + + preview = json_result['body']['data'].get('preview') + if preview: + tools_qt.set_widget_text(dialog, 'txt_preview', json.dumps(preview)) + + + def _add_force_closed(self, dialog): + """ ADD button for forceClosed """ + + force_closed_list = json.dumps(self.force_closed_list) + preview = tools_qt.get_text(dialog, 'txt_preview') + + parameters = f'"action": "PREVIEW", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ + f'"forceClosed": {force_closed_list}' + if preview: + parameters += f', "config": {preview}' + extras = f'"parameters": {{{parameters}}}' + body = tools_gw.create_body(extras=extras) + json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) + if json_result is None: + return + + if 'status' in json_result and json_result['status'] == 'Accepted': + if json_result['message']: + level = 1 + if 'level' in json_result['message']: + level = int(json_result['message']['level']) + tools_qgis.show_message(json_result['message']['text'], level, dialog=dialog) + + preview = json_result['body']['data'].get('preview') + if preview: + tools_qt.set_widget_text(dialog, 'txt_preview', json.dumps(preview)) + + + def _clear_preview(self, dialog): + """ Set preview textbox to '' """ - # Set variable, set widget text and enable add button - self.to_arc = (snapped_feat, feat_id) - tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', f"{feat_id}") - tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, True) + tools_qt.set_widget_text(dialog, 'txt_preview', '') def _cancel_snapping_tool(self, dialog, action): From 20d6c273b7fde54c6d02c8b76eb652fddaa31807 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 30 Aug 2023 12:21:59 +0200 Subject: [PATCH 08/57] Mapzone manager options: clear variables after adding features --- core/toolbars/utilities/utils_manager_btn.py | 31 ++++++++++++++++++-- core/ui/toolbars/utilities/mapzone_config.ui | 27 ++++++++++++++--- 2 files changed, 51 insertions(+), 7 deletions(-) diff --git a/core/toolbars/utilities/utils_manager_btn.py b/core/toolbars/utilities/utils_manager_btn.py index 3fe9374a0..26486d429 100644 --- a/core/toolbars/utilities/utils_manager_btn.py +++ b/core/toolbars/utilities/utils_manager_btn.py @@ -270,9 +270,7 @@ def _manage_config(self): tools_gw.add_icon(self.config_dlg.btn_snapping_forceClosed, "137") # Set variables - self.node_parent = None # (snapped feature of nodeParent selection, node_id) - self.to_arc_list = [] # list of arc_ids - self.force_closed_list = [] # list of node_ids + self._reset_config_vars() # Fill preview if graphconfig: @@ -316,6 +314,27 @@ def _manage_config(self): tools_gw.open_dialog(self.config_dlg, 'mapzone_config') + def _reset_config_vars(self, mode=0): + """ + Reset config variables + + :param mode: which variables to reset {0: all, 1: nodeParent & toArc, 2: only forceClosed} + """ + + if mode in (0, 1): + self.node_parent = None + tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', '') + self.to_arc_list = [] + tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', '') + tools_qt.set_widget_enabled(self.config_dlg, 'btn_snapping_toArc', False) + tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_nodeParent', False) + if mode in (0, 2): + self.force_closed_list = [] + tools_qt.set_widget_text(self.config_dlg, 'txt_forceClosed', '') + tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_forceClosed', False) + + + def get_snapped_feature_id(self, dialog, action, layer_name, option, widget_name, child_type): """ Snap feature and set a value into dialog """ @@ -481,6 +500,9 @@ def _add_node_parent(self, dialog): if preview: tools_qt.set_widget_text(dialog, 'txt_preview', json.dumps(preview)) + self._cancel_snapping_tool(dialog, dialog.btn_add_nodeParent) + self._reset_config_vars(1) + def _add_force_closed(self, dialog): """ ADD button for forceClosed """ @@ -509,6 +531,9 @@ def _add_force_closed(self, dialog): if preview: tools_qt.set_widget_text(dialog, 'txt_preview', json.dumps(preview)) + self._cancel_snapping_tool(dialog, dialog.btn_add_forceClosed) + self._reset_config_vars(2) + def _clear_preview(self, dialog): """ Set preview textbox to '' """ diff --git a/core/ui/toolbars/utilities/mapzone_config.ui b/core/ui/toolbars/utilities/mapzone_config.ui index 5bb3437b6..4b7fc77a6 100644 --- a/core/ui/toolbars/utilities/mapzone_config.ui +++ b/core/ui/toolbars/utilities/mapzone_config.ui @@ -55,7 +55,11 @@ - + + + true + + @@ -71,10 +75,18 @@ - + + + true + + - + + + true + + @@ -166,7 +178,11 @@ - + + + true + + @@ -178,6 +194,9 @@ 0 + + true + From 2383d41b503dec2ff2b572b36eabadf6664883f0 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 30 Aug 2023 12:33:06 +0200 Subject: [PATCH 09/57] Mapzone manager options: accept button --- core/toolbars/utilities/utils_manager_btn.py | 28 ++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/core/toolbars/utilities/utils_manager_btn.py b/core/toolbars/utilities/utils_manager_btn.py index 26486d429..716f1f0fb 100644 --- a/core/toolbars/utilities/utils_manager_btn.py +++ b/core/toolbars/utilities/utils_manager_btn.py @@ -297,6 +297,7 @@ def _manage_config(self): # Preview self.config_dlg.btn_clear_preview.clicked.connect(partial(self._clear_preview, self.config_dlg)) # Dialog buttons + self.config_dlg.btn_accept.clicked.connect(partial(self._accept_config, self.config_dlg)) self.config_dlg.btn_cancel.clicked.connect(self.config_dlg.reject) self.config_dlg.finished.connect(partial(tools_gw.close_dialog, self.config_dlg, True)) @@ -541,6 +542,33 @@ def _clear_preview(self, dialog): tools_qt.set_widget_text(dialog, 'txt_preview', '') + def _accept_config(self, dialog): + """ Accept button for config dialog """ + + preview = tools_qt.get_text(dialog, 'txt_preview') + + if not preview: + return + parameters = f'"action": "UPDATE", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ + f'"config": {preview}' + extras = f'"parameters": {{{parameters}}}' + body = tools_gw.create_body(extras=extras) + json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) + if json_result is None: + return + + if 'status' in json_result and json_result['status'] == 'Accepted': + if json_result['message']: + level = 1 + if 'level' in json_result['message']: + level = int(json_result['message']['level']) + tools_qgis.show_message(json_result['message']['text'], level) + + self._reset_config_vars(0) + tools_gw.close_dialog(dialog) + self._manage_current_changed() + + def _cancel_snapping_tool(self, dialog, action): tools_qgis.disconnect_snapping(False, None, self.vertex_marker) From 66c4eb7efa6cc2eb7504aaadea113fa77355b31b Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 30 Aug 2023 13:23:36 +0200 Subject: [PATCH 10/57] Mapzones manager: toggle_active & delete buttons --- core/toolbars/utilities/utils_manager_btn.py | 124 +++++++++++++++---- 1 file changed, 97 insertions(+), 27 deletions(-) diff --git a/core/toolbars/utilities/utils_manager_btn.py b/core/toolbars/utilities/utils_manager_btn.py index 716f1f0fb..7e34925e3 100644 --- a/core/toolbars/utilities/utils_manager_btn.py +++ b/core/toolbars/utilities/utils_manager_btn.py @@ -10,7 +10,7 @@ from functools import partial from sip import isdeleted -from qgis.PyQt.QtCore import Qt +from qgis.PyQt.QtCore import Qt, QPoint from qgis.PyQt.QtGui import QKeySequence from qgis.PyQt.QtWidgets import QAction, QMenu, QTableView, QAbstractItemView from qgis.PyQt.QtSql import QSqlTableModel @@ -24,7 +24,7 @@ from ...shared.psector import GwPsector from ...utils import tools_gw from .... import global_vars -from ....libs import tools_qgis, tools_qt, lib_vars +from ....libs import tools_qgis, tools_qt, lib_vars, tools_db, tools_os class GwUtilsManagerButton(GwAction): @@ -56,14 +56,13 @@ def __init__(self, icon_path, action_name, text, toolbar, action_group): def clicked_event(self): - if self.menu.property('last_selection') is not None: - self.info_feature.add_feature(self.menu.property('last_selection'), action=self) + button = self.action.associatedWidgets()[1] + menu_point = button.mapToGlobal(QPoint(0, button.height())) + self.menu.popup(menu_point) # region private functions - # region menu main functions - def _fill_utils_menu(self): """ Fill add arc menu """ @@ -94,12 +93,14 @@ def _fill_utils_menu(self): # obj_action.triggered.connect(partial(self._save_last_selection, self.menu, feature_cat)) - def _save_last_selection(self, menu, feature_cat): - menu.setProperty("last_selection", feature_cat) + def _prices_manager(self): + self.psector = GwPsector() + self.psector.manage_prices() + # region mapzone manager functions def _mapzones_manager(self): - print(f"mapzones manager") + # Create dialog self.mapzone_mng_dlg = GwMapzoneManagerUi() tools_gw.load_settings(self.mapzone_mng_dlg) @@ -127,32 +128,18 @@ def _mapzones_manager(self): # Connect signals self.mapzone_mng_dlg.btn_config.clicked.connect(partial(self._manage_config)) - # self.mapzone_mng_dlg.btn_toc.clicked.connect(partial(self._manage_add_layers)) - # self.mapzone_mng_dlg.btn_insert.clicked.connect(partial(self._manage_insert)) - # self.mapzone_mng_dlg.btn_delete.clicked.connect(partial(self._manage_delete)) - # self.mapzone_mng_dlg.btn_snapping.clicked.connect(partial(self._manage_select)) + self.mapzone_mng_dlg.btn_toggle_active.clicked.connect(partial(self._manage_toggle_active)) + self.mapzone_mng_dlg.btn_create.clicked.connect(partial(self._manage_create)) + self.mapzone_mng_dlg.btn_update.clicked.connect(partial(self._manage_update)) + self.mapzone_mng_dlg.btn_delete.clicked.connect(partial(self._manage_delete)) self.mapzone_mng_dlg.main_tab.currentChanged.connect(partial(self._manage_current_changed)) - # self.mapzone_mng_dlg.finished.connect(self._selection_end) self.mapzone_mng_dlg.finished.connect(partial(tools_gw.close_dialog, self.mapzone_mng_dlg, True)) self._manage_current_changed() - # sql = f"SELECT name FROM v_edit_cat_dscenario WHERE dscenario_id = {self.selected_dscenario_id}" - # row = tools_db.get_row(sql) - # dscenario_name = row[0] - # title = f"Dscenario {self.selected_dscenario_id} - {dscenario_name}" tools_gw.open_dialog(self.mapzone_mng_dlg, 'mapzone_manager') - def _prices_manager(self): - self.psector = GwPsector() - self.psector.manage_prices() - - - # endregion - - # region mapzone manager functions - def _manage_current_changed(self): """ Manages tab changes """ @@ -242,6 +229,7 @@ def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=N # Sort the table by feature id model.sort(1, 0) + # region config button def _manage_config(self): """ Dialog from config button """ @@ -579,4 +567,86 @@ def _cancel_snapping_tool(self, dialog, action): # endregion + def _manage_toggle_active(self): + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + view = tableview.objectName().replace('tbl_', '') + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + mapzone_id = index.sibling(index.row(), 0).data() + active = index.sibling(index.row(), tools_qt.get_col_index_by_col_name(tableview, 'active')).data() + active = tools_os.set_boolean(active) + field_id = tableview.model().headerData(0, Qt.Horizontal) + + sql = f"UPDATE {view} SET active = {str(not active).lower()} WHERE {field_id} = {mapzone_id}" + tools_db.execute_sql(sql) + + # Refresh tableview + self._manage_current_changed() + + + def _manage_create(self): + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + view = tableview.objectName().replace('tbl_', '') + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + mapzone_id = index.sibling(index.row(), 0).data() + field_id = tableview.model().headerData(0, Qt.Horizontal) + + + def _manage_update(self): + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + view = tableview.objectName().replace('tbl_', '') + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + mapzone_id = index.sibling(index.row(), 0).data() + field_id = tableview.model().headerData(0, Qt.Horizontal) + + + def _manage_delete(self): + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + view = tableview.objectName().replace('tbl_', '') + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + mapzone_id = index.sibling(index.row(), 0).data() + field_id = tableview.model().headerData(0, Qt.Horizontal) + + message = "Are you sure you want to delete these records?" + answer = tools_qt.show_question(message, "Delete records", index.sibling(index.row(), 1).data(), force_action=True) + if answer: + sql = f"DELETE FROM {view} WHERE {field_id} = {mapzone_id}" + tools_db.execute_sql(sql) + + # Refresh tableview + self._manage_current_changed() + + # endregion + # endregion From 5093d8ac466b70ebc4b347db0d9b89e8ee3b6dda Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 30 Aug 2023 13:45:44 +0200 Subject: [PATCH 11/57] Mapzones manager: config -- improve toArc list --- core/toolbars/utilities/utils_manager_btn.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/toolbars/utilities/utils_manager_btn.py b/core/toolbars/utilities/utils_manager_btn.py index 7e34925e3..f7d2289a5 100644 --- a/core/toolbars/utilities/utils_manager_btn.py +++ b/core/toolbars/utilities/utils_manager_btn.py @@ -313,7 +313,7 @@ def _reset_config_vars(self, mode=0): if mode in (0, 1): self.node_parent = None tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', '') - self.to_arc_list = [] + self.to_arc_list = set() tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', '') tools_qt.set_widget_enabled(self.config_dlg, 'btn_snapping_toArc', False) tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_nodeParent', False) @@ -440,7 +440,7 @@ def _set_to_arc(self, snapped_feat, feat_id, child_type): """ # Set variable, set widget text and enable add button - self.to_arc_list.append(feat_id) + self.to_arc_list.add(int(feat_id)) tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', f"{self.to_arc_list}") tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, True) @@ -465,7 +465,7 @@ def _add_node_parent(self, dialog): """ ADD button for nodeParent """ node_parent_feat, node_parent_id = self.node_parent - to_arc_list = json.dumps(self.to_arc_list) + to_arc_list = json.dumps(list(self.to_arc_list)) preview = tools_qt.get_text(dialog, 'txt_preview') parameters = f'"action": "PREVIEW", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ From 419e6aa13899945624a3418946dee8f81c3d06e6 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 30 Aug 2023 14:07:06 +0200 Subject: [PATCH 12/57] Mapzones manager: config -- don't allow selecting the same feature twice --- core/toolbars/utilities/utils_manager_btn.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/toolbars/utilities/utils_manager_btn.py b/core/toolbars/utilities/utils_manager_btn.py index f7d2289a5..254901bcb 100644 --- a/core/toolbars/utilities/utils_manager_btn.py +++ b/core/toolbars/utilities/utils_manager_btn.py @@ -318,7 +318,7 @@ def _reset_config_vars(self, mode=0): tools_qt.set_widget_enabled(self.config_dlg, 'btn_snapping_toArc', False) tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_nodeParent', False) if mode in (0, 2): - self.force_closed_list = [] + self.force_closed_list = set() tools_qt.set_widget_text(self.config_dlg, 'txt_forceClosed', '') tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_forceClosed', False) @@ -455,7 +455,7 @@ def _set_force_closed(self, snapped_feat, feat_id, child_type): """ # Set variable, set widget text and enable add button - self.force_closed_list.append(feat_id) + self.force_closed_list.add(feat_id) tools_qt.set_widget_text(self.config_dlg, 'txt_forceClosed', f"{self.force_closed_list}") tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_forceClosed, True) @@ -496,7 +496,7 @@ def _add_node_parent(self, dialog): def _add_force_closed(self, dialog): """ ADD button for forceClosed """ - force_closed_list = json.dumps(self.force_closed_list) + force_closed_list = json.dumps(list(self.force_closed_list)) preview = tools_qt.get_text(dialog, 'txt_preview') parameters = f'"action": "PREVIEW", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ From ea4169b86d28c9b656471e534e682a4cbe1c0a79 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 30 Aug 2023 15:10:44 +0200 Subject: [PATCH 13/57] Refactor: put mapzone_manager code in a new file --- core/toolbars/utilities/mapzone_manager.py | 577 +++++++++++++++++++ core/toolbars/utilities/utils_manager_btn.py | 568 +----------------- 2 files changed, 582 insertions(+), 563 deletions(-) create mode 100644 core/toolbars/utilities/mapzone_manager.py diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py new file mode 100644 index 000000000..890d38366 --- /dev/null +++ b/core/toolbars/utilities/mapzone_manager.py @@ -0,0 +1,577 @@ +""" +This file is part of Giswater 3 +The program is free software: you can redistribute it and/or modify it under the terms of the GNU +General Public License as published by the Free Software Foundation, either version 3 of the License, +or (at your option) any later version. +""" +# -*- coding: utf-8 -*- +import json + +from functools import partial +from sip import isdeleted + +from qgis.PyQt.QtCore import Qt, QPoint +from qgis.PyQt.QtWidgets import QAction, QMenu, QTableView, QAbstractItemView +from qgis.PyQt.QtSql import QSqlTableModel + +from qgis.gui import QgsMapToolEmitPoint + +from ...ui.ui_manager import GwMapzoneManagerUi, GwMapzoneConfigUi +from ...utils.snap_manager import GwSnapManager +from ...shared.info import GwInfo +from ...utils import tools_gw +from .... import global_vars +from ....libs import lib_vars, tools_qgis, tools_qt, tools_db, tools_os + +class GwMapzoneManager: + + def __init__(self): + """ Class to control 'Add element' of toolbar 'edit' """ + + self.plugin_dir = lib_vars.plugin_dir + self.iface = global_vars.iface + self.schema_name = lib_vars.schema_name + self.canvas = global_vars.canvas + + self.snapper_manager = GwSnapManager(self.iface) + self.snapper_manager.set_snapping_layers() + + self.mapzone_mng_dlg = None + + + def manage_mapzones(self): + + # Create dialog + self.mapzone_mng_dlg = GwMapzoneManagerUi() + tools_gw.load_settings(self.mapzone_mng_dlg) + + # Add icons + # tools_gw.add_icon(self.dlg_dscenario.btn_toc, "306", sub_folder="24x24") + # tools_gw.add_icon(self.dlg_dscenario.btn_insert, "111", sub_folder="24x24") + # tools_gw.add_icon(self.dlg_dscenario.btn_delete, "112", sub_folder="24x24") + # tools_gw.add_icon(self.dlg_dscenario.btn_snapping, "137") + + default_tab_idx = 0 + tabs = ['sector', 'dma', 'presszone', 'dqa'] + for tab in tabs: + view = f'v_edit_{tab}' + qtableview = QTableView() + qtableview.setObjectName(f"tbl_{view}") + # qtableview.clicked.connect(partial(self._manage_highlight, qtableview, view)) + tab_idx = self.mapzone_mng_dlg.main_tab.addTab(qtableview, f"{view.split('_')[-1].capitalize()}") + self.mapzone_mng_dlg.main_tab.widget(tab_idx).setObjectName(view) + + # if view.split('_')[-1].upper() == self.selected_dscenario_type: + # default_tab_idx = tab_idx + + # self.dlg_dscenario.main_tab.setCurrentIndex(default_tab_idx) + + # Connect signals + self.mapzone_mng_dlg.btn_config.clicked.connect(partial(self._manage_config)) + self.mapzone_mng_dlg.btn_toggle_active.clicked.connect(partial(self._manage_toggle_active)) + self.mapzone_mng_dlg.btn_create.clicked.connect(partial(self._manage_create)) + self.mapzone_mng_dlg.btn_update.clicked.connect(partial(self._manage_update)) + self.mapzone_mng_dlg.btn_delete.clicked.connect(partial(self._manage_delete)) + self.mapzone_mng_dlg.main_tab.currentChanged.connect(partial(self._manage_current_changed)) + self.mapzone_mng_dlg.finished.connect(partial(tools_gw.close_dialog, self.mapzone_mng_dlg, True)) + + self._manage_current_changed() + + tools_gw.open_dialog(self.mapzone_mng_dlg, 'mapzone_manager') + + def _manage_current_changed(self): + """ Manages tab changes """ + + # Fill current table + self._fill_mapzone_table() + + # # Refresh txt_feature_id + # tools_qt.set_widget_text(self.dlg_dscenario, self.dlg_dscenario.txt_feature_id, '') + # self.dlg_dscenario.txt_feature_id.setStyleSheet(None) + # + # # Manage insert typeahead + # # Get index of selected tab + # index_tab = self.dlg_dscenario.main_tab.currentIndex() + # tab_name = self.dlg_dscenario.main_tab.widget(index_tab).objectName() + # enable = tab_name not in self.filter_disabled + # + # # Populate typeahead + # if enable: + # self._manage_feature_type() + # table_name = f"v_edit_{tab_name.replace('dscenario_', '')}" + # feature_type = self.feature_type + # if self.filter_dict.get(tab_name): + # table_name = self.filter_dict[tab_name]['filter_table'] + # feature_type = self.filter_dict[tab_name]['feature_type'] + # tools_gw.set_completer_widget(table_name, self.dlg_dscenario.txt_feature_id, feature_type, add_id=True) + # + # # Deactivate btn_snapping functionality + # self._selection_end() + # + # # Enable/disable filter & buttons + # self._enable_widgets(enable) + + def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=None): + """ Fill mapzone table with data from its corresponding table """ + + # Manage exception if dialog is closed + if isdeleted(self.mapzone_mng_dlg): + return + + self.table_name = f"{self.mapzone_mng_dlg.main_tab.currentWidget().objectName()}" + widget = self.mapzone_mng_dlg.main_tab.currentWidget() + + if self.schema_name not in self.table_name: + self.table_name = self.schema_name + "." + self.table_name + + # Set model + model = QSqlTableModel(db=lib_vars.qgis_db_credentials) + model.setTable(self.table_name) + # model.setFilter(f"dscenario_id = {self.selected_dscenario_id}") + model.setEditStrategy(QSqlTableModel.OnFieldChange) + model.setSort(0, 0) + model.select() + # # Set item delegates + # readonly_delegate = ReadOnlyDelegate(widget) + # widget.setItemDelegateForColumn(0, readonly_delegate) + # widget.setItemDelegateForColumn(1, readonly_delegate) + # editable_delegate = EditableDelegate(widget) + # for x in range(2, model.columnCount()): + # widget.setItemDelegateForColumn(x, editable_delegate) + + # Check for errors + if model.lastError().isValid(): + tools_qgis.show_warning(model.lastError().text(), dialog=self.mapzone_mng_dlg) + # Attach model to table view + if expr: + widget.setModel(model) + widget.model().setFilter(expr) + else: + widget.setModel(model) + widget.setSortingEnabled(True) + + # Set widget & model properties + tools_qt.set_tableview_config(widget, selection=QAbstractItemView.SelectRows, edit_triggers=set_edit_triggers, + sectionResizeMode=0) + tools_gw.set_tablemodel_config(self.mapzone_mng_dlg, widget, f"{self.table_name[len(f'{self.schema_name}.'):]}") + + # Hide unwanted columns + col_idx = tools_qt.get_col_index_by_col_name(widget, 'dscenario_id') + if col_idx not in (None, False): + widget.setColumnHidden(col_idx, True) + + geom_col_idx = tools_qt.get_col_index_by_col_name(widget, 'the_geom') + if geom_col_idx not in (None, False): + widget.setColumnHidden(geom_col_idx, True) + + # Sort the table by feature id + model.sort(1, 0) + + # region config button + + def _manage_config(self): + """ Dialog from config button """ + + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + self.mapzone_id = index.sibling(index.row(), 0).data() + self.mapzone_type = tableview.objectName().split('_')[-1].lower() + graphconfig = index.sibling(index.row(), tools_qt.get_col_index_by_col_name(tableview, 'graphconfig')).data() + + # Build dialog + self.config_dlg = GwMapzoneConfigUi() + tools_gw.load_settings(self.config_dlg) + + # Button icons + tools_gw.add_icon(self.config_dlg.btn_snapping_nodeParent, "137") + tools_gw.add_icon(self.config_dlg.btn_snapping_toArc, "137") + tools_gw.add_icon(self.config_dlg.btn_snapping_forceClosed, "137") + + # Set variables + self._reset_config_vars() + + # Fill preview + if graphconfig: + tools_qt.set_widget_text(self.config_dlg, 'txt_preview', graphconfig) + + # Connect signals + self.child_type = None + self.config_dlg.btn_snapping_nodeParent.clicked.connect( + partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_nodeParent, + 'v_edit_node', 'nodeParent', None, + self.child_type)) + self.config_dlg.btn_snapping_toArc.clicked.connect( + partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_toArc, 'v_edit_arc', + 'toArc', None, + self.child_type)) + self.config_dlg.btn_add_nodeParent.clicked.connect( + partial(self._add_node_parent, self.config_dlg) + ) + # Force closed + self.config_dlg.btn_snapping_forceClosed.clicked.connect( + partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_forceClosed, + 'v_edit_node', 'forceClosed', None, + self.child_type)) + self.config_dlg.btn_add_forceClosed.clicked.connect( + partial(self._add_force_closed, self.config_dlg) + ) + # Preview + self.config_dlg.btn_clear_preview.clicked.connect(partial(self._clear_preview, self.config_dlg)) + # Dialog buttons + self.config_dlg.btn_accept.clicked.connect(partial(self._accept_config, self.config_dlg)) + self.config_dlg.btn_cancel.clicked.connect(self.config_dlg.reject) + self.config_dlg.finished.connect(partial(tools_gw.close_dialog, self.config_dlg, True)) + + # Enable/disable certain widgets + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_nodeParent, True) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, False) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, False) + + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_forceClosed, True) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_forceClosed, False) + + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_clear_preview, True) + + # Open dialog + tools_gw.open_dialog(self.config_dlg, 'mapzone_config') + + def _reset_config_vars(self, mode=0): + """ + Reset config variables + + :param mode: which variables to reset {0: all, 1: nodeParent & toArc, 2: only forceClosed} + """ + + if mode in (0, 1): + self.node_parent = None + tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', '') + self.to_arc_list = set() + tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', '') + tools_qt.set_widget_enabled(self.config_dlg, 'btn_snapping_toArc', False) + tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_nodeParent', False) + if mode in (0, 2): + self.force_closed_list = set() + tools_qt.set_widget_text(self.config_dlg, 'txt_forceClosed', '') + tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_forceClosed', False) + + def get_snapped_feature_id(self, dialog, action, layer_name, option, widget_name, child_type): + """ Snap feature and set a value into dialog """ + + layer = tools_qgis.get_layer_by_tablename(layer_name) + if not layer: + action.setChecked(False) + return + # if widget_name is not None: + # widget = dialog.findChild(QWidget, widget_name) + # if widget is None: + # action.setChecked(False) + # return + # Block the signals of the dialog so that the key ESC does not close it + dialog.blockSignals(True) + + self.vertex_marker = self.snapper_manager.vertex_marker + + # Store user snapping configuration + self.snapper_manager.store_snapping_options() + + # Disable snapping + self.snapper_manager.set_snapping_status() + + # if we are doing info over connec or over node + if option in ('arc', 'set_to_arc'): + self.snapper_manager.config_snap_to_arc() + elif option == 'node': + self.snapper_manager.config_snap_to_node() + # Set signals + tools_gw.disconnect_signal('mapzone_manager_snapping', 'get_snapped_feature_id_xyCoordinates_mouse_moved') + tools_gw.connect_signal(self.canvas.xyCoordinates, partial(self._mouse_moved, layer), + 'mapzone_manager_snapping', 'get_snapped_feature_id_xyCoordinates_mouse_moved') + + tools_gw.disconnect_signal('mapzone_manager_snapping', 'get_snapped_feature_id_ep_canvasClicked_get_id') + emit_point = QgsMapToolEmitPoint(self.canvas) + self.canvas.setMapTool(emit_point) + tools_gw.connect_signal(emit_point.canvasClicked, + partial(self._get_id, dialog, action, option, emit_point, child_type), + 'mapzone_manager_snapping', 'get_snapped_feature_id_ep_canvasClicked_get_id') + + def _mouse_moved(self, layer, point): + """ Mouse motion detection """ + + # Set active layer + self.iface.setActiveLayer(layer) + layer_name = tools_qgis.get_layer_source_table_name(layer) + + # Get clicked point + self.vertex_marker.hide() + event_point = self.snapper_manager.get_event_point(point=point) + + # Snapping + result = self.snapper_manager.snap_to_current_layer(event_point) + if result.isValid(): + layer = self.snapper_manager.get_snapped_layer(result) + # Check feature + viewname = tools_qgis.get_layer_source_table_name(layer) + if viewname == layer_name: + self.snapper_manager.add_marker(result, self.vertex_marker) + + def _get_id(self, dialog, action, option, emit_point, child_type, point, event): + """ Get selected attribute from snapped feature """ + + # @options{'key':['att to get from snapped feature', 'function to call']} + options = {'nodeParent': ['node_id', '_set_node_parent'], 'toArc': ['arc_id', '_set_to_arc'], + 'forceClosed': ['node_id', '_set_force_closed']} + + if event == Qt.RightButton: + self._cancel_snapping_tool(dialog, action) + return + + try: + # Refresh all layers to avoid selecting old deleted features + global_vars.canvas.refreshAllLayers() + # Get coordinates + event_point = self.snapper_manager.get_event_point(point=point) + # Snapping + result = self.snapper_manager.snap_to_current_layer(event_point) + if not result.isValid(): + return + # Get the point. Leave selection + snapped_feat = self.snapper_manager.get_snapped_feature(result) + feat_id = snapped_feat.attribute(f'{options[option][0]}') + getattr(self, options[option][1])(snapped_feat, feat_id, child_type) + except Exception as e: + tools_qgis.show_warning(f"Exception in info (def _get_id)", parameter=e) + finally: + self.snapper_manager.recover_snapping_options() + if option == 'nodeParent': + self._cancel_snapping_tool(dialog, action) + + def _set_node_parent(self, snapped_feat, feat_id, child_type): + """ + Function called in def _get_id(self, dialog, action, option, point, event): + getattr(self, options[option][1])(feat_id, child_type) + + :param feat_id: Id of the snapped feature + """ + + self.node_parent = (snapped_feat, feat_id) + + tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', f"{feat_id}") + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, True) + + def _set_to_arc(self, snapped_feat, feat_id, child_type): + """ + Function called in def _get_id(self, dialog, action, option, point, event): + getattr(self, options[option][1])(feat_id, child_type) + + :param feat_id: Id of the snapped feature + """ + + # Set variable, set widget text and enable add button + self.to_arc_list.add(int(feat_id)) + + tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', f"{self.to_arc_list}") + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, True) + + def _set_force_closed(self, snapped_feat, feat_id, child_type): + """ + Function called in def _get_id(self, dialog, action, option, point, event): + getattr(self, options[option][1])(feat_id, child_type) + + :param feat_id: Id of the snapped feature + """ + + # Set variable, set widget text and enable add button + self.force_closed_list.add(feat_id) + + tools_qt.set_widget_text(self.config_dlg, 'txt_forceClosed', f"{self.force_closed_list}") + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_forceClosed, True) + + def _add_node_parent(self, dialog): + """ ADD button for nodeParent """ + + node_parent_feat, node_parent_id = self.node_parent + to_arc_list = json.dumps(list(self.to_arc_list)) + preview = tools_qt.get_text(dialog, 'txt_preview') + + parameters = f'"action": "PREVIEW", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ + f'"nodeParent": "{node_parent_id}", "toArc": {to_arc_list}' + if preview: + parameters += f', "config": {preview}' + extras = f'"parameters": {{{parameters}}}' + body = tools_gw.create_body(extras=extras) + json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) + if json_result is None: + return + + if 'status' in json_result and json_result['status'] == 'Accepted': + if json_result['message']: + level = 1 + if 'level' in json_result['message']: + level = int(json_result['message']['level']) + tools_qgis.show_message(json_result['message']['text'], level, dialog=dialog) + + preview = json_result['body']['data'].get('preview') + if preview: + tools_qt.set_widget_text(dialog, 'txt_preview', json.dumps(preview)) + + self._cancel_snapping_tool(dialog, dialog.btn_add_nodeParent) + self._reset_config_vars(1) + + def _add_force_closed(self, dialog): + """ ADD button for forceClosed """ + + force_closed_list = json.dumps(list(self.force_closed_list)) + preview = tools_qt.get_text(dialog, 'txt_preview') + + parameters = f'"action": "PREVIEW", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ + f'"forceClosed": {force_closed_list}' + if preview: + parameters += f', "config": {preview}' + extras = f'"parameters": {{{parameters}}}' + body = tools_gw.create_body(extras=extras) + json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) + if json_result is None: + return + + if 'status' in json_result and json_result['status'] == 'Accepted': + if json_result['message']: + level = 1 + if 'level' in json_result['message']: + level = int(json_result['message']['level']) + tools_qgis.show_message(json_result['message']['text'], level, dialog=dialog) + + preview = json_result['body']['data'].get('preview') + if preview: + tools_qt.set_widget_text(dialog, 'txt_preview', json.dumps(preview)) + + self._cancel_snapping_tool(dialog, dialog.btn_add_forceClosed) + self._reset_config_vars(2) + + def _clear_preview(self, dialog): + """ Set preview textbox to '' """ + + tools_qt.set_widget_text(dialog, 'txt_preview', '') + + def _accept_config(self, dialog): + """ Accept button for config dialog """ + + preview = tools_qt.get_text(dialog, 'txt_preview') + + if not preview: + return + parameters = f'"action": "UPDATE", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ + f'"config": {preview}' + extras = f'"parameters": {{{parameters}}}' + body = tools_gw.create_body(extras=extras) + json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) + if json_result is None: + return + + if 'status' in json_result and json_result['status'] == 'Accepted': + if json_result['message']: + level = 1 + if 'level' in json_result['message']: + level = int(json_result['message']['level']) + tools_qgis.show_message(json_result['message']['text'], level) + + self._reset_config_vars(0) + tools_gw.close_dialog(dialog) + self._manage_current_changed() + + def _cancel_snapping_tool(self, dialog, action): + + tools_qgis.disconnect_snapping(False, None, self.vertex_marker) + tools_gw.disconnect_signal('mapzone_manager_snapping') + dialog.blockSignals(False) + action.setChecked(False) + # self.signal_activate.emit() + + # endregion + + def _manage_toggle_active(self): + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + view = tableview.objectName().replace('tbl_', '') + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + mapzone_id = index.sibling(index.row(), 0).data() + active = index.sibling(index.row(), tools_qt.get_col_index_by_col_name(tableview, 'active')).data() + active = tools_os.set_boolean(active) + field_id = tableview.model().headerData(0, Qt.Horizontal) + + sql = f"UPDATE {view} SET active = {str(not active).lower()} WHERE {field_id} = {mapzone_id}" + tools_db.execute_sql(sql) + + # Refresh tableview + self._manage_current_changed() + + def _manage_create(self): + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + view = tableview.objectName().replace('tbl_', '') + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + mapzone_id = index.sibling(index.row(), 0).data() + field_id = tableview.model().headerData(0, Qt.Horizontal) + + def _manage_update(self): + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + view = tableview.objectName().replace('tbl_', '') + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + mapzone_id = index.sibling(index.row(), 0).data() + field_id = tableview.model().headerData(0, Qt.Horizontal) + + def _manage_delete(self): + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + view = tableview.objectName().replace('tbl_', '') + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + mapzone_id = index.sibling(index.row(), 0).data() + field_id = tableview.model().headerData(0, Qt.Horizontal) + + message = "Are you sure you want to delete these records?" + answer = tools_qt.show_question(message, "Delete records", index.sibling(index.row(), 1).data(), + force_action=True) + if answer: + sql = f"DELETE FROM {view} WHERE {field_id} = {mapzone_id}" + tools_db.execute_sql(sql) + + # Refresh tableview + self._manage_current_changed() + + # endregion diff --git a/core/toolbars/utilities/utils_manager_btn.py b/core/toolbars/utilities/utils_manager_btn.py index 254901bcb..1a0128fb2 100644 --- a/core/toolbars/utilities/utils_manager_btn.py +++ b/core/toolbars/utilities/utils_manager_btn.py @@ -8,23 +8,14 @@ import json from functools import partial -from sip import isdeleted -from qgis.PyQt.QtCore import Qt, QPoint -from qgis.PyQt.QtGui import QKeySequence -from qgis.PyQt.QtWidgets import QAction, QMenu, QTableView, QAbstractItemView -from qgis.PyQt.QtSql import QSqlTableModel - -from qgis.gui import QgsMapToolEmitPoint +from qgis.PyQt.QtCore import QPoint +from qgis.PyQt.QtWidgets import QAction, QMenu from ..dialog import GwAction -from ...ui.ui_manager import GwMapzoneManagerUi, GwMapzoneConfigUi -from ...utils.snap_manager import GwSnapManager +from .mapzone_manager import GwMapzoneManager from ...shared.info import GwInfo from ...shared.psector import GwPsector -from ...utils import tools_gw -from .... import global_vars -from ....libs import tools_qgis, tools_qt, lib_vars, tools_db, tools_os class GwUtilsManagerButton(GwAction): @@ -50,9 +41,6 @@ def __init__(self, icon_path, action_name, text, toolbar, action_group): self.action.setMenu(self.menu) toolbar.addAction(self.action) - self.snapper_manager = GwSnapManager(self.iface) - self.snapper_manager.set_snapping_layers() - def clicked_event(self): @@ -101,552 +89,6 @@ def _prices_manager(self): def _mapzones_manager(self): - # Create dialog - self.mapzone_mng_dlg = GwMapzoneManagerUi() - tools_gw.load_settings(self.mapzone_mng_dlg) - - # Add icons - # tools_gw.add_icon(self.dlg_dscenario.btn_toc, "306", sub_folder="24x24") - # tools_gw.add_icon(self.dlg_dscenario.btn_insert, "111", sub_folder="24x24") - # tools_gw.add_icon(self.dlg_dscenario.btn_delete, "112", sub_folder="24x24") - # tools_gw.add_icon(self.dlg_dscenario.btn_snapping, "137") - - default_tab_idx = 0 - tabs = ['sector', 'dma', 'presszone', 'dqa'] - for tab in tabs: - view = f'v_edit_{tab}' - qtableview = QTableView() - qtableview.setObjectName(f"tbl_{view}") - # qtableview.clicked.connect(partial(self._manage_highlight, qtableview, view)) - tab_idx = self.mapzone_mng_dlg.main_tab.addTab(qtableview, f"{view.split('_')[-1].capitalize()}") - self.mapzone_mng_dlg.main_tab.widget(tab_idx).setObjectName(view) - - # if view.split('_')[-1].upper() == self.selected_dscenario_type: - # default_tab_idx = tab_idx - - # self.dlg_dscenario.main_tab.setCurrentIndex(default_tab_idx) - - # Connect signals - self.mapzone_mng_dlg.btn_config.clicked.connect(partial(self._manage_config)) - self.mapzone_mng_dlg.btn_toggle_active.clicked.connect(partial(self._manage_toggle_active)) - self.mapzone_mng_dlg.btn_create.clicked.connect(partial(self._manage_create)) - self.mapzone_mng_dlg.btn_update.clicked.connect(partial(self._manage_update)) - self.mapzone_mng_dlg.btn_delete.clicked.connect(partial(self._manage_delete)) - self.mapzone_mng_dlg.main_tab.currentChanged.connect(partial(self._manage_current_changed)) - self.mapzone_mng_dlg.finished.connect(partial(tools_gw.close_dialog, self.mapzone_mng_dlg, True)) - - self._manage_current_changed() - - tools_gw.open_dialog(self.mapzone_mng_dlg, 'mapzone_manager') - - - def _manage_current_changed(self): - """ Manages tab changes """ - - # Fill current table - self._fill_mapzone_table() - - # # Refresh txt_feature_id - # tools_qt.set_widget_text(self.dlg_dscenario, self.dlg_dscenario.txt_feature_id, '') - # self.dlg_dscenario.txt_feature_id.setStyleSheet(None) - # - # # Manage insert typeahead - # # Get index of selected tab - # index_tab = self.dlg_dscenario.main_tab.currentIndex() - # tab_name = self.dlg_dscenario.main_tab.widget(index_tab).objectName() - # enable = tab_name not in self.filter_disabled - # - # # Populate typeahead - # if enable: - # self._manage_feature_type() - # table_name = f"v_edit_{tab_name.replace('dscenario_', '')}" - # feature_type = self.feature_type - # if self.filter_dict.get(tab_name): - # table_name = self.filter_dict[tab_name]['filter_table'] - # feature_type = self.filter_dict[tab_name]['feature_type'] - # tools_gw.set_completer_widget(table_name, self.dlg_dscenario.txt_feature_id, feature_type, add_id=True) - # - # # Deactivate btn_snapping functionality - # self._selection_end() - # - # # Enable/disable filter & buttons - # self._enable_widgets(enable) - - - def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=None): - """ Fill mapzone table with data from its corresponding table """ - - # Manage exception if dialog is closed - if isdeleted(self.mapzone_mng_dlg): - return - - self.table_name = f"{self.mapzone_mng_dlg.main_tab.currentWidget().objectName()}" - widget = self.mapzone_mng_dlg.main_tab.currentWidget() - - if self.schema_name not in self.table_name: - self.table_name = self.schema_name + "." + self.table_name - - # Set model - model = QSqlTableModel(db=lib_vars.qgis_db_credentials) - model.setTable(self.table_name) - # model.setFilter(f"dscenario_id = {self.selected_dscenario_id}") - model.setEditStrategy(QSqlTableModel.OnFieldChange) - model.setSort(0, 0) - model.select() - # # Set item delegates - # readonly_delegate = ReadOnlyDelegate(widget) - # widget.setItemDelegateForColumn(0, readonly_delegate) - # widget.setItemDelegateForColumn(1, readonly_delegate) - # editable_delegate = EditableDelegate(widget) - # for x in range(2, model.columnCount()): - # widget.setItemDelegateForColumn(x, editable_delegate) - - - # Check for errors - if model.lastError().isValid(): - tools_qgis.show_warning(model.lastError().text(), dialog=self.mapzone_mng_dlg) - # Attach model to table view - if expr: - widget.setModel(model) - widget.model().setFilter(expr) - else: - widget.setModel(model) - widget.setSortingEnabled(True) - - # Set widget & model properties - tools_qt.set_tableview_config(widget, selection=QAbstractItemView.SelectRows, edit_triggers=set_edit_triggers, sectionResizeMode=0) - tools_gw.set_tablemodel_config(self.mapzone_mng_dlg, widget, f"{self.table_name[len(f'{self.schema_name}.'):]}") - - # Hide unwanted columns - col_idx = tools_qt.get_col_index_by_col_name(widget, 'dscenario_id') - if col_idx not in (None, False): - widget.setColumnHidden(col_idx, True) - - geom_col_idx = tools_qt.get_col_index_by_col_name(widget, 'the_geom') - if geom_col_idx not in (None, False): - widget.setColumnHidden(geom_col_idx, True) - - # Sort the table by feature id - model.sort(1, 0) - - # region config button - - def _manage_config(self): - """ Dialog from config button """ - - # Get selected row - tableview = self.mapzone_mng_dlg.main_tab.currentWidget() - selected_list = tableview.selectionModel().selectedRows() - if len(selected_list) == 0: - message = "Any record selected" - tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) - return - - # Get selected mapzone data - index = tableview.selectionModel().currentIndex() - self.mapzone_id = index.sibling(index.row(), 0).data() - self.mapzone_type = tableview.objectName().split('_')[-1].lower() - graphconfig = index.sibling(index.row(), tools_qt.get_col_index_by_col_name(tableview, 'graphconfig')).data() - - # Build dialog - self.config_dlg = GwMapzoneConfigUi() - tools_gw.load_settings(self.config_dlg) - - # Button icons - tools_gw.add_icon(self.config_dlg.btn_snapping_nodeParent, "137") - tools_gw.add_icon(self.config_dlg.btn_snapping_toArc, "137") - tools_gw.add_icon(self.config_dlg.btn_snapping_forceClosed, "137") - - # Set variables - self._reset_config_vars() - - # Fill preview - if graphconfig: - tools_qt.set_widget_text(self.config_dlg, 'txt_preview', graphconfig) - - # Connect signals - self.child_type = None - self.config_dlg.btn_snapping_nodeParent.clicked.connect( - partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_nodeParent, 'v_edit_node', 'nodeParent', None, - self.child_type)) - self.config_dlg.btn_snapping_toArc.clicked.connect( - partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_toArc, 'v_edit_arc', 'toArc', None, - self.child_type)) - self.config_dlg.btn_add_nodeParent.clicked.connect( - partial(self._add_node_parent, self.config_dlg) - ) - # Force closed - self.config_dlg.btn_snapping_forceClosed.clicked.connect( - partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_forceClosed, 'v_edit_node', 'forceClosed', None, - self.child_type)) - self.config_dlg.btn_add_forceClosed.clicked.connect( - partial(self._add_force_closed, self.config_dlg) - ) - # Preview - self.config_dlg.btn_clear_preview.clicked.connect(partial(self._clear_preview, self.config_dlg)) - # Dialog buttons - self.config_dlg.btn_accept.clicked.connect(partial(self._accept_config, self.config_dlg)) - self.config_dlg.btn_cancel.clicked.connect(self.config_dlg.reject) - self.config_dlg.finished.connect(partial(tools_gw.close_dialog, self.config_dlg, True)) - - # Enable/disable certain widgets - tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_nodeParent, True) - tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, False) - tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, False) - - tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_forceClosed, True) - tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_forceClosed, False) - - tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_clear_preview, True) - - # Open dialog - tools_gw.open_dialog(self.config_dlg, 'mapzone_config') - - - def _reset_config_vars(self, mode=0): - """ - Reset config variables - - :param mode: which variables to reset {0: all, 1: nodeParent & toArc, 2: only forceClosed} - """ - - if mode in (0, 1): - self.node_parent = None - tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', '') - self.to_arc_list = set() - tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', '') - tools_qt.set_widget_enabled(self.config_dlg, 'btn_snapping_toArc', False) - tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_nodeParent', False) - if mode in (0, 2): - self.force_closed_list = set() - tools_qt.set_widget_text(self.config_dlg, 'txt_forceClosed', '') - tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_forceClosed', False) - - - - def get_snapped_feature_id(self, dialog, action, layer_name, option, widget_name, child_type): - """ Snap feature and set a value into dialog """ - - layer = tools_qgis.get_layer_by_tablename(layer_name) - if not layer: - action.setChecked(False) - return - # if widget_name is not None: - # widget = dialog.findChild(QWidget, widget_name) - # if widget is None: - # action.setChecked(False) - # return - # Block the signals of the dialog so that the key ESC does not close it - dialog.blockSignals(True) - - self.vertex_marker = self.snapper_manager.vertex_marker - - # Store user snapping configuration - self.snapper_manager.store_snapping_options() - - # Disable snapping - self.snapper_manager.set_snapping_status() - - # if we are doing info over connec or over node - if option in ('arc', 'set_to_arc'): - self.snapper_manager.config_snap_to_arc() - elif option == 'node': - self.snapper_manager.config_snap_to_node() - # Set signals - tools_gw.disconnect_signal('mapzone_manager_snapping', 'get_snapped_feature_id_xyCoordinates_mouse_moved') - tools_gw.connect_signal(self.canvas.xyCoordinates, partial(self._mouse_moved, layer), - 'mapzone_manager_snapping', 'get_snapped_feature_id_xyCoordinates_mouse_moved') - - tools_gw.disconnect_signal('mapzone_manager_snapping', 'get_snapped_feature_id_ep_canvasClicked_get_id') - emit_point = QgsMapToolEmitPoint(self.canvas) - self.canvas.setMapTool(emit_point) - tools_gw.connect_signal(emit_point.canvasClicked, partial(self._get_id, dialog, action, option, emit_point, child_type), - 'mapzone_manager_snapping', 'get_snapped_feature_id_ep_canvasClicked_get_id') - - - def _mouse_moved(self, layer, point): - """ Mouse motion detection """ - - # Set active layer - self.iface.setActiveLayer(layer) - layer_name = tools_qgis.get_layer_source_table_name(layer) - - # Get clicked point - self.vertex_marker.hide() - event_point = self.snapper_manager.get_event_point(point=point) - - # Snapping - result = self.snapper_manager.snap_to_current_layer(event_point) - if result.isValid(): - layer = self.snapper_manager.get_snapped_layer(result) - # Check feature - viewname = tools_qgis.get_layer_source_table_name(layer) - if viewname == layer_name: - self.snapper_manager.add_marker(result, self.vertex_marker) - - - def _get_id(self, dialog, action, option, emit_point, child_type, point, event): - """ Get selected attribute from snapped feature """ - - # @options{'key':['att to get from snapped feature', 'function to call']} - options = {'nodeParent': ['node_id', '_set_node_parent'], 'toArc': ['arc_id', '_set_to_arc'], - 'forceClosed': ['node_id', '_set_force_closed']} - - if event == Qt.RightButton: - self._cancel_snapping_tool(dialog, action) - return - - try: - # Refresh all layers to avoid selecting old deleted features - global_vars.canvas.refreshAllLayers() - # Get coordinates - event_point = self.snapper_manager.get_event_point(point=point) - # Snapping - result = self.snapper_manager.snap_to_current_layer(event_point) - if not result.isValid(): - return - # Get the point. Leave selection - snapped_feat = self.snapper_manager.get_snapped_feature(result) - feat_id = snapped_feat.attribute(f'{options[option][0]}') - getattr(self, options[option][1])(snapped_feat, feat_id, child_type) - except Exception as e: - tools_qgis.show_warning(f"Exception in info (def _get_id)", parameter=e) - finally: - self.snapper_manager.recover_snapping_options() - if option == 'nodeParent': - self._cancel_snapping_tool(dialog, action) - - - def _set_node_parent(self, snapped_feat, feat_id, child_type): - """ - Function called in def _get_id(self, dialog, action, option, point, event): - getattr(self, options[option][1])(feat_id, child_type) - - :param feat_id: Id of the snapped feature - """ - - self.node_parent = (snapped_feat, feat_id) - - tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', f"{feat_id}") - tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, True) - - - def _set_to_arc(self, snapped_feat, feat_id, child_type): - """ - Function called in def _get_id(self, dialog, action, option, point, event): - getattr(self, options[option][1])(feat_id, child_type) - - :param feat_id: Id of the snapped feature - """ - - # Set variable, set widget text and enable add button - self.to_arc_list.add(int(feat_id)) - - tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', f"{self.to_arc_list}") - tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, True) - - - def _set_force_closed(self, snapped_feat, feat_id, child_type): - """ - Function called in def _get_id(self, dialog, action, option, point, event): - getattr(self, options[option][1])(feat_id, child_type) - - :param feat_id: Id of the snapped feature - """ - - # Set variable, set widget text and enable add button - self.force_closed_list.add(feat_id) - - tools_qt.set_widget_text(self.config_dlg, 'txt_forceClosed', f"{self.force_closed_list}") - tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_forceClosed, True) - - - def _add_node_parent(self, dialog): - """ ADD button for nodeParent """ - - node_parent_feat, node_parent_id = self.node_parent - to_arc_list = json.dumps(list(self.to_arc_list)) - preview = tools_qt.get_text(dialog, 'txt_preview') - - parameters = f'"action": "PREVIEW", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ - f'"nodeParent": "{node_parent_id}", "toArc": {to_arc_list}' - if preview: - parameters += f', "config": {preview}' - extras = f'"parameters": {{{parameters}}}' - body = tools_gw.create_body(extras=extras) - json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) - if json_result is None: - return - - if 'status' in json_result and json_result['status'] == 'Accepted': - if json_result['message']: - level = 1 - if 'level' in json_result['message']: - level = int(json_result['message']['level']) - tools_qgis.show_message(json_result['message']['text'], level, dialog=dialog) - - preview = json_result['body']['data'].get('preview') - if preview: - tools_qt.set_widget_text(dialog, 'txt_preview', json.dumps(preview)) - - self._cancel_snapping_tool(dialog, dialog.btn_add_nodeParent) - self._reset_config_vars(1) - - - def _add_force_closed(self, dialog): - """ ADD button for forceClosed """ - - force_closed_list = json.dumps(list(self.force_closed_list)) - preview = tools_qt.get_text(dialog, 'txt_preview') - - parameters = f'"action": "PREVIEW", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ - f'"forceClosed": {force_closed_list}' - if preview: - parameters += f', "config": {preview}' - extras = f'"parameters": {{{parameters}}}' - body = tools_gw.create_body(extras=extras) - json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) - if json_result is None: - return - - if 'status' in json_result and json_result['status'] == 'Accepted': - if json_result['message']: - level = 1 - if 'level' in json_result['message']: - level = int(json_result['message']['level']) - tools_qgis.show_message(json_result['message']['text'], level, dialog=dialog) - - preview = json_result['body']['data'].get('preview') - if preview: - tools_qt.set_widget_text(dialog, 'txt_preview', json.dumps(preview)) - - self._cancel_snapping_tool(dialog, dialog.btn_add_forceClosed) - self._reset_config_vars(2) - - - def _clear_preview(self, dialog): - """ Set preview textbox to '' """ - - tools_qt.set_widget_text(dialog, 'txt_preview', '') - - - def _accept_config(self, dialog): - """ Accept button for config dialog """ - - preview = tools_qt.get_text(dialog, 'txt_preview') - - if not preview: - return - parameters = f'"action": "UPDATE", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ - f'"config": {preview}' - extras = f'"parameters": {{{parameters}}}' - body = tools_gw.create_body(extras=extras) - json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) - if json_result is None: - return - - if 'status' in json_result and json_result['status'] == 'Accepted': - if json_result['message']: - level = 1 - if 'level' in json_result['message']: - level = int(json_result['message']['level']) - tools_qgis.show_message(json_result['message']['text'], level) - - self._reset_config_vars(0) - tools_gw.close_dialog(dialog) - self._manage_current_changed() - - - def _cancel_snapping_tool(self, dialog, action): - - tools_qgis.disconnect_snapping(False, None, self.vertex_marker) - tools_gw.disconnect_signal('mapzone_manager_snapping') - dialog.blockSignals(False) - action.setChecked(False) - # self.signal_activate.emit() - - # endregion - - def _manage_toggle_active(self): - # Get selected row - tableview = self.mapzone_mng_dlg.main_tab.currentWidget() - view = tableview.objectName().replace('tbl_', '') - selected_list = tableview.selectionModel().selectedRows() - if len(selected_list) == 0: - message = "Any record selected" - tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) - return - - # Get selected mapzone data - index = tableview.selectionModel().currentIndex() - mapzone_id = index.sibling(index.row(), 0).data() - active = index.sibling(index.row(), tools_qt.get_col_index_by_col_name(tableview, 'active')).data() - active = tools_os.set_boolean(active) - field_id = tableview.model().headerData(0, Qt.Horizontal) - - sql = f"UPDATE {view} SET active = {str(not active).lower()} WHERE {field_id} = {mapzone_id}" - tools_db.execute_sql(sql) - - # Refresh tableview - self._manage_current_changed() - - - def _manage_create(self): - # Get selected row - tableview = self.mapzone_mng_dlg.main_tab.currentWidget() - view = tableview.objectName().replace('tbl_', '') - selected_list = tableview.selectionModel().selectedRows() - if len(selected_list) == 0: - message = "Any record selected" - tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) - return - - # Get selected mapzone data - index = tableview.selectionModel().currentIndex() - mapzone_id = index.sibling(index.row(), 0).data() - field_id = tableview.model().headerData(0, Qt.Horizontal) - - - def _manage_update(self): - # Get selected row - tableview = self.mapzone_mng_dlg.main_tab.currentWidget() - view = tableview.objectName().replace('tbl_', '') - selected_list = tableview.selectionModel().selectedRows() - if len(selected_list) == 0: - message = "Any record selected" - tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) - return - - # Get selected mapzone data - index = tableview.selectionModel().currentIndex() - mapzone_id = index.sibling(index.row(), 0).data() - field_id = tableview.model().headerData(0, Qt.Horizontal) - - - def _manage_delete(self): - # Get selected row - tableview = self.mapzone_mng_dlg.main_tab.currentWidget() - view = tableview.objectName().replace('tbl_', '') - selected_list = tableview.selectionModel().selectedRows() - if len(selected_list) == 0: - message = "Any record selected" - tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) - return - - # Get selected mapzone data - index = tableview.selectionModel().currentIndex() - mapzone_id = index.sibling(index.row(), 0).data() - field_id = tableview.model().headerData(0, Qt.Horizontal) - - message = "Are you sure you want to delete these records?" - answer = tools_qt.show_question(message, "Delete records", index.sibling(index.row(), 1).data(), force_action=True) - if answer: - sql = f"DELETE FROM {view} WHERE {field_id} = {mapzone_id}" - tools_db.execute_sql(sql) - - # Refresh tableview - self._manage_current_changed() - - # endregion - + self.mapzones_manager = GwMapzoneManager() + self.mapzones_manager.manage_mapzones() # endregion From c926acec4e44fdc81909ef21236eca39716319ac Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 30 Aug 2023 15:42:09 +0200 Subject: [PATCH 14/57] Mapzone manager: create new mapzone (WIP) --- core/toolbars/utilities/mapzone_manager.py | 88 ++++++++++++++++++---- 1 file changed, 72 insertions(+), 16 deletions(-) diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index 890d38366..615e97a92 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -11,18 +11,19 @@ from sip import isdeleted from qgis.PyQt.QtCore import Qt, QPoint -from qgis.PyQt.QtWidgets import QAction, QMenu, QTableView, QAbstractItemView +from qgis.PyQt.QtWidgets import QAction, QMenu, QTableView, QAbstractItemView, QGridLayout, QLabel from qgis.PyQt.QtSql import QSqlTableModel from qgis.gui import QgsMapToolEmitPoint -from ...ui.ui_manager import GwMapzoneManagerUi, GwMapzoneConfigUi +from ...ui.ui_manager import GwMapzoneManagerUi, GwMapzoneConfigUi, GwInfoGenericUi from ...utils.snap_manager import GwSnapManager from ...shared.info import GwInfo from ...utils import tools_gw from .... import global_vars from ....libs import lib_vars, tools_qgis, tools_qt, tools_db, tools_os + class GwMapzoneManager: def __init__(self): @@ -167,7 +168,7 @@ def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=N # Sort the table by feature id model.sort(1, 0) - # region config button + # region config button def _manage_config(self): """ Dialog from config button """ @@ -494,7 +495,7 @@ def _cancel_snapping_tool(self, dialog, action): action.setChecked(False) # self.signal_activate.emit() - # endregion + # endregion def _manage_toggle_active(self): # Get selected row @@ -520,19 +521,76 @@ def _manage_toggle_active(self): self._manage_current_changed() def _manage_create(self): - # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() - view = tableview.objectName().replace('tbl_', '') - selected_list = tableview.selectionModel().selectedRows() - if len(selected_list) == 0: - message = "Any record selected" - tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + tablename = tableview.objectName().replace('tbl_', '') + + # Execute getinfofromid + feature = f'"tableName":"{tablename}"' + body = tools_gw.create_body(feature=feature) + json_result = tools_gw.execute_procedure('gw_fct_getinfofromid', body) + if json_result is None or json_result['status'] == 'Failed': return + result = json_result + + # Build dlg + self.add_dlg = GwInfoGenericUi() + tools_gw.load_settings(self.add_dlg) + self.my_json_add = {} + tools_gw.build_dialog_info(self.add_dlg, result, my_json=self.my_json_add) + + # # Populate node_id/feature_id + # tools_qt.set_widget_text(self.add_dlg, f'tab_none_{info.feature_type}_id', feature_id) + # tools_qt.set_widget_text(self.add_dlg, 'tab_none_feature_id', feature_id) + layout = self.add_dlg.findChild(QGridLayout, 'lyt_main_1') + # tools_qt.set_selected_item(self.add_dlg, 'tab_none_feature_type', f"{info.feature_type.upper()}") + # tools_qt.set_widget_enabled(self.add_dlg, 'tab_none_feature_type', False) + + # cmb_nodarc_id = self.add_dlg.findChild(QComboBox, 'tab_none_nodarc_id') + # aux_view = view.replace("dscenario_", "") + # if cmb_nodarc_id is not None: + # sql = (f"SELECT nodarc_id as id, nodarc_id as idval FROM {aux_view}" + # f" WHERE {info.feature_type}_id = '{feature_id}'") + # rows = tools_db.get_rows(sql) + # tools_qt.fill_combo_values(cmb_nodarc_id, rows) + # cmb_order_id = self.add_dlg.findChild(QComboBox, 'tab_none_order_id') + # if cmb_order_id is not None: + # sql = (f"SELECT order_id as id, order_id::text as idval FROM {aux_view}" + # f" WHERE {info.feature_type}_id = '{feature_id}'") + # rows = tools_db.get_rows(sql) + # tools_qt.fill_combo_values(cmb_order_id, rows, 1) + + # Get every widget in the layout + widgets = [] + for row in range(layout.rowCount()): + for column in range(layout.columnCount()): + item = layout.itemAtPosition(row, column) + if item is not None: + widget = item.widget() + if widget is not None and type(widget) != QLabel: + widgets.append(widget) + # Get all widget's values + for widget in widgets: + tools_gw.get_values(self.add_dlg, widget, self.my_json_add, ignore_editability=True) + # Remove Nones from self.my_json_add + keys_to_remove = [] + for key, value in self.my_json_add.items(): + if value is None: + keys_to_remove.append(key) + for key in keys_to_remove: + del self.my_json_add[key] + + # Signals + self.add_dlg.btn_close.clicked.connect(partial(tools_gw.close_dialog, self.add_dlg)) + self.add_dlg.dlg_closed.connect(partial(tools_gw.close_dialog, self.add_dlg)) + # self.add_dlg.dlg_closed.connect(partial(refresh_epa_tbl, tbl, dlg, **kwargs)) + # self.add_dlg.btn_accept.clicked.connect( + # partial(accept_add_dlg, self.add_dlg, tablename, pkey, feature_id, self.my_json_add, result, info)) + + # Open dlg + dlg_title = f"New mapzone - {tablename}" + tools_gw.open_dialog(self.add_dlg, dlg_name='info_generic', title=dlg_title) - # Get selected mapzone data - index = tableview.selectionModel().currentIndex() - mapzone_id = index.sibling(index.row(), 0).data() - field_id = tableview.model().headerData(0, Qt.Horizontal) def _manage_update(self): # Get selected row @@ -573,5 +631,3 @@ def _manage_delete(self): # Refresh tableview self._manage_current_changed() - - # endregion From c0222b1a09811f5da1b659dd6500ad405ac0ed0b Mon Sep 17 00:00:00 2001 From: edgarfuste <34737125+edgarfuste@users.noreply.github.com> Date: Thu, 31 Aug 2023 11:10:24 +0200 Subject: [PATCH 15/57] Minor enhancement: manage btn_print, show only on ud projects --- core/shared/nonvisual.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/shared/nonvisual.py b/core/shared/nonvisual.py index 78319e411..6e8d03ccc 100644 --- a/core/shared/nonvisual.py +++ b/core/shared/nonvisual.py @@ -125,7 +125,10 @@ def _manage_tabs_changed(self): chk_active_visible, btn_print_visible = visibility_settings.get(tab_name, default_visibility) self.manager_dlg.chk_active.setVisible(chk_active_visible) - self.manager_dlg.btn_print.setVisible(btn_print_visible) + if btn_print_visible and global_vars.project_type == 'ud': + self.manager_dlg.btn_print.setVisible(btn_print_visible) + else: + self.manager_dlg.btn_print.setVisible(False) def _get_nonvisual_object(self, tbl_view, function_name): From e85dcc443a544b2bbccbcd6a56916fcadc473f88 Mon Sep 17 00:00:00 2001 From: edgarfuste <34737125+edgarfuste@users.noreply.github.com> Date: Thu, 31 Aug 2023 11:11:01 +0200 Subject: [PATCH 16/57] Minor enhancement: set btn_close text as "Close" when import csv end with success --- core/toolbars/utilities/csv_btn.py | 1 + 1 file changed, 1 insertion(+) diff --git a/core/toolbars/utilities/csv_btn.py b/core/toolbars/utilities/csv_btn.py index b54b96621..2ee140b96 100644 --- a/core/toolbars/utilities/csv_btn.py +++ b/core/toolbars/utilities/csv_btn.py @@ -169,6 +169,7 @@ def _write_csv(self, dialog, temp_tablename): else: if result['status'] == "Accepted": tools_gw.fill_tab_log(dialog, result['body']['data'], close=False) + self.dlg_csv.btn_cancel.setText("Close") message = result.get('message') if message: msg = message.get('text') From b8828da59f7991b5cf4a185a89c55112625a0eda Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Thu, 31 Aug 2023 12:13:41 +0200 Subject: [PATCH 17/57] Mapzone manager: create & update buttons + tabs for ud --- core/toolbars/utilities/mapzone_manager.py | 166 +++++++++++++++------ core/utils/tools_gw.py | 2 +- 2 files changed, 122 insertions(+), 46 deletions(-) diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index 615e97a92..a490b7e81 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -11,10 +11,11 @@ from sip import isdeleted from qgis.PyQt.QtCore import Qt, QPoint -from qgis.PyQt.QtWidgets import QAction, QMenu, QTableView, QAbstractItemView, QGridLayout, QLabel +from qgis.PyQt.QtWidgets import QAction, QMenu, QTableView, QAbstractItemView, QGridLayout, QLabel, QWidget from qgis.PyQt.QtSql import QSqlTableModel from qgis.gui import QgsMapToolEmitPoint +from qgis.core import QgsProject from ...ui.ui_manager import GwMapzoneManagerUi, GwMapzoneConfigUi, GwInfoGenericUi from ...utils.snap_manager import GwSnapManager @@ -54,6 +55,8 @@ def manage_mapzones(self): default_tab_idx = 0 tabs = ['sector', 'dma', 'presszone', 'dqa'] + if global_vars.project_type == 'ud': + tabs = ['drainzone'] for tab in tabs: view = f'v_edit_{tab}' qtableview = QTableView() @@ -520,10 +523,12 @@ def _manage_toggle_active(self): # Refresh tableview self._manage_current_changed() + def _manage_create(self): tableview = self.mapzone_mng_dlg.main_tab.currentWidget() tablename = tableview.objectName().replace('tbl_', '') + field_id = tableview.model().headerData(0, Qt.Horizontal) # Execute getinfofromid feature = f'"tableName":"{tablename}"' @@ -533,19 +538,80 @@ def _manage_create(self): return result = json_result + dlg_title = f"New {tablename.split('_')[-1].capitalize()}" + + self._build_generic_info(dlg_title, result, tablename, field_id, force_action="INSERT") + + + def _manage_update(self): + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + tablename = tableview.objectName().replace('tbl_', '') + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + mapzone_id = index.sibling(index.row(), 0).data() + field_id = tableview.model().headerData(0, Qt.Horizontal) + + # Execute getinfofromid + feature = f'"tableName":"{tablename}", "id": "{mapzone_id}"' + body = tools_gw.create_body(feature=feature) + json_result = tools_gw.execute_procedure('gw_fct_getinfofromid', body) + if json_result is None or json_result['status'] == 'Failed': + return + result = json_result + + dlg_title = f"Update {tablename.split('_')[-1].capitalize()} ({mapzone_id})" + + self._build_generic_info(dlg_title, result, tablename, field_id, force_action="UPDATE") + + + def _manage_delete(self): + # Get selected row + tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + view = tableview.objectName().replace('tbl_', '') + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + return + + # Get selected mapzone data + index = tableview.selectionModel().currentIndex() + mapzone_id = index.sibling(index.row(), 0).data() + field_id = tableview.model().headerData(0, Qt.Horizontal) + + message = "Are you sure you want to delete these records?" + answer = tools_qt.show_question(message, "Delete records", index.sibling(index.row(), 1).data(), + force_action=True) + if answer: + sql = f"DELETE FROM {view} WHERE {field_id} = {mapzone_id}" + tools_db.execute_sql(sql) + + # Refresh tableview + self._manage_current_changed() + + + def _build_generic_info(self, dlg_title, result, tablename, field_id, force_action=None): # Build dlg self.add_dlg = GwInfoGenericUi() tools_gw.load_settings(self.add_dlg) self.my_json_add = {} tools_gw.build_dialog_info(self.add_dlg, result, my_json=self.my_json_add) - # # Populate node_id/feature_id # tools_qt.set_widget_text(self.add_dlg, f'tab_none_{info.feature_type}_id', feature_id) # tools_qt.set_widget_text(self.add_dlg, 'tab_none_feature_id', feature_id) layout = self.add_dlg.findChild(QGridLayout, 'lyt_main_1') + # Disable widgets if updating + if force_action == "UPDATE": + tools_qt.set_widget_enabled(self.add_dlg, f'tab_none_{field_id}', False) # sector_id/dma_id/... # tools_qt.set_selected_item(self.add_dlg, 'tab_none_feature_type', f"{info.feature_type.upper()}") # tools_qt.set_widget_enabled(self.add_dlg, 'tab_none_feature_type', False) - # cmb_nodarc_id = self.add_dlg.findChild(QComboBox, 'tab_none_nodarc_id') # aux_view = view.replace("dscenario_", "") # if cmb_nodarc_id is not None: @@ -559,7 +625,6 @@ def _manage_create(self): # f" WHERE {info.feature_type}_id = '{feature_id}'") # rows = tools_db.get_rows(sql) # tools_qt.fill_combo_values(cmb_order_id, rows, 1) - # Get every widget in the layout widgets = [] for row in range(layout.rowCount()): @@ -579,55 +644,66 @@ def _manage_create(self): keys_to_remove.append(key) for key in keys_to_remove: del self.my_json_add[key] - # Signals self.add_dlg.btn_close.clicked.connect(partial(tools_gw.close_dialog, self.add_dlg)) self.add_dlg.dlg_closed.connect(partial(tools_gw.close_dialog, self.add_dlg)) - # self.add_dlg.dlg_closed.connect(partial(refresh_epa_tbl, tbl, dlg, **kwargs)) - # self.add_dlg.btn_accept.clicked.connect( - # partial(accept_add_dlg, self.add_dlg, tablename, pkey, feature_id, self.my_json_add, result, info)) - + self.add_dlg.dlg_closed.connect(self._manage_current_changed) + self.add_dlg.btn_accept.clicked.connect( + partial(self._accept_add_dlg, self.add_dlg, tablename, field_id, None, self.my_json_add, result, force_action)) # Open dlg - dlg_title = f"New mapzone - {tablename}" tools_gw.open_dialog(self.add_dlg, dlg_name='info_generic', title=dlg_title) - def _manage_update(self): - # Get selected row - tableview = self.mapzone_mng_dlg.main_tab.currentWidget() - view = tableview.objectName().replace('tbl_', '') - selected_list = tableview.selectionModel().selectedRows() - if len(selected_list) == 0: - message = "Any record selected" - tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + def _accept_add_dlg(self, dialog, tablename, pkey, feature_id, my_json, complet_result, force_action): + if not my_json: return - # Get selected mapzone data - index = tableview.selectionModel().currentIndex() - mapzone_id = index.sibling(index.row(), 0).data() - field_id = tableview.model().headerData(0, Qt.Horizontal) - - def _manage_delete(self): - # Get selected row - tableview = self.mapzone_mng_dlg.main_tab.currentWidget() - view = tableview.objectName().replace('tbl_', '') - selected_list = tableview.selectionModel().selectedRows() - if len(selected_list) == 0: - message = "Any record selected" - tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + list_mandatory = [] + list_filter = [] + + for field in complet_result['body']['data']['fields']: + if field['ismandatory']: + widget = dialog.findChild(QWidget, field['widgetname']) + if not widget: + continue + widget.setStyleSheet(None) + value = tools_qt.get_text(dialog, widget) + if value in ('null', None, ''): + widget.setStyleSheet("border: 1px solid red") + list_mandatory.append(field['widgetname']) + else: + elem = [field['columnname'], value] + list_filter.append(elem) + + if list_mandatory: + msg = "Some mandatory values are missing. Please check the widgets marked in red." + tools_qgis.show_warning(msg, dialog=dialog) + tools_qt.set_action_checked("actionEdit", True, dialog) + QgsProject.instance().blockSignals(False) + return False + + fields = json.dumps(my_json) + id_val = "" + if pkey: + if not isinstance(pkey, list): + pkey = [pkey] + for pk in pkey: + widget_name = f"tab_none_{pk}" + value = tools_qt.get_widget_value(dialog, widget_name) + id_val += f"{value}, " + id_val = id_val[:-2] + # if id_val in (None, '', 'None'): + # id_val = feature_id + + feature = f'"id":"{id_val}", ' + feature += f'"tableName":"{tablename}"' + extras = f'"fields":{fields}' + if force_action: + extras += f', "force_action":"{force_action}"' + body = tools_gw.create_body(feature=feature, extras=extras) + json_result = tools_gw.execute_procedure('gw_fct_upsertfields', body) + if json_result and json_result.get('status') == 'Accepted': + tools_gw.close_dialog(dialog) return - # Get selected mapzone data - index = tableview.selectionModel().currentIndex() - mapzone_id = index.sibling(index.row(), 0).data() - field_id = tableview.model().headerData(0, Qt.Horizontal) - - message = "Are you sure you want to delete these records?" - answer = tools_qt.show_question(message, "Delete records", index.sibling(index.row(), 1).data(), - force_action=True) - if answer: - sql = f"DELETE FROM {view} WHERE {field_id} = {mapzone_id}" - tools_db.execute_sql(sql) - - # Refresh tableview - self._manage_current_changed() + tools_qgis.show_warning('Error', parameter=json_result, dialog=dialog) diff --git a/core/utils/tools_gw.py b/core/utils/tools_gw.py index 7a8c4889c..3d80f5405 100644 --- a/core/utils/tools_gw.py +++ b/core/utils/tools_gw.py @@ -1655,7 +1655,7 @@ def add_checkbox(**kwargs): if connect_signal is not None and connect_signal is False: return widget - if 'widgetfunction' in field: + if field.get('widgetfunction'): if 'module' in field['widgetfunction']: module = globals()[field['widgetfunction']['module']] function_name = field['widgetfunction'].get('functionName') From 7b7fad92416957585a3c9b53348c94d74cbc1fcf Mon Sep 17 00:00:00 2001 From: edgarfuste <34737125+edgarfuste@users.noreply.github.com> Date: Thu, 31 Aug 2023 12:51:28 +0200 Subject: [PATCH 18/57] Minor bug fix: manage btn_run on toolbox execution when missing mandatory values --- config/user_params.config | 4 ++++ core/threads/toolbox_execute.py | 1 + core/toolbars/utilities/toolbox_btn.py | 1 - 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/config/user_params.config b/config/user_params.config index 20b87673f..dc20956e8 100644 --- a/config/user_params.config +++ b/config/user_params.config @@ -796,6 +796,10 @@ _gw_fct_graphanalytics_minsector_updatefeature = None _gw_fct_graphanalytics_minsector_geomparamupdate = None _gw_fct_graphanalytics_minsector_updatemapzone = None _gw_fct_graphanalytics_mapzones_advanced_commitchanges = None +_gw_fct_epa_setjunctionsoutlet_cmb_feature_type = None +_gw_fct_epa_setjunctionsoutlet_cmb_layers = None +_gw_fct_epa_setjunctionsoutlet_rbt_previous = None +_gw_fct_epa_setjunctionsoutlet_mindistance = None [session.docker] _position = None diff --git a/core/threads/toolbox_execute.py b/core/threads/toolbox_execute.py index d0d5e5c6d..85f0a2170 100644 --- a/core/threads/toolbox_execute.py +++ b/core/threads/toolbox_execute.py @@ -183,6 +183,7 @@ def finished(self, result): tools_qt.show_exception_message(msg=lib_vars.session_vars['last_error_msg']) elif result: tools_gw.fill_tab_log(self.dialog, self.json_result['body']['data'], True, True, 1, False, False) + self.dialog.btn_run.setEnabled(False) # If sql function return null elif result is False: msg = f"Database returned null. Check postgres function 'gw_fct_getinfofromid'" diff --git a/core/toolbars/utilities/toolbox_btn.py b/core/toolbars/utilities/toolbox_btn.py index b66eb4f55..fcf28eb07 100644 --- a/core/toolbars/utilities/toolbox_btn.py +++ b/core/toolbars/utilities/toolbox_btn.py @@ -568,7 +568,6 @@ def _execute_function(self, description, dialog, combo, result): except RuntimeError: pass - self.dlg_functions.btn_run.setEnabled(False) self.dlg_functions.btn_cancel.show() self.dlg_functions.btn_close.hide() dialog.progressBar.setRange(0, 0) From 3cc30d8b454efa14b9217c092c7ab5257d715375 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Thu, 31 Aug 2023 16:39:46 +0200 Subject: [PATCH 19/57] New button: Netscenario manager --- config/user_params.config | 43 ++ core/toolbars/buttons.py | 1 + core/toolbars/plan/netscenario_manager_btn.py | 722 ++++++++++++++++++ core/ui/toolbars/plan/netscenario.ui | 126 +++ core/ui/toolbars/plan/netscenario_manager.ui | 148 ++++ core/ui/ui_manager.py | 9 + icons/toolbars/{epa => plan}/219.png | Bin 7 files changed, 1049 insertions(+) create mode 100644 core/toolbars/plan/netscenario_manager_btn.py create mode 100644 core/ui/toolbars/plan/netscenario.ui create mode 100644 core/ui/toolbars/plan/netscenario_manager.ui rename icons/toolbars/{epa => plan}/219.png (100%) diff --git a/config/user_params.config b/config/user_params.config index dc20956e8..8da5ca7b2 100644 --- a/config/user_params.config +++ b/config/user_params.config @@ -308,6 +308,14 @@ _info_epa_pump_width = None _info_epa_pump_height = None _info_epa_weir_width = None _info_epa_weir_height = None +_dlg_mapzone_manager_width = None +_dlg_mapzone_manager_height = None +_dlg_netscenario_manager_width = None +_dlg_netscenario_manager_height = None +_dlg_mapzone_config_width = None +_dlg_mapzone_config_height = None +_dlg_netscenario_width = None +_dlg_netscenario_height = None [session.dialogs_position] dlg_admin_translation_x = None @@ -496,6 +504,14 @@ _info_epa_pump_x = None _info_epa_pump_y = None _info_epa_weir_x = None _info_epa_weir_y = None +_dlg_mapzone_manager_x = None +_dlg_mapzone_manager_y = None +_dlg_netscenario_manager_x = None +_dlg_netscenario_manager_y = None +_dlg_mapzone_config_x = None +_dlg_mapzone_config_y = None +_dlg_netscenario_x = None +_dlg_netscenario_y = None [session.dialogs_tab] _dlg_selector_basic = None @@ -800,6 +816,33 @@ _gw_fct_epa_setjunctionsoutlet_cmb_feature_type = None _gw_fct_epa_setjunctionsoutlet_cmb_layers = None _gw_fct_epa_setjunctionsoutlet_rbt_previous = None _gw_fct_epa_setjunctionsoutlet_mindistance = None +_gw_fct_create_netscenario_empty_cmb_feature_type = None +_gw_fct_create_netscenario_empty_cmb_layers = None +_gw_fct_create_netscenario_empty_rbt_previous = None +_gw_fct_create_netscenario_empty_name = None +_gw_fct_create_netscenario_empty_descript = None +_gw_fct_create_netscenario_empty_type = None +_gw_fct_create_netscenario_empty_active = None +_gw_fct_create_netscenario_empty_expl = None +_gw_fct_duplicate_netscenario_cmb_feature_type = None +_gw_fct_duplicate_netscenario_cmb_layers = None +_gw_fct_duplicate_netscenario_rbt_previous = None +_gw_fct_duplicate_netscenario_copyfrom = None +_gw_fct_duplicate_netscenario_name = None +_gw_fct_duplicate_netscenario_descript = None +_gw_fct_duplicate_netscenario_parent = None +_gw_fct_duplicate_netscenario_active = None +_gw_fct_graphanalytics_mapzones_plan_cmb_feature_type = None +_gw_fct_graphanalytics_mapzones_plan_cmb_layers = None +_gw_fct_graphanalytics_mapzones_plan_rbt_previous = None +_gw_fct_graphanalytics_mapzones_plan_netscenario = None +_gw_fct_graphanalytics_mapzones_plan_floodonlymapzone = None +_gw_fct_graphanalytics_mapzones_plan_forceopen = None +_gw_fct_graphanalytics_mapzones_plan_forceclosed = None +_gw_fct_graphanalytics_mapzones_plan_dscenario_valve = None +_gw_fct_graphanalytics_mapzones_plan_useplanpsector = None +_gw_fct_graphanalytics_mapzones_plan_updatemapzone = None +_gw_fct_graphanalytics_mapzones_plan_geomparamupdate = None [session.docker] _position = None diff --git a/core/toolbars/buttons.py b/core/toolbars/buttons.py index 4610d525c..716b5d489 100644 --- a/core/toolbars/buttons.py +++ b/core/toolbars/buttons.py @@ -52,6 +52,7 @@ from .plan.psector_button import GwPsectorButton from .plan.psector_manager_button import GwPsectorManagerButton from .plan.price_manager_button import GwPriceManagerButton +from .plan.netscenario_manager_btn import GwNetscenarioManagerButton # Utilities from .utilities.toolbox_btn import GwToolBoxButton diff --git a/core/toolbars/plan/netscenario_manager_btn.py b/core/toolbars/plan/netscenario_manager_btn.py new file mode 100644 index 000000000..09e749b4e --- /dev/null +++ b/core/toolbars/plan/netscenario_manager_btn.py @@ -0,0 +1,722 @@ +""" +This file is part of Giswater 3 +The program is free software: you can redistribute it and/or modify it under the terms of the GNU +General Public License as published by the Free Software Foundation, either version 3 of the License, +or (at your option) any later version. +""" +# -*- coding: utf-8 -*- +from functools import partial +from sip import isdeleted +import json + +from qgis.core import QgsProject +from qgis.PyQt.QtGui import QRegExpValidator, QStandardItemModel, QCursor +from qgis.PyQt.QtSql import QSqlTableModel +from qgis.PyQt.QtCore import Qt, QRegExp, QPoint +from qgis.PyQt.QtWidgets import QTableView, QAbstractItemView, QMenu, QCheckBox, QWidgetAction, QComboBox +from qgis.PyQt.QtWidgets import QDialog, QLineEdit + +from ..dialog import GwAction +from ..utilities.toolbox_btn import GwToolBoxButton +from ...ui.ui_manager import GwNetscenarioManagerUi, GwNetscenarioUi, GwInfoGenericUi +from ...utils import tools_gw +from ...models.item_delegates import ReadOnlyDelegate, EditableDelegate +from .... import global_vars +from ....libs import lib_vars, tools_qgis, tools_qt, tools_db + + +class GwNetscenarioManagerButton(GwAction): + """ Button 219: Netscenario manager """ + + def __init__(self, icon_path, action_name, text, toolbar, action_group): + + super().__init__(icon_path, action_name, text, toolbar, action_group) + self.feature_type = 'node' + self.feature_types = ['node_id', 'arc_id', 'feature_id', 'connec_id', 'dma_id', 'presszone_id'] + self.filter_dict = {"plan_netscenario_arc": {"filter_table": "v_edit_arc", "feature_type": "sector"}, + "plan_netscenario_node": {"filter_table": "v_edit_node", "feature_type": "sector"}, + "plan_netscenario_connec": {"filter_table": "v_edit_inp_connec", "feature_type": "connec"}, + "plan_netscenario_dma": {"filter_table": "v_edit_dma", "feature_type": "dma"}, + "plan_netscenario_presszone": {"filter_table": "v_edit_presszone", "feature_type": "presszone"}, + } + self.filter_disabled = [] + self.rubber_band = tools_gw.create_rubberband(global_vars.canvas) + + + + def clicked_event(self): + self._open_netscenario_manager() + + + def _open_netscenario_manager(self): + """ Open netscenario manager """ + + # Main dialog + self.dlg_netscenario_manager = GwNetscenarioManagerUi() + tools_gw.load_settings(self.dlg_netscenario_manager) + + # Manage btn create + self._manage_btn_create() + + # Apply filter validator + self.filter_name = self.dlg_netscenario_manager.findChild(QLineEdit, 'txt_name') + reg_exp = QRegExp('([^"\'\\\\])*') # Don't allow " or ' or \ because it breaks the query + self.filter_name.setValidator(QRegExpValidator(reg_exp)) + + # Fill table + self.tbl_netscenario = self.dlg_netscenario_manager.findChild(QTableView, 'tbl_netscenario') + self._fill_manager_table() + + # Connect main dialog signals + self.dlg_netscenario_manager.txt_name.textChanged.connect(partial(self._fill_manager_table)) + self.dlg_netscenario_manager.btn_duplicate.clicked.connect(partial(self._duplicate_selected_netscenario)) + self.dlg_netscenario_manager.btn_update.clicked.connect(partial(self._open_toolbox_function, 3256)) + self.dlg_netscenario_manager.btn_delete.clicked.connect(partial(self._delete_selected_netscenario)) + self.dlg_netscenario_manager.btn_delete.clicked.connect(partial(tools_gw.refresh_selectors)) + self.tbl_netscenario.doubleClicked.connect(self._open_netscenario) + + self.dlg_netscenario_manager.btn_cancel.clicked.connect(partial(tools_gw.close_dialog, self.dlg_netscenario_manager)) + self.dlg_netscenario_manager.finished.connect(partial(tools_gw.save_settings, self.dlg_netscenario_manager)) + self.dlg_netscenario_manager.finished.connect(partial(self.save_user_values)) + + # Open dialog + tools_gw.open_dialog(self.dlg_netscenario_manager, 'netscenario_manager') + + + + # region netscenario manager + + + def save_user_values(self): + pass + + + def _get_list(self, table_name='v_ui_plan_netscenario', filter_name="", filter_id=None): + """ Mount and execute the query for gw_fct_getlist """ + + feature = f'"tableName":"{table_name}"' + filter_fields = f'"limit": -1, "name": {{"filterSign":"ILIKE", "value":"{filter_name}"}}' + if filter_id is not None: + filter_fields += f', "netscenario_id": {{"filterSign":"=", "value":"{filter_id}"}}' + body = tools_gw.create_body(feature=feature, filter_fields=filter_fields) + json_result = tools_gw.execute_procedure('gw_fct_getlist', body) + if json_result is None or json_result['status'] == 'Failed': + return False + complet_list = json_result + if not complet_list: + return False + + return complet_list + + + def _fill_manager_table(self, filter_name=""): + """ Fill netscenario manager table with data from v_ui_plan_netscenario """ + + complet_list = self._get_list("v_ui_plan_netscenario", filter_name) + + if complet_list is False: + return False, False + for field in complet_list['body']['data']['fields']: + if field.get('hidden'): continue + model = self.tbl_netscenario.model() + if model is None: + model = QStandardItemModel() + self.tbl_netscenario.setModel(model) + model.removeRows(0, model.rowCount()) + + if field['value']: + self.tbl_netscenario = tools_gw.add_tableview_header(self.tbl_netscenario, field) + self.tbl_netscenario = tools_gw.fill_tableview_rows(self.tbl_netscenario, field) + # TODO: config_form_tableview + # widget = tools_gw.set_tablemodel_config(self.dlg_netscenario_manager, self.tbl_netscenario, 'tbl_netscenario', 1, True) + tools_qt.set_tableview_config(self.tbl_netscenario) + + return complet_list + + + def _manage_btn_create(self): + """ Fill btn_create QMenu """ + + # Functions + values = [[3260, "Create empty Netscenario"], [3262, "Create Netscenario from ToC"]] + + # Create and populate QMenu + create_menu = QMenu() + for value in values: + num = value[0] + label = value[1] + action = create_menu.addAction(f"{label}") + action.triggered.connect(partial(self._open_toolbox_function, num)) + + self.dlg_netscenario_manager.btn_create.setMenu(create_menu) + + + def _open_toolbox_function(self, function, signal=None, connect=None): + """ Execute currently selected function from combobox """ + + toolbox_btn = GwToolBoxButton(None, None, None, None, None) + if connect is None: + connect = [partial(self._fill_manager_table, self.filter_name.text()), partial(tools_gw.refresh_selectors)] + else: + if type(connect) != list: + connect = [connect] + dlg_functions = toolbox_btn.open_function_by_id(function, connect_signal=connect) + return dlg_functions + + + def _duplicate_selected_netscenario(self): + """ Duplicates the selected netscenario """ + + # Get selected row + selected_list = self.tbl_netscenario.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.dlg_netscenario_manager) + return + + # Get selected netscenario id + index = self.tbl_netscenario.selectionModel().currentIndex() + value = index.sibling(index.row(), 0).data() + + # Execute toolbox function + dlg_functions = self._open_toolbox_function(3264) + # Set netscenario_id in combo copyFrom + tools_qt.set_combo_value(dlg_functions.findChild(QComboBox, 'copyFrom'), f"{value}", 0) + tools_qt.set_widget_enabled(dlg_functions, 'copyFrom', False) + + + def _delete_selected_netscenario(self): + """ Deletes the selected netscenario """ + + # Get selected row + selected_list = self.tbl_netscenario.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.dlg_netscenario_manager) + return + + # Get selected netscenario id + index = self.tbl_netscenario.selectionModel().currentIndex() + value = index.sibling(index.row(), 0).data() + + message = "CAUTION! Deleting a netscenario will delete data from features related to the netscenario.\n" \ + "Are you sure you want to delete these records?" + answer = tools_qt.show_question(message, "Delete records", index.sibling(index.row(), 1).data(), force_action=True) + if answer: + sql = f"DELETE FROM plan_netscenario WHERE netscenario_id = {value}" + tools_db.execute_sql(sql) + + # Refresh tableview + self._fill_manager_table(self.filter_name.text()) + + # endregion + + # region netscenario + + def _open_netscenario(self, index): + """ Create custom dialog for selected netscenario and fill initial table """ + + # Get selected netscenario_id + row = index.row() + column_index = tools_qt.get_col_index_by_col_name(self.tbl_netscenario, 'netscenario_id') + self.selected_netscenario_id = index.sibling(row, column_index).data() + column_index = tools_qt.get_col_index_by_col_name(self.tbl_netscenario, 'netscenario_type') + self.selected_netscenario_type = index.sibling(row, column_index).data() + + # Create dialog + self.dlg_netscenario = GwNetscenarioUi() + tools_gw.load_settings(self.dlg_netscenario) + + # Add icons + tools_gw.add_icon(self.dlg_netscenario.btn_toc, "306", sub_folder="24x24") + tools_gw.add_icon(self.dlg_netscenario.btn_insert, "111", sub_folder="24x24") + tools_gw.add_icon(self.dlg_netscenario.btn_delete, "112", sub_folder="24x24") + tools_gw.add_icon(self.dlg_netscenario.btn_snapping, "137") + + default_tab_idx = 0 + # Select all netscenario views + sql = f"SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE table_schema = '{lib_vars.schema_name}' " \ + f"AND table_name LIKE 'plan_netscenario_%'" \ + f"ORDER BY array_position(ARRAY['plan_netscenario_arc', 'plan_netscenario_node', 'plan_netscenario_connec', 'plan_netscenario_dma', 'plan_netscenario_presszone'], table_name::text);" + rows = tools_db.get_rows(sql) + if rows: + views = [x[0] for x in rows] + for view in views: + qtableview = QTableView() + qtableview.setObjectName(f"tbl_{view}") + qtableview.clicked.connect(partial(self._manage_highlight, qtableview, view)) + tab_idx = self.dlg_netscenario.main_tab.addTab(qtableview, f"{view.split('_')[-1].capitalize()}") + self.dlg_netscenario.main_tab.widget(tab_idx).setObjectName(view) + + if view.split('_')[-1].upper() == self.selected_netscenario_type: + default_tab_idx = tab_idx + + self.dlg_netscenario.main_tab.setCurrentIndex(default_tab_idx) + + # Connect signals + self.dlg_netscenario.btn_properties.clicked.connect(partial(self._manage_properties)) + self.dlg_netscenario.btn_toc.clicked.connect(partial(self._manage_add_layers)) + self.dlg_netscenario.btn_insert.clicked.connect(partial(self._manage_insert)) + self.dlg_netscenario.btn_delete.clicked.connect(partial(self._manage_delete)) + self.dlg_netscenario.btn_snapping.clicked.connect(partial(self._manage_select)) + self.dlg_netscenario.main_tab.currentChanged.connect(partial(self._manage_current_changed)) + self.dlg_netscenario.finished.connect(self._selection_end) + self.dlg_netscenario.finished.connect(partial(tools_gw.close_dialog, self.dlg_netscenario, True)) + + self._manage_current_changed() + + sql = f"SELECT name FROM plan_netscenario WHERE netscenario_id = {self.selected_netscenario_id}" + row = tools_db.get_row(sql) + netscenario_name = row[0] + title = f"Netscenario {self.selected_netscenario_id} - {netscenario_name}" + tools_gw.open_dialog(self.dlg_netscenario, 'netscenario', title=f"{title}") + + + def _fill_netscenario_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=None): + """ Fill netscenario table with data from its corresponding table """ + + # Manage exception if dialog is closed + if isdeleted(self.dlg_netscenario): + return + + self.table_name = f"{self.dlg_netscenario.main_tab.currentWidget().objectName()}" + widget = self.dlg_netscenario.main_tab.currentWidget() + + if self.schema_name not in self.table_name: + self.table_name = self.schema_name + "." + self.table_name + + # Set model + model = QSqlTableModel(db=lib_vars.qgis_db_credentials) + model.setTable(self.table_name) + model.setFilter(f"netscenario_id = {self.selected_netscenario_id}") + model.setEditStrategy(QSqlTableModel.OnFieldChange) + model.setSort(0, 0) + model.select() + # Set item delegates + readonly_delegate = ReadOnlyDelegate(widget) + widget.setItemDelegateForColumn(0, readonly_delegate) + widget.setItemDelegateForColumn(1, readonly_delegate) + editable_delegate = EditableDelegate(widget) + for x in range(2, model.columnCount()): + widget.setItemDelegateForColumn(x, editable_delegate) + + + # Check for errors + if model.lastError().isValid(): + tools_qgis.show_warning(model.lastError().text(), dialog=self.dlg_netscenario) + # Attach model to table view + if expr: + widget.setModel(model) + widget.model().setFilter(expr) + else: + widget.setModel(model) + widget.setSortingEnabled(True) + + # Set widget & model properties + tools_qt.set_tableview_config(widget, selection=QAbstractItemView.SelectRows, edit_triggers=set_edit_triggers, sectionResizeMode=0) + tools_gw.set_tablemodel_config(self.dlg_netscenario, widget, f"{self.table_name[len(f'{self.schema_name}.'):]}") + + # Hide unwanted columns + col_idx = tools_qt.get_col_index_by_col_name(widget, 'netscenario_id') + if col_idx not in (None, False): + widget.setColumnHidden(col_idx, True) + + geom_col_idx = tools_qt.get_col_index_by_col_name(widget, 'the_geom') + if geom_col_idx not in (None, False): + widget.setColumnHidden(geom_col_idx, True) + + # Sort the table by feature id + model.sort(1, 0) + + + def _manage_current_changed(self): + """ Manages tab changes """ + + # Fill current table + self._fill_netscenario_table() + + # Refresh txt_feature_id + tools_qt.set_widget_text(self.dlg_netscenario, self.dlg_netscenario.txt_feature_id, '') + self.dlg_netscenario.txt_feature_id.setStyleSheet(None) + + # Manage insert typeahead + # Get index of selected tab + index_tab = self.dlg_netscenario.main_tab.currentIndex() + tab_name = self.dlg_netscenario.main_tab.widget(index_tab).objectName() + enable = tab_name not in self.filter_disabled + + # Populate typeahead + if enable: + self._manage_feature_type() + table_name = f"v_edit_{tab_name.replace('plan_netscenario_', '')}" + feature_type = self.feature_type + if self.filter_dict.get(tab_name): + table_name = self.filter_dict[tab_name]['filter_table'] + feature_type = self.filter_dict[tab_name]['feature_type'] + tools_gw.set_completer_widget(table_name, self.dlg_netscenario.txt_feature_id, feature_type, add_id=True) + + # Deactivate btn_snapping functionality + self._selection_end() + + # Enable/disable filter & buttons + self._enable_widgets(enable) + + + def _enable_widgets(self, enable): + """ """ + + tools_qt.set_widget_enabled(self.dlg_netscenario, 'txt_feature_id', enable) + tools_qt.set_widget_enabled(self.dlg_netscenario, 'btn_insert', enable) + tools_qt.set_widget_enabled(self.dlg_netscenario, 'btn_delete', enable) + tools_qt.set_widget_enabled(self.dlg_netscenario, 'btn_snapping', enable) + + + def _manage_feature_type(self): + """ Manages current tableview feature type (node, arc, nodarc, etc.) """ + + tableview = self.dlg_netscenario.main_tab.currentWidget() + self.feature_type = 'node' + feature_type = 'feature_id' + + for x in self.feature_types: + col_idx = tools_qt.get_col_index_by_col_name(tableview, x) + if col_idx not in (None, False): + feature_type = x + break + + if feature_type != 'feature_id': + self.feature_type = feature_type.split('_')[0] + + + def _manage_highlight(self, qtableview, view, index): + """ Creates rubberband to indicate which feature is selected """ + + table = view.replace("_netscenario", "") + feature_type = 'feature_id' + + for x in self.feature_types: + col_idx = tools_qt.get_col_index_by_col_name(qtableview, x) + if col_idx not in (None, False): + feature_type = x + break + if feature_type != 'feature_id': + table = f"v_edit_{feature_type.split('_')[0]}" + tools_qgis.highlight_feature_by_id(qtableview, table, feature_type, self.rubber_band, 5, index) + + + def _manage_properties(self): + tablename = "plan_netscenario" + feature_id = self.selected_netscenario_id + pkey = "netscenario_id" + + feature = f'"tableName":"{tablename}", "id":"{feature_id}"' + body = tools_gw.create_body(feature=feature) + json_result = tools_gw.execute_procedure('gw_fct_getinfofromid', body) + if json_result is None or json_result['status'] == 'Failed': + return + result = json_result + + # Build dlg + self.props_dlg = GwInfoGenericUi() + tools_gw.load_settings(self.props_dlg) + self.my_json_add = {} + tools_gw.build_dialog_info(self.props_dlg, result, my_json=self.my_json_add) + # Disable widgets + disabled_widgets = ['netscenario_id', 'log'] + for widget in disabled_widgets: + widget_name = f"tab_none_{widget}" + tools_qt.set_widget_enabled(self.props_dlg, widget_name, False) + + # Signals + self.props_dlg.btn_close.clicked.connect(partial(tools_gw.close_dialog, self.props_dlg)) + self.props_dlg.dlg_closed.connect(partial(tools_gw.close_dialog, self.props_dlg)) + self.props_dlg.btn_accept.clicked.connect(partial(self._accept_props_dlg, self.props_dlg, tablename, pkey, + self.selected_netscenario_id, self.my_json_add)) + + # Open dlg + tools_gw.open_dialog(self.props_dlg, dlg_name='info_generic') + + + def _accept_props_dlg(self, dialog, tablename, pkey, feature_id, my_json): + if not my_json: + return + + fields = json.dumps(my_json) + id_val = "" + if pkey: + if not isinstance(pkey, list): + pkey = [pkey] + for pk in pkey: + widget_name = f"tab_none_{pk}" + value = tools_qt.get_widget_value(dialog, widget_name) + id_val += f"{value}, " + id_val = id_val[:-2] + if not id_val: + id_val = feature_id + + feature = f'"id":"{id_val}", ' + feature += f'"tableName":"{tablename}"' + extras = f'"fields":{fields}' + body = tools_gw.create_body(feature=feature, extras=extras) + json_result = tools_gw.execute_procedure('gw_fct_upsertfields', body) + if json_result and json_result.get('status') == 'Accepted': + tools_gw.close_dialog(dialog) + # Refresh tableview + self._fill_manager_table(self.filter_name.text()) + return + tools_qgis.show_warning('Error', parameter=json_result, dialog=dialog) + + + def _manage_add_layers(self): + """ Opens menu to add/remove layers to ToC """ + + # Create main menu and get cursor click position + main_menu = QMenu() + cursor = QCursor() + x = cursor.pos().x() + y = cursor.pos().y() + click_point = QPoint(x + 5, y + 5) + + layer_list = [] + for layer in QgsProject.instance().mapLayers().values(): + layer_list.append(tools_qgis.get_layer_source_table_name(layer)) + + geom_layers = [] + sql = f"SELECT f_table_name FROM geometry_columns WHERE f_table_schema = '{lib_vars.schema_name}' " \ + f"AND f_table_name LIKE 'plan_netscenario%';" + rows = tools_db.get_rows(sql) + if rows: + geom_layers = [row[0] for row in rows] + + # Get layers to add + lyr_filter = "plan_netscenario_%" + sql = f"SELECT id, alias, style_id, addparam FROM sys_table WHERE id LIKE '{lyr_filter}' AND alias IS NOT NULL" + rows = tools_db.get_rows(sql) + if rows: + # LOAD ALL + widget = QCheckBox() + widget.setText("Load all") + widget.setStyleSheet("margin: 5px 5px 5px 8px;") + widgetAction = QWidgetAction(main_menu) + widgetAction.setDefaultWidget(widget) + widgetAction.defaultWidget().stateChanged.connect(partial(self._manage_load_all, main_menu)) + main_menu.addAction(widgetAction) + + # LAYERS + for tablename, alias, style_id, addparam in rows: + # Manage alias + if not alias: + alias = tablename.replace('plan_netscenario_', '').replace('_', ' ').capitalize() + # Manage style_id + if not style_id: + style_id = "-1" + # Manage pkey + pk = "id" + if addparam: + pk = addparam.get('pkey').replace(' ', '') + # Manage the_geom + the_geom = None + if tablename in geom_layers: + the_geom = "the_geom" + + # Create CheckBox + widget = QCheckBox() + widget.setText(alias) + widgetAction = QWidgetAction(main_menu) + widgetAction.setDefaultWidget(widget) + main_menu.addAction(widgetAction) + + # Set checked if layer exists + if f"{tablename}" in layer_list: + widget.setChecked(True) + widget.setStyleSheet("margin: 5px 5px 5px 8px;") + + widgetAction.defaultWidget().stateChanged.connect( + partial(self._check_action_ischecked, tablename, the_geom, pk, style_id, alias.strip())) + + main_menu.exec_(click_point) + + + def _check_action_ischecked(self, tablename, the_geom, pk, style_id, alias, state): + """ Control if user check or uncheck action menu, then add or remove layer from toc + :param tablename: Postgres table name (String) + :param pk: Field id of the table (String) + :param style_id: Id of the style we want to load (integer or String) + :param state: This parameter is sent by the action itself with the trigger (Bool) + """ + + if state == 2: + layer = tools_qgis.get_layer_by_tablename(tablename) + if layer is None: + tools_gw.add_layer_database(tablename, the_geom=the_geom, field_id=pk, group="EPA", sub_group="Netscenario", style_id=style_id, alias=alias) + elif state == 0: + layer = tools_qgis.get_layer_by_tablename(tablename) + if layer is not None: + tools_qgis.remove_layer_from_toc(alias, "EPA", "Netscenario") + + + def _manage_load_all(self, menu, state=None): + + if state == 2: + for child in menu.actions(): + if not child.isChecked(): + child.defaultWidget().setChecked(True) + + + def _manage_insert(self): + """ Insert feature to netscenario via the button """ + + if self.dlg_netscenario.txt_feature_id.text() == '': + message = "Feature_id is mandatory." + self.dlg_netscenario.txt_feature_id.setStyleSheet("border: 1px solid red") + tools_qgis.show_warning(message, dialog=self.dlg_netscenario) + return + self.dlg_netscenario.txt_feature_id.setStyleSheet(None) + tableview = self.dlg_netscenario.main_tab.currentWidget() + view = tableview.objectName() + + sql = f"SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{self.table_name[len(f'{self.schema_name}.'):]}';" + rows = tools_db.get_rows(sql) + + if rows[0][0] == 'id': + # FIELDS + sql = f"INSERT INTO {view} ({rows[1][0]}, {rows[2][0]}" + if view in ("plan_netscenario_controls", "plan_netscenario_rules"): + sql += f", {rows[3][0]}" + elif view == "plan_netscenario_demand": + sql += f", feature_type" + # VALUES + sql += f")VALUES ({self.selected_netscenario_id}, '{self.dlg_netscenario.txt_feature_id.text()}'" + if view in ("plan_netscenario_controls", "plan_netscenario_rules"): + sql += f", ''" + elif view == "plan_netscenario_demand": + sql += f", '{self.feature_type.upper()}'" + sql += f");" + else: + sql = f"INSERT INTO {view} VALUES ({self.selected_netscenario_id}, '{self.dlg_netscenario.txt_feature_id.text()}');" + tools_db.execute_sql(sql) + + # Refresh tableview + self._fill_netscenario_table() + + + def _manage_delete(self): + """ Delete features from netscenario via the button """ + + tableview = self.dlg_netscenario.main_tab.currentWidget() + # Get selected row + selected_list = tableview.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.dlg_netscenario) + return + + # Get selected feature_id + view = tableview.objectName() + col_idx = -1 + feature_type = 'feature_id' + + for x in self.feature_types: + col_idx = tools_qt.get_col_index_by_col_name(tableview, x) + if col_idx not in (None, False): + feature_type = x + break + + values = [] + for index in selected_list: + values.append(index.sibling(index.row(), col_idx).data()) + + message = "Are you sure you want to delete these records?" + answer = tools_qt.show_question(message, "Delete records", values) + if answer: + for value in values: + sql = f"DELETE FROM {view} WHERE netscenario_id = {self.selected_netscenario_id} AND {feature_type} = '{value}'" + tools_db.execute_sql(sql) + + # Refresh tableview + self._fill_netscenario_table() + + + def _manage_select(self): + """ Button snapping """ + + self._manage_feature_type() + + # Get current layer and remove selection + try: + current_layer = self.iface.activeLayer() + current_layer.removeSelection() + except AttributeError: + pass + + # Set active layer + view_name = self.dlg_netscenario.main_tab.currentWidget().objectName() + layer_name = 'v_edit_' + self.feature_type + if self.feature_type == 'nodarc': + layer_name = view_name.replace("netscenario_", "") + layer = tools_qgis.get_layer_by_tablename(layer_name) + self.iface.setActiveLayer(layer) + tools_qgis.set_layer_visible(layer) + + # Clear feature id field + # + + self._selection_init() + # tools_gw.selection_init(self, self.dlg_netscenario, tableview) + + + def _selection_init(self): + """ Set canvas map tool to selection """ + + tools_gw.disconnect_signal('netscenario_snapping') + self.iface.actionSelect().trigger() + self.connect_signal_selection_changed() + + + def connect_signal_selection_changed(self): + """ Connect signal selectionChanged """ + + tools_gw.connect_signal(global_vars.canvas.selectionChanged, partial(self._manage_selection), + 'netscenario_snapping', 'connect_signal_selection_changed_selectionChanged_manage_selection') + + def _manage_selection(self): + """ Slot function for signal 'canvas.selectionChanged' """ + + # Get feature_type and feature_id + layer = self.iface.activeLayer() + field_id = self.feature_type + "_id" + + # Iterate over layer + if layer.selectedFeatureCount() > 0: + selected_ids = [] + # Get selected features of the layer + features = layer.selectedFeatures() + for feature in features: + # Append 'feature_id' into the list + selected_ids.append(feature.attribute(field_id)) + + if selected_ids: + inserted = {f'{self.feature_type}': []} + tableview = self.dlg_netscenario.main_tab.currentWidget() + view = tableview.objectName() + for f in selected_ids: + sql = f"INSERT INTO {view} VALUES ({self.selected_netscenario_id}, '{f}');" + result = tools_db.execute_sql(sql, log_sql=False, log_error=False, show_exception=False) + if result: + inserted[f'{self.feature_type}'].append(f) + self._fill_netscenario_table() + + # Just select the inserted features + tools_gw.get_expression_filter(self.feature_type, inserted, {f"{self.feature_type}": [layer]}) + + + def _selection_end(self): + """ Stop selection mode """ + + tools_gw.disconnect_signal('netscenario_snapping') + tools_gw.remove_selection() + tools_gw.reset_rubberband(self.rubber_band) + self.iface.actionPan().trigger() + + # endregion + diff --git a/core/ui/toolbars/plan/netscenario.ui b/core/ui/toolbars/plan/netscenario.ui new file mode 100644 index 000000000..6853219cc --- /dev/null +++ b/core/ui/toolbars/plan/netscenario.ui @@ -0,0 +1,126 @@ + + + dlg_netscenario + + + + 0 + 0 + 773 + 525 + + + + Dialog + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + -1 + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + buttonBox + accepted() + dlg_netscenario + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + dlg_netscenario + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/core/ui/toolbars/plan/netscenario_manager.ui b/core/ui/toolbars/plan/netscenario_manager.ui new file mode 100644 index 000000000..520a742f9 --- /dev/null +++ b/core/ui/toolbars/plan/netscenario_manager.ui @@ -0,0 +1,148 @@ + + + dlg_netscenario_manager + + + + 0 + 0 + 872 + 786 + + + + Netscenario manager + + + + + + + + + + + + Filter by: Netscenario name + + + + + + + Qt::Horizontal + + + + 5000 + 20 + + + + + + + + + 0 + 0 + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + Delete + + + + + + + QAbstractItemView::SingleSelection + + + + + + + Close + + + + + + + + 0 + 0 + + + + Create + + + QToolButton::InstantPopup + + + Qt::ToolButtonTextOnly + + + false + + + Qt::DownArrow + + + + + + + Update + + + + + + + Duplicate + + + + + + + + + + txt_name + btn_delete + tbl_netscenario + btn_cancel + + + + diff --git a/core/ui/ui_manager.py b/core/ui/ui_manager.py index e1396436d..a770a13a8 100644 --- a/core/ui/ui_manager.py +++ b/core/ui/ui_manager.py @@ -273,6 +273,15 @@ class GwPsectorRapportUi(GwDialog, FORM_CLASS): class GwReplaceArc(GwDialog, FORM_CLASS): pass +FORM_CLASS = _get_ui_class('netscenario_manager.ui', 'plan') +class GwNetscenarioManagerUi(GwDialog, FORM_CLASS): + pass + pass + +FORM_CLASS = _get_ui_class('netscenario.ui', 'plan') +class GwNetscenarioUi(GwDialog, FORM_CLASS): + pass + # endregion diff --git a/icons/toolbars/epa/219.png b/icons/toolbars/plan/219.png similarity index 100% rename from icons/toolbars/epa/219.png rename to icons/toolbars/plan/219.png From 4e1826ec9bcfdade7a06a55941230561649fe681 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Thu, 31 Aug 2023 16:43:13 +0200 Subject: [PATCH 20/57] Add new Netscenario button to giswater.config --- config/giswater.config | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/giswater.config b/config/giswater.config index 8b88f8464..56eefa54c 100644 --- a/config/giswater.config +++ b/config/giswater.config @@ -22,7 +22,7 @@ om = 26, 27, 56, 57, 43, 64, 65, 84 edit = 01, 02, 16, 17, 28, 44, 20, 68, 69, 39, 34, 66, 33, 67 cad = 71, 72 epa = 218, 23, 25, 29, 215 -plan = 45, 46, 50 +plan = 45, 46, 219 utilities = 99, 206, 214, 58, 83, 59, 217 toc = 306, 308 @@ -72,6 +72,7 @@ ud = 26, 27 45 = GwPsectorButton 46 = GwPsectorManagerButton 50 = GwPriceManagerButton +219 = GwNetscenarioManagerButton # utilities 58 = GwPrintButton 59 = GwProjectCheckButton From f12f94e0e1649166434e67e2e28bd8e06c9b5538 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Thu, 31 Aug 2023 16:44:42 +0200 Subject: [PATCH 21/57] Bug fix: mapzone manager btn_cancel --- core/toolbars/utilities/mapzone_manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index a490b7e81..2749376d1 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -77,6 +77,7 @@ def manage_mapzones(self): self.mapzone_mng_dlg.btn_update.clicked.connect(partial(self._manage_update)) self.mapzone_mng_dlg.btn_delete.clicked.connect(partial(self._manage_delete)) self.mapzone_mng_dlg.main_tab.currentChanged.connect(partial(self._manage_current_changed)) + self.mapzone_mng_dlg.btn_cancel.clicked.connect(self.mapzone_mng_dlg.reject) self.mapzone_mng_dlg.finished.connect(partial(tools_gw.close_dialog, self.mapzone_mng_dlg, True)) self._manage_current_changed() From 2dfdebc3b8b900074308162564a7cafb69b2711c Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Thu, 31 Aug 2023 17:11:37 +0200 Subject: [PATCH 22/57] Bug fixes mapzone manager: manage snapping closing properly --- core/toolbars/utilities/mapzone_manager.py | 34 +++++++++++++--------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index 2749376d1..493528fa4 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -37,6 +37,7 @@ def __init__(self): self.snapper_manager = GwSnapManager(self.iface) self.snapper_manager.set_snapping_layers() + self.vertex_marker = self.snapper_manager.vertex_marker self.mapzone_mng_dlg = None @@ -233,7 +234,7 @@ def _manage_config(self): # Dialog buttons self.config_dlg.btn_accept.clicked.connect(partial(self._accept_config, self.config_dlg)) self.config_dlg.btn_cancel.clicked.connect(self.config_dlg.reject) - self.config_dlg.finished.connect(partial(tools_gw.close_dialog, self.config_dlg, True)) + self.config_dlg.finished.connect(partial(self._config_dlg_finished, self.config_dlg)) # Enable/disable certain widgets tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_nodeParent, True) @@ -248,21 +249,30 @@ def _manage_config(self): # Open dialog tools_gw.open_dialog(self.config_dlg, 'mapzone_config') + + def _config_dlg_finished(self, dialog): + + self._cancel_snapping_tool(dialog, None) + self.iface.actionPan().trigger() + tools_gw.close_dialog(dialog) + + def _reset_config_vars(self, mode=0): """ Reset config variables - :param mode: which variables to reset {0: all, 1: nodeParent & toArc, 2: only forceClosed} + :param mode: which variables to reset {0: all, 1: nodeParent (& toArc), 2: toArc, 3: forceClosed} """ if mode in (0, 1): self.node_parent = None tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', '') - self.to_arc_list = set() - tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', '') tools_qt.set_widget_enabled(self.config_dlg, 'btn_snapping_toArc', False) tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_nodeParent', False) - if mode in (0, 2): + if mode in (0, 1, 2): + self.to_arc_list = set() + tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', '') + if mode in (0, 3): self.force_closed_list = set() tools_qt.set_widget_text(self.config_dlg, 'txt_forceClosed', '') tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_forceClosed', False) @@ -274,13 +284,6 @@ def get_snapped_feature_id(self, dialog, action, layer_name, option, widget_name if not layer: action.setChecked(False) return - # if widget_name is not None: - # widget = dialog.findChild(QWidget, widget_name) - # if widget is None: - # action.setChecked(False) - # return - # Block the signals of the dialog so that the key ESC does not close it - dialog.blockSignals(True) self.vertex_marker = self.snapper_manager.vertex_marker @@ -371,6 +374,8 @@ def _set_node_parent(self, snapped_feat, feat_id, child_type): tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', f"{feat_id}") tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, True) + self._reset_config_vars(2) + def _set_to_arc(self, snapped_feat, feat_id, child_type): """ Function called in def _get_id(self, dialog, action, option, point, event): @@ -458,7 +463,7 @@ def _add_force_closed(self, dialog): tools_qt.set_widget_text(dialog, 'txt_preview', json.dumps(preview)) self._cancel_snapping_tool(dialog, dialog.btn_add_forceClosed) - self._reset_config_vars(2) + self._reset_config_vars(3) def _clear_preview(self, dialog): """ Set preview textbox to '' """ @@ -496,7 +501,8 @@ def _cancel_snapping_tool(self, dialog, action): tools_qgis.disconnect_snapping(False, None, self.vertex_marker) tools_gw.disconnect_signal('mapzone_manager_snapping') dialog.blockSignals(False) - action.setChecked(False) + if action: + action.setChecked(False) # self.signal_activate.emit() # endregion From d8a529dada38860b9507388bf2ccf451c8243765 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Thu, 31 Aug 2023 17:32:16 +0200 Subject: [PATCH 23/57] Enhancement: Mapzone manager -- Allow manually typing nodeParent --- core/toolbars/utilities/mapzone_manager.py | 33 +++++++++++++------- core/ui/toolbars/utilities/mapzone_config.ui | 2 +- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index 493528fa4..99c216998 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -210,10 +210,13 @@ def _manage_config(self): # Connect signals self.child_type = None + # nodeParent self.config_dlg.btn_snapping_nodeParent.clicked.connect( partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_nodeParent, 'v_edit_node', 'nodeParent', None, self.child_type)) + self.config_dlg.txt_nodeParent.textEdited.connect(partial(self._txt_node_parent_finished)) + # toArc self.config_dlg.btn_snapping_toArc.clicked.connect( partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_toArc, 'v_edit_arc', 'toArc', None, @@ -353,7 +356,7 @@ def _get_id(self, dialog, action, option, emit_point, child_type, point, event): # Get the point. Leave selection snapped_feat = self.snapper_manager.get_snapped_feature(result) feat_id = snapped_feat.attribute(f'{options[option][0]}') - getattr(self, options[option][1])(snapped_feat, feat_id, child_type) + getattr(self, options[option][1])(feat_id) except Exception as e: tools_qgis.show_warning(f"Exception in info (def _get_id)", parameter=e) finally: @@ -361,25 +364,31 @@ def _get_id(self, dialog, action, option, emit_point, child_type, point, event): if option == 'nodeParent': self._cancel_snapping_tool(dialog, action) - def _set_node_parent(self, snapped_feat, feat_id, child_type): + + def _txt_node_parent_finished(self, text): + self._set_node_parent(text, False) + + + def _set_node_parent(self, feat_id, set_text=True): """ Function called in def _get_id(self, dialog, action, option, point, event): - getattr(self, options[option][1])(feat_id, child_type) + getattr(self, options[option][1])(feat_id) :param feat_id: Id of the snapped feature """ - self.node_parent = (snapped_feat, feat_id) + self.node_parent = feat_id - tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', f"{feat_id}") - tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, True) + if set_text: + tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', f"{feat_id}") + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, bool(feat_id)) - self._reset_config_vars(2) + self._reset_config_vars(2 if bool(feat_id) else 1) - def _set_to_arc(self, snapped_feat, feat_id, child_type): + def _set_to_arc(self, feat_id): """ Function called in def _get_id(self, dialog, action, option, point, event): - getattr(self, options[option][1])(feat_id, child_type) + getattr(self, options[option][1])(feat_id) :param feat_id: Id of the snapped feature """ @@ -390,10 +399,10 @@ def _set_to_arc(self, snapped_feat, feat_id, child_type): tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', f"{self.to_arc_list}") tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, True) - def _set_force_closed(self, snapped_feat, feat_id, child_type): + def _set_force_closed(self, feat_id): """ Function called in def _get_id(self, dialog, action, option, point, event): - getattr(self, options[option][1])(feat_id, child_type) + getattr(self, options[option][1])(feat_id) :param feat_id: Id of the snapped feature """ @@ -407,7 +416,7 @@ def _set_force_closed(self, snapped_feat, feat_id, child_type): def _add_node_parent(self, dialog): """ ADD button for nodeParent """ - node_parent_feat, node_parent_id = self.node_parent + node_parent_id = self.node_parent to_arc_list = json.dumps(list(self.to_arc_list)) preview = tools_qt.get_text(dialog, 'txt_preview') diff --git a/core/ui/toolbars/utilities/mapzone_config.ui b/core/ui/toolbars/utilities/mapzone_config.ui index 4b7fc77a6..91edbe3ac 100644 --- a/core/ui/toolbars/utilities/mapzone_config.ui +++ b/core/ui/toolbars/utilities/mapzone_config.ui @@ -77,7 +77,7 @@ - true + false From d974bc69a6ce7be9f2e55803040c4a57f92f8382 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Mon, 4 Sep 2023 12:00:59 +0200 Subject: [PATCH 24/57] Enhancement: add REMOVE buttons for mapzone_manager --- core/toolbars/utilities/mapzone_manager.py | 77 +++++++++++++++++++- core/ui/toolbars/utilities/mapzone_config.ui | 14 ++++ 2 files changed, 89 insertions(+), 2 deletions(-) diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index 99c216998..c834b57e6 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -224,6 +224,9 @@ def _manage_config(self): self.config_dlg.btn_add_nodeParent.clicked.connect( partial(self._add_node_parent, self.config_dlg) ) + self.config_dlg.btn_remove_nodeParent.clicked.connect( + partial(self._remove_node_parent, self.config_dlg) + ) # Force closed self.config_dlg.btn_snapping_forceClosed.clicked.connect( partial(self.get_snapped_feature_id, self.config_dlg, self.config_dlg.btn_snapping_forceClosed, @@ -232,6 +235,9 @@ def _manage_config(self): self.config_dlg.btn_add_forceClosed.clicked.connect( partial(self._add_force_closed, self.config_dlg) ) + self.config_dlg.btn_remove_forceClosed.clicked.connect( + partial(self._remove_force_closed, self.config_dlg) + ) # Preview self.config_dlg.btn_clear_preview.clicked.connect(partial(self._clear_preview, self.config_dlg)) # Dialog buttons @@ -243,9 +249,11 @@ def _manage_config(self): tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_nodeParent, True) tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, False) tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, False) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_remove_nodeParent, False) tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_forceClosed, True) tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_forceClosed, False) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_remove_forceClosed, False) tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_clear_preview, True) @@ -272,6 +280,7 @@ def _reset_config_vars(self, mode=0): tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', '') tools_qt.set_widget_enabled(self.config_dlg, 'btn_snapping_toArc', False) tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_nodeParent', False) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_remove_nodeParent, False) if mode in (0, 1, 2): self.to_arc_list = set() tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', '') @@ -279,6 +288,7 @@ def _reset_config_vars(self, mode=0): self.force_closed_list = set() tools_qt.set_widget_text(self.config_dlg, 'txt_forceClosed', '') tools_qt.set_widget_enabled(self.config_dlg, 'btn_add_forceClosed', False) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_remove_forceClosed, False) def get_snapped_feature_id(self, dialog, action, layer_name, option, widget_name, child_type): """ Snap feature and set a value into dialog """ @@ -382,6 +392,7 @@ def _set_node_parent(self, feat_id, set_text=True): if set_text: tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', f"{feat_id}") tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, bool(feat_id)) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_remove_nodeParent, bool(feat_id)) self._reset_config_vars(2 if bool(feat_id) else 1) @@ -398,6 +409,7 @@ def _set_to_arc(self, feat_id): tools_qt.set_widget_text(self.config_dlg, 'txt_toArc', f"{self.to_arc_list}") tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, True) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_remove_nodeParent, True) def _set_force_closed(self, feat_id): """ @@ -412,6 +424,7 @@ def _set_force_closed(self, feat_id): tools_qt.set_widget_text(self.config_dlg, 'txt_forceClosed', f"{self.force_closed_list}") tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_forceClosed, True) + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_remove_forceClosed, True) def _add_node_parent(self, dialog): """ ADD button for nodeParent """ @@ -420,7 +433,7 @@ def _add_node_parent(self, dialog): to_arc_list = json.dumps(list(self.to_arc_list)) preview = tools_qt.get_text(dialog, 'txt_preview') - parameters = f'"action": "PREVIEW", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ + parameters = f'"action": "ADD", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ f'"nodeParent": "{node_parent_id}", "toArc": {to_arc_list}' if preview: parameters += f', "config": {preview}' @@ -444,13 +457,73 @@ def _add_node_parent(self, dialog): self._cancel_snapping_tool(dialog, dialog.btn_add_nodeParent) self._reset_config_vars(1) + def _remove_node_parent(self, dialog): + """ REMOVE button for nodeParent """ + + node_parent_id = self.node_parent + preview = tools_qt.get_text(dialog, 'txt_preview') + + parameters = f'"action": "REMOVE", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ + f'"nodeParent": "{node_parent_id}"' + if preview: + parameters += f', "config": {preview}' + extras = f'"parameters": {{{parameters}}}' + body = tools_gw.create_body(extras=extras) + json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) + if json_result is None: + return + + if 'status' in json_result and json_result['status'] == 'Accepted': + if json_result['message']: + level = 1 + if 'level' in json_result['message']: + level = int(json_result['message']['level']) + tools_qgis.show_message(json_result['message']['text'], level, dialog=dialog) + + preview = json_result['body']['data'].get('preview') + if preview: + tools_qt.set_widget_text(dialog, 'txt_preview', json.dumps(preview)) + + self._cancel_snapping_tool(dialog, dialog.btn_remove_nodeParent) + self._reset_config_vars(1) + def _add_force_closed(self, dialog): """ ADD button for forceClosed """ force_closed_list = json.dumps(list(self.force_closed_list)) preview = tools_qt.get_text(dialog, 'txt_preview') - parameters = f'"action": "PREVIEW", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ + parameters = f'"action": "ADD", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ + f'"forceClosed": {force_closed_list}' + if preview: + parameters += f', "config": {preview}' + extras = f'"parameters": {{{parameters}}}' + body = tools_gw.create_body(extras=extras) + json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) + if json_result is None: + return + + if 'status' in json_result and json_result['status'] == 'Accepted': + if json_result['message']: + level = 1 + if 'level' in json_result['message']: + level = int(json_result['message']['level']) + tools_qgis.show_message(json_result['message']['text'], level, dialog=dialog) + + preview = json_result['body']['data'].get('preview') + if preview: + tools_qt.set_widget_text(dialog, 'txt_preview', json.dumps(preview)) + + self._cancel_snapping_tool(dialog, dialog.btn_add_forceClosed) + self._reset_config_vars(3) + + def _remove_force_closed(self, dialog): + """ ADD button for forceClosed """ + + force_closed_list = json.dumps(list(self.force_closed_list)) + preview = tools_qt.get_text(dialog, 'txt_preview') + + parameters = f'"action": "REMOVE", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ f'"forceClosed": {force_closed_list}' if preview: parameters += f', "config": {preview}' diff --git a/core/ui/toolbars/utilities/mapzone_config.ui b/core/ui/toolbars/utilities/mapzone_config.ui index 91edbe3ac..fe910e8cc 100644 --- a/core/ui/toolbars/utilities/mapzone_config.ui +++ b/core/ui/toolbars/utilities/mapzone_config.ui @@ -142,6 +142,20 @@ + + + + REMOVE + + + + + + + REMOVE + + + From 75bdcfaa354b6ae134ca992e0f5d6d991482c1b2 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Mon, 4 Sep 2023 14:02:58 +0200 Subject: [PATCH 25/57] Mapzone manager: hide toArc for UD --- core/toolbars/utilities/mapzone_manager.py | 8 ++++++++ core/ui/toolbars/utilities/mapzone_config.ui | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index c834b57e6..c8f64c0b4 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -257,6 +257,12 @@ def _manage_config(self): tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_clear_preview, True) + # Hide widgets for UD projects + if global_vars.project_type == 'ud': + tools_qt.set_widget_visible(self.config_dlg, self.config_dlg.lbl_toArc, False) + tools_qt.set_widget_visible(self.config_dlg, self.config_dlg.btn_snapping_toArc, False) + tools_qt.set_widget_visible(self.config_dlg, self.config_dlg.txt_toArc, False) + # Open dialog tools_gw.open_dialog(self.config_dlg, 'mapzone_config') @@ -393,6 +399,8 @@ def _set_node_parent(self, feat_id, set_text=True): tools_qt.set_widget_text(self.config_dlg, 'txt_nodeParent', f"{feat_id}") tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_snapping_toArc, bool(feat_id)) tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_remove_nodeParent, bool(feat_id)) + if global_vars.project_type == 'ud': + tools_qt.set_widget_enabled(self.config_dlg, self.config_dlg.btn_add_nodeParent, bool(feat_id)) self._reset_config_vars(2 if bool(feat_id) else 1) diff --git a/core/ui/toolbars/utilities/mapzone_config.ui b/core/ui/toolbars/utilities/mapzone_config.ui index fe910e8cc..1e2fb2437 100644 --- a/core/ui/toolbars/utilities/mapzone_config.ui +++ b/core/ui/toolbars/utilities/mapzone_config.ui @@ -48,7 +48,7 @@ - + nodeParent: @@ -89,7 +89,7 @@ - + toArc: @@ -109,7 +109,7 @@ - + forceClosed: @@ -161,7 +161,7 @@ - + Preview: From 3da79d9eec404d1f3f3c443729460b606f1522f7 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Tue, 5 Sep 2023 09:40:15 +0200 Subject: [PATCH 26/57] Enhancement: refresh canvas after inserting element --- core/shared/element.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/shared/element.py b/core/shared/element.py index 21d785bc6..cccc2a3c2 100644 --- a/core/shared/element.py +++ b/core/shared/element.py @@ -559,6 +559,8 @@ def _manage_element_accept(self, table_object): if status: self.element_id = element_id self.layers = tools_gw.manage_close(self.dlg_add_element, table_object, layers=self.layers) + # Refresh canvas + tools_qgis.refresh_map_canvas() def _filter_elementcat_id(self): From 8adf63f525432021b10f672f70e7fe5b7ec4159d Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Tue, 5 Sep 2023 16:09:28 +0200 Subject: [PATCH 27/57] Enhancement: Go2epa manager new button "Archive" --- core/toolbars/epa/go2epa_manager_button.py | 36 ++++++++++++++++++ core/ui/toolbars/epa/go2epa_manager.ui | 43 +++++++++++++--------- 2 files changed, 61 insertions(+), 18 deletions(-) diff --git a/core/toolbars/epa/go2epa_manager_button.py b/core/toolbars/epa/go2epa_manager_button.py index 643b4e395..1a5f470d5 100644 --- a/core/toolbars/epa/go2epa_manager_button.py +++ b/core/toolbars/epa/go2epa_manager_button.py @@ -57,6 +57,8 @@ def _manage_go2epa(self): model.flags = lambda index: self.flags(index, model) # Set signals + self.dlg_manager.btn_archive.clicked.connect(partial(self._set_rpt_archived, self.dlg_manager.tbl_rpt_cat_result, + 'result_id')) self.dlg_manager.btn_set_corporate.clicked.connect(partial(self._epa2data, self.dlg_manager.tbl_rpt_cat_result, 'result_id')) self.dlg_manager.btn_delete.clicked.connect(partial(self._multi_rows_delete, self.dlg_manager.tbl_rpt_cat_result, @@ -261,6 +263,40 @@ def _multi_rows_delete(self, widget, table_name, column_id): self._fill_manager_table(tools_qt.get_text(self.dlg_manager, 'txt_result_id')) + def _set_rpt_archived(self, widget, column_id): + """ Call gw_fct_set_rpt_archived with selected result_id + :param QTableView widget: origin + :param table_name: table origin + :param column_id: Refers to the id of the source table + """ + + # Get selected rows + selected_list = widget.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.dlg_manager) + return + + row = selected_list[0].row() + col = tools_qt.get_col_index_by_col_name(widget, str(column_id)) + result_id = widget.model().index(row, col).data() + + # check corporate + extras = f'"result_id":"{result_id}"' + body = tools_gw.create_body(extras=extras) + result = tools_gw.execute_procedure('gw_fct_set_rpt_archived', body) + + if not result or result.get('status') != 'Accepted': + message = "gw_fct_set_rpt_archived execution failed. See logs for more details..." + tools_qgis.show_warning(message, dialog=self.dlg_manager) + return + + message = "Set rpt archived execution successful." + tools_qgis.show_info(message, dialog=self.dlg_manager) + # Refresh table + self._fill_manager_table() + + def _epa2data(self, widget, column_id): """ Delete selected elements of the table :param QTableView widget: origin diff --git a/core/ui/toolbars/epa/go2epa_manager.ui b/core/ui/toolbars/epa/go2epa_manager.ui index 981ae2a57..c3aac2052 100644 --- a/core/ui/toolbars/epa/go2epa_manager.ui +++ b/core/ui/toolbars/epa/go2epa_manager.ui @@ -57,7 +57,14 @@ - + + + + Filter by: Result id + + + + @@ -83,28 +90,31 @@ - - - - Filter by: Result id - - - - + Close - + Set corporate - + + + + + 0 + 0 + + + + + true @@ -124,13 +134,10 @@ - - - - - 0 - 0 - + + + + Archive From 1cd550a887fe7b32e095a6221c22175fa31600f7 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Tue, 5 Sep 2023 16:44:46 +0200 Subject: [PATCH 28/57] Enhancement: netscenario manager new button "Selector" + refactor buttons --- config/user_params.config | 1 + core/toolbars/plan/netscenario_manager_btn.py | 65 ++++++++++++++++--- core/ui/toolbars/plan/netscenario.ui | 7 -- core/ui/toolbars/plan/netscenario_manager.ui | 60 ++++++++++------- core/utils/tools_gw.py | 4 +- 5 files changed, 97 insertions(+), 40 deletions(-) diff --git a/config/user_params.config b/config/user_params.config index 8da5ca7b2..ca4b836f2 100644 --- a/config/user_params.config +++ b/config/user_params.config @@ -517,6 +517,7 @@ _dlg_netscenario_y = None _dlg_selector_basic = None _dlg_selector_mincut = None _selector_basic = None +_dlg_selector_netscenario = None [session.btn_search] _search_csv_path = None diff --git a/core/toolbars/plan/netscenario_manager_btn.py b/core/toolbars/plan/netscenario_manager_btn.py index 09e749b4e..abdaa2ce3 100644 --- a/core/toolbars/plan/netscenario_manager_btn.py +++ b/core/toolbars/plan/netscenario_manager_btn.py @@ -18,7 +18,8 @@ from ..dialog import GwAction from ..utilities.toolbox_btn import GwToolBoxButton -from ...ui.ui_manager import GwNetscenarioManagerUi, GwNetscenarioUi, GwInfoGenericUi +from ...shared.selector import GwSelector +from ...ui.ui_manager import GwNetscenarioManagerUi, GwNetscenarioUi, GwInfoGenericUi, GwSelectorUi from ...utils import tools_gw from ...models.item_delegates import ReadOnlyDelegate, EditableDelegate from .... import global_vars @@ -57,6 +58,7 @@ def _open_netscenario_manager(self): # Manage btn create self._manage_btn_create() + tools_gw.add_icon(self.dlg_netscenario_manager.btn_selector, "142", folder='toolbars', sub_folder='basic') # Apply filter validator self.filter_name = self.dlg_netscenario_manager.findChild(QLineEdit, 'txt_name') @@ -69,8 +71,10 @@ def _open_netscenario_manager(self): # Connect main dialog signals self.dlg_netscenario_manager.txt_name.textChanged.connect(partial(self._fill_manager_table)) + self.dlg_netscenario_manager.btn_selector.clicked.connect(partial(self._netscenario_selector)) self.dlg_netscenario_manager.btn_duplicate.clicked.connect(partial(self._duplicate_selected_netscenario)) - self.dlg_netscenario_manager.btn_update.clicked.connect(partial(self._open_toolbox_function, 3256)) + self.dlg_netscenario_manager.btn_update.clicked.connect(partial(self._manage_properties)) + self.dlg_netscenario_manager.btn_execute.clicked.connect(partial(self._open_toolbox_function, 3256)) self.dlg_netscenario_manager.btn_delete.clicked.connect(partial(self._delete_selected_netscenario)) self.dlg_netscenario_manager.btn_delete.clicked.connect(partial(tools_gw.refresh_selectors)) self.tbl_netscenario.doubleClicked.connect(self._open_netscenario) @@ -83,6 +87,41 @@ def _open_netscenario_manager(self): tools_gw.open_dialog(self.dlg_netscenario_manager, 'netscenario_manager') + def _netscenario_selector(self): + """ Manage mincut selector """ + dialog = self.dlg_netscenario_manager + qtable = self.tbl_netscenario + field_id = "netscenario_id" + model = qtable.model() + selected_netscenarios = [] + column_id = tools_qt.get_col_index_by_col_name(qtable, field_id) + + for x in range(0, model.rowCount()): + index = model.index(x, column_id) + value = model.data(index) + selected_netscenarios.append(int(value)) + + if len(selected_netscenarios) == 0: + msg = "There are no visible netscenarios in the table. Try a different filter or make one" + tools_qgis.show_message(msg, dialog=dialog) + return + selector_values = f"selector_netscenario" + aux_params = f'"ids":{json.dumps(selected_netscenarios)}' + min_selector = GwSelector() + + dlg_selector = GwSelectorUi() + tools_gw.load_settings(dlg_selector) + current_tab = tools_gw.get_config_parser('dialogs_tab', "dlg_selector_netscenario", "user", "session") + dlg_selector.btn_close.clicked.connect(partial(tools_gw.close_dialog, dlg_selector)) + dlg_selector.rejected.connect(partial(tools_gw.save_settings, dlg_selector)) + dlg_selector.rejected.connect( + partial(tools_gw.save_current_tab, dlg_selector, dlg_selector.main_tab, 'netscenario')) + + min_selector.get_selector(dlg_selector, selector_values, current_tab=current_tab, aux_params=aux_params) + + tools_gw.open_dialog(dlg_selector, dlg_name='netscenario') + + # region netscenario manager @@ -254,7 +293,6 @@ def _open_netscenario(self, index): self.dlg_netscenario.main_tab.setCurrentIndex(default_tab_idx) # Connect signals - self.dlg_netscenario.btn_properties.clicked.connect(partial(self._manage_properties)) self.dlg_netscenario.btn_toc.clicked.connect(partial(self._manage_add_layers)) self.dlg_netscenario.btn_insert.clicked.connect(partial(self._manage_insert)) self.dlg_netscenario.btn_delete.clicked.connect(partial(self._manage_delete)) @@ -405,11 +443,22 @@ def _manage_highlight(self, qtableview, view, index): def _manage_properties(self): - tablename = "plan_netscenario" - feature_id = self.selected_netscenario_id + + # Get selected row + selected_list = self.tbl_netscenario.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.dlg_netscenario_manager) + return + + # Get selected netscenario id + index = self.tbl_netscenario.selectionModel().currentIndex() + selected_netscenario_id = index.sibling(index.row(), 0).data() + selected_netscenario_type = index.sibling(index.row(), tools_qt.get_col_index_by_col_name(self.tbl_netscenario, 'netscenario_type')).data() + tablename = f"v_edit_plan_netscenario_{selected_netscenario_type.lower()}" pkey = "netscenario_id" - feature = f'"tableName":"{tablename}", "id":"{feature_id}"' + feature = f'"tableName":"{tablename}", "id":"{selected_netscenario_id}"' body = tools_gw.create_body(feature=feature) json_result = tools_gw.execute_procedure('gw_fct_getinfofromid', body) if json_result is None or json_result['status'] == 'Failed': @@ -431,7 +480,7 @@ def _manage_properties(self): self.props_dlg.btn_close.clicked.connect(partial(tools_gw.close_dialog, self.props_dlg)) self.props_dlg.dlg_closed.connect(partial(tools_gw.close_dialog, self.props_dlg)) self.props_dlg.btn_accept.clicked.connect(partial(self._accept_props_dlg, self.props_dlg, tablename, pkey, - self.selected_netscenario_id, self.my_json_add)) + selected_netscenario_id, self.my_json_add)) # Open dlg tools_gw.open_dialog(self.props_dlg, dlg_name='info_generic') @@ -489,7 +538,7 @@ def _manage_add_layers(self): geom_layers = [row[0] for row in rows] # Get layers to add - lyr_filter = "plan_netscenario_%" + lyr_filter = "%plan_netscenario_%" sql = f"SELECT id, alias, style_id, addparam FROM sys_table WHERE id LIKE '{lyr_filter}' AND alias IS NOT NULL" rows = tools_db.get_rows(sql) if rows: diff --git a/core/ui/toolbars/plan/netscenario.ui b/core/ui/toolbars/plan/netscenario.ui index 6853219cc..409ee9354 100644 --- a/core/ui/toolbars/plan/netscenario.ui +++ b/core/ui/toolbars/plan/netscenario.ui @@ -49,13 +49,6 @@ - - - - Properties - - - diff --git a/core/ui/toolbars/plan/netscenario_manager.ui b/core/ui/toolbars/plan/netscenario_manager.ui index 520a742f9..5f362deac 100644 --- a/core/ui/toolbars/plan/netscenario_manager.ui +++ b/core/ui/toolbars/plan/netscenario_manager.ui @@ -20,10 +20,10 @@ - - + + - Filter by: Netscenario name + Close @@ -40,16 +40,10 @@ - - - - - 0 - 0 - - + + - + Filter by: Netscenario name @@ -66,7 +60,7 @@ - + @@ -79,17 +73,37 @@ - + + + + + 0 + 0 + + + + + + + + QAbstractItemView::SingleSelection - - + + - Close + Update + + + + + + + Duplicate @@ -118,17 +132,17 @@ - - + + - Update + Execute - - + + - Duplicate + diff --git a/core/utils/tools_gw.py b/core/utils/tools_gw.py index 3d80f5405..2480b853d 100644 --- a/core/utils/tools_gw.py +++ b/core/utils/tools_gw.py @@ -3068,11 +3068,11 @@ def set_tablemodel_config(dialog, widget, table_name, sort_order=0, isQStandardI return widget -def add_icon(widget, icon, sub_folder="20x20"): +def add_icon(widget, icon, sub_folder="20x20", folder="dialogs"): """ Set @icon to selected @widget """ # Get icons folder - icons_folder = os.path.join(lib_vars.plugin_dir, f"icons{os.sep}dialogs{os.sep}{sub_folder}") + icons_folder = os.path.join(lib_vars.plugin_dir, f"icons{os.sep}{folder}{os.sep}{sub_folder}") icon_path = os.path.join(icons_folder, str(icon) + ".png") if os.path.exists(icon_path): From ca5921c8873e5c44cb29618192c2ac30a39ac4c2 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Tue, 5 Sep 2023 16:56:54 +0200 Subject: [PATCH 29/57] Hide archive button for ud --- core/toolbars/epa/go2epa_manager_button.py | 1 + 1 file changed, 1 insertion(+) diff --git a/core/toolbars/epa/go2epa_manager_button.py b/core/toolbars/epa/go2epa_manager_button.py index 1a5f470d5..467c02f33 100644 --- a/core/toolbars/epa/go2epa_manager_button.py +++ b/core/toolbars/epa/go2epa_manager_button.py @@ -47,6 +47,7 @@ def _manage_go2epa(self): self.dlg_manager.btn_set_corporate.setEnabled(False) if self.project_type != 'ws': self.dlg_manager.btn_set_corporate.setVisible(False) + self.dlg_manager.btn_archive.setVisible(False) # Fill combo box and table view # self._fill_combo_result_id() From 178204a4ba133873a1014b9d93c5122263c9e4be Mon Sep 17 00:00:00 2001 From: edgarfuste <34737125+edgarfuste@users.noreply.github.com> Date: Wed, 6 Sep 2023 09:51:55 +0200 Subject: [PATCH 30/57] Minor bug fix: keep toolbar_toc on unload plugin --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index d10fb9075..8d7903ce8 100644 --- a/main.py +++ b/main.py @@ -148,7 +148,7 @@ def unload(self, hide_gw_button=None): if self.load_project: if self.load_project.plugin_toolbars: for plugin_toolbar in list(self.load_project.plugin_toolbars.values()): - if plugin_toolbar.enabled: + if plugin_toolbar.enabled and plugin_toolbar.toolbar.objectName() != 'toolbar_toc_name': plugin_toolbar.toolbar.setVisible(False) del plugin_toolbar.toolbar except Exception as e: From 44a4519aa34033e842c6f39947ee5e586a56c62e Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 6 Sep 2023 11:25:58 +0200 Subject: [PATCH 31/57] Minor tweaks to mapzone & utils managers --- config/giswater.config | 2 +- config/user_params.config | 8 ++++++++ core/toolbars/utilities/mapzone_manager.py | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/config/giswater.config b/config/giswater.config index 56eefa54c..f276b6e09 100644 --- a/config/giswater.config +++ b/config/giswater.config @@ -23,7 +23,7 @@ edit = 01, 02, 16, 17, 28, 44, 20, 68, 69, 39, 34, 66, 33, 67 cad = 71, 72 epa = 218, 23, 25, 29, 215 plan = 45, 46, 219 -utilities = 99, 206, 214, 58, 83, 59, 217 +utilities = 217, 99, 206, 214, 58, 83, 59 toc = 306, 308 [project_exclude] diff --git a/config/user_params.config b/config/user_params.config index ca4b836f2..160402f90 100644 --- a/config/user_params.config +++ b/config/user_params.config @@ -844,6 +844,14 @@ _gw_fct_graphanalytics_mapzones_plan_dscenario_valve = None _gw_fct_graphanalytics_mapzones_plan_useplanpsector = None _gw_fct_graphanalytics_mapzones_plan_updatemapzone = None _gw_fct_graphanalytics_mapzones_plan_geomparamupdate = None +_gw_fct_create_netscenario_from_toc_cmb_feature_type = None +_gw_fct_create_netscenario_from_toc_cmb_layers = None +_gw_fct_create_netscenario_from_toc_rbt_previous = None +_gw_fct_create_netscenario_from_toc_name = None +_gw_fct_create_netscenario_from_toc_descript = None +_gw_fct_create_netscenario_from_toc_type = None +_gw_fct_create_netscenario_from_toc_active = None +_gw_fct_create_netscenario_from_toc_expl = None [session.docker] _position = None diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index c8f64c0b4..48ac47989 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -170,8 +170,8 @@ def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=N if geom_col_idx not in (None, False): widget.setColumnHidden(geom_col_idx, True) - # Sort the table by feature id - model.sort(1, 0) + # Sort the table + model.sort(0, 0) # region config button From 07b28341607601824ece6cb58c172aae2f2d1a3e Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 6 Sep 2023 12:20:58 +0200 Subject: [PATCH 32/57] Enhancement: new buttons for netscenario dlg + bug fixes --- core/toolbars/plan/netscenario_manager_btn.py | 39 +++++++++++++++++-- core/toolbars/utilities/mapzone_manager.py | 27 +++++++------ core/ui/toolbars/plan/netscenario.ui | 21 ++++++++++ 3 files changed, 71 insertions(+), 16 deletions(-) diff --git a/core/toolbars/plan/netscenario_manager_btn.py b/core/toolbars/plan/netscenario_manager_btn.py index abdaa2ce3..c22c009b7 100644 --- a/core/toolbars/plan/netscenario_manager_btn.py +++ b/core/toolbars/plan/netscenario_manager_btn.py @@ -18,6 +18,7 @@ from ..dialog import GwAction from ..utilities.toolbox_btn import GwToolBoxButton +from ..utilities.mapzone_manager import GwMapzoneManager from ...shared.selector import GwSelector from ...ui.ui_manager import GwNetscenarioManagerUi, GwNetscenarioUi, GwInfoGenericUi, GwSelectorUi from ...utils import tools_gw @@ -275,8 +276,8 @@ def _open_netscenario(self, index): default_tab_idx = 0 # Select all netscenario views sql = f"SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE table_schema = '{lib_vars.schema_name}' " \ - f"AND table_name LIKE 'plan_netscenario_%'" \ - f"ORDER BY array_position(ARRAY['plan_netscenario_arc', 'plan_netscenario_node', 'plan_netscenario_connec', 'plan_netscenario_dma', 'plan_netscenario_presszone'], table_name::text);" + f"AND table_name IN ('plan_netscenario_arc', 'plan_netscenario_node', 'plan_netscenario_connec', 'v_edit_plan_netscenario_{self.selected_netscenario_type.lower()}') " \ + f"ORDER BY array_position(ARRAY['plan_netscenario_arc', 'plan_netscenario_node', 'plan_netscenario_connec'], table_name::text);" rows = tools_db.get_rows(sql) if rows: views = [x[0] for x in rows] @@ -293,6 +294,9 @@ def _open_netscenario(self, index): self.dlg_netscenario.main_tab.setCurrentIndex(default_tab_idx) # Connect signals + self.dlg_netscenario.btn_config.clicked.connect(partial(self._manage_config)) + self.dlg_netscenario.btn_create.clicked.connect(partial(self._manage_create)) + self.dlg_netscenario.btn_update.clicked.connect(partial(self._manage_update)) self.dlg_netscenario.btn_toc.clicked.connect(partial(self._manage_add_layers)) self.dlg_netscenario.btn_insert.clicked.connect(partial(self._manage_insert)) self.dlg_netscenario.btn_delete.clicked.connect(partial(self._manage_delete)) @@ -386,7 +390,7 @@ def _manage_current_changed(self): # Populate typeahead if enable: self._manage_feature_type() - table_name = f"v_edit_{tab_name.replace('plan_netscenario_', '')}" + table_name = f"v_edit_{tab_name.replace('plan_netscenario_', '').replace('v_edit_', '')}" feature_type = self.feature_type if self.filter_dict.get(tab_name): table_name = self.filter_dict[tab_name]['filter_table'] @@ -442,6 +446,33 @@ def _manage_highlight(self, qtableview, view, index): tools_qgis.highlight_feature_by_id(qtableview, table, feature_type, self.rubber_band, 5, index) + def _manage_config(self): + self.mapzone_manager = GwMapzoneManager() + self.mapzone_manager.manage_config(self.dlg_netscenario) + try: + self.mapzone_manager.config_dlg.finished.connect(partial(self._manage_current_changed)) + except: + pass + + + def _manage_create(self): + self.mapzone_manager = GwMapzoneManager() + self.mapzone_manager.manage_create(self.dlg_netscenario) + try: + self.mapzone_manager.add_dlg.dlg_closed.connect(partial(self._manage_current_changed)) + except: + pass + + + def _manage_update(self): + self.mapzone_manager = GwMapzoneManager() + self.mapzone_manager.manage_update(self.dlg_netscenario) + try: + self.mapzone_manager.add_dlg.dlg_closed.connect(partial(self._manage_current_changed)) + except: + pass + + def _manage_properties(self): # Get selected row @@ -532,7 +563,7 @@ def _manage_add_layers(self): geom_layers = [] sql = f"SELECT f_table_name FROM geometry_columns WHERE f_table_schema = '{lib_vars.schema_name}' " \ - f"AND f_table_name LIKE 'plan_netscenario%';" + f"AND f_table_name LIKE '%plan_netscenario%';" rows = tools_db.get_rows(sql) if rows: geom_layers = [row[0] for row in rows] diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index 48ac47989..b1cb8a1be 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -72,10 +72,10 @@ def manage_mapzones(self): # self.dlg_dscenario.main_tab.setCurrentIndex(default_tab_idx) # Connect signals - self.mapzone_mng_dlg.btn_config.clicked.connect(partial(self._manage_config)) + self.mapzone_mng_dlg.btn_config.clicked.connect(partial(self.manage_config, self.mapzone_mng_dlg, None)) self.mapzone_mng_dlg.btn_toggle_active.clicked.connect(partial(self._manage_toggle_active)) - self.mapzone_mng_dlg.btn_create.clicked.connect(partial(self._manage_create)) - self.mapzone_mng_dlg.btn_update.clicked.connect(partial(self._manage_update)) + self.mapzone_mng_dlg.btn_create.clicked.connect(partial(self.manage_create, self.mapzone_mng_dlg, None)) + self.mapzone_mng_dlg.btn_update.clicked.connect(partial(self.manage_update, self.mapzone_mng_dlg, None)) self.mapzone_mng_dlg.btn_delete.clicked.connect(partial(self._manage_delete)) self.mapzone_mng_dlg.main_tab.currentChanged.connect(partial(self._manage_current_changed)) self.mapzone_mng_dlg.btn_cancel.clicked.connect(self.mapzone_mng_dlg.reject) @@ -121,7 +121,7 @@ def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=N """ Fill mapzone table with data from its corresponding table """ # Manage exception if dialog is closed - if isdeleted(self.mapzone_mng_dlg): + if self.mapzone_mng_dlg is None or isdeleted(self.mapzone_mng_dlg): return self.table_name = f"{self.mapzone_mng_dlg.main_tab.currentWidget().objectName()}" @@ -175,15 +175,16 @@ def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=N # region config button - def _manage_config(self): + def manage_config(self, dialog, tableview=None): """ Dialog from config button """ # Get selected row - tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + if tableview is None: + tableview = dialog.main_tab.currentWidget() selected_list = tableview.selectionModel().selectedRows() if len(selected_list) == 0: message = "Any record selected" - tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + tools_qgis.show_warning(message, dialog=dialog) return # Get selected mapzone data @@ -621,9 +622,10 @@ def _manage_toggle_active(self): self._manage_current_changed() - def _manage_create(self): + def manage_create(self, dialog, tableview=None): - tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + if tableview is None: + tableview = dialog.main_tab.currentWidget() tablename = tableview.objectName().replace('tbl_', '') field_id = tableview.model().headerData(0, Qt.Horizontal) @@ -640,14 +642,15 @@ def _manage_create(self): self._build_generic_info(dlg_title, result, tablename, field_id, force_action="INSERT") - def _manage_update(self): + def manage_update(self, dialog, tableview=None): # Get selected row - tableview = self.mapzone_mng_dlg.main_tab.currentWidget() + if tableview is None: + tableview = dialog.main_tab.currentWidget() tablename = tableview.objectName().replace('tbl_', '') selected_list = tableview.selectionModel().selectedRows() if len(selected_list) == 0: message = "Any record selected" - tools_qgis.show_warning(message, dialog=self.mapzone_mng_dlg) + tools_qgis.show_warning(message, dialog=dialog) return # Get selected mapzone data diff --git a/core/ui/toolbars/plan/netscenario.ui b/core/ui/toolbars/plan/netscenario.ui index 409ee9354..81e67418f 100644 --- a/core/ui/toolbars/plan/netscenario.ui +++ b/core/ui/toolbars/plan/netscenario.ui @@ -49,6 +49,27 @@ + + + + Config + + + + + + + Create + + + + + + + Update + + + From ed2e9f3a2fdb0175bee70def1f8526a6df58a843 Mon Sep 17 00:00:00 2001 From: edgarfuste <34737125+edgarfuste@users.noreply.github.com> Date: Wed, 6 Sep 2023 12:29:42 +0200 Subject: [PATCH 33/57] Bug fix: manage feature selection for type gully on element relations tab --- core/shared/element.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/shared/element.py b/core/shared/element.py index cccc2a3c2..693909288 100644 --- a/core/shared/element.py +++ b/core/shared/element.py @@ -542,6 +542,8 @@ def _manage_element_accept(self, table_object): f" WHERE element_id = '{element_id}';") sql += (f"\nDELETE FROM element_x_connec" f" WHERE element_id = '{element_id}';") + sql += (f"\nDELETE FROM element_x_gully" + f" WHERE element_id = '{element_id}';") if self.list_ids['arc']: for feature_id in self.list_ids['arc']: @@ -555,6 +557,10 @@ def _manage_element_accept(self, table_object): for feature_id in self.list_ids['connec']: sql += (f"\nINSERT INTO element_x_connec (element_id, connec_id)" f" VALUES ('{element_id}', '{feature_id}');") + if self.list_ids['gully']: + for feature_id in self.list_ids['gully']: + sql += (f"\nINSERT INTO element_x_gully (element_id, gully_id)" + f" VALUES ('{element_id}', '{feature_id}');") status = tools_db.execute_sql(sql) if status: self.element_id = element_id From 6df54365bf5d060fdb31637862a2e36af84de8d3 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 6 Sep 2023 14:25:21 +0200 Subject: [PATCH 34/57] Enhancement: improve filters in netscenario & clean code --- core/toolbars/plan/netscenario_manager_btn.py | 20 +++++++++++-------- core/ui/toolbars/plan/netscenario.ui | 12 ++++++++++- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/core/toolbars/plan/netscenario_manager_btn.py b/core/toolbars/plan/netscenario_manager_btn.py index c22c009b7..0b4315874 100644 --- a/core/toolbars/plan/netscenario_manager_btn.py +++ b/core/toolbars/plan/netscenario_manager_btn.py @@ -13,7 +13,7 @@ from qgis.PyQt.QtGui import QRegExpValidator, QStandardItemModel, QCursor from qgis.PyQt.QtSql import QSqlTableModel from qgis.PyQt.QtCore import Qt, QRegExp, QPoint -from qgis.PyQt.QtWidgets import QTableView, QAbstractItemView, QMenu, QCheckBox, QWidgetAction, QComboBox +from qgis.PyQt.QtWidgets import QTableView, QAbstractItemView, QMenu, QCheckBox, QWidgetAction, QComboBox, QCompleter from qgis.PyQt.QtWidgets import QDialog, QLineEdit from ..dialog import GwAction @@ -35,11 +35,11 @@ def __init__(self, icon_path, action_name, text, toolbar, action_group): super().__init__(icon_path, action_name, text, toolbar, action_group) self.feature_type = 'node' self.feature_types = ['node_id', 'arc_id', 'feature_id', 'connec_id', 'dma_id', 'presszone_id'] - self.filter_dict = {"plan_netscenario_arc": {"filter_table": "v_edit_arc", "feature_type": "sector"}, - "plan_netscenario_node": {"filter_table": "v_edit_node", "feature_type": "sector"}, + self.filter_dict = {"plan_netscenario_arc": {"filter_table": "v_edit_arc", "feature_type": "arc"}, + "plan_netscenario_node": {"filter_table": "v_edit_node", "feature_type": "node"}, "plan_netscenario_connec": {"filter_table": "v_edit_inp_connec", "feature_type": "connec"}, - "plan_netscenario_dma": {"filter_table": "v_edit_dma", "feature_type": "dma"}, - "plan_netscenario_presszone": {"filter_table": "v_edit_presszone", "feature_type": "presszone"}, + "v_edit_plan_netscenario_dma": {"filter_table": "v_edit_dma", "feature_type": "dma"}, + "v_edit_plan_netscenario_presszone": {"filter_table": "v_edit_presszone", "feature_type": "presszone"}, } self.filter_disabled = [] self.rubber_band = tools_gw.create_rubberband(global_vars.canvas) @@ -378,8 +378,7 @@ def _manage_current_changed(self): self._fill_netscenario_table() # Refresh txt_feature_id - tools_qt.set_widget_text(self.dlg_netscenario, self.dlg_netscenario.txt_feature_id, '') - self.dlg_netscenario.txt_feature_id.setStyleSheet(None) + tools_qt.set_combo_value(self.dlg_netscenario.cmb_feature_id, '', 0, False) # Manage insert typeahead # Get index of selected tab @@ -395,7 +394,12 @@ def _manage_current_changed(self): if self.filter_dict.get(tab_name): table_name = self.filter_dict[tab_name]['filter_table'] feature_type = self.filter_dict[tab_name]['feature_type'] - tools_gw.set_completer_widget(table_name, self.dlg_netscenario.txt_feature_id, feature_type, add_id=True) + sql = f"SELECT DISTINCT({feature_type}_id::text) as id, {feature_type}_id::text as idval" \ + f" FROM {table_name}" \ + f" WHERE {feature_type}_id::text NOT IN ('-1', '0')" \ + f" ORDER BY id" + rows = tools_db.get_rows(sql) + tools_qt.fill_combo_values(self.dlg_netscenario.cmb_feature_id, rows, add_empty=True) # Deactivate btn_snapping functionality self._selection_end() diff --git a/core/ui/toolbars/plan/netscenario.ui b/core/ui/toolbars/plan/netscenario.ui index 81e67418f..9900e2ad3 100644 --- a/core/ui/toolbars/plan/netscenario.ui +++ b/core/ui/toolbars/plan/netscenario.ui @@ -34,7 +34,17 @@ - + + + + 0 + 0 + + + + true + + From f1a1c420155a86d155f338e81659ceeb7ccf2a65 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 6 Sep 2023 14:36:29 +0200 Subject: [PATCH 35/57] Bug fix: toolbox dlg title --- core/toolbars/utilities/toolbox_btn.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/toolbars/utilities/toolbox_btn.py b/core/toolbars/utilities/toolbox_btn.py index fcf28eb07..042ea5b80 100644 --- a/core/toolbars/utilities/toolbox_btn.py +++ b/core/toolbars/utilities/toolbox_btn.py @@ -93,8 +93,8 @@ def open_function_by_id(self, func_id, connect_signal=None): self.dlg_functions.finished.connect(signal) # Open form and set title - self.dlg_functions.setWindowTitle(f"{self.function_selected}") tools_gw.open_dialog(self.dlg_functions, dlg_name='toolbox') + self.dlg_functions.setWindowTitle(f"{self.function_selected}") return self.dlg_functions def remove_layers(self): @@ -259,8 +259,8 @@ def _open_function(self, index): QgsApplication.taskManager().addTask(self.report_thread) QgsApplication.taskManager().triggerTask(self.report_thread) - self.dlg_reports.setWindowTitle(f"{function_name}") tools_gw.open_dialog(self.dlg_reports, dlg_name='reports') + self.dlg_reports.setWindowTitle(f"{function_name}") elif 'processes' in index.parent().parent().data().lower(): @@ -302,8 +302,8 @@ def _open_function(self, index): self.dlg_functions.btn_cancel.clicked.connect(partial(self.remove_layers)) # Open form and set title - self.dlg_functions.setWindowTitle(f"{self.function_selected}") tools_gw.open_dialog(self.dlg_functions, dlg_name='toolbox') + self.dlg_functions.setWindowTitle(f"{self.function_selected}") def _report_finished(self, status, json_result): From 5e6433c1473190eee24c9e9594b74e48e3d0904c Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 6 Sep 2023 15:09:26 +0200 Subject: [PATCH 36/57] Enhancement: set netscenario in "Execute" button toolbox --- core/toolbars/plan/netscenario_manager_btn.py | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/core/toolbars/plan/netscenario_manager_btn.py b/core/toolbars/plan/netscenario_manager_btn.py index 0b4315874..f1ab1620f 100644 --- a/core/toolbars/plan/netscenario_manager_btn.py +++ b/core/toolbars/plan/netscenario_manager_btn.py @@ -75,7 +75,7 @@ def _open_netscenario_manager(self): self.dlg_netscenario_manager.btn_selector.clicked.connect(partial(self._netscenario_selector)) self.dlg_netscenario_manager.btn_duplicate.clicked.connect(partial(self._duplicate_selected_netscenario)) self.dlg_netscenario_manager.btn_update.clicked.connect(partial(self._manage_properties)) - self.dlg_netscenario_manager.btn_execute.clicked.connect(partial(self._open_toolbox_function, 3256)) + self.dlg_netscenario_manager.btn_execute.clicked.connect(partial(self._execute_selected_netscenario)) self.dlg_netscenario_manager.btn_delete.clicked.connect(partial(self._delete_selected_netscenario)) self.dlg_netscenario_manager.btn_delete.clicked.connect(partial(tools_gw.refresh_selectors)) self.tbl_netscenario.doubleClicked.connect(self._open_netscenario) @@ -225,6 +225,27 @@ def _duplicate_selected_netscenario(self): tools_qt.set_widget_enabled(dlg_functions, 'copyFrom', False) + def _execute_selected_netscenario(self): + """ Executes the selected netscenario """ + + # Get selected row + selected_list = self.tbl_netscenario.selectionModel().selectedRows() + if len(selected_list) == 0: + message = "Any record selected" + tools_qgis.show_warning(message, dialog=self.dlg_netscenario_manager) + return + + # Get selected netscenario id + index = self.tbl_netscenario.selectionModel().currentIndex() + value = index.sibling(index.row(), 0).data() + + # Execute toolbox function + dlg_functions = self._open_toolbox_function(3256) + # Set netscenario_id in combo copyFrom + tools_qt.set_combo_value(dlg_functions.findChild(QComboBox, 'netscenario'), f"{value}", 0) + tools_qt.set_widget_enabled(dlg_functions, 'netscenario', False) + + def _delete_selected_netscenario(self): """ Deletes the selected netscenario """ From af24b84f52af0f80818336ef24fb2883afe80af4 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Thu, 7 Sep 2023 13:31:32 +0200 Subject: [PATCH 37/57] Enhancement: put psector on selector_psector when opening it --- core/shared/psector.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/shared/psector.py b/core/shared/psector.py index 58b0be9ad..b028b42a0 100644 --- a/core/shared/psector.py +++ b/core/shared/psector.py @@ -1737,6 +1737,11 @@ def charge_psector(self, qtbl_psm): if tools_os.set_boolean(keep_open_form, False) is not True: tools_gw.close_dialog(self.dlg_psector_mng) + # put psector on selector_psector + sql = f"DELETE FROM selector_psector WHERE psector_id = {psector_id} AND cur_user = current_user;" \ + f"INSERT INTO selector_psector (psector_id, cur_user) VALUES ({psector_id}, current_user);" + tools_db.execute_sql(sql) + # Open form self.master_new_psector(psector_id) From e1b8ba714112d349a16af49f0dd9139d969784a4 Mon Sep 17 00:00:00 2001 From: edgarfuste <34737125+edgarfuste@users.noreply.github.com> Date: Thu, 7 Sep 2023 14:45:10 +0200 Subject: [PATCH 38/57] Improve previous commit "ed2e9f3": Manage project type --- core/shared/element.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/shared/element.py b/core/shared/element.py index 693909288..01c449cc5 100644 --- a/core/shared/element.py +++ b/core/shared/element.py @@ -542,8 +542,9 @@ def _manage_element_accept(self, table_object): f" WHERE element_id = '{element_id}';") sql += (f"\nDELETE FROM element_x_connec" f" WHERE element_id = '{element_id}';") - sql += (f"\nDELETE FROM element_x_gully" - f" WHERE element_id = '{element_id}';") + if global_vars.project_type == 'ud': + sql += (f"\nDELETE FROM element_x_gully" + f" WHERE element_id = '{element_id}';") if self.list_ids['arc']: for feature_id in self.list_ids['arc']: From 75a282da82090c4701862baf1b43f76c935543a5 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Thu, 7 Sep 2023 16:17:52 +0200 Subject: [PATCH 39/57] Bug fix: check if widget exists (generic info) --- core/utils/tools_gw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/utils/tools_gw.py b/core/utils/tools_gw.py index 2480b853d..64b448007 100644 --- a/core/utils/tools_gw.py +++ b/core/utils/tools_gw.py @@ -1270,7 +1270,7 @@ def build_dialog_info(dialog, result, my_json=None): kwargs = {"dialog": dialog, "field": field} widget = add_button(**kwargs) - if 'ismandatory' in field: + if 'ismandatory' in field and widget is not None: widget.setProperty('ismandatory', field['ismandatory']) if 'layoutorder' in field and field['layoutorder'] is not None: From 401fca1cc8c1a383375137f9e14afa404c841897 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Thu, 7 Sep 2023 16:19:52 +0200 Subject: [PATCH 40/57] Use v_ui tables in mapzone manager --- core/toolbars/utilities/mapzone_manager.py | 10 +++++----- dbmodel | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index b1cb8a1be..3a9c2ab93 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -59,7 +59,7 @@ def manage_mapzones(self): if global_vars.project_type == 'ud': tabs = ['drainzone'] for tab in tabs: - view = f'v_edit_{tab}' + view = f'v_ui_{tab}' qtableview = QTableView() qtableview.setObjectName(f"tbl_{view}") # qtableview.clicked.connect(partial(self._manage_highlight, qtableview, view)) @@ -601,7 +601,7 @@ def _cancel_snapping_tool(self, dialog, action): def _manage_toggle_active(self): # Get selected row tableview = self.mapzone_mng_dlg.main_tab.currentWidget() - view = tableview.objectName().replace('tbl_', '') + view = tableview.objectName().replace('tbl_', '').replace('v_ui_', 'v_edit_') selected_list = tableview.selectionModel().selectedRows() if len(selected_list) == 0: message = "Any record selected" @@ -626,7 +626,7 @@ def manage_create(self, dialog, tableview=None): if tableview is None: tableview = dialog.main_tab.currentWidget() - tablename = tableview.objectName().replace('tbl_', '') + tablename = tableview.objectName().replace('tbl_', '').replace('v_ui_', 'v_edit_') field_id = tableview.model().headerData(0, Qt.Horizontal) # Execute getinfofromid @@ -646,7 +646,7 @@ def manage_update(self, dialog, tableview=None): # Get selected row if tableview is None: tableview = dialog.main_tab.currentWidget() - tablename = tableview.objectName().replace('tbl_', '') + tablename = tableview.objectName().replace('tbl_', '').replace('v_ui_', 'v_edit_') selected_list = tableview.selectionModel().selectedRows() if len(selected_list) == 0: message = "Any record selected" @@ -674,7 +674,7 @@ def manage_update(self, dialog, tableview=None): def _manage_delete(self): # Get selected row tableview = self.mapzone_mng_dlg.main_tab.currentWidget() - view = tableview.objectName().replace('tbl_', '') + view = tableview.objectName().replace('tbl_', '').replace('v_ui_', 'v_edit_') selected_list = tableview.selectionModel().selectedRows() if len(selected_list) == 0: message = "Any record selected" diff --git a/dbmodel b/dbmodel index 05955be2d..e8b7b160b 160000 --- a/dbmodel +++ b/dbmodel @@ -1 +1 @@ -Subproject commit 05955be2d7deca8452c158d00d2dcdaa7db298c3 +Subproject commit e8b7b160b28b1d41b56bc3042ca3d8dc77c4ed8a From 0f21affc4f4405eb42194ca63c5f59b9a0e7b0d7 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Thu, 7 Sep 2023 16:26:14 +0200 Subject: [PATCH 41/57] Bug fix: show correctly tableviews --- core/toolbars/plan/netscenario_manager_btn.py | 5 ++++- core/toolbars/utilities/mapzone_manager.py | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/toolbars/plan/netscenario_manager_btn.py b/core/toolbars/plan/netscenario_manager_btn.py index f1ab1620f..d465c7b5f 100644 --- a/core/toolbars/plan/netscenario_manager_btn.py +++ b/core/toolbars/plan/netscenario_manager_btn.py @@ -297,7 +297,7 @@ def _open_netscenario(self, index): default_tab_idx = 0 # Select all netscenario views sql = f"SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE table_schema = '{lib_vars.schema_name}' " \ - f"AND table_name IN ('plan_netscenario_arc', 'plan_netscenario_node', 'plan_netscenario_connec', 'v_edit_plan_netscenario_{self.selected_netscenario_type.lower()}') " \ + f"AND table_name IN ('plan_netscenario_arc', 'plan_netscenario_node', 'plan_netscenario_connec', 'plan_netscenario_{self.selected_netscenario_type.lower()}') " \ f"ORDER BY array_position(ARRAY['plan_netscenario_arc', 'plan_netscenario_node', 'plan_netscenario_connec'], table_name::text);" rows = tools_db.get_rows(sql) if rows: @@ -473,6 +473,7 @@ def _manage_highlight(self, qtableview, view, index): def _manage_config(self): self.mapzone_manager = GwMapzoneManager() + self.mapzone_manager.netscenario_id = self.selected_netscenario_id self.mapzone_manager.manage_config(self.dlg_netscenario) try: self.mapzone_manager.config_dlg.finished.connect(partial(self._manage_current_changed)) @@ -482,6 +483,7 @@ def _manage_config(self): def _manage_create(self): self.mapzone_manager = GwMapzoneManager() + self.mapzone_manager.netscenario_id = self.selected_netscenario_id self.mapzone_manager.manage_create(self.dlg_netscenario) try: self.mapzone_manager.add_dlg.dlg_closed.connect(partial(self._manage_current_changed)) @@ -491,6 +493,7 @@ def _manage_create(self): def _manage_update(self): self.mapzone_manager = GwMapzoneManager() + self.mapzone_manager.netscenario_id = self.selected_netscenario_id self.mapzone_manager.manage_update(self.dlg_netscenario) try: self.mapzone_manager.add_dlg.dlg_closed.connect(partial(self._manage_current_changed)) diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index 3a9c2ab93..e4f85be18 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -40,6 +40,7 @@ def __init__(self): self.vertex_marker = self.snapper_manager.vertex_marker self.mapzone_mng_dlg = None + self.netscenario_id = None def manage_mapzones(self): @@ -570,6 +571,8 @@ def _accept_config(self, dialog): return parameters = f'"action": "UPDATE", "configZone": "{self.mapzone_type}", "mapzoneId": "{self.mapzone_id}", ' \ f'"config": {preview}' + if self.netscenario_id is not None: + parameters += f', "netscenarioId": {self.netscenario_id}' extras = f'"parameters": {{{parameters}}}' body = tools_gw.create_body(extras=extras) json_result = tools_gw.execute_procedure('gw_fct_config_mapzones', body) From aef839789426685a2a80dcb1804a0e7998f1d1ed Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Fri, 8 Sep 2023 09:25:27 +0200 Subject: [PATCH 42/57] Enhancement: disable more things under the 'use_gw_snapping' variable --- core/utils/snap_manager.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/utils/snap_manager.py b/core/utils/snap_manager.py index 4074ba73d..324b522e5 100644 --- a/core/utils/snap_manager.py +++ b/core/utils/snap_manager.py @@ -30,10 +30,11 @@ def __init__(self, iface): # Snapper self.snapping_config = self.get_snapping_options() - self.snapping_config.setEnabled(True) self.snapper = self.get_snapper() - proj = QgsProject.instance() - proj.writeEntry('Digitizing', 'SnappingMode', 'advanced') + if global_vars.use_gw_snapping is True: + self.snapping_config.setEnabled(True) + proj = QgsProject.instance() + proj.writeEntry('Digitizing', 'SnappingMode', 'advanced') # Set default vertex marker color = QColor(255, 100, 255) From 2a05e4898010c4a1c49eb0f7f4e494ab1fe25536 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Fri, 8 Sep 2023 12:54:15 +0200 Subject: [PATCH 43/57] Bug fix: try to improve snapping by managing blockSignals in info --- core/shared/info.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/shared/info.py b/core/shared/info.py index 7095d9f55..b8f6eb362 100644 --- a/core/shared/info.py +++ b/core/shared/info.py @@ -1929,8 +1929,10 @@ def _accept(self, dialog, complet_result, _json, p_widget=None, clear_json=False self._manage_docker_close() else: tools_gw.close_dialog(dialog) + QgsProject.instance().blockSignals(False) return None + QgsProject.instance().blockSignals(False) return True From 1eee67c658ae3b2561a7379321fe734846889051 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Tue, 12 Sep 2023 10:13:08 +0200 Subject: [PATCH 44/57] Bug fix: Remove highlight on close menu (info right-click) --- core/toolbars/basic/info_button.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/toolbars/basic/info_button.py b/core/toolbars/basic/info_button.py index f509b1a64..2dbaaca54 100644 --- a/core/toolbars/basic/info_button.py +++ b/core/toolbars/basic/info_button.py @@ -194,6 +194,8 @@ def _get_layers_from_coordinates(self, point, rb_list, tab_type=None): action_valve.hovered.connect(partial(self._reset_rubber_bands)) main_menu.addAction(action_valve) main_menu.addSeparator() + + main_menu.aboutToHide.connect(self._reset_rubber_bands) main_menu.exec_(click_point) From 250435cc2e83aec6ebdec49abe65b06c200af0b6 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Tue, 12 Sep 2023 11:28:04 +0200 Subject: [PATCH 45/57] Bug fix: update netscenario --- core/toolbars/plan/netscenario_manager_btn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/toolbars/plan/netscenario_manager_btn.py b/core/toolbars/plan/netscenario_manager_btn.py index d465c7b5f..fabbde1d6 100644 --- a/core/toolbars/plan/netscenario_manager_btn.py +++ b/core/toolbars/plan/netscenario_manager_btn.py @@ -514,7 +514,7 @@ def _manage_properties(self): index = self.tbl_netscenario.selectionModel().currentIndex() selected_netscenario_id = index.sibling(index.row(), 0).data() selected_netscenario_type = index.sibling(index.row(), tools_qt.get_col_index_by_col_name(self.tbl_netscenario, 'netscenario_type')).data() - tablename = f"v_edit_plan_netscenario_{selected_netscenario_type.lower()}" + tablename = f"plan_netscenario" pkey = "netscenario_id" feature = f'"tableName":"{tablename}", "id":"{selected_netscenario_id}"' From d12ad5a850f0372ec14c4f7ad574e42ed59d133c Mon Sep 17 00:00:00 2001 From: edgarfuste <34737125+edgarfuste@users.noreply.github.com> Date: Tue, 12 Sep 2023 13:01:54 +0200 Subject: [PATCH 46/57] Enhancement: Manage tabs editability on insert new feature --- core/shared/info.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/shared/info.py b/core/shared/info.py index b8f6eb362..2eaebfca4 100644 --- a/core/shared/info.py +++ b/core/shared/info.py @@ -227,6 +227,7 @@ def open_form(self, point=None, table_name=None, feature_id=None, feature_cat=No else: sub_tag = 'node' feature_id = self.complet_result['body']['feature']['id'] + result, dialog = self._open_custom_form(feature_id, self.complet_result, tab_type, sub_tag, is_docker, new_feature=new_feature) if feature_cat is not None: @@ -504,12 +505,15 @@ def _open_custom_form(self, feature_id, complet_result, tab_type=None, sub_tag=N pass self.visible_tabs = complet_result['body']['form'].get('visibleTabs', []) + for tab in self.visible_tabs: tabs_to_show.append(tab['tabName']) for x in range(self.tab_main.count() - 1, 0, -1): if self.tab_main.widget(x).objectName() not in tabs_to_show: tools_qt.remove_tab(self.tab_main, self.tab_main.widget(x).objectName()) + elif new_feature and self.tab_main.widget(x).objectName() != 'tab_data': + tools_qt.enable_tab_by_tab_name(self.tab_main, self.tab_main.widget(x).objectName(), False) # Actions self._get_actions() @@ -1619,6 +1623,10 @@ def _manage_edition(self, dialog, action_edit, fid, new_feature=None, generic=Fa self._manage_docker_close() else: tools_gw.close_dialog(dialog) + if new_feature: + for tab in self.visible_tabs: + tools_qt.enable_tab_by_tab_name(self.tab_main, tab['tabName'], True) + self._reload_epa_tab(dialog) self._reset_my_json() else: tools_qt.set_action_checked(action_edit, True) From 8c70d7a5257488c6f7a273cd4212489b8d9c574e Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Tue, 12 Sep 2023 14:17:18 +0200 Subject: [PATCH 47/57] Enhancement: move toc button to netscenario manager --- core/toolbars/plan/netscenario_manager_btn.py | 5 +++-- core/ui/toolbars/plan/netscenario.ui | 9 +-------- core/ui/toolbars/plan/netscenario_manager.ui | 7 +++++++ 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/core/toolbars/plan/netscenario_manager_btn.py b/core/toolbars/plan/netscenario_manager_btn.py index fabbde1d6..560895d36 100644 --- a/core/toolbars/plan/netscenario_manager_btn.py +++ b/core/toolbars/plan/netscenario_manager_btn.py @@ -57,6 +57,8 @@ def _open_netscenario_manager(self): self.dlg_netscenario_manager = GwNetscenarioManagerUi() tools_gw.load_settings(self.dlg_netscenario_manager) + tools_gw.add_icon(self.dlg_netscenario_manager.btn_toc, "306", sub_folder="24x24") + # Manage btn create self._manage_btn_create() tools_gw.add_icon(self.dlg_netscenario_manager.btn_selector, "142", folder='toolbars', sub_folder='basic') @@ -72,6 +74,7 @@ def _open_netscenario_manager(self): # Connect main dialog signals self.dlg_netscenario_manager.txt_name.textChanged.connect(partial(self._fill_manager_table)) + self.dlg_netscenario_manager.btn_toc.clicked.connect(partial(self._manage_add_layers)) self.dlg_netscenario_manager.btn_selector.clicked.connect(partial(self._netscenario_selector)) self.dlg_netscenario_manager.btn_duplicate.clicked.connect(partial(self._duplicate_selected_netscenario)) self.dlg_netscenario_manager.btn_update.clicked.connect(partial(self._manage_properties)) @@ -289,7 +292,6 @@ def _open_netscenario(self, index): tools_gw.load_settings(self.dlg_netscenario) # Add icons - tools_gw.add_icon(self.dlg_netscenario.btn_toc, "306", sub_folder="24x24") tools_gw.add_icon(self.dlg_netscenario.btn_insert, "111", sub_folder="24x24") tools_gw.add_icon(self.dlg_netscenario.btn_delete, "112", sub_folder="24x24") tools_gw.add_icon(self.dlg_netscenario.btn_snapping, "137") @@ -318,7 +320,6 @@ def _open_netscenario(self, index): self.dlg_netscenario.btn_config.clicked.connect(partial(self._manage_config)) self.dlg_netscenario.btn_create.clicked.connect(partial(self._manage_create)) self.dlg_netscenario.btn_update.clicked.connect(partial(self._manage_update)) - self.dlg_netscenario.btn_toc.clicked.connect(partial(self._manage_add_layers)) self.dlg_netscenario.btn_insert.clicked.connect(partial(self._manage_insert)) self.dlg_netscenario.btn_delete.clicked.connect(partial(self._manage_delete)) self.dlg_netscenario.btn_snapping.clicked.connect(partial(self._manage_select)) diff --git a/core/ui/toolbars/plan/netscenario.ui b/core/ui/toolbars/plan/netscenario.ui index 9900e2ad3..10de65c28 100644 --- a/core/ui/toolbars/plan/netscenario.ui +++ b/core/ui/toolbars/plan/netscenario.ui @@ -7,7 +7,7 @@ 0 0 773 - 525 + 513 @@ -80,13 +80,6 @@ - - - - - - - diff --git a/core/ui/toolbars/plan/netscenario_manager.ui b/core/ui/toolbars/plan/netscenario_manager.ui index 5f362deac..8fd53cdbf 100644 --- a/core/ui/toolbars/plan/netscenario_manager.ui +++ b/core/ui/toolbars/plan/netscenario_manager.ui @@ -146,6 +146,13 @@ + + + + + + + From 47612771c0ee30932dfe1f543df73d08bf2fb835 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Tue, 12 Sep 2023 16:16:49 +0200 Subject: [PATCH 48/57] Improvement: manage netscenario buttons & bug fix filter combo --- core/toolbars/plan/netscenario_manager_btn.py | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/core/toolbars/plan/netscenario_manager_btn.py b/core/toolbars/plan/netscenario_manager_btn.py index 560895d36..8a123da34 100644 --- a/core/toolbars/plan/netscenario_manager_btn.py +++ b/core/toolbars/plan/netscenario_manager_btn.py @@ -399,7 +399,7 @@ def _manage_current_changed(self): # Fill current table self._fill_netscenario_table() - # Refresh txt_feature_id + # Refresh cmb_feature_id tools_qt.set_combo_value(self.dlg_netscenario.cmb_feature_id, '', 0, False) # Manage insert typeahead @@ -433,11 +433,21 @@ def _manage_current_changed(self): def _enable_widgets(self, enable): """ """ - tools_qt.set_widget_enabled(self.dlg_netscenario, 'txt_feature_id', enable) + # Get index of selected tab + index_tab = self.dlg_netscenario.main_tab.currentIndex() + tab_name = self.dlg_netscenario.main_tab.widget(index_tab).objectName() + + tools_qt.set_widget_enabled(self.dlg_netscenario, 'cmb_feature_id', enable) tools_qt.set_widget_enabled(self.dlg_netscenario, 'btn_insert', enable) tools_qt.set_widget_enabled(self.dlg_netscenario, 'btn_delete', enable) tools_qt.set_widget_enabled(self.dlg_netscenario, 'btn_snapping', enable) + if tab_name in ('plan_netscenario_arc', 'plan_netscenario_node', 'plan_netscenario_connec'): + enable = False + tools_qt.set_widget_enabled(self.dlg_netscenario, 'btn_config', enable) + tools_qt.set_widget_enabled(self.dlg_netscenario, 'btn_create', enable) + tools_qt.set_widget_enabled(self.dlg_netscenario, 'btn_update', enable) + def _manage_feature_type(self): """ Manages current tableview feature type (node, arc, nodarc, etc.) """ @@ -675,12 +685,12 @@ def _manage_load_all(self, menu, state=None): def _manage_insert(self): """ Insert feature to netscenario via the button """ - if self.dlg_netscenario.txt_feature_id.text() == '': + if self.dlg_netscenario.cmb_feature_id.text() == '': message = "Feature_id is mandatory." - self.dlg_netscenario.txt_feature_id.setStyleSheet("border: 1px solid red") + self.dlg_netscenario.cmb_feature_id.setStyleSheet("border: 1px solid red") tools_qgis.show_warning(message, dialog=self.dlg_netscenario) return - self.dlg_netscenario.txt_feature_id.setStyleSheet(None) + self.dlg_netscenario.cmb_feature_id.setStyleSheet(None) tableview = self.dlg_netscenario.main_tab.currentWidget() view = tableview.objectName() @@ -695,14 +705,14 @@ def _manage_insert(self): elif view == "plan_netscenario_demand": sql += f", feature_type" # VALUES - sql += f")VALUES ({self.selected_netscenario_id}, '{self.dlg_netscenario.txt_feature_id.text()}'" + sql += f")VALUES ({self.selected_netscenario_id}, '{self.dlg_netscenario.cmb_feature_id.text()}'" if view in ("plan_netscenario_controls", "plan_netscenario_rules"): sql += f", ''" elif view == "plan_netscenario_demand": sql += f", '{self.feature_type.upper()}'" sql += f");" else: - sql = f"INSERT INTO {view} VALUES ({self.selected_netscenario_id}, '{self.dlg_netscenario.txt_feature_id.text()}');" + sql = f"INSERT INTO {view} VALUES ({self.selected_netscenario_id}, '{self.dlg_netscenario.cmb_feature_id.text()}');" tools_db.execute_sql(sql) # Refresh tableview From e058ddb71bab0b5689aea0f8ae408b170532d0ec Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 13 Sep 2023 08:43:37 +0200 Subject: [PATCH 49/57] Enhancement: populate netscenario_id in create mapzone --- core/toolbars/utilities/mapzone_manager.py | 25 ++++++---------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index e4f85be18..73e478aea 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -706,28 +706,15 @@ def _build_generic_info(self, dlg_title, result, tablename, field_id, force_acti tools_gw.load_settings(self.add_dlg) self.my_json_add = {} tools_gw.build_dialog_info(self.add_dlg, result, my_json=self.my_json_add) - # # Populate node_id/feature_id - # tools_qt.set_widget_text(self.add_dlg, f'tab_none_{info.feature_type}_id', feature_id) - # tools_qt.set_widget_text(self.add_dlg, 'tab_none_feature_id', feature_id) layout = self.add_dlg.findChild(QGridLayout, 'lyt_main_1') # Disable widgets if updating if force_action == "UPDATE": - tools_qt.set_widget_enabled(self.add_dlg, f'tab_none_{field_id}', False) # sector_id/dma_id/... - # tools_qt.set_selected_item(self.add_dlg, 'tab_none_feature_type', f"{info.feature_type.upper()}") - # tools_qt.set_widget_enabled(self.add_dlg, 'tab_none_feature_type', False) - # cmb_nodarc_id = self.add_dlg.findChild(QComboBox, 'tab_none_nodarc_id') - # aux_view = view.replace("dscenario_", "") - # if cmb_nodarc_id is not None: - # sql = (f"SELECT nodarc_id as id, nodarc_id as idval FROM {aux_view}" - # f" WHERE {info.feature_type}_id = '{feature_id}'") - # rows = tools_db.get_rows(sql) - # tools_qt.fill_combo_values(cmb_nodarc_id, rows) - # cmb_order_id = self.add_dlg.findChild(QComboBox, 'tab_none_order_id') - # if cmb_order_id is not None: - # sql = (f"SELECT order_id as id, order_id::text as idval FROM {aux_view}" - # f" WHERE {info.feature_type}_id = '{feature_id}'") - # rows = tools_db.get_rows(sql) - # tools_qt.fill_combo_values(cmb_order_id, rows, 1) + tools_qt.set_widget_enabled(self.add_dlg, f'tab_data_{field_id}', False) # sector_id/dma_id/... + # Populate netscenario_id + if self.netscenario_id is not None: + tools_qt.set_widget_text(self.add_dlg, f'tab_data_netscenario_id', self.netscenario_id) + tools_qt.set_widget_enabled(self.add_dlg, f'tab_data_netscenario_id', False) + # Get every widget in the layout widgets = [] for row in range(layout.rowCount()): From 00f6a09560944862717eead3bf8a3c939d9e8855 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 13 Sep 2023 13:44:18 +0200 Subject: [PATCH 50/57] Bug fix: use correct tablename for config_form_tableview --- core/shared/info.py | 4 ++-- core/utils/tools_backend_calls.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/shared/info.py b/core/shared/info.py index 2eaebfca4..1a29de957 100644 --- a/core/shared/info.py +++ b/core/shared/info.py @@ -2759,8 +2759,8 @@ def _fill_tbl(self, complet_result, dialog, widgetname, linkedobject, filter_fie short_name = field['widgetname'].replace(f"tab_{tab_name}_", "", 1) widget = tools_gw.add_tableview_header(widget, field) widget = tools_gw.fill_tableview_rows(widget, field) - widget = tools_gw.set_tablemodel_config(dialog, widget, short_name, 1, True) - tools_qt.set_tableview_config(widget, edit_triggers=QTableView.DoubleClicked) + tools_qt.set_tableview_config(widget, edit_triggers=QTableView.DoubleClicked, sectionResizeMode=0) + widget = tools_gw.set_tablemodel_config(dialog, widget, linkedobject, 1, True) if 'tab_epa' in widgetname: model = widget.model() tbl_upsert = widget.property('widgetcontrols').get('tableUpsert') diff --git a/core/utils/tools_backend_calls.py b/core/utils/tools_backend_calls.py index 9d4753534..661c04795 100644 --- a/core/utils/tools_backend_calls.py +++ b/core/utils/tools_backend_calls.py @@ -283,7 +283,7 @@ def filter_table(**kwargs): model.clear() tools_gw.add_tableview_header(qtable, field) tools_gw.fill_tableview_rows(qtable, field) - tools_gw.set_tablemodel_config(dialog, qtable, field['widgetname'], 1, True) + tools_gw.set_tablemodel_config(dialog, qtable, linkedobject, 1, True) tools_qt.set_tableview_config(qtable) return complet_list From ec72651a5451ab6ca8efdf51f459481be67ef2ac Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 13 Sep 2023 14:22:18 +0200 Subject: [PATCH 51/57] Update user_params.config --- config/user_params.config | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/config/user_params.config b/config/user_params.config index 160402f90..f5f58d373 100644 --- a/config/user_params.config +++ b/config/user_params.config @@ -852,6 +852,39 @@ _gw_fct_create_netscenario_from_toc_descript = None _gw_fct_create_netscenario_from_toc_type = None _gw_fct_create_netscenario_from_toc_active = None _gw_fct_create_netscenario_from_toc_expl = None +_gw_fct_graphanalytics_hydrant_cmb_feature_type = None +_gw_fct_graphanalytics_hydrant_cmb_layers = None +_gw_fct_graphanalytics_hydrant_rbt_previous = None +_gw_fct_graphanalytics_hydrant_useproposal = None +_gw_fct_graphanalytics_hydrant_usepsector = None +_gw_fct_massivemincut_cmb_feature_type = None +_gw_fct_massivemincut_cmb_layers = None +_gw_fct_massivemincut_rbt_previous = None +_gw_fct_massivemincut_exploitation = None +_gw_fct_setclosestaddress_cmb_feature_type = None +_gw_fct_setclosestaddress_cmb_layers = None +_gw_fct_setclosestaddress_rbt_previous = None +_gw_fct_setclosestaddress_catfeature = None +_gw_fct_setclosestaddress_fieldtoupdate = None +_gw_fct_setclosestaddress_updatevalues = None +_gw_fct_setclosestaddress_insersectpolygonlayer = None +_gw_fct_config_feature_border_cmb_feature_type = None +_gw_fct_config_feature_border_cmb_layers = None +_gw_fct_config_feature_border_rbt_previous = None +_gw_fct_config_feature_border_configzone = None +_gw_fct_graphanalytics_check_data_cmb_feature_type = None +_gw_fct_graphanalytics_check_data_cmb_layers = None +_gw_fct_graphanalytics_check_data_rbt_previous = None +_gw_fct_graphanalytics_flowtrace_cmb_feature_type = None +_gw_fct_graphanalytics_flowtrace_cmb_layers = None +_gw_fct_graphanalytics_flowtrace_rbt_previous = None +_gw_fct_graphanalytics_flowtrace_nodeid = None +_gw_fct_mincut_show_current_cmb_feature_type = None +_gw_fct_mincut_show_current_cmb_layers = None +_gw_fct_mincut_show_current_rbt_previous = None +_gw_fct_anl_node_tcandidate_cmb_feature_type = None +_gw_fct_anl_node_tcandidate_cmb_layers = None +_gw_fct_anl_node_tcandidate_rbt_previous = None [session.docker] _position = None From d3e29a12314884d990a7820b6cf19e4256a774e6 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 13 Sep 2023 14:22:37 +0200 Subject: [PATCH 52/57] Add changes to changelog --- metadata.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/metadata.txt b/metadata.txt index 527feb908..01dac6f5f 100644 --- a/metadata.txt +++ b/metadata.txt @@ -9,6 +9,12 @@ author=David Erill, Luigi Pirelli, Natasa Cica, Nestor Ibañez, Barbara Rzepka, Changelog=Version 3.6.004 + - New button: Utils manager (mapzones manager & prices manager) + - New button: Netscenario manager + - Epa results manager: add "Archive" button + - Put psector on selector_psector when opening it + - Manage tabs editability on insert new feature + - Bug fix: toolbox dialogs' titles now show function name tags= giswater, water networks, sewerage, urban drainage, EPANET, SWMM From a3eef8f008b4e78447f437d5337e48544aaf3466 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 13 Sep 2023 15:03:12 +0200 Subject: [PATCH 53/57] Hide netscenario manager button for UD projects --- config/giswater.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/giswater.config b/config/giswater.config index f276b6e09..23840c6a8 100644 --- a/config/giswater.config +++ b/config/giswater.config @@ -28,7 +28,7 @@ toc = 306, 308 [project_exclude] ws = 43, 56, 57 -ud = 26, 27 +ud = 26, 27, 219 [buttons_def] # basic From 74348d8c9fc23fc733d6834fe2b9fc2d7fe6e272 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 13 Sep 2023 15:14:34 +0200 Subject: [PATCH 54/57] Bug fix: mapzone manager filter --- core/toolbars/utilities/mapzone_manager.py | 34 +++++----------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/core/toolbars/utilities/mapzone_manager.py b/core/toolbars/utilities/mapzone_manager.py index 73e478aea..c561b6d15 100644 --- a/core/toolbars/utilities/mapzone_manager.py +++ b/core/toolbars/utilities/mapzone_manager.py @@ -73,6 +73,7 @@ def manage_mapzones(self): # self.dlg_dscenario.main_tab.setCurrentIndex(default_tab_idx) # Connect signals + self.mapzone_mng_dlg.txt_name.textChanged.connect(partial(self._txt_name_changed)) self.mapzone_mng_dlg.btn_config.clicked.connect(partial(self.manage_config, self.mapzone_mng_dlg, None)) self.mapzone_mng_dlg.btn_toggle_active.clicked.connect(partial(self._manage_toggle_active)) self.mapzone_mng_dlg.btn_create.clicked.connect(partial(self.manage_create, self.mapzone_mng_dlg, None)) @@ -86,38 +87,19 @@ def manage_mapzones(self): tools_gw.open_dialog(self.mapzone_mng_dlg, 'mapzone_manager') + def _txt_name_changed(self, text): + expr = f"name ilike '%{text}%'" if text else None + self._fill_mapzone_table(expr=expr) + def _manage_current_changed(self): """ Manages tab changes """ + # Refresh txt_feature_id + tools_qt.set_widget_text(self.mapzone_mng_dlg, self.mapzone_mng_dlg.txt_name, '') + # Fill current table self._fill_mapzone_table() - # # Refresh txt_feature_id - # tools_qt.set_widget_text(self.dlg_dscenario, self.dlg_dscenario.txt_feature_id, '') - # self.dlg_dscenario.txt_feature_id.setStyleSheet(None) - # - # # Manage insert typeahead - # # Get index of selected tab - # index_tab = self.dlg_dscenario.main_tab.currentIndex() - # tab_name = self.dlg_dscenario.main_tab.widget(index_tab).objectName() - # enable = tab_name not in self.filter_disabled - # - # # Populate typeahead - # if enable: - # self._manage_feature_type() - # table_name = f"v_edit_{tab_name.replace('dscenario_', '')}" - # feature_type = self.feature_type - # if self.filter_dict.get(tab_name): - # table_name = self.filter_dict[tab_name]['filter_table'] - # feature_type = self.filter_dict[tab_name]['feature_type'] - # tools_gw.set_completer_widget(table_name, self.dlg_dscenario.txt_feature_id, feature_type, add_id=True) - # - # # Deactivate btn_snapping functionality - # self._selection_end() - # - # # Enable/disable filter & buttons - # self._enable_widgets(enable) - def _fill_mapzone_table(self, set_edit_triggers=QTableView.DoubleClicked, expr=None): """ Fill mapzone table with data from its corresponding table """ From 609edd99b02211105152f4a47057d58add45c0b4 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 13 Sep 2023 16:28:45 +0200 Subject: [PATCH 55/57] Enhancement: Add descriptive text on mapzone config dialog --- core/ui/toolbars/utilities/mapzone_config.ui | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/core/ui/toolbars/utilities/mapzone_config.ui b/core/ui/toolbars/utilities/mapzone_config.ui index 1e2fb2437..c9cf789e1 100644 --- a/core/ui/toolbars/utilities/mapzone_config.ui +++ b/core/ui/toolbars/utilities/mapzone_config.ui @@ -211,6 +211,22 @@ true + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9.75pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Using this form you can configure graphconfig field for the selected mapzone. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">How does it work?</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">1- Select the header of the mapzone using the nodeParent selection tool.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">2- Select the direction of the water using the toArc selection tool. Multiple selection is allowed.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3- Press ADD to visualize your configuration on the Preview. If there are more headers, repeat the process and they will be added to the Preview.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">4- If you want to configure a node that will always be closed for this mapzone, select it using the forceClosed tool and ADD.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To remove some wrong configuration, you have to select the affected nodeParent and click REMOVE. This node and its related toArc will be deleted from the Preview.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click OK to end set your Preview as the value on graphconfig field.</p></body></html> + From 3dae5dc575c3bcf623f94f0ad26624775de54ee9 Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 13 Sep 2023 16:29:09 +0200 Subject: [PATCH 56/57] Update translations --- i18n/giswater_ca_ES.qm | Bin 216436 -> 218334 bytes i18n/giswater_ca_ES.ts | 4266 ++++++++++++++++++++-------------------- i18n/giswater_en_US.qm | Bin 206949 -> 207133 bytes i18n/giswater_en_US.ts | 4206 +++++++++++++++++++-------------------- i18n/giswater_es_ES.qm | Bin 219495 -> 221451 bytes i18n/giswater_es_ES.ts | 4218 +++++++++++++++++++-------------------- 6 files changed, 6357 insertions(+), 6333 deletions(-) diff --git a/i18n/giswater_ca_ES.qm b/i18n/giswater_ca_ES.qm index 14de28f7a10eb13a71dfc3bd88f27537dcda544d..5522f4a2eceb01b999f3a0087f20dd58b4414778 100644 GIT binary patch delta 24526 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 E4;MB^j{pDw delta 26602 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 A%m4rY diff --git a/i18n/giswater_ca_ES.ts b/i18n/giswater_ca_ES.ts index 6d49504b0..88080c304 100644 --- a/i18n/giswater_ca_ES.ts +++ b/i18n/giswater_ca_ES.ts @@ -112,6 +112,14 @@ GwFeatureEndButton Donar de baixa + + GwUtilsManagerButton + Gestor d'utilitats + + + GwNetscenarioManagerButton + Gestor de netscenaris + 74_text Afegir nou lot @@ -356,10 +364,6 @@ Java executable file not found No s'ha trobat l'arxiu executable de Java - - Expression Error - Error d'expresió - You need to upgrade your version of pgRouting Necessita actualitzar la seva versió de pgRouting @@ -368,10 +372,6 @@ Some data is missing Falten algunes dades - - You need to select a template - Necessites seleccionar una plantilla - Composer template not found. Name should be No s'ha trobat la plantilla del compositor. El nom ha de ser @@ -484,10 +484,6 @@ Delete records Eliminar registres - - You need to insert visit_id - Ha d'instertar visit_id - Unrecognised form type Tipus de formulari no reconegut @@ -512,10 +508,6 @@ Select CSV file Seleccioni arxiuCSV - - You need to insert data - Necessita insertar dades - Object already associated with this feature Objecte ja associat amb aquell element de xarxa @@ -528,10 +520,6 @@ Do you want to open GIS project? Vol obrir el projecte SIG? - - Document PDF created in - Document PDF creat en - Cannot create file, check if its open No es pot crear l'arxiu, verifiqui si està obert @@ -540,10 +528,6 @@ Check fields from table or view Verifiqui els camps de la taula o vista - - You need to insert psector_id - Necessita insertar psector_id - Id already selected Id ja seleccionat @@ -612,10 +596,6 @@ This param is mandatory. Please, set a value Aquest paràmetre és obligatori. Si us plau, estableixi un valor - - You need to insert doc_type - Necessita insertar doc_type - Are you sure you want to update the data? Està segur que vol actualitzar les dades? @@ -628,10 +608,6 @@ Are you sure you want to disconnect this elements? Segur que vol desconectar aquests elements? - - You need to insert doc_id - Necessites insertar doc_id - This id already exists Aquesta identificació ja existeix @@ -668,6 +644,26 @@ Select folder Seleccioni la carpeta + + You need to insert data + Necessita inserir dades + + + You need to insert doc_id + Necessites inserir doc_id + + + You need to insert doc_type + Necessita inserir doc_type + + + You need to insert psector_id + Necessita inserir psector_id + + + You need to insert visit_id + Ha d'inserir visit_id + Document deleted Document eliminat @@ -760,10 +756,6 @@ Please choose a csv file Trïi un arxiu CSV - - Database connection error (PgDao). Please open plugin log file to get more details - Erro de conecció a la base d dades (pgDao). Si us plau obri l'arxiu de registre del plugin per a obtenir més detalls - Are you sure you want to replace selected feature with a new one? Està segur que vol substituir l'element de xarxa seleccionat per un de nou? @@ -796,10 +788,6 @@ You need to enter hydrometer_id Ha d'ingresar hydrometer_id - - Variable log_sql from user config file has been enabled. - Variable log_sql from user config file has been enabled. - ConfigLayerFields task is already active! La tasca ConfigLayerFields ja està activa! @@ -860,10 +848,6 @@ No records found with selected 'result_id' No s'han trobat registres amb el 'result_id' seleccionat - - Mincut done, but has conflict and overlaps with - Poligon de tall fet, però té conflicte y se sobreposa amb - The csv file has been successfully exported L'arxiu csv s'ha exportat correctament @@ -944,10 +928,6 @@ Any of the snapped features belong to selected layer Qualsevol dels elements de xarxa ajustats pertany a la capa seleccionada - - You need to insert value for field - Necessita insertar valor de camp - More then one document selected. Select just one document. Més d'un document seleccionat. Seleccioni només un document. @@ -1000,10 +980,6 @@ Click on a feature to set mincut location and start the process Seleccioni un node o canonada y faci clic en ell, es calcularà el polígon de tall mínim de les vàlvules - - There are no visible mincuts in the table. Try a different filter - No hi ha poligons de tall visibles en la taula. Probi un filtre diferent - Click on node to change it's type Seleccioni el node dintre d'una canonada fent clic en ell i es cambiarà @@ -1033,8 +1009,8 @@ Total - Variable log_sql from user config file has been disabled. - Variable log_sql from user config file has been disabled. + You need to insert value for field + Necessita inserir valor de camp Please enter a valid integer for the number of years. @@ -1048,10 +1024,6 @@ Pipes with invalid arccat_ids: {qtd}. Canonades amb arccat_id no vàlid: {qtd}. - - Please enter the diameter range in this format: [minimum factor]-[maximum factor]. For example, 0.75-1.5 - Si us plau, introdueixi l'intervalde diàmetre en aquest format: [factor mínimo]-[factor máximo]. Por ejemplo, 0.75-1.5 - Getting auxiliary data from DB Obtenint dades auxiliars de la base de dades @@ -1124,22 +1096,10 @@ Leaks without pipes intersecting its buffer: {leaks}. Fugues sense canonades intersecant el seu buffer: {leaks}. - - Do you want to proceed? - Dessitja continuar? - Result Selector Selector de resultats - - Weights - Pessos. - - - Max rleak: {rleak} leaks/km.year. - Max rleak: {rleak} fugas/km.any. - Repair cost Cost de reparació @@ -1160,18 +1120,10 @@ Shamir-Howard parameters Paràmetres de Shamir-Howard - - Task canceled: The number of years is greater than the interval disponible. - Tasca cancelada. El nombre d'anys es major que l'interval disponible. - Administrative tools Eines administreatives - - These pipes have NOT been assigned a priority value. - A aquestes canonades NO se'ls hi ha assignat un valor de prioritat. - Max. Longevity Max. Longevitat @@ -1196,10 +1148,6 @@ This result name already exists Aquest nom de resultat ja existeix. - - You are about to delete the result - Està a punt de borrar el resultat - An arccat_id is considered invalid if it is not listed in the catalog configuration table. As a result, these pipes will NOT be assigned a priority value. Es considera que un arccat_id no és vàlid si no apareix en la taula de configuració del catàleg, Com a resultat, a aquestes canonades NO se'ls hi assignarà un valor de prioritat. @@ -1230,6 +1178,18 @@ Invalid arccat_ids: {list}. Arccat-ids no vàlids: {list}. + + These pipes have NOT been assigned a priority value. + A aquestes canonades NO se les ha assignat un valor de prioritat. + + + Weights + Pesos + + + You are about to delete the result + Està a punt d'esborrar el resultat + Second iteration Segona iteració @@ -1258,18 +1218,6 @@ Saving results to DB Guardar resultats en la BD - - Select one - Seleccioni un - - - Canceling task... - Cancelant tasca... - - - The sum of weights must equal 1. Please adjust the values accordingly. - La suma dels pessos ha de ser igual a 1. Ajusti els valors d'acord a aquesta condició. - No pipes found matching your budget. No s'han trobat canonades que s'ajustin al seu pressupost. @@ -1286,10 +1234,6 @@ Please enter a valid integer for the cluster length. Si us plau, introdueixi un nombre enter vàlid per a la longitud del clúster. - - Calculate Priority - Calcular Prioridad - Record deleted Registre eliminat @@ -1342,10 +1286,6 @@ Custom mincut executed successfully Polígon de tall personalitzat executat amb èxit - - More then one event selected. Select just one - Més d'un event seleccionat. Seleccioni només un - Click on node to computed its downstream network Seleccioni un node i faci clic en ell, es calclaràn els nodes aigues avall @@ -1354,6 +1294,18 @@ Folder not found Carpeta no trobada + + Canceling task... + Cancel·lant tasca... + + + More then one event selected. Select just one + Més d'un event seleccionat. Seleccioni'n només un + + + Select one + Seleccioni'n un + Mincut done, but has conflict. Take a look on the anl_arc and anl_node to see the details of the conflict Poligon de tall fet, però té conflicte. Miri a anl_arc i a anl_node per a veure els detalls del conflicte @@ -1362,11 +1314,6 @@ Click on node to computed its upstream network Seleccioni un node i fagi clic en ell, es calcularan els node d'aigües amunt - - No results found. Please check values set on selector of state and exploitation - No s'han trobat resultats. Si us plau, comproveu els valors establerts al selector d'estat i explotacioó - - Cannot create file, check if selected composer is the correct composer No es pot crear l'arxiu, verifiqui si el compositor seleccionat és el correcte @@ -1443,14 +1390,14 @@ IVI IVI - - The result cannot be deleted - El resultat pot borrar-se - Invalid compliance value for diameter Valor normatiu no vàlid per al diàmetre + + The result cannot be deleted + El resultat no es pot esborrar + Pipes with invalid materials: {qtd}. Canonades amb material no vàlid:{qtd}. @@ -1535,121 +1482,21 @@ Pipes with zero leaks per km per year: {pipes}. Canonades amb zero fugues per km i any: {pipes}. - - You don't have permissions to administrate project schemas on this connection - You don't have permissions to administrate project schemas on this connection - - - The field layoutorder is not configured for - The field layoutorder is not configured for - - - The field layoutname is not configured for - The field layoutname is not configured for - Incompatible version of PostgreSQL Versió incompatible de PostgreSQL - - Unable to create Postgis extension. Packages must be installed - Unable to create Postgis extension. Packages must be installed - - - Unable to create Postgis extension. Packages must be installed - Unable to create Postgis extension. Packages must be installed - - - Unable to create fuzzystrmatch extension. Packages must be installed - Unable to create fuzzystrmatch extension. Packages must be installed - Unable to create fuzzystrmatch extension. Packages must be installed - Unable to create fuzzystrmatch extension. Packages must be installed - - - Real location has been updated - Real location has been updated - - - Price list csv file name is required - Price list csv file name is required - - - Price list csv file name is required - Price list csv file name is required - - - The name is currently in use - The name is currently in use - - - This psector does not match the current one. Value of current psector will be updated. - This psector does not match the current one. Value of current psector will be updated. - - - This psector does not match the current one. Value of current psector will be updated. - This psector does not match the current one. Value of current psector will be updated. - - - This psector does not match the current one. Value of current psector will be updated. - This psector does not match the current one. Value of current psector will be updated. - - - The csv file has been successfully exported - The csv file has been successfully exported - - - You have to set this parameter - You have to set this parameter - - - You have to set this parameter - You have to set this parameter - - - There are missing values in these nodes: - There are missing values in these nodes: - - - Profile name is mandatory. - Profile name is mandatory. - - - Toolbox task is already active! - Toolbox task is already active! - - - The csv file has been successfully exported - The csv file has been successfully exported - - - QGIS version is not compatible with Giswater. Please check wiki - QGIS version is not compatible with Giswater. Please check wiki - - - PostgreSQL version is not compatible with Giswater. Please check wiki - PostgreSQL version is not compatible with Giswater. Please check wiki - - - QGIS project has more than one v_edit_node layer coming from different schemas. - QGIS project has more than one v_edit_node layer coming from different schemas. - - - This SRID value does not exist on Postgres Database. Please select a diferent one. - This SRID value does not exist on Postgres Database. Please select a diferent one. + No es pot crear l'extensió fuzzystrmatch. Els paquets s'han d'instal·lar, consulteu el vostre administrador - This process will take time (few minutes). Are you sure to continue? - This process will take time (few minutes). Are you sure to continue? - - - The 'Path' field is required for Import INP data. - The 'Path' field is required for Import INP data. + You don't have permissions to administrate project schemas on this connection + No teniu permisos per administrar esquemes de projecte en aquesta connexió - The selected INP file does not match with a 'UD' project.n - The selected INP file does not match with a 'UD' project.n + The field layoutorder is not configured for + El nom de disseny del camp no està configurat per a This param is mandatory. Please @@ -1660,8 +1507,12 @@ Feu clic al node, que uneix dues canonades, per eliminar-lo i fusionar canonades - Click on feature to change its type - Feu clic a la característica per canviar el vostre tipus + The 'Path' field is required for Import INP data. + El camp "Camí" és obligatori per importar dades INP. + + + Mincut done + Mincut fet, però té conflictes i se solapa amb Connect link task is already active! @@ -1708,8 +1559,12 @@ Manca el camp obligatori. Si us plau ingressi un valor - Mincut done - Mincut fet, però té conflictes i se solapa + Profile name is mandatory. + El nom de perfil és obligatori + + + This process will take time (few minutes). Are you sure to continue? + Aquest procés trigarà temps (uns minuts). Esteu segur de continuar? Mincut done successfully @@ -1736,196 +1591,72 @@ Manca el camp obligatori. Si us plau ingressi un valor - The selected INP file does not match with a 'WS' project.n - The selected INP file does not match with a 'WS' project.n + Toolbox task is already active! + La tasca de la caixa d'eines ja està activa! - The 'Project_name' field is required. - The 'Project_name' field is required. + This psector does not match the current one. Value of current psector will be updated. + Aquest sector no coincideix amb l'actual. S'actualitzarà el valor del sector actual. - The project name can't have any upper-case characters - The project name can't have any upper-case characters + The csv file has been successfully exported + El fitxer csv s'ha exportat correctament - The project name has invalid character - The project name has invalid character + You have to set this parameter + Heu de configurar aquest paràmetre - The project name can't be a PostgreSQL reserved keyword - The project name can't be a PostgreSQL reserved keyword + Click on feature to change its type + Feu clic a l'element per canviar el vostre tipus - The 'Description' field is required. - The 'Description' field is required. + Real location has been updated + La ubicació real s'ha actualitzat - This project name alredy exist. - This project name alredy exist. + You have to set this parameter + Heu de configurar aquest paràmetre - The schema version has to be updated to make rename - The schema version has to be updated to make rename + The name is currently in use + El nom està actualment en ús - There is no project selected or it is not valid. Please check the first tab... - There is no project selected or it is not valid. Please check the first tab... + Price list csv file name is required + El nom del fitxer csv de la llista de preus és obligatori - This project name alredy exist. - This project name alredy exist. + This psector does not match the current one. Value of current psector will be updated. + Aquest sector no coincideix amb l'actual. S'actualitzarà el valor del sector actual. - Process finished successfully - Process finished successfully + The csv file has been successfully exported + El fitxer csv s'ha exportat correctament - The QGIS Projects templates was correctly created. - The QGIS Projects templates was correctly created. + Are you sure you want to overwrite this file? + Esteu segur que voleu sobreescriure aquest fitxer? - You don't have any connection to PostGIS database configurated. - You don't have any connection to PostGIS database configurated. + Are you sure you want to overwrite this file? + Esteu segur que voleu sobreescriure aquest fitxer? - You need to have a ws and ud schema created to create a utils schema - You need to have a ws and ud schema created to create a utils schema + Connection Failed. Please + Connexió fallida. Si us plau, comproveu els paràmetres de connexió - Some mandatory values are missing. Please check the widgets marked in red. - Some mandatory values are missing. Please check the widgets marked in red. + Please + Si us plau, seleccioneu diferent projecte name than current. - Widget expl_id not found - Widget expl_id not found + Credentials will be stored in GIS project file + Les credencials s'emmagatzemaran al fitxer de projecte GIS - There was an error deleting object values. - There was an error deleting object values. - - - There was an error deleting object. - There was an error deleting object. - - - There was an error inserting curve. - There was an error inserting curve. - - - There was an error deleting old curve values. - There was an error deleting old curve values. - - - You need at least one row of values. - You need at least one row of values. - - - There was an error inserting curve value. - There was an error inserting curve value. - - - There was an error inserting pattern. - There was an error inserting pattern. - - - There was an error deleting old curve values. - There was an error deleting old curve values. - - - You need at least one row of values. - You need at least one row of values. - - - There was an error inserting pattern value. - There was an error inserting pattern value. - - - There was an error inserting pattern. - There was an error inserting pattern. - - - There was an error deleting old pattern values. - There was an error deleting old pattern values. - - - You need at least one row of values. - You need at least one row of values. - - - There was an error inserting pattern value. - There was an error inserting pattern value. - - - There was an error inserting control. - There was an error inserting control. - - - There was an error inserting control. - There was an error inserting control. - - - There was an error inserting timeseries. - There was an error inserting timeseries. - - - There was an error deleting old timeseries values. - There was an error deleting old timeseries values. - - - You need at least one row of values. - You need at least one row of values. - - - There was an error inserting pattern value. - There was an error inserting pattern value. - - - You have to fill in 'time' and 'value' fields! - You have to fill in 'time' and 'value' fields! - - - There was an error inserting pattern value. - There was an error inserting pattern value. - - - There was an error inserting lid. - There was an error inserting lid. - - - There was an error deleting old lid values. - There was an error deleting old lid values. - - - There was an error inserting lid. - There was an error inserting lid. - - - Your exploitation selector has been updated - Your exploitation selector has been updated - - - Are you sure you want to overwrite this file? - Esteu segur que voleu sobreescriure aquest fitxer? - - - Are you sure you want to overwrite this file? - Esteu segur que voleu sobreescriure aquest fitxer? - - - Connection Failed. Please - Connexió fallida. Si us plau, comproveu els paràmetres de connexió - - - Please - Si us plau, seleccioneu diferent projecte name than current. - - - Credentials will be stored in GIS project file - Les credencials s'emmagatzemaran al fitxer de projecte GIS - - - Document already exist - El document ja existeix + Document already exist + El document ja existeix Key on returned json from ddbb is missed @@ -1936,112 +1667,112 @@ Cap document seleccionat. - This will modify your inp file - This will modify your inp file + You have to fill in 'time' and 'value' fields! + Heu d'omplir els camps "temps" i "valor"! - You closed a valve - You closed a valve + You have to fill in 'date' + Heu d'omplir els camps "temps" i "valor"! Cannot create file No es pot crear el fitxer, comproveu si està obert - You have to fill in 'date' - You have to fill in 'date' + You need at least one row of values. + Necessiteu com a mínim una fila de valors. - WARNING: You have updated the status value to EXECUTED (Save Trace). If you click 'Accept' on - WARNING: You have updated the status value to EXECUTED (Save Trace). If you click 'Accept' on + The project name can't have any upper-case characters + El nom del projecte no pot tenir cap caràcter en majúscules - WARNING: You have updated the status value to CANCELED (Save Trace). If you click 'Accept' on - WARNING: You have updated the status value to CANCELED (Save Trace). If you click 'Accept' on + The project name has invalid character + El nom del projecte té un caràcter no vàlid - WARNING: You have updated the status value to EXECUTED (Set OPERATIVE and Save Trace). If you - WARNING: You have updated the status value to EXECUTED (Set OPERATIVE and Save Trace). If you + The schema version has to be updated to make rename + La versió de l'esquema s'ha d'actualitzar per canviar el nom - Psector values updated successfully - Psector values updated successfully + The 'Project_name' field is required. + El camp "Nom_projecte" és obligatori. - Your exploitation selector has been updated - Your exploitation selector has been updated + This project name alredy exist. + Aquest nom de projecte ja existeix. - Save as - Save as + There was an error deleting object values. + S'ha produït un error en suprimir els valors de l'objecte. - There were velocities >50 in the rpt file. You have activated the option to force the import - There were velocities >50 in the rpt file. You have activated the option to force the import + The 'Description' field is required. + El camp "Descripció" és obligatori. - Work_id field is empty - Work_id field is empty + There was an error deleting object. + S'ha produït un error en suprimir l'objecte. - This Workcat already exist - This Workcat already exist + There was an error deleting old curve values. + S'ha produït un error en suprimir els valors de corba antics. - Work_id field is empty - Work_id field is empty + There was an error deleting old pattern values. + S'ha produït un error en suprimir els valors dels patrons antics. - This Workcat is already exist - This Workcat is already exist + There was an error inserting control. + S'ha produït un error en inserir el control. - Select valid INP file - Select valid INP file + There was an error inserting curve value. + S'ha produït un error en inserir el valor de la corba. - Select valid RPT file - Select valid RPT file + There was an error inserting curve. + S'ha produït un error en inserir la corba. - You need to select at least one process - You need to select at least one process + There was an error inserting lid. + S'ha produït un error en inserir la tapa. - Select valid RPT file - Select valid RPT file + There was an error inserting pattern value. + S'ha produït un error en inserir el valor del patró. - Result name not found. It's not possible to import RPT file into database - Result name not found. It's not possible to import RPT file into database + There was an error inserting pattern value. + S'ha produït un error en inserir el valor del patró. - You need to select some sector - You need to select some sector + There was an error inserting pattern. + S'ha produït un error en inserir el patró. - Table_object is not a table name or QTableView - Table_object is not a table name or QTableView + There was an error inserting timeseries. + S'ha produït un error en inserir sèries temporals. - Table_object is not a table name or QTableView - Table_object is not a table name or QTableView + This project name alredy exist. + Aquest nom de projecte ja existeix. - Reset position form done successfully. - Reset position form done successfully. + Widget expl_id not found + No s'ha trobat el widget expl_id - Service database connection error (QSqlDatabase). Please open plugin log file to get more details - Service database connection error (QSqlDatabase). Please open plugin log file to get more details + You need at least one row of values. + Necessiteu com a mínim una fila de valors. - Service database connection error (psycopg2). Please open plugin log file to get more details - Service database connection error (psycopg2). Please open plugin log file to get more details + You need at least one row of values. + Necessiteu com a mínim una fila de valors. - Table_object is not a table name or QTableView - Table_object is not a table name or QTableView + Process finished successfully + El procés ha finalitzat correctament A rollback on schema will be done. @@ -2108,28 +1839,80 @@ Fitxer INP no trobat - New feature type is null. Please - El tipus de funció nou és nul. Si us plau, seleccioneu un valor vàlid + Your exploitation selector has been updated + El seu selector d'explotació s'ha actualitzat - This parameter is mandatory. Please - This parameter is mandatory. Please + WARNING: You have updated the status value to EXECUTED (Set OPERATIVE and Save Trace). If you + ADVERTÈNCIA: Heu actualitzat el valor d'estat a EXECUTED (Defineix OPERATIVA i Desa la traça). Si tu No composers found. No s'han trobat compositors - You closed a valve - You closed a valve + This Workcat is already exist + Aquest Workcat ja existeix - The node is obsolete - The node is obsolete + Select valid INP file + Seleccioneu un fitxer INP vàlid + + + Reset position form done successfully. + Formulari de restabliment de la posició fet correctament. Result name already exists - Result name already exists + El nom del resultat ja existeix, voleu sobreescriure? + + + Save as + Guardar com + + + Select valid RPT file + Seleccioneu un fitxer RPT vàlid + + + Select valid RPT file + Seleccioneu un fitxer RPT vàlid + + + Table_object is not a table name or QTableView + Table_object no és un nom de taula ni QTableView + + + Table_object is not a table name or QTableView + Table_object no és un nom de taula ni QTableView + + + The node is obsolete + El node està obsolet, aquesta eina no funciona amb nodes obsolets. + + + This Workcat already exist + Aquest Workcat ja existeix + + + This parameter is mandatory. Please + Aquest paràmetre és obligatori. Si us plau, estableix un valor + + + Work_id field is empty + Work_id field is empty + + + Work_id field is empty + Work_id field is empty + + + You closed a valve + Heu tancat una vàlvula, això modificarà les zones de mapes actuals i pot trigar una mica de temps. + + + You need to select some sector + Heu de seleccionar algun sector Click on feature to replace it with a new one. You can select other layer to snapp diferent feature type. @@ -2231,13 +2014,9 @@ Mandatory field is missing. Please Manca el camp obligatori. Si us plau ingressi un valor - - Error updating element in table - Error al actualizar el elemento en la tabla, ha de revisar les dades - Mincut done - Mincut fet, però té conflictes i se solapa + Mincut fet, però té conflictes i se solapa amb Error on create auto mincut @@ -2245,7 +2024,7 @@ Error updating element in table - Error al actualizar el elemento en la tabla, ha de revisar les dades + Error en actualizar el elemento en la tabla, ha de revisar les dades Error on create auto mincut @@ -2267,97 +2046,270 @@ Please Si us plau, seleccioneu un projecte per suprimir - - You cannot insert more than one feature at the same time - You cannot insert more than one feature at the same time - - - You cannot insert more than one feature at the same time - You cannot insert more than one feature at the same time - Current node is not located over an arc. Please El node actual no està ubicat sobre un arc. Si us plau - New feature type is null. Please - El tipus de funció nou és nul. Si us plau, seleccioneu un valor vàlid + Error updating element in table + Error en actualizar el elemento en la tabla, ha de revisar les dades - - - - - admin_addfields - lbl_action_function - Funció d'acció: + Price list csv file name is required + El nom del fitxer csv de la llista de preus és obligatori - tooltip_lbl_action_function - None + QGIS version is not compatible with Giswater. Please check wiki + La versió de QGIS no és compatible amb Giswater. Si us plau, comproveu la wiki - lbl_widget_function - Finció del widget + Service database connection error (QSqlDatabase). Please open plugin log file to get more details + Error de connexió a la base de dades del servei (QSqlDatabase). Obriu el fitxer de registre del connector per obtenir més detalls - tooltip_lbl_widget_function - None + Some mandatory values are missing. Please check the widgets marked in red. + Falten alguns valors obligatoris. Si us plau, comproveu els ginys marcats en vermell. - tab_update - Actualitzar + Table_object is not a table name or QTableView + Table_object no és un nom de taula ni QTableView - tooltip_tab_update - None + The field layoutname is not configured for + El nom de disseny del camp no està configurat per a - lbl_label - Etiqueta: + The project name can't be a PostgreSQL reserved keyword + El nom del projecte no pot ser una paraula clau reservada PostgreSQL - tooltip_lbl_label - None + The selected INP file does not match with a 'WS' project.n + El fitxer INP seleccionat no coincideix amb un projecte 'WS'.n - btn_accept - Acceptar + There are missing values in these nodes: + Hi ha valors que falten en aquests nodes: - tooltip_btn_accept - Acceptar + There was an error deleting old curve values. + S'ha produït un error en suprimir els valors de corba antics. - grb_additional - Configuració adicional + There was an error deleting old lid values. + S'ha produït un error en suprimir els valors antics de la tapa. - tooltip_grb_additional - None + There was an error inserting control. + S'ha produït un error en inserir el control. - lbl_tooltip - Tooltip: + There was an error inserting pattern value. + S'ha produït un error en inserir el valor del patró. - tooltip_lbl_tooltip - None + There was an error inserting pattern. + S'ha produït un error en inserir el patró. - tab_delete - Esborrar + Unable to create Postgis extension. Packages must be installed + No es pot crear l'extensió Postgis. Els paquets s'han d'instal·lar, consulteu el vostre administrador - tooltip_tab_delete + Variable log_sql from user config file has been disabled. + La variable log_sql del fitxer de configuració de l'usuari s'ha desactivat. + + + Variable log_sql from user config file has been enabled. + La variable log_sql del fitxer de configuració de l'usuari s'ha desactivat. + + + You cannot insert more than one feature at the same time + No podeu inserir més d'un element alhora, acabeu d'editar la funció anterior + + + New feature type is null. Please + El tipus d'element nou és nul. Si us plau, seleccioneu un valor vàlid + + + PostgreSQL version is not compatible with Giswater. Please check wiki + La versió de PostgreSQL no és compatible amb Giswater. Si us plau, comproveu la wiki + + + QGIS project has more than one v_edit_node layer coming from different schemas. + El projecte QGIS té més d'una capa v_edit_node procedent de diferents esquemes. + + + Result name not found. It's not possible to import RPT file into database + No s'ha trobat el nom del resultat. No és possible importar un fitxer RPT a la base de dades + + + Service database connection error (psycopg2). Please open plugin log file to get more details + Error de connexió a la base de dades del servei (psycopg2). Obriu el fitxer de registre del connector per obtenir més detalls + + + The QGIS Projects templates was correctly created. + Les plantilles QGIS Projects s'han creat correctament. + + + The selected INP file does not match with a 'UD' project.n + El fitxer INP seleccionat no coincideix amb un projecte 'UD'.n + + + There is no project selected or it is not valid. Please check the first tab... + No hi ha cap projecte seleccionat o no és vàlid. Si us plau, comproveu la primera pestanya... + + + There was an error deleting old timeseries values. + S'ha produït un error en suprimir els valors antics de sèries temporals. + + + There was an error inserting lid. + S'ha produït un error en inserir la tapa. + + + There was an error inserting pattern value. + S'ha produït un error en inserir el valor del patró. + + + There were velocities >50 in the rpt file. You have activated the option to force the import + Hi havia velocitats > 50 al fitxer rpt. Heu activat l'opció per forçar la importació + + + This SRID value does not exist on Postgres Database. Please select a diferent one. + Aquest valor SRID no existeix a la base de dades Postgres. Si us plau, seleccioneu-ne un de diferent. + + + This psector does not match the current one. Value of current psector will be updated. + Aquest sector no coincideix amb l'actual. S'actualitzarà el valor del sector actual. + + + This will modify your inp file + Això modificarà el vostre fitxer inp, de manera que es crearà una còpia de seguretat.\n \ + + + Unable to create Postgis extension. Packages must be installed + No es pot crear l'extensió Postgis. Els paquets s'han d'instal·lar, consulteu el vostre administrador + + + Unable to create fuzzystrmatch extension. Packages must be installed + No es pot crear l'extensió fuzzystrmatch. Els paquets s'han d'instal·lar, consulteu el vostre administrador + + + WARNING: You have updated the status value to CANCELED (Save Trace). If you click 'Accept' on + ADVERTÈNCIA: heu actualitzat el valor d'estat a CANCELAT (Desa la traça). Si feu clic a "Acceptar". + + + You cannot insert more than one feature at the same time + No podeu inserir més d'un elementalhora, acabeu d'editar la funció anterior + + + You don't have any connection to PostGIS database configurated. + No teniu configurada cap connexió a la base de dades PostGIS. + + + You need to have a ws and ud schema created to create a utils schema + Heu de tenir un esquema ws i ud creat per crear un esquema d'utils + + + You need to select at least one process + Heu de seleccionar almenys un procés + + + Psector values updated successfully + Valors de psector actualitzats correctament + + + You need at least one row of values. + Necessiteu com a mínim una fila de valors. + + + WARNING: You have updated the status value to EXECUTED (Save Trace). If you click 'Accept' on + ADVERTÈNCIA: heu actualitzat el valor d'estat a EXECUTED (Desa la traça). Si feu clic a "Acceptar". + + + You closed a valve + Heu tancat una vàlvula, això modificarà les zones de mapes actuals i pot trigar una mica de temps. + + + New feature type is null. Please + El tipus d'element nou és nul. Si us plau, seleccioneu un valor vàlid + + + Calculate Priority + Calcular Prioritat + + + Database connection error (PgDao). Please open plugin log file to get more details + Error de conecció a la base d dades (pgDao). Si us plau obri l'arxiu de registre del plugin per a obtenir més detalls + + + Do you want to proceed? + Desitja continuar? + + + Document PDF created in + Document PDF creat a + + + Expression Error + Error d'expressió + + + Max rleak: {rleak} leaks/km.year. + Max rleak: {rleak} fuites/km.any. + + + Mincut done, but has conflict and overlaps with + Poligon de tall fet, però té conflicte i se sobreposa amb + + + No results found. Please check values set on selector of state and exploitation + No s'han trobat resultats. Si us plau, comproveu els valors establerts al selector d'estat i explotació + + + + Please enter the diameter range in this format: [minimum factor]-[maximum factor]. For example, 0.75-1.5 + Si us plau, introdueixi l'interval de diàmetre en aquest format: [factor mínim]-[factor màxim]. Per exemple, 0.75-1.5 + + + Task canceled: The number of years is greater than the interval disponible. + Tasca cancel·lada. El nombre d'anys es major que l'interval disponible. + + + The sum of weights must equal 1. Please adjust the values accordingly. + La suma dels pesos ha de ser igual a 1. Ajusti els valors d'acord a aquesta condició. + + + There are no visible mincuts in the table. Try a different filter + No hi ha polígons de tall visibles en la taula. Probi un filtre diferent + + + You need to select a template + Necessita seleccionar una plantilla + + + Your exploitation selector has been updated + El seu selector d'explotació s'ha actualitzat + + + + + + admin_addfields + + tab_update + Actualitzar + + + tooltip_tab_update None - lbl_linkedobject - Objecte vinculat: + lbl_column_id + Nom columna: - tooltip_lbl_linkedobject + tooltip_lbl_column_id None @@ -2369,35 +2321,43 @@ None - lbl_placeholder - Macador de posició: + grb_additional + Configuració adicional - tooltip_lbl_placeholder + tooltip_grb_additional None - lbl_editability - Editabilitat: + lbl_null_value + Valor nul: - tooltip_lbl_editability + tooltip_lbl_null_value None - lbl_editable - Editable: + lbl_label + Etiqueta: - tooltip_lbl_editable + tooltip_lbl_label None - lbl_null_value - Valor nul: + lbl_field_length + Longitud de camp: - tooltip_lbl_null_value + tooltip_lbl_field_length + None + + + lbl_active + Actiu: + + + tooltip_lbl_active None @@ -2409,51 +2369,51 @@ None - lbl_typeahead - Mecanografia: + tab_delete + Esborrar - tooltip_lbl_typeahead + tooltip_tab_delete None - lbl_stylesheet - Full d'estil: + lbl_typeahead + Mecanografia: - tooltip_lbl_stylesheet + tooltip_lbl_typeahead None - lbl_parent - Parent: + lbl_tooltip + Tooltip: - tooltip_lbl_parent + tooltip_lbl_tooltip None - lbl_parent_id - Parent id: + lbl_stylesheet + Full d'estil: - tooltip_lbl_parent_id + tooltip_lbl_stylesheet None - grb_mandatory - Configuració obligatoria de camps + lbl_placeholder + Macador de posició: - tooltip_grb_mandatory + tooltip_lbl_placeholder None - lbl_enabled - Habilitat: + lbl_linkedobject + Objecte vinculat: - tooltip_lbl_enabled + tooltip_lbl_linkedobject None @@ -2465,35 +2425,43 @@ None - lbl_auto_update - Auto-actualitzable: + lbl_action_function + Funció d'acció: - tooltip_lbl_auto_update + tooltip_lbl_action_function None - lbl_mandatory - Obligtori: + dlg_main_addfields + Diàleg - tooltip_lbl_mandatory + tooltip_dlg_main_addfields None - lbl_not_update - No Actualitzat + lbl_data_type + Tipus dada: - tooltip_lbl_not_update + tooltip_lbl_data_type None - lbl_num_dec - Num decimals: + lbl_form_type + Tipus formulari: - tooltip_lbl_num_dec + tooltip_lbl_form_type + None + + + lbl_parent_id + Parent id: + + + tooltip_lbl_parent_id None @@ -2505,11 +2473,11 @@ Cancelar - lbl_active - Actiu: + lbl_parent + Parent: - tooltip_lbl_active + tooltip_lbl_parent None @@ -2520,6 +2488,14 @@ tooltip_lbl_widgetcontrols Exemple de configuració keys {"widgetdim": 150,"setMultiline":true,"vdefault": "01-01-2014", "filterSign": ">} + + lbl_query_text + Text de consulta: + + + tooltip_lbl_query_text + None + tab_create Crear @@ -2529,111 +2505,111 @@ None - lbl_reload_field - Recargar camp: + lbl_query_filter + Filtre text consulta: - tooltip_lbl_reload_field + tooltip_lbl_query_filter None - lbl_form_type - Tipus formulari: + lbl_reload_field + Recargar camp: - tooltip_lbl_form_type + tooltip_lbl_reload_field None - lbl_column_id - Nom columna: + lbl_num_dec + Num decimals: - tooltip_lbl_column_id + tooltip_lbl_num_dec None - lbl_query_text - Text de consulta: + lbl_not_update + No Actualitzat - tooltip_lbl_query_text + tooltip_lbl_not_update None - lbl_data_type - Tipus dada: + lbl_mandatory + Obligtori: - tooltip_lbl_data_type + tooltip_lbl_mandatory None - lbl_query_filter - Filtre text consulta: + lbl_enabled + Habilitat: - tooltip_lbl_query_filter + tooltip_lbl_enabled None - dlg_main_addfields - Diàleg + btn_accept + Acceptar - tooltip_dlg_main_addfields - None + tooltip_btn_accept + Acceptar - lbl_field_length - Longitud de camp: + grb_mandatory + Configuració obligatoria de camps - tooltip_lbl_field_length + tooltip_grb_mandatory None - - - admin_credentials - lbl_connec - Connexió: + lbl_editable + Editable: - tooltip_lbl_connec + tooltip_lbl_editable None - btn_accept - Acceptar + lbl_auto_update + Auto-actualitzable: - tooltip_btn_accept - Acceptar + tooltip_lbl_auto_update + None - lbl_connection_message - No s'han pogut recuperar els paràmetres. + lbl_widget_function + Finció del widget - tooltip_lbl_connection_message + tooltip_lbl_widget_function None - lbl_user_name - Nom d'usuari: + lbl_editability + Editabilitat: - tooltip_lbl_user_name + tooltip_lbl_editability None + + + admin_credentials - lbl_password - Contrasenya: + btn_accept + Acceptar - tooltip_lbl_password - None + tooltip_btn_accept + Acceptar dlg_main_credentials @@ -2643,47 +2619,47 @@ tooltip_dlg_main_credentials None - - - admin_dbproject - btn_push_file - ... + lbl_user_name + Nom d'usuari: - tooltip_btn_push_file + tooltip_lbl_user_name None - btn_close - Tancar + lbl_password + Contrasenya: - tooltip_btn_close - Close + tooltip_lbl_password + None - lbl_project_name - Nom projecte: + lbl_connection_message + No s'han pogut recuperar els paràmetres. - tooltip_lbl_project_name - Nom d'un esquema nou. El nom ha d'escriures en minúscules utilitzant les lletres de l'alfabet anglès y sense espais ni guions. + tooltip_lbl_connection_message + None - lbl_locale - Idioma: + lbl_connec + Connexió: - tooltip_lbl_locale - Idioma esquema + tooltip_lbl_connec + None + + + admin_dbproject - grb_projectschema - Configuració de l'esquema de projecte + dlg_main_dbproject + Crear projecte - tooltip_grb_projectschema + tooltip_dlg_main_dbproject None @@ -2694,6 +2670,14 @@ tooltip_lbl_filter Identificador de referència espacial. Només es permeten els valors que es mostren en la taula + + btn_close + Tancar + + + tooltip_btn_close + Close + btn_accept Acceptar @@ -2703,32 +2687,40 @@ Acceptar - dlg_main_dbproject - Crear projecte + lbl_locale + Idioma: - tooltip_dlg_main_dbproject - None + tooltip_lbl_locale + Idioma esquema - - - admin_gisproject - btn_close - Tancar + btn_push_file + ... - tooltip_btn_close - Close + tooltip_btn_push_file + None - btn_gis_folder - ... + grb_projectschema + Configuració de l'esquema de projecte - tooltip_btn_gis_folder + tooltip_grb_projectschema None + + lbl_project_name + Nom projecte: + + + tooltip_lbl_project_name + Nom d'un esquema nou. El nom ha d'escriures en minúscules utilitzant les lletres de l'alfabet anglès y sense espais ni guions. + + + + admin_gisproject lbl_gis_folder Carpeta: @@ -2738,11 +2730,11 @@ None - lbl_gis_file - Nom arxiu QGIS + btn_gis_folder + ... - tooltip_lbl_gis_file + tooltip_btn_gis_folder None @@ -2753,6 +2745,14 @@ tooltip_lbl_role None + + lbl_gis_file + Nom arxiu QGIS + + + tooltip_lbl_gis_file + None + btn_accept Acceptar @@ -2761,6 +2761,14 @@ tooltip_btn_accept Acceptar + + btn_close + Tancar + + + tooltip_btn_close + Close + dlg_main_gisproject Crear projecte QGIS @@ -2781,19 +2789,27 @@ admin_importinp - tab_config - Configuració + btn_run + Run - tooltip_tab_config + tooltip_btn_run None - btn_run - Run + tab_loginfo + Info log - tooltip_btn_run + tooltip_tab_loginfo + None + + + tab_config + Configuració + + + tooltip_tab_config None @@ -2812,17 +2828,17 @@ tooltip_btn_close Tancar + + + admin_projectinfo - tab_loginfo - Info log + dlg_main_projectinfo + Actualitzar SQL - tooltip_tab_loginfo + tooltip_dlg_main_projectinfo None - - - admin_projectinfo btn_update Actualitzar @@ -2831,6 +2847,14 @@ tooltip_btn_update None + + lbl_info + Informació sobre les noves actualitzacions: + + + tooltip_lbl_info + None + btn_close Tancar @@ -2839,40 +2863,40 @@ tooltip_btn_close Close + + + admin_qtdialog - dlg_main_projectinfo - Actualitzar SQL + btn_path + ... - tooltip_dlg_main_projectinfo + tooltip_btn_path None - lbl_info - Informació sobre les noves actualitzacions: + dlg_main_qtdialog + Diàleg - tooltip_lbl_info + tooltip_dlg_main_qtdialog None - - - admin_qtdialog - lbl_path - Ruta UI + lbl_formname + Nom formulari: - tooltip_lbl_path + tooltip_lbl_formname None - lbl_formname - Nom formulari: + btn_cancel + Cancelar - tooltip_lbl_formname - None + tooltip_btn_cancel + Cancelar btn_accept @@ -2883,13 +2907,16 @@ Acceptar - dlg_main_qtdialog - Diàleg + lbl_path + Ruta UI - tooltip_dlg_main_qtdialog + tooltip_lbl_path None + + + admin_renameproj btn_cancel Cancelar @@ -2898,17 +2925,6 @@ tooltip_btn_cancel Cancelar - - btn_path - ... - - - tooltip_btn_path - None - - - - admin_renameproj lbl_rename_copy Si us plau, configureu un nou nom @@ -2933,47 +2949,47 @@ tooltip_dlg_readsq_rename None + + + admin_sysfields - btn_cancel - Cancelar + lbl_form_name + Nom formulari: - tooltip_btn_cancel - Cancelar + tooltip_lbl_form_name + None - - - admin_sysfields - lbl_editable - Editable: + grb_basic_conf + Configuració bàsica - tooltip_lbl_editable + tooltip_grb_basic_conf None - lbl_editability - Editabilitat: + grb_additional_conf + Configuració adicional - tooltip_lbl_editability + tooltip_grb_additional_conf None - btn_accept - Acceptar + lbl_hidden + Ocult - tooltip_btn_accept - Acceptar + tooltip_lbl_hidden + None - lbl_mandatory - Obligtori: + lbl_label + Etiqueta: - tooltip_lbl_mandatory + tooltip_lbl_label None @@ -2985,52 +3001,52 @@ None - lbl_layout_order - Ordre de disseny: + lbl_enabled + Habilitat: - tooltip_lbl_layout_order + tooltip_lbl_enabled None - lbl_layout_name - Nom de disseny: + lbl_editable + Editable: - tooltip_lbl_layout_name + tooltip_lbl_editable None - grb_basic_conf - Configuració bàsica + lbl_editability + Editabilitat: - tooltip_grb_basic_conf + tooltip_lbl_editability None - lbl_placeholder - Macador de posició: + lbl_column_id + Id columna: - tooltip_lbl_placeholder + tooltip_lbl_column_id None - dlg_main_sysfields - Diàleg + tab_update + Actualitzar - tooltip_dlg_main_sysfields + tooltip_tab_update None - tab_create - Crear + btn_accept + Acceptar - tooltip_tab_create - None + tooltip_btn_accept + Acceptar btn_open @@ -3041,51 +3057,27 @@ None - lbl_column_id - Id columna: - - - tooltip_lbl_column_id - None - - - lbl_tooltip - Tooltip: - - - tooltip_lbl_tooltip - None - - - grb_additional_conf - Configuració adicional - - - tooltip_grb_additional_conf - None - - - lbl_label - Etiqueta: + lbl_layout_name + Nom de disseny: - tooltip_lbl_label + tooltip_lbl_layout_name None - lbl_enabled - Habilitat: + btn_cancel + Cancelar - tooltip_lbl_enabled - None + tooltip_btn_cancel + Cancelar - lbl_hidden - Ocult + tab_create + Crear - tooltip_lbl_hidden + tooltip_tab_create None @@ -3097,86 +3089,86 @@ Exemple de configuració keys {"widgetdim": 150,"setMultiline":true,"vdefault": "01-01-2014", "filterSign": ">} - btn_cancel - Cancelar + dlg_main_sysfields + Diàleg - tooltip_btn_cancel - Cancelar + tooltip_dlg_main_sysfields + None - lbl_form_name - Nom formulari: + lbl_layout_order + Ordre de disseny: - tooltip_lbl_form_name + tooltip_lbl_layout_order None - tab_update - Actualitzar + lbl_mandatory + Obligtori: - tooltip_tab_update + tooltip_lbl_mandatory None - - - admin_translation - chk_py_msg - Traduir formularis i missatges python + lbl_placeholder + Macador de posició: - tooltip_chk_py_msg + tooltip_lbl_placeholder None - lbl_port - Port: + lbl_tooltip + Tooltip: - tooltip_lbl_port + tooltip_lbl_tooltip None + + + admin_translation - lbl_scode - Codi font: + chk_db_msg + Traduir missatges base de dades - tooltip_lbl_scode + tooltip_chk_db_msg None - grb_translate_files - Traduir fitxers + chk_py_msg + Traduir formularis i missatges python - tooltip_grb_translate_files + tooltip_chk_py_msg None - btn_connection - Provar connexió + grb_translate_files + Traduir fitxers - tooltip_btn_connection + tooltip_grb_translate_files None - chk_db_msg - Traduir missatges base de dades + lbl_database + Base de dades: - tooltip_chk_db_msg + tooltip_lbl_database None - lbl_host - Amfitrió: + lbl_port + Port: - tooltip_lbl_host + tooltip_lbl_port None @@ -3187,14 +3179,6 @@ tooltip_grb_info_connection None - - lbl_user - Usuari: - - - tooltip_lbl_user - None - lbl_language Idioma: @@ -3212,11 +3196,35 @@ None - lbl_database - Base de dades: + lbl_host + Amfitrió: - tooltip_lbl_database + tooltip_lbl_host + None + + + lbl_user + Usuari: + + + tooltip_lbl_user + None + + + lbl_scode + Codi font: + + + tooltip_lbl_scode + None + + + btn_connection + Provar connexió + + + tooltip_btn_connection None @@ -3230,14 +3238,6 @@ tooltip_lbl_project_type Tipus de giswater - - tab_schema_manager - Admionistrador d'esquema - - - tooltip_tab_schema_manager - None - lbl_name Nom: @@ -3286,14 +3286,6 @@ tooltip_lbl_system_feature None - - tab_general - General - - - tooltip_tab_general - None - lbl_add_fields_feature Nom de l'element: @@ -3302,14 +3294,6 @@ tooltip_lbl_add_fields_feature None - - btn_info - Actualitzar Esquema - - - tooltip_btn_info - Actualitzar versió del schema seleccionat - btn_import_ui Importar @@ -3326,22 +3310,6 @@ tooltip_tab_fields_manager None - - dlg_main - Giswater - - - tooltip_dlg_main - None - - - btn_copy - Copiar - - - tooltip_btn_copy - Copiar l'esquema de base de dades seleccionat - grb_manage_sys_fields Administrar camps de sistema @@ -3422,14 +3390,6 @@ tooltip_btn_update_field None - - btn_constrains - Restriccions - - - tooltip_btn_constrains - None - btn_custom_select_file ... @@ -3471,91 +3431,123 @@ None - btn_close - Tancar + lbl_connection + Nom connexió: - tooltip_btn_close - Close + tooltip_lbl_connection + Nom de la connexió de la base de dades definida en QGIS - btn_translation - Arxius de traducció + btn_create_qgis_template + Plantilles QGIS - tooltip_btn_translation + tooltip_btn_create_qgis_template None - btn_export_ui - Exportar + lbl_reload_func_sch + Recargar funcions: - tooltip_btn_export_ui + tooltip_lbl_reload_func_sch None - lbl_connection - Nom connexió: + btn_path + ... - tooltip_lbl_connection - Nom de la connexió de la base de dades definida en QGIS + tooltip_btn_path + None - btn_delete_field + btn_delete Esborrar - tooltip_btn_delete_field + tooltip_btn_delete + Eliminar l'esquema de base de dades seleccionat + + + btn_update_schema + Execuatr + + + tooltip_btn_update_schema None - btn_create_qgis_template - Plantilles QGIS + btn_schema_file_to_db + File to DB - tooltip_btn_create_qgis_template + tooltip_btn_schema_file_to_db None - lbl_reload_func_sch - Recargar funcions: + btn_update_sys_field + Actualitzar - tooltip_lbl_reload_func_sch + tooltip_btn_update_sys_field None - btn_create_view - Crear + btn_schema_create + Create DB project schema - tooltip_btn_create_view + tooltip_btn_schema_create None - btn_create_field - Crear + grb_manage_childviews + Administrar vistes secundaries + + + tooltip_grb_manage_childviews + Recrear vistes secundaries per a un tipus d'element seleccionat o per a tot tipus d'elements definits en un projecte. + + + lbl_child_feature + Nom de l'element: + + + tooltip_lbl_child_feature + None + + + tab_schema_manager + Admionistrador d'esquema + + + tooltip_tab_schema_manager + None + + + tab_api_manager + Administrador Api - tooltip_btn_create_field + tooltip_tab_api_manager None - btn_schema_rename - Rename + btn_visit_update + Actualitzar - tooltip_btn_schema_rename - Renembrar l'esquema de base de dades seleccionat + tooltip_btn_visit_update + None - btn_visit_create - Crear + btn_visit_delete + Esborrar - tooltip_btn_visit_create + tooltip_btn_visit_delete None @@ -3567,112 +3559,112 @@ None - btn_path - ... + btn_visit_create + Crear - tooltip_btn_path + tooltip_btn_visit_create None - btn_delete - Esborrar + btn_schema_rename + Rename - tooltip_btn_delete - Eliminar l'esquema de base de dades seleccionat + tooltip_btn_schema_rename + Renembrar l'esquema de base de dades seleccionat - btn_visit_delete - Esborrar + btn_create_field + Crear - tooltip_btn_visit_delete + tooltip_btn_create_field None - btn_visit_update - Actualitzar + btn_create_view + Crear - tooltip_btn_visit_update + tooltip_btn_create_view None - btn_update_schema - Execuatr + btn_delete_field + Esborrar - tooltip_btn_update_schema + tooltip_btn_delete_field None - btn_schema_file_to_db - File to DB + btn_export_ui + Exportar - tooltip_btn_schema_file_to_db + tooltip_btn_export_ui None - btn_update_sys_field - Actualitzar + btn_translation + Arxius de traducció - tooltip_btn_update_sys_field + tooltip_btn_translation None - tab_api_manager - Administrador Api + btn_close + Tancar - tooltip_tab_api_manager - None + tooltip_btn_close + Close - btn_schema_create - Create DB project schema + btn_constrains + Restriccions - tooltip_btn_schema_create + tooltip_btn_constrains None - grb_manage_childviews - Administrar vistes secundaries + btn_copy + Copiar - tooltip_grb_manage_childviews - Recrear vistes secundaries per a un tipus d'element seleccionat o per a tot tipus d'elements definits en un projecte. + tooltip_btn_copy + Copiar l'esquema de base de dades seleccionat - lbl_child_feature - Nom de l'element: + dlg_main + Giswater - tooltip_lbl_child_feature + tooltip_dlg_main None - - - admin_visitclass - lbl_param_opt - Opcions paràmetre: + btn_info + Actualitzar Esquema - tooltip_lbl_param_opt - None + tooltip_btn_info + Actualitzar versió del schema seleccionat - lbl_descript - Descripció: + tab_general + General - tooltip_lbl_descript + tooltip_tab_general None + + + admin_visitclass btn_class_cancel Cancel @@ -3682,51 +3674,51 @@ None - lbl_active - Actiu: + lbl_visit_type + Tipus visita: - tooltip_lbl_active + tooltip_lbl_visit_type None - btn_param_create - Crear + lbl_viewname + Vuere nom: - tooltip_btn_param_create + tooltip_lbl_viewname None - lbl_visit_type - Tipus visita: + btn_ok + Acceptar - tooltip_lbl_visit_type + tooltip_btn_ok None - btn_ok - Acceptar + btn_param_create + Crear - tooltip_btn_ok + tooltip_btn_param_create None - btn_class_ok - Acceptar + lbl_multi_feat + Element múltiples: - tooltip_btn_class_ok + tooltip_lbl_multi_feat None - lbl_multi_event - Event múltiple: + btn_param_update + Actualitzar - tooltip_lbl_multi_event + tooltip_btn_param_update None @@ -3738,19 +3730,27 @@ Cancelar - lbl_viewname - Vuere nom: + lbl_active + Actiu: - tooltip_lbl_viewname + tooltip_lbl_active None - lbl_class_id - Id clase: + lbl_param_opt + Opcions paràmetre: - tooltip_lbl_class_id + tooltip_lbl_param_opt + None + + + btn_param_delete + Esborrar + + + tooltip_btn_param_delete None @@ -3762,11 +3762,19 @@ None - lbl_multi_feat - Element múltiples: + btn_class_ok + Acceptar - tooltip_lbl_multi_feat + tooltip_btn_class_ok + None + + + lbl_multi_event + Event múltiple: + + + tooltip_lbl_multi_event None @@ -3778,11 +3786,11 @@ None - btn_param_update - Actualitzar + lbl_descript + Descripció: - tooltip_btn_param_update + tooltip_lbl_descript None @@ -3794,32 +3802,16 @@ None - btn_param_delete - Esborrar + lbl_class_id + Id clase: - tooltip_btn_param_delete + tooltip_lbl_class_id None admin_visitparam - - btn_cancel - Cancelar - - - tooltip_btn_cancel - Cancelar - - - lbl_editable - Editable: - - - tooltip_lbl_editable - None - lbl_default_value Valor per defecte: @@ -3829,59 +3821,59 @@ None - lbl_descript - Descripció: + dlg_main_visitparam + Gestionar paràmetre de visita - tooltip_lbl_descript + tooltip_dlg_main_visitparam None - dlg_main_visitparam - Gestionar paràmetre de visita + lbl_query_text + Text de consulta: - tooltip_dlg_main_visitparam + tooltip_lbl_query_text None - grb_params - Paràmetres + lbl_mandatory + Obligtori: - tooltip_grb_params + tooltip_lbl_mandatory None - lbl_code - Codi: + lbl_enabled + Habilitat: - tooltip_lbl_code + tooltip_lbl_enabled None - btn_ok - Acceptar + lbl_short_descript + Descripció curta: - tooltip_btn_ok + tooltip_lbl_short_descript None - lbl_parameter_name - Nom paràmetre: + lbl_editable + Editable: - tooltip_lbl_parameter_name + tooltip_lbl_editable None - lbl_mandatory - Obligtori: + lbl_descript + Descripció: - tooltip_lbl_mandatory + tooltip_lbl_descript None @@ -3893,27 +3885,35 @@ None - lbl_query_text - Text de consulta: + btn_cancel + Cancelar + + + tooltip_btn_cancel + Cancelar + + + grb_params + Paràmetres - tooltip_lbl_query_text + tooltip_grb_params None - lbl_enabled - Habilitat: + lbl_form_type + Tipus formulari: - tooltip_lbl_enabled + tooltip_lbl_form_type None - lbl_short_descript - Descripció curta: + lbl_data_type + Tipus dada: - tooltip_lbl_short_descript + tooltip_lbl_data_type None @@ -3925,19 +3925,27 @@ None - lbl_data_type - Tipus dada: + lbl_code + Codi: - tooltip_lbl_data_type + tooltip_lbl_code None - lbl_form_type - Tipus formulari: + btn_ok + Acceptar - tooltip_lbl_form_type + tooltip_btn_ok + None + + + lbl_parameter_name + Nom paràmetre: + + + tooltip_lbl_parameter_name None @@ -3955,22 +3963,6 @@ tooltip_btn_cancel Cancelar - - tab_loginfo - Info log - - - tooltip_tab_loginfo - None - - - btn_accept - Acceptar - - - tooltip_btn_accept - Acceptar - lbl_enddate Data de finalització: @@ -3995,6 +3987,14 @@ tooltip_dlg_arc_fusion None + + tab_loginfo + Info log + + + tooltip_tab_loginfo + None + lbl_workcat_id_end Expedient baixa: @@ -4003,6 +4003,14 @@ tooltip_lbl_workcat_id_end None + + btn_accept + Acceptar + + + tooltip_btn_accept + Acceptar + assignation @@ -4019,20 +4027,20 @@ None - tab_config - Configuració + lbl_pipes + Canonades - tooltip_tab_config + tooltip_lbl_pipes None - chk_all_leaks - Utilitzar totes les fugues + lbl_buffer + Distància de buffer (m): - tooltip_chk_all_leaks - Calcula les fugues per kilòmetre i any utilitzant totes les dades disponibles, independentment del paramatre 'anys a calcular'. + tooltip_lbl_buffer + Distance from a leak at which pipes are selected to be assigned that leak. tab_infolog @@ -4043,36 +4051,36 @@ None - lbl_builtdate_range - Rang de data de construcció (anys): + lbl_diameter + Filt6rar per diàmetre: - tooltip_lbl_builtdate_range - Interval de dates de construcció, en anys anteriors i posteriors a la tuberia inicial + tooltip_lbl_diameter + Utilitza només tuberies amb el rang de diàmetres de l'inicial. - lbl_pipes - Canonades + chk_all_leaks + Utilitzar totes les fugues - tooltip_lbl_pipes - None + tooltip_chk_all_leaks + Calcula les fugues per kilòmetre i any utilitzant totes les dades disponibles, independentment del paramatre 'anys a calcular'. - lbl_material - Filtrar per material: + lbl_diameter_range + Rang de diàmetre: - tooltip_lbl_material - Utilitza només tuberies del mateix material que la inicial. + tooltip_lbl_diameter_range + Rang de diàmetres basats en factors de la tuberia inicial. - lbl_leaks - Fugues + lbl_cluster_length + Longitud del cluster (m): - tooltip_lbl_leaks - None + tooltip_lbl_cluster_length + Suma màxima de longituds de tuberia dintre d'un cluster, en metres. lbl_years @@ -4083,12 +4091,12 @@ Nombre d'anys de dades de fugues a tenir en compte, en funció de l'antiguitat. - lbl_buffer - Distància de buffer (m): + lbl_builtdate_range + Rang de data de construcció (anys): - tooltip_lbl_buffer - Distance from a leak at which pipes are selected to be assigned that leak. + tooltip_lbl_builtdate_range + Interval de dates de construcció, en anys anteriors i posteriors a la tuberia inicial lbl_builtdate @@ -4099,36 +4107,36 @@ Utilitza només les tuberies que coincidexen amb l'interval de dates d'instalació de la inicial. - lbl_cluster_length - Longitud del cluster (m): + dlg_assignation + Assignació de fugues - tooltip_lbl_cluster_length - Suma màxima de longituds de tuberia dintre d'un cluster, en metres. + tooltip_dlg_assignation + None - dlg_assignation - Assignació de fugues + tab_config + Configuració - tooltip_dlg_assignation + tooltip_tab_config None - lbl_diameter - Filt6rar per diàmetre: + lbl_material + Filtrar per material: - tooltip_lbl_diameter - Utilitza només tuberies amb el rang de diàmetres de l'inicial. + tooltip_lbl_material + Utilitza només tuberies del mateix material que la inicial. - lbl_diameter_range - Rang de diàmetre: + lbl_leaks + Fugues - tooltip_lbl_diameter_range - Rang de diàmetres basats en factors de la tuberia inicial. + tooltip_lbl_leaks + None lbl_max_distance @@ -4154,11 +4162,11 @@ None - dlg_auxcircle - Dibuixar cercle CAD + chk_deleete_prev + Eliminar cercles anteriors - tooltip_dlg_auxcircle + tooltip_chk_deleete_prev None @@ -4170,11 +4178,11 @@ Acceptar - chk_deleete_prev - Eliminar cercles anteriors + dlg_auxcircle + Dibuixar cercle CAD - tooltip_chk_deleete_prev + tooltip_dlg_auxcircle None @@ -4193,51 +4201,51 @@ Afegir punt CAD - chk_delete_prev - Eliminar punts anteriors + dlg_auxpoint + Afegir punt CAD - tooltip_chk_delete_prev + tooltip_dlg_auxpoint None - btn_accept - Acceptar + lbl_disty + Distància Y: - tooltip_btn_accept - Acceptar + tooltip_lbl_disty + None - btn_cancel - Cancelar + btn_accept + Acceptar - tooltip_btn_cancel - Cancelar + tooltip_btn_accept + Acceptar - dlg_auxpoint - Afegir punt CAD + rb_right + Punt final - tooltip_dlg_auxpoint + tooltip_rb_right None - rb_right - Punt final + chk_delete_prev + Eliminar punts anteriors - tooltip_rb_right + tooltip_chk_delete_prev None - lbl_disty - Distància Y: + lbl_distx + Distància X: - tooltip_lbl_disty + tooltip_lbl_distx None @@ -4249,12 +4257,12 @@ None - lbl_distx - Distància X: + btn_cancel + Cancelar - tooltip_lbl_distx - None + tooltip_btn_cancel + Cancelar @@ -4264,19 +4272,19 @@ Configuració - tab_featurecat - Feature cat + tab_addfields + Camps adicionals - tooltip_tab_featurecat + tooltip_tab_addfields None - dlg_config - Configuració + tab_mantype + Man type - tooltip_dlg_config + tooltip_tab_mantype None @@ -4288,44 +4296,44 @@ Acceptar - btn_cancel - Cancelar + tab_admin + Admin - tooltip_btn_cancel - Cancelar + tooltip_tab_admin + None - tab_admin - Admin + tab_featurecat + Feature cat - tooltip_tab_admin + tooltip_tab_featurecat None - tab_basic - Bàsic + dlg_config + Configuració - tooltip_tab_basic + tooltip_dlg_config None - tab_addfields - Camps adicionals + tab_basic + Bàsic - tooltip_tab_addfields + tooltip_tab_basic None - tab_mantype - Man type + btn_cancel + Cancelar - tooltip_tab_mantype - None + tooltip_btn_cancel + Cancelar @@ -4342,19 +4350,19 @@ csv - tab_preview - Previsualitzar + btn_cancel + Cancelar - tooltip_tab_preview - None + tooltip_btn_cancel + Cancelar - lbl_delimiter - Delimitador: + tab_preview + Previsualitzar - tooltip_lbl_delimiter + tooltip_tab_preview None @@ -4382,28 +4390,36 @@ None - btn_accept - Acceptar + lbl_delimiter + Delimitador: - tooltip_btn_accept - Acceptar + tooltip_lbl_delimiter + None - dlg_csv2pg - Importar CSV + lbl_file + Arxiu: - tooltip_dlg_csv2pg + tooltip_lbl_file None - btn_cancel - Cancelar + lbl_set_of_charac + Conjunt de caràcters - tooltip_btn_cancel - Cancelar + tooltip_lbl_set_of_charac + None + + + tab_info + Info log + + + tooltip_tab_info + None btn_file_csv @@ -4414,12 +4430,12 @@ None - tab_info - Info log + btn_accept + Acceptar - tooltip_tab_info - None + tooltip_btn_accept + Acceptar lbl_info @@ -4430,19 +4446,11 @@ None - lbl_set_of_charac - Conjunt de caràcters - - - tooltip_lbl_set_of_charac - None - - - lbl_file - Arxiu: + dlg_csv2pg + Importar CSV - tooltip_lbl_file + tooltip_dlg_csv2pg None @@ -4453,12 +4461,12 @@ Diàleg - dlg_dialog_table - Diàleg + btn_cancel + Cancelar - tooltip_dlg_dialog_table - None + tooltip_btn_cancel + Cancelar btn_accept @@ -4469,12 +4477,12 @@ Acceptar - btn_cancel - Cancelar + dlg_dialog_table + Diàleg - tooltip_btn_cancel - Cancelar + tooltip_dlg_dialog_table + None btn_add_row @@ -4492,12 +4500,12 @@ Diàleg - btn_close - Tancar + btn_accept + Acceptar - tooltip_btn_close - None + tooltip_btn_accept + Acceptar btn_cancel @@ -4508,20 +4516,20 @@ Cancelar - dlg_dialog_text - Diàleg + btn_close + Tancar - tooltip_dlg_dialog_text + tooltip_btn_close None - btn_accept - Acceptar + dlg_dialog_text + Diàleg - tooltip_btn_accept - Acceptar + tooltip_dlg_dialog_text + None @@ -4530,22 +4538,6 @@ title Cotes - - grb_symbology - Simbologia del cercle - - - tooltip_grb_symbology - Simbologia del cercle - - - grb_other - Altres - - - tooltip_grb_other - Altres - dlg_dimensioning Cotes @@ -4563,12 +4555,12 @@ Acceptar - btn_cancel - Cancelar + grb_symbology + Simbologia del cercle - tooltip_btn_cancel - Cancelar + tooltip_grb_symbology + Simbologia del cercle grb_depth @@ -4578,52 +4570,36 @@ tooltip_grb_depth Amidaments - - - doc - - title - Document - - lbl_link - Enllaç + grb_other + Altres - tooltip_lbl_link - Link + tooltip_grb_other + Altres - btn_delete - None + btn_cancel + Cancelar - tooltip_btn_delete - Eliminar + tooltip_btn_cancel + Cancelar + + + doc - tab_doc + title Document - tooltip_tab_doc - None - - - tab_connec - Escomesa - - - tooltip_tab_connec - Escomesa - - - tab_rel - Relacions + btn_cancel + Cancelar - tooltip_tab_rel - None + tooltip_btn_cancel + Cancelar lbl_observ @@ -4634,20 +4610,20 @@ None - tab_arc - Arc + btn_path_doc + ... - tooltip_tab_arc - Arc + tooltip_btn_path_doc + Ruta - btn_insert + btn_snapping None - tooltip_btn_insert - Insertar + tooltip_btn_snapping + Snapping path @@ -4658,60 +4634,76 @@ Completar amb alguna ruta de carpeta accesible o ruta web. - btn_cancel - Cancelar + btn_accept + Acceptar - tooltip_btn_cancel - Cancelar + tooltip_btn_accept + Acceptar - tab_gully - Reixa + tab_doc + Document - tooltip_tab_gully + tooltip_tab_doc None - btn_path_doc - ... + tab_arc + Arc - tooltip_btn_path_doc - Ruta + tooltip_tab_arc + Arc - lbl_doc_id - Id doc: + tab_node + Node - tooltip_lbl_doc_id - Id document + tooltip_tab_node + None - btn_snapping + btn_path_url + Web + + + tooltip_btn_path_url + Obri l'explorador per permetre la seecció de la ruta web. També és possible simplement enganzar la ruta en e quadrat d'enllaç de text + + + _dlg_doc + Document + + + tooltip__dlg_doc None - tooltip_btn_snapping - Snapping + tab_gully + Reixa - btn_accept - Acceptar + tooltip_tab_gully + None - tooltip_btn_accept - Acceptar + lbl_link + Enllaç - tab_node - Node + tooltip_lbl_link + Link + + + lbl_doc_type + Tipus doc: - tooltip_tab_node - None + tooltip_lbl_doc_type + Tipus document dlg_doc @@ -4722,29 +4714,45 @@ None - btn_path_url - Web + tab_connec + Escomesa - tooltip_btn_path_url - Obri l'explorador per permetre la seecció de la ruta web. També és possible simplement enganzar la ruta en e quadrat d'enllaç de text + tooltip_tab_connec + Escomesa - lbl_doc_type - Tipus doc: + tab_rel + Relacions - tooltip_lbl_doc_type - Tipus document + tooltip_tab_rel + None - _dlg_doc - Document + btn_delete + None - tooltip__dlg_doc + tooltip_btn_delete + Eliminar + + + lbl_doc_id + Id doc: + + + tooltip_lbl_doc_id + Id document + + + btn_insert None + + tooltip_btn_insert + Insertar + doc_manager @@ -4753,12 +4761,12 @@ Gestor de documents - lbl_doc_id - Filtrar per: Id doc + btn_cancel + Cancelar - tooltip_lbl_doc_id - None + tooltip_btn_cancel + Cancelar btn_delete @@ -4769,30 +4777,30 @@ Eliminar - dlg_doc_manager - Gestor de documents + lbl_doc_id + Filtrar per: Id doc - tooltip_dlg_doc_manager + tooltip_lbl_doc_id None - btn_cancel - Cancelar + dlg_doc_manager + Gestor de documents - tooltip_btn_cancel - Cancelar + tooltip_dlg_doc_manager + None dscenario_manager - btn_update - Actualitzar + btn_duplicate + Duplicar - tooltip_btn_update + tooltip_btn_duplicate None @@ -4812,11 +4820,11 @@ None - btn_duplicate - Duplicar + btn_update + Actualitzar - tooltip_btn_duplicate + tooltip_btn_update None @@ -4835,100 +4843,116 @@ Element - lbl_ownercat_id - Propietari: + lbl_link + Enllaç - tooltip_lbl_ownercat_id + tooltip_lbl_link + Link + + + btn_snapping None - dlg_element - Element + tooltip_btn_snapping + Snapping - tooltip_dlg_element - None + lbl_workcat_id + Expedient alta: - btn_cancel - Cancelar + tooltip_lbl_workcat_id + Expedient alta: - tooltip_btn_cancel - Cancelar + tab_connec + Escomesa - lbl_rotation - Rotació: + tooltip_tab_connec + Escomesa - tooltip_lbl_rotation + tab_node + Node + + + tooltip_tab_node None - lbl_builtdate - Data construcció: + lbl_ownercat_id + Propietari: - tooltip_lbl_builtdate - Data alta + tooltip_lbl_ownercat_id + None - lbl_num_element - Nombre d'element: + lbl_expl_id + Explotació: - tooltip_lbl_num_element + tooltip_lbl_expl_id None - btn_delete + lbl_comment + Comentari: + + + tooltip_lbl_comment None - tooltip_btn_delete - Eliminar + lbl_workcat_id_end + Expedient baixa: - lbl_state_type - Tipus estat: + tooltip_lbl_workcat_id_end + Workcat id end - tooltip_lbl_state_type - Tipus estat + tab_arc + Arc - tab_element - Element + tooltip_tab_arc + Arc - tooltip_tab_element + lbl_buildercat_id + Fabricant: + + + tooltip_lbl_buildercat_id None - lbl_elementcad_id - Id element catàleg: + btn_delete + None - tooltip_lbl_elementcad_id - Catàleg + tooltip_btn_delete + Eliminar - btn_add_geom - Afegir geometria + btn_cancel + Cancelar - tooltip_btn_add_geom - Add geometry + tooltip_btn_cancel + Cancelar - lbl_location_type - Tipus ubicació: + tab_element + Element - tooltip_lbl_location_type - Ubicació + tooltip_tab_element + None btn_accept @@ -4939,68 +4963,60 @@ Acceptar - btn_insert - None - - - tooltip_btn_insert - Insertar - - - tab_node - Node + lbl_num_element + Nombre d'element: - tooltip_tab_node + tooltip_lbl_num_element None - tab_connec - Escomesa + lbl_element_id + Id element: - tooltip_tab_connec - Escomesa + tooltip_lbl_element_id + None - lbl_link - Enllaç + tab_gully + Reixa - tooltip_lbl_link - Link + tooltip_tab_gully + None - lbl_buildercat_id - Fabricant: + btn_add_geom + Afegir geometria - tooltip_lbl_buildercat_id - None + tooltip_btn_add_geom + Add geometry - tab_arc - Arc + lbl_element_type + Tipus element: - tooltip_tab_arc - Arc + tooltip_lbl_element_type + Tipus element - lbl_observ - Observacions: + lbl_state_type + Tipus estat: - tooltip_lbl_observ - None + tooltip_lbl_state_type + Tipus estat - tab_relations - Relacions + lbl_elementcad_id + Id element catàleg: - tooltip_tab_relations - Relations + tooltip_lbl_elementcad_id + Catàleg lbl_state @@ -5011,27 +5027,19 @@ None - lbl_comment - Comentari: - - - tooltip_lbl_comment - None - - - lbl_workcat_id - Expedient alta: + lbl_observ + Observacions: - tooltip_lbl_workcat_id - Expedient alta: + tooltip_lbl_observ + None - lbl_expl_id - Explotació: + lbl_verified + Verificat: - tooltip_lbl_expl_id + tooltip_lbl_verified None @@ -5043,52 +5051,52 @@ Codi - lbl_element_id - Id element: + lbl_location_type + Tipus ubicació: - tooltip_lbl_element_id - None + tooltip_lbl_location_type + Ubicació - lbl_verified - Verificat: + lbl_rotation + Rotació: - tooltip_lbl_verified + tooltip_lbl_rotation None - btn_snapping - None + tab_relations + Relacions - tooltip_btn_snapping - Snapping + tooltip_tab_relations + Relations - lbl_element_type - Tipus element: + btn_insert + None - tooltip_lbl_element_type - Tipus element + tooltip_btn_insert + Insertar - lbl_workcat_id_end - Expedient baixa: + dlg_element + Element - tooltip_lbl_workcat_id_end - Workcat id end + tooltip_dlg_element + None - tab_gully - Reixa + lbl_builtdate + Data construcció: - tooltip_tab_gully - None + tooltip_lbl_builtdate + Data alta @@ -5105,14 +5113,6 @@ tooltip_btn_delete Eliminar - - btn_cancel - Cancelar - - - tooltip_btn_cancel - Cancelar - lbl_element_id Filtrar per: Id element @@ -5129,48 +5129,56 @@ tooltip_dlg_element_manager None + + btn_cancel + Cancelar + + + tooltip_btn_cancel + Cancelar + epa_compare - tab_result - Resultat + lbl_result_name_to_show + Nom resultat (per mostrar): - tooltip_tab_result + tooltip_lbl_result_name_to_show None - tab_time - Hora: + tab_datetime + Dat i hora - tooltip_tab_time + tooltip_tab_datetime None - dlg_selector - Selector + lbl_selector_date + Selector de data: - tooltip_dlg_selector + tooltip_lbl_selector_date None - lbl_time_to_show - Hora (per mostrar): + lbl_selector_time + Hora del selector: - tooltip_lbl_time_to_show + tooltip_lbl_selector_time None - lbl_time_to_compare - Hora (per comprar): + btn_accept + Acceptar - tooltip_lbl_time_to_compare - None + tooltip_btn_accept + Acceptar lbl_compare_time @@ -5181,67 +5189,67 @@ None - lbl_compare_date - Comparar data: + dlg_selector + Selector - tooltip_lbl_compare_date + tooltip_dlg_selector None - lbl_selector_date - Selector de data: + lbl_result_name_to_compare + Nom resultat (per comparar): - tooltip_lbl_selector_date + tooltip_lbl_result_name_to_compare None - lbl_selector_time - Hora del selector: + btn_cancel + Cancelar - tooltip_lbl_selector_time - None + tooltip_btn_cancel + Cancelar - lbl_result_name_to_compare - Nom resultat (per comparar): + tab_time + Hora: - tooltip_lbl_result_name_to_compare + tooltip_tab_time None - lbl_result_name_to_show - Nom resultat (per mostrar): + lbl_time_to_compare + Hora (per comprar): - tooltip_lbl_result_name_to_show + tooltip_lbl_time_to_compare None - btn_cancel - Cancelar + lbl_compare_date + Comparar data: - tooltip_btn_cancel - Cancelar + tooltip_lbl_compare_date + None - btn_accept - Acceptar + tab_result + Resultat - tooltip_btn_accept - Acceptar + tooltip_tab_result + None - tab_datetime - Dat i hora + lbl_time_to_show + Hora (per mostrar): - tooltip_tab_datetime + tooltip_lbl_time_to_show None @@ -5251,6 +5259,14 @@ title Diàleg + + grb_map_options + Opcions de mapa: + + + tooltip_grb_map_options + None + btn_close Tancar @@ -5260,19 +5276,19 @@ Tancar - btn_preview - Vista prèvia + dlg_fastprint + Diàleg - tooltip_btn_preview + tooltip_dlg_fastprint None - grb_map_options - Opcions de mapa: + btn_preview + Vista prèvia - tooltip_grb_map_options + tooltip_btn_preview None @@ -5283,14 +5299,6 @@ tooltip_grb_option_values None - - dlg_fastprint - Diàleg - - - tooltip_dlg_fastprint - None - btn_print Imprimir @@ -5307,21 +5315,29 @@ Esborrar element - btn_snapping - None + tab_info_log + Info log - tooltip_btn_snapping - Snapping + tooltip_tab_info_log + None - tab_info_log - Info log + btn_delete_another + Eliminar un altre element - tooltip_tab_info_log + tooltip_btn_delete_another None + + btn_cancel + Cancelar + + + tooltip_btn_cancel + Cancelar + tab_del_feature Esborrar element @@ -5331,27 +5347,35 @@ None - btn_relations - Mostrar relacions de l'element + dlg_feature_delete + Esborrar element - tooltip_btn_relations + tooltip_dlg_feature_delete None - btn_cancel - Cancelar + lbl_feature_type + Tipus d'element: - tooltip_btn_cancel - Cancelar + tooltip_lbl_feature_type + None - dlg_feature_delete - Esborrar element + btn_snapping + None - tooltip_dlg_feature_delete + tooltip_btn_snapping + Snapping + + + btn_relations + Mostrar relacions de l'element + + + tooltip_btn_relations None @@ -5370,28 +5394,36 @@ tooltip_lbl_feature_id None + + + feature_end - lbl_feature_type - Tipus d'element: + title + Donar de baixa - tooltip_lbl_feature_type + btn_new_workcat None - btn_delete_another - Eliminar un altre element + tooltip_btn_new_workcat + None - tooltip_btn_delete_another + lbl_workcat_id_end + Expedient baixa: + + + tooltip_lbl_workcat_id_end None - - - feature_end - title - Donar de baixa + tab_arc + Arc + + + tooltip_tab_arc + None btn_cancel @@ -5402,12 +5434,12 @@ Cancelar - tab_relations - Relacions + btn_accept + Acceptar - tooltip_tab_relations - Relations + tooltip_btn_accept + Acceptar tab_elem @@ -5418,67 +5450,67 @@ None - lbl_state_type - Tipus estat final: + tab_connec + Escomesa - tooltip_lbl_state_type + tooltip_tab_connec None - tab_workcat - Expedient + btn_insert + None - tooltip_tab_workcat - None + tooltip_btn_insert + Insertar - tab_connec - Escomesa + tab_node + Node - tooltip_tab_connec + tooltip_tab_node None - tab_arc - Arc + tab_gully + Reixa - tooltip_tab_arc + tooltip_tab_gully None - lbl_workcat_id_end - Expedient baixa: + tab_workcat + Expedient - tooltip_lbl_workcat_id_end + tooltip_tab_workcat None - btn_new_workcat + btn_delete None - tooltip_btn_new_workcat - None + tooltip_btn_delete + Eliminar - dlg_feature_end - Donar de baixa + tab_relations + Relacions - tooltip_dlg_feature_end - None + tooltip_tab_relations + Relations - lbl_enddate - Data de finalització: + lbl_description + Descripció: - tooltip_lbl_enddate + tooltip_lbl_description None @@ -5490,61 +5522,37 @@ None - btn_delete - None - - - tooltip_btn_delete - Eliminar - - - tab_node - Node + lbl_state_type + Tipus estat final: - tooltip_tab_node + tooltip_lbl_state_type None - btn_insert + btn_snapping None - tooltip_btn_insert - Insertar - - - btn_accept - Acceptar - - - tooltip_btn_accept - Acceptar + tooltip_btn_snapping + Trencant - tab_gully - Reixa + lbl_enddate + Data de finalització: - tooltip_tab_gully + tooltip_lbl_enddate None - lbl_description - Descripció: - - - tooltip_lbl_description - None + dlg_feature_end + Donar de baixa - btn_snapping + tooltip_dlg_feature_end None - - tooltip_btn_snapping - Trencant - feature_end_connec @@ -5553,19 +5561,11 @@ Elements desconectats del tram - btn_cancel - Cancelar - - - tooltip_btn_cancel - Cancelar - - - dlg_feature_end_connec - Elements desconectats del tram + lbl_info + Llista d'elements que quedarien desconectats quan els trams seleccionats siguin donats de baixa: - tooltip_dlg_feature_end_connec + tooltip_lbl_info None @@ -5577,13 +5577,21 @@ None - lbl_info - Llista d'elements que quedarien desconectats quan els trams seleccionats siguin donats de baixa: + dlg_feature_end_connec + Elements desconectats del tram - tooltip_lbl_info + tooltip_dlg_feature_end_connec None + + btn_cancel + Cancelar + + + tooltip_btn_cancel + Cancelar + btn_accept Acceptar @@ -5600,67 +5608,59 @@ Anar a EPA - tab_loginfo - Info log + btn_accept + Acceptar - tooltip_tab_loginfo - None + tooltip_btn_accept + Acceptar - dlg_go2epa - Anar a EPA + lbl_result_name + Nom resultat: - tooltip_dlg_go2epa + tooltip_lbl_result_name None - chk_recurrent - utilitzar trucades iteratives + chk_only_check + Utilitzar la geometria de red resultant - tooltip_chk_recurrent + tooltip_chk_only_check None - lbl_inp_file - Arxiu INP + chk_export + Exportar software INP - tooltip_lbl_inp_file + tooltip_chk_export None - chk_import_result - Importar resultat + grb_process_options + Opcions de procés - tooltip_chk_import_result + tooltip_grb_process_options None - btn_accept - Acceptar - - - tooltip_btn_accept - Acceptar - - - lbl_counter - lbl_counter + grb_file_manager + Gestor d'arxius - tooltip_lbl_counter + tooltip_grb_file_manager None - btn_hs_ds - Selector + tab_loginfo + Info log - tooltip_btn_hs_ds + tooltip_tab_loginfo None @@ -5672,27 +5672,19 @@ None - chk_export - Exportar software INP - - - tooltip_chk_export - None - - - chk_only_check - Utilitzar la geometria de red resultant + lbl_counter + lbl_counter - tooltip_chk_only_check + tooltip_lbl_counter None - lbl_result_name - Nom resultat: + dlg_go2epa + Anar a EPA - tooltip_lbl_result_name + tooltip_dlg_go2epa None @@ -5712,35 +5704,43 @@ None - grb_process_options - Opcions de procés + btn_hs_ds + Selector - tooltip_grb_process_options + tooltip_btn_hs_ds None - tab_file_manager - Administrador arxius + btn_file_inp + ... - tooltip_tab_file_manager + tooltip_btn_file_inp None - grb_file_manager - Gestor d'arxius + chk_import_result + Importar resultat - tooltip_grb_file_manager + tooltip_chk_import_result None - btn_file_inp - ... + tab_file_manager + Administrador arxius - tooltip_btn_file_inp + tooltip_tab_file_manager + None + + + chk_recurrent + utilitzar trucades iteratives + + + tooltip_chk_recurrent None @@ -5752,11 +5752,19 @@ None - btn_file_rpt - ... + btn_file_rpt + ... + + + tooltip_btn_file_rpt + None + + + lbl_inp_file + Arxiu INP - tooltip_btn_file_rpt + tooltip_lbl_inp_file None @@ -5767,28 +5775,28 @@ Gestor de resultats Epa - btn_close - Tancar + btn_delete + Esborrar - tooltip_btn_close - Tancar + tooltip_btn_delete + Delete - dlg_go2epa_manager - Gestor de resultats Epa + btn_set_corporate + Alternar corporatiu - tooltip_dlg_go2epa_manager + tooltip_btn_set_corporate None - btn_delete - Esborrar + dlg_go2epa_manager + Gestor de resultats Epa - tooltip_btn_delete - Delete + tooltip_dlg_go2epa_manager + None lbl_result_id @@ -5799,12 +5807,12 @@ None - btn_set_corporate - Alternar corporatiu + btn_close + Tancar - tooltip_btn_set_corporate - None + tooltip_btn_close + Tancar @@ -5814,27 +5822,27 @@ Go2Epa - opccions - tab_rpt - Rpt + btn_accept + Acceptar - tooltip_tab_rpt - None + tooltip_btn_accept + Acceptar - tab_inp - Inp + dlg_go2epa_options + Go2Epa - opccions - tooltip_tab_inp + tooltip_dlg_go2epa_options None - dlg_go2epa_options - Go2Epa - opccions + tab_inp + Inp - tooltip_dlg_go2epa_options + tooltip_tab_inp None @@ -5846,12 +5854,12 @@ Cancelar - btn_accept - Acceptar + tab_rpt + Rpt - tooltip_btn_accept - Acceptar + tooltip_tab_rpt + None @@ -5861,12 +5869,12 @@ Catàleg - btn_accept - Acceptar + btn_cancel + Cancelar - tooltip_btn_accept - Acceptar + tooltip_btn_cancel + Cancelar dlg_info_catalog @@ -5877,12 +5885,12 @@ None - btn_cancel - Cancelar + btn_accept + Acceptar - tooltip_btn_cancel - Cancelar + tooltip_btn_accept + Acceptar @@ -5899,14 +5907,6 @@ tooltip_lbl_hydrometer_id None - - dlg_info_crmvalue - Abonat - - - tooltip_dlg_info_crmvalue - None - btn_accept Acceptar @@ -5915,6 +5915,14 @@ tooltip_btn_accept Acceptar + + dlg_info_crmvalue + Abonat + + + tooltip_dlg_info_crmvalue + None + btn_close Tancar @@ -5931,107 +5939,107 @@ Secció - lbl_cost_b_right - lbl_cost_b_right + lbl_cost_fill + lbl_cost_fill - tooltip_lbl_cost_b_right + tooltip_lbl_cost_fill None - lbl_section_image - lbl_section_image + lbl_cost_exc + lbl_cost_exc - tooltip_lbl_section_image + tooltip_lbl_cost_exc None - lbl_cost_bulk - lbl_cost_bulk + lbl_cost_area + lbl_cost_area - tooltip_lbl_cost_bulk + tooltip_lbl_cost_area None - lbl_cost_excav - lbl_cost_excav + lbl_cost_width + lbl_cost_width - tooltip_lbl_cost_excav + tooltip_lbl_cost_width None - dlg_info_crossect - Secció + lbl_cost_trench + lbl_cost_trench - tooltip_dlg_info_crossect + tooltip_lbl_cost_trench None - lbl_cost_width - lbl_cost_width + lbl_cost_b_left + lbl_cost_b_left - tooltip_lbl_cost_width + tooltip_lbl_cost_b_left None - lbl_cost_area - lbl_cost_area + lbl_section_image + lbl_section_image - tooltip_lbl_cost_area + tooltip_lbl_section_image None - lbl_cost_y_param - lbl_cost_y_param + lbl_cost_excav + lbl_cost_excav - tooltip_lbl_cost_y_param + tooltip_lbl_cost_excav None - lbl_cost_fill - lbl_cost_fill + lbl_cost_y_param + lbl_cost_y_param - tooltip_lbl_cost_fill + tooltip_lbl_cost_y_param None - btn_close - Tancar + lbl_cost_bulk + lbl_cost_bulk - tooltip_btn_close - Close + tooltip_lbl_cost_bulk + None - lbl_cost_exc - lbl_cost_exc + dlg_info_crossect + Secció - tooltip_lbl_cost_exc + tooltip_dlg_info_crossect None - lbl_cost_trench - lbl_cost_trench + btn_close + Tancar - tooltip_lbl_cost_trench - None + tooltip_btn_close + Close - lbl_cost_b_left - lbl_cost_b_left + lbl_cost_b_right + lbl_cost_b_right - tooltip_lbl_cost_b_left + tooltip_lbl_cost_b_right None @@ -6550,11 +6558,11 @@ None - lbl_depth - Profunditat: + chk_use_planified + Utilitzar xarxa planificada - tooltip_lbl_depth + tooltip_chk_use_planified None @@ -6566,11 +6574,11 @@ Cancelar - chk_use_planified - Utilitzar xarxa planificada + lbl_depth + Profunditat: - tooltip_chk_use_planified + tooltip_lbl_depth None @@ -7434,14 +7442,6 @@ tooltip_lbl_name - - lbl_ext_code - Codi extern: - - - tooltip_lbl_ext_code - - lbl_text4 Text 4: @@ -7458,6 +7458,14 @@ tooltip_lbl_text3 + + lbl_ext_code + Codi extern: + + + tooltip_lbl_ext_code + + lbl_workcat_id Expedient: @@ -7475,19 +7483,19 @@ - lbl_text2 - Text 2: + lbl_scale + Escala: - tooltip_lbl_text2 + tooltip_lbl_scale - lbl_scale - Escala: + lbl_text2 + Text 2: - tooltip_lbl_scale + tooltip_lbl_text2 @@ -7530,11 +7538,19 @@ Gestior resultats preus - lbl_result_id - Filtrar per: + btn_delete + Esborrar - tooltip_lbl_result_id + tooltip_btn_delete + Eliminar + + + btn_update_result + Resultat actual + + + tooltip_btn_update_result None @@ -7545,14 +7561,6 @@ tooltip_btn_cancel Cancelar - - btn_update_result - Resultat actual - - - tooltip_btn_update_result - None - dlg_price_manager Gestior resultats preus @@ -7562,19 +7570,27 @@ None - btn_delete - Esborrar + lbl_result_id + Filtrar per: - tooltip_btn_delete - Eliminar + tooltip_lbl_result_id + None priority - title - Càlcul de prioritat + title + Càlcul de prioritat + + + tab_infolog + Info log + + + tooltip_tab_infolog + None tab_material @@ -7608,6 +7624,30 @@ tooltip_lbl_budget None + + dlg_priority + Càlcul de prioritat + + + tooltip_dlg_priority + None + + + lbl_expl_selection + Explotació: + + + tooltip_lbl_expl_selection + None + + + lbl_descript + Descripció: + + + tooltip_lbl_descript + None + lbl_material Material: @@ -7656,22 +7696,6 @@ tooltip_btn_calc None - - lbl_dnom - Diameter: - - - tooltip_lbl_dnom - None - - - grb_global - Paràmetres de càlcul - - - tooltip_grb_global - None - btn_cancel Cancel @@ -7689,27 +7713,27 @@ None - dlg_priority - Càlcul de prioritat + lbl_dnom + Diameter: - tooltip_dlg_priority + tooltip_lbl_dnom None - tab_infolog - Info log + tab_catalog + Catàleg - tooltip_tab_infolog + tooltip_tab_catalog None - tab_catalog - Catàleg + grb_global + Paràmetres de càlcul - tooltip_tab_catalog + tooltip_grb_global None @@ -7720,29 +7744,29 @@ tooltip_lbl_result_id None + + + priority_manager + + title + Gestor de resultats + - lbl_expl_selection - Explotació: + lbl_status + Estat: - tooltip_lbl_expl_selection + tooltip_lbl_status None - lbl_descript - Descripció: + lbl_info + Informació: - tooltip_lbl_descript + tooltip_lbl_info None - - - priority_manager - - title - Gestor de resultats - lbl_type Tipus: @@ -7752,28 +7776,28 @@ None - btn_duplicate - Duplicar + btn_status + Canviar estat - tooltip_btn_duplicate + tooltip_btn_status None - lbl_status - Estat: + btn_edit + Editar - tooltip_lbl_status + tooltip_btn_edit None - btn_delete - Eliminar + btn_duplicate + Duplicar - tooltip_btn_delete - + tooltip_btn_duplicate + None lbl_expl @@ -7784,27 +7808,27 @@ None - btn_edit - Editar + btn_delete + Eliminar - tooltip_btn_edit - None + tooltip_btn_delete + - lbl_filter - Filtrar per: Nom del resultat + dlg_priority_manager + Gestor de resultats - tooltip_lbl_filter + tooltip_dlg_priority_manager None - btn_status - Canviar estat + lbl_filter + Filtrar per: Nom del resultat - tooltip_btn_status + tooltip_lbl_filter None @@ -7815,22 +7839,6 @@ tooltip_btn_close None - - lbl_info - Informació: - - - tooltip_lbl_info - None - - - dlg_priority_manager - Gestor de resultats - - - tooltip_dlg_priority_manager - None - profile @@ -8052,14 +8060,6 @@ title Revisar projecte - - tab_qgis_projlog - QGIS projecte log - - - tooltip_tab_qgis_projlog - None - btn_accept Acceptar @@ -8068,6 +8068,14 @@ tooltip_btn_accept Acceptar + + tab_qgis_projlog + QGIS projecte log + + + tooltip_tab_qgis_projlog + None + dlg_project_check Revisar projecte @@ -8124,19 +8132,19 @@ None - lbl_duplicate_psector - Duplicar sector: + tab_duplicate_psector + Duplicar sector - tooltip_lbl_duplicate_psector + tooltip_tab_duplicate_psector None - tab_duplicate_psector - Duplicar sector + lbl_duplicate_psector + Duplicar sector: - tooltip_tab_duplicate_psector + tooltip_lbl_duplicate_psector None @@ -8257,6 +8265,14 @@ tooltip_lbl_prices_list None + + dlg_psector_rapport + Generador d'informes + + + tooltip_dlg_psector_rapport + None + btn_ok Crear @@ -8281,14 +8297,6 @@ tooltip_lbl_detail_csv None - - dlg_psector_rapport - Generador d'informes - - - tooltip_dlg_psector_rapport - None - grb_rapport Infrome @@ -8313,19 +8321,19 @@ Selector de resultats - btn_accept - Acceptar + btn_cancel + Cancel - tooltip_btn_accept + tooltip_btn_cancel None - lbl_result_main - Resultat per a mostrar + dlg_result_selector + Selector de resultats - tooltip_lbl_result_main + tooltip_dlg_result_selector None @@ -8337,27 +8345,19 @@ None - dlg_result_selector - Selector de resultats - - - tooltip_dlg_result_selector - None - - - lbl_descript_compare - Descripció: + lbl_result_main + Resultat per a mostrar - tooltip_lbl_descript_compare + tooltip_lbl_result_main None - btn_cancel - Cancel + btn_accept + Acceptar - tooltip_btn_cancel + tooltip_btn_accept None @@ -8376,6 +8376,14 @@ tooltip_tab_result None + + lbl_descript_compare + Descripció: + + + tooltip_lbl_descript_compare + None + search @@ -8384,19 +8392,19 @@ Cerca - Check all - Marcar tots + lbl_msg + Sense resultats - tooltip_Check all + tooltip_lbl_msg None - lbl_msg - Sense resultats + Check all + Marcar tots - tooltip_lbl_msg + tooltip_Check all None @@ -8415,11 +8423,27 @@ Bsucar expdte - btn_path - ... + btn_path + ... + + + tooltip_btn_path + None + + + tab_init + Donat d'alta + + + tooltip_tab_init + None + + + lbl_feat_end + Element donats de baixa: - tooltip_btn_path + tooltip_lbl_feat_end None @@ -8431,51 +8455,51 @@ None - lbl_feat_end - Element donats de baixa: + lbl_total1 + Números totals: - tooltip_lbl_feat_end + tooltip_lbl_total1 None - tab_ended - Donat d'ata + btn_state0 + Activar - tooltip_tab_ended + tooltip_btn_state0 None - tab_init - Donat d'alta + btn_export_to_csv + Exportar a CSV - tooltip_tab_init + tooltip_btn_export_to_csv None - dlg_search_workcat - Bsucar expdte + btn_close + Tancar - tooltip_dlg_search_workcat + tooltip_btn_close None - lbl_feat_ini - Element donats d'alta: + tab_ended + Donat d'ata - tooltip_lbl_feat_ini + tooltip_tab_ended None - lbl_total1 - Números totals: + lbl_init + Filtrar per: - tooltip_lbl_total1 + tooltip_lbl_init None @@ -8487,19 +8511,19 @@ None - lbl_destination_path - Ruta de destí + dlg_search_workcat + Bsucar expdte - tooltip_lbl_destination_path + tooltip_dlg_search_workcat None - lbl_init - Filtrar per: + lbl_feat_ini + Element donats d'alta: - tooltip_lbl_init + tooltip_lbl_feat_ini None @@ -8519,27 +8543,11 @@ None - btn_state0 - Activar - - - tooltip_btn_state0 - None - - - btn_close - Tancar - - - tooltip_btn_close - None - - - btn_export_to_csv - Exportar a CSV + lbl_destination_path + Ruta de destí - tooltip_btn_export_to_csv + tooltip_lbl_destination_path None @@ -8581,27 +8589,27 @@ Selector de estado - lbl_new_status - Nou estat: + btn_cancel + Cancel - tooltip_lbl_new_status + tooltip_btn_cancel None - btn_accept - Acceptar + lbl_result_main + Està canviant l'estat del següent resultat: - tooltip_btn_accept + tooltip_lbl_result_main None - btn_cancel - Cancel + btn_accept + Acceptar - tooltip_btn_cancel + tooltip_btn_accept None @@ -8613,11 +8621,11 @@ None - lbl_result_main - Està canviant l'estat del següent resultat: + lbl_new_status + Nou estat: - tooltip_lbl_result_main + tooltip_lbl_new_status None @@ -8628,52 +8636,52 @@ Caixa d'eines - btn_close - Tancar + btn_run + Run - tooltip_btn_close - Tancar + tooltip_btn_run + None - tab_config - Configuració + dlg_toolbox + Caixa d'eines - tooltip_tab_config + tooltip_dlg_toolbox None - dlg_toolbox - Caixa d'eines + tab_loginfo + Info log - tooltip_dlg_toolbox + tooltip_tab_loginfo None - btn_cancel - Cancelar + btn_close + Tancar - tooltip_btn_cancel - Cancelar + tooltip_btn_close + Tancar - tab_loginfo - Info log + tab_config + Configuració - tooltip_tab_loginfo + tooltip_tab_config None - btn_run - Run + btn_cancel + Cancelar - tooltip_btn_run - None + tooltip_btn_cancel + Cancelar @@ -8698,59 +8706,11 @@ Visita - lbl_status - Estat: - - - tooltip_lbl_status - None - - - lbl_start_date - Data Inicial: - - - tooltip_lbl_start_date - None - - - tab_event - Partes Feina - - - tooltip_tab_event - None - - - btn_doc_delete - None - - - tooltip_btn_doc_delete - Esborrar document - - - lbl_code - Codi: - - - tooltip_lbl_code - None - - - btn_event_update - Actualitzar event - - - tooltip_btn_event_update - None - - - lbl_feature_type - Tipus d'element: + lbl_descript + Descripció: - tooltip_lbl_feature_type + tooltip_lbl_descript None @@ -8762,19 +8722,11 @@ Crear nou document - tab_document - Document - - - tooltip_tab_document - None - - - lbl_user_name - Nom d'usuari: + lbl_info + Informació: - tooltip_lbl_user_name + tooltip_lbl_info None @@ -8793,6 +8745,14 @@ tooltip_btn_event_delete None + + tab_document + Document + + + tooltip_tab_document + None + lbl_id Id: @@ -8825,6 +8785,14 @@ tooltip_dlg_visit None + + tab_visit + Visita + + + tooltip_tab_visit + None + btn_doc_insert None @@ -8833,6 +8801,14 @@ tooltip_btn_doc_insert Insertar document + + btn_event_update + Actualitzar event + + + tooltip_btn_event_update + None + btn_cancel Cancelar @@ -8842,36 +8818,52 @@ Cancelar - tab_visit - Visita + btn_event_insert + Inserir event - tooltip_tab_visit + tooltip_btn_event_insert None - btn_event_insert - Inserir event + tab_relations + Relacions + + + tooltip_tab_relations + Relations + + + lbl_code + Codi: + + + tooltip_lbl_code + None - tooltip_btn_event_insert + btn_doc_delete None - lbl_info - Informació: + tooltip_btn_doc_delete + Esborrar document - tooltip_lbl_info + lbl_feature_type + Tipus d'element: + + + tooltip_lbl_feature_type None - tab_relations - Relacions + tab_event + Partes Feina - tooltip_tab_relations - Relations + tooltip_tab_event + None btn_open_doc @@ -8882,11 +8874,11 @@ Obrir document - lbl_end_date - Fins: + lbl_status + Estat: - tooltip_lbl_end_date + tooltip_lbl_status None @@ -8914,28 +8906,36 @@ None - lbl_descript - Descripció: + lbl_start_date + Data Inicial: - tooltip_lbl_descript + tooltip_lbl_start_date None - - - visit_document - title - Cargar documents + lbl_user_name + Nom d'usuari: - btn_open - Obrir + tooltip_lbl_user_name + None - tooltip_btn_open + lbl_end_date + Fins: + + + tooltip_lbl_end_date None + + + visit_document + + title + Cargar documents + dlg_visit_document Cargar documents @@ -8952,6 +8952,14 @@ tooltip_lbl_visit_id Visit ID + + btn_open + Obrir + + + tooltip_btn_open + None + visit_event @@ -8960,75 +8968,75 @@ Event estàndar d'arc - lbl_position_id - Id posició: + lbl_files + Arxius: - tooltip_lbl_position_id + tooltip_lbl_files None - lbl_value - Valor: + lbl_position_value + Valor posció - tooltip_lbl_value + tooltip_lbl_position_value None - lbl_text - Text: + btn_delete_file + Esborrar arxiu - tooltip_lbl_text + tooltip_btn_delete_file None - dlg_visit_event - Event estàndar d'arc + lbl_value + Valor: - tooltip_dlg_visit_event + tooltip_lbl_value None - btn_add_file - Afegir arxiu + lbl_parameter_id + Id paràmetre: - tooltip_btn_add_file + tooltip_lbl_parameter_id None - lbl_parameter_id - Id paràmetre: + btn_add_file + Afegir arxiu - tooltip_lbl_parameter_id + tooltip_btn_add_file None - lbl_files - Arxius: + lbl_position_id + Id posició: - tooltip_lbl_files + tooltip_lbl_position_id None - lbl_position_value - Valor posció + lbl_text + Text: - tooltip_lbl_position_value + tooltip_lbl_text None - btn_delete_file - Esborrar arxiu + dlg_visit_event + Event estàndar d'arc - tooltip_btn_delete_file + tooltip_dlg_visit_event None @@ -9294,11 +9302,11 @@ None - lbl_text - Text: + btn_delete_file + Esborrar arxiu - tooltip_lbl_text + tooltip_btn_delete_file None @@ -9310,19 +9318,19 @@ None - lbl_value1 - Valor 1: + lbl_text + Text: - tooltip_lbl_value1 + tooltip_lbl_text None - btn_delete_file - Esborrar arxiu + lbl_value1 + Valor 1: - tooltip_btn_delete_file + tooltip_lbl_value1 None @@ -9412,11 +9420,11 @@ None - btn_slidePrevious - None + lbl_img_zoom + lbl_img_zoom - tooltip_btn_slidePrevious + tooltip_lbl_img_zoom None @@ -9427,6 +9435,14 @@ tooltip_lbl_visit_id Visit ID + + btn_slidePrevious + None + + + tooltip_btn_slidePrevious + None + dlg_visit_gallery_zoom Zum galería @@ -9443,14 +9459,6 @@ tooltip_btn_slideNext None - - lbl_img_zoom - lbl_img_zoom - - - tooltip_lbl_img_zoom - None - visit_picture @@ -9458,6 +9466,14 @@ title Afegir foto + + lbl_link + Enllaç + + + tooltip_lbl_link + Link + dlg_visit_picture Afegir foto @@ -9490,23 +9506,39 @@ tooltip_path_doc None + + + workspace_create - lbl_link - Enllaç + lbl_new_workspace_descript + Descripció: - tooltip_lbl_link - Link + tooltip_lbl_new_workspace_descript + Descripció del nou espai de treball - - - workspace_create - btn_toggle_privacy - Alternar privacitat + btn_update + Actualitza - tooltip_btn_toggle_privacy + tooltip_btn_update + None + + + btn_accept + Acceptar + + + tooltip_btn_accept + None + + + btn_cancel + Cancelar + + + tooltip_btn_cancel None @@ -9534,37 +9566,13 @@ Nom del nou espai de treball - btn_update - Actualitza - - - tooltip_btn_update - None - - - btn_accept - Acceptar - - - tooltip_btn_accept - None - - - btn_cancel - Cancelar + btn_toggle_privacy + Alternar privacitat - tooltip_btn_cancel + tooltip_btn_toggle_privacy None - - lbl_new_workspace_descript - Descripció: - - - tooltip_lbl_new_workspace_descript - Descripció del nou espai de treball - workspace_manager @@ -9584,14 +9592,6 @@ tooltip_btn_current Utilitza l'espai de treball seleccionat - - btn_reset - Restablir - - - tooltip_btn_reset - Restableix els valors de l'espai de treball actual - btn_cancel Tanca @@ -9609,12 +9609,12 @@ Crea - lbl_workspace_name - Filtrar per: Nom + btn_reset + Restablir - tooltip_lbl_workspace_name - None + tooltip_btn_reset + Restableix els valors de l'espai de treball actual btn_delete @@ -9624,6 +9624,14 @@ tooltip_btn_delete Elimina l'espai de treball seleccionat + + lbl_workspace_name + Filtrar per: Nom + + + tooltip_lbl_workspace_name + None + txt_name txt_name diff --git a/i18n/giswater_en_US.qm b/i18n/giswater_en_US.qm index 03cb73146195e2d80a1b22017668c63aeea53432..a06a10f7301f3d46af040ce5bfe82307fd2349a9 100644 GIT binary patch delta 10936 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 MwmDMPk>-8+KV%s{3jhEB delta 10813 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 U;p9i{@p>0(B|1LbotAz2Kgp~sqW}N^ diff --git a/i18n/giswater_en_US.ts b/i18n/giswater_en_US.ts index 0b2d34847..ae8f11d5e 100644 --- a/i18n/giswater_en_US.ts +++ b/i18n/giswater_en_US.ts @@ -112,6 +112,14 @@ GwFeatureEndButton End feature + + GwUtilsManagerButton + Utils manager + + + GwNetscenarioManagerButton + Netscenario manager + 74_text Add new lot @@ -356,10 +364,6 @@ Java executable file not found Java executable file not found - - Expression Error - Expression Error - You need to upgrade your version of pgRouting You need to upgrade your version of pgRouting @@ -368,10 +372,6 @@ Some data is missing Some data is missing - - You need to select a template - You need to select a template - Composer template not found. Name should be Composer template not found. Name should be @@ -484,10 +484,6 @@ Delete records Delete records - - You need to insert visit_id - You need to insert visit_id - Unrecognised form type Unrecognised form type @@ -512,10 +508,6 @@ Select CSV file Select CSV file - - You need to insert data - You need to insert data - Object already associated with this feature Object already associated with this feature @@ -528,10 +520,6 @@ Do you want to open GIS project? Do you want to open GIS project? - - Document PDF created in - Document PDF created in - Cannot create file, check if its open Cannot create file, check if its open @@ -540,10 +528,6 @@ Check fields from table or view Check fields from table or view - - You need to insert psector_id - You need to insert psector_id - Id already selected Id already selected @@ -612,10 +596,6 @@ This param is mandatory. Please, set a value This parameter is mandatory. Please, set a value - - You need to insert doc_type - You need to insert doc_type - Are you sure you want to update the data? Are you sure you want to update the data? @@ -628,10 +608,6 @@ Are you sure you want to disconnect this elements? Are you sure you want to disconnect this elements? - - You need to insert doc_id - You need to insert doc_id - This id already exists This id already exists @@ -668,6 +644,26 @@ Select folder Select folder + + You need to insert data + You need to insert data + + + You need to insert doc_id + You need to insert doc_id + + + You need to insert doc_type + You need to insert doc_type + + + You need to insert psector_id + You need to insert psector_id + + + You need to insert visit_id + You need to insert visit_id + Document deleted Document deleted @@ -760,10 +756,6 @@ Please choose a csv file Please choose a CSV file - - Database connection error (PgDao). Please open plugin log file to get more details - Database connection error (PgDao). Please open plugin log file to get more details - Are you sure you want to replace selected feature with a new one? Are you sure you want to replace selected feature with a new one? @@ -796,10 +788,6 @@ You need to enter hydrometer_id You need to enter hydrometer_id - - Variable log_sql from user config file has been enabled. - Variable log_sql from user config file has been enabled. - ConfigLayerFields task is already active! ConfigLayerFields task is already active! @@ -860,10 +848,6 @@ No records found with selected 'result_id' No records found with selected 'result_id' - - Mincut done, but has conflict and overlaps with - Mincut done, but has conflict and overlaps with - The csv file has been successfully exported The CSV file has been successfully exported @@ -944,10 +928,6 @@ Any of the snapped features belong to selected layer Any of the snapped features belong to selected layer - - You need to insert value for field - You need to insert value for field - More then one document selected. Select just one document. More then one document selected. Select just one document. @@ -1000,10 +980,6 @@ Click on a feature to set mincut location and start the process Click on a feature to set mincut location and start the process - - There are no visible mincuts in the table. Try a different filter - There are no visible mincuts in the table. Try a different filter or make one - Click on node to change it's type Click on node to change it's type @@ -1033,8 +1009,8 @@ Total - Variable log_sql from user config file has been disabled. - Variable log_sql from user config file has been disabled. + You need to insert value for field + You need to insert value for field Please enter a valid integer for the number of years. @@ -1048,10 +1024,6 @@ Pipes with invalid arccat_ids: {qtd}. Pipes with invalid arccat_ids: {qtd}. - - Please enter the diameter range in this format: [minimum factor]-[maximum factor]. For example, 0.75-1.5 - Please enter the diameter range in this format: [minimum factor]-[maximum factor]. For example, 0.75-1.5 - Getting auxiliary data from DB Getting auxiliary data from DB @@ -1124,22 +1096,10 @@ Leaks without pipes intersecting its buffer: {leaks}. Leaks without pipes intersecting its buffer: {leaks}. - - Do you want to proceed? - Do you want to proceed? - Result Selector Result Selector - - Weights - Weights - - - Max rleak: {rleak} leaks/km.year. - Max rleak: {rleak} leaks/km.year. - Repair cost Repair cost @@ -1160,18 +1120,10 @@ Shamir-Howard parameters Shamir-Howard parameters - - Task canceled: The number of years is greater than the interval disponible. - Task canceled: The number of years is greater than the interval disponible. - Administrative tools Administrative tools - - These pipes have NOT been assigned a priority value. - These pipes have NOT been assigned a priority value. - Max. Longevity Max. Longevity @@ -1196,10 +1148,6 @@ This result name already exists This result name already exists - - You are about to delete the result - You are about to delete the result - An arccat_id is considered invalid if it is not listed in the catalog configuration table. As a result, these pipes will NOT be assigned a priority value. An arccat_id is considered invalid if it is not listed in the catalog configuration table. As a result, these pipes will NOT be assigned a priority value. @@ -1232,6 +1180,18 @@ Invalid arccat_ids: {list}. Invalid arccat_ids: {list}. + + These pipes have NOT been assigned a priority value. + These pipes have NOT been assigned a priority value. + + + Weights + Weights + + + You are about to delete the result + You are about to delete the result + Second iteration Second iteration @@ -1260,18 +1220,6 @@ Saving results to DB Saving results to DB - - Select one - Select one - - - Canceling task... - Canceling task... - - - The sum of weights must equal 1. Please adjust the values accordingly. - The sum of weights must equal 1. Please adjust the values accordingly. - No pipes found matching your budget. No pipes found matching your budget. @@ -1288,10 +1236,6 @@ Please enter a valid integer for the cluster length. Please enter a valid integer for the cluster length. - - Calculate Priority - Calculate Priority - Record deleted Record deleted @@ -1344,10 +1288,6 @@ Custom mincut executed successfully Custom mincut executed successfully - - More then one event selected. Select just one - More than one event selected. Select just one - Click on node to computed its downstream network Click on node to computed its downstream network @@ -1356,6 +1296,18 @@ Folder not found Folder not found + + Canceling task... + Canceling task... + + + More then one event selected. Select just one + More than one event selected. Select just one + + + Select one + Select one + Mincut done, but has conflict. Take a look on the anl_arc and anl_node to see the details of the conflict Mincut done, but has conflict. Take a look on the anl_arc and anl_node to see the details of the conflict @@ -1364,10 +1316,6 @@ Click on node to computed its upstream network Click on node to computed its upstream network - - No results found. Please check values set on selector of state and exploitation - No results found. Please check values set on selector of state and exploitation - Cannot create file, check if selected composer is the correct composer Cannot create file, check if selected composer is the correct composer @@ -1444,14 +1392,14 @@ IVI IVI - - The result cannot be deleted - The result cannot be deleted - Invalid compliance value for diameter Invalid compliance value for diameter + + The result cannot be deleted + The result cannot be deleted + Pipes with invalid materials: {qtd}. Pipes with invalid materials: {qtd}. @@ -1537,192 +1485,100 @@ Pipes with zero leaks per km per year: {pipes}. - You don't have permissions to administrate project schemas on this connection - You don't have permissions to administrate project schemas on this connection + Incompatible version of PostgreSQL + Incompatible version of PostgreSQL - The field layoutorder is not configured for - The field layoutorder is not configured for + Unable to create fuzzystrmatch extension. Packages must be installed + Unable to create fuzzystrmatch extension. Packages must be installed, consult your administrator - The field layoutname is not configured for - The field layoutname is not configured for + You don't have permissions to administrate project schemas on this connection + You don't have permissions to administrate project schemas on this connection - Incompatible version of PostgreSQL - Incompatible version of PostgreSQL + The field layoutorder is not configured for + The field layoutorder is not configured for - Unable to create Postgis extension. Packages must be installed - Unable to create Postgis extension. Packages must be installed, consult your administrator + This param is mandatory. Please + This param is mandatory. Please, set a value - Unable to create Postgis extension. Packages must be installed - Unable to create Postgis extension. Packages must be installed, consult your administrator + Click on node + Click on node, that joins two pipes, in order to remove it and merge pipes - Unable to create fuzzystrmatch extension. Packages must be installed - Unable to create fuzzystrmatch extension. Packages must be installed, consult your administrator + The 'Path' field is required for Import INP data. + The 'Path' field is required for Import INP data. - Unable to create fuzzystrmatch extension. Packages must be installed - Unable to create fuzzystrmatch extension. Packages must be installed, consult your administrator + Mincut done + Mincut done, but has conflict and overlaps with - Real location has been updated - Real location has been updated + Connect link task is already active! + Connect link task is already active! - Price list csv file name is required - Price list csv file name is required + Connect link task is already active! + Connect link task is already active! - Price list csv file name is required - Price list csv file name is required + Documents deleted successfully + Documents deleted successfully - The name is currently in use - The name is currently in use + Epa2data execution failed. See logs for more details... + Epa2data execution failed. See logs for more details... - This psector does not match the current one. Value of current psector will be updated. - This psector does not match the current one. Value of current psector will be updated. + Epa2data execution successful. + Epa2data execution successful. - This psector does not match the current one. Value of current psector will be updated. - This psector does not match the current one. Value of current psector will be updated. + Error on create auto mincut + Error on create auto mincut, you need to review data - This psector does not match the current one. Value of current psector will be updated. - This psector does not match the current one. Value of current psector will be updated. + Cannot create file + Cannot create file, check if its open - The csv file has been successfully exported - The csv file has been successfully exported + Feature has not been updated because no catalog has been selected + Feature has not been updated because no catalog has been selected - You have to set this parameter - You have to set this parameter + Feature_id is mandatory. + Feature_id is mandatory. - You have to set this parameter - You have to set this parameter + Mandatory field is missing. Please + Mandatory field is missing. Please seat a value - There are missing values in these nodes: - There are missing values in these nodes: + Mandatory field is missing. Please + Mandatory field is missing. Please seat a value Profile name is mandatory. Profile name is mandatory. - Toolbox task is already active! - Toolbox task is already active! + This process will take time (few minutes). Are you sure to continue? + This process will take time (few minutes). Are you sure to continue? - The csv file has been successfully exported - The csv file has been successfully exported + Mincut done successfully + Mincut done successfully - QGIS version is not compatible with Giswater. Please check wiki - QGIS version is not compatible with Giswater. Please check wiki + Mincut task is already active! + Mincut task is already active! - PostgreSQL version is not compatible with Giswater. Please check wiki - PostgreSQL version is not compatible with Giswater. Please check wiki - - - QGIS project has more than one v_edit_node layer coming from different schemas. - QGIS project has more than one v_edit_node layer coming from different schemas. - - - This SRID value does not exist on Postgres Database. Please select a diferent one. - This SRID value does not exist on Postgres Database. Please select a diferent one. - - - This process will take time (few minutes). Are you sure to continue? - This process will take time (few minutes). Are you sure to continue? - - - The 'Path' field is required for Import INP data. - The 'Path' field is required for Import INP data. - - - The selected INP file does not match with a 'UD' project.n - The selected INP file does not match with a 'UD' project.n - - - This param is mandatory. Please - This param is mandatory. Please, set a value - - - Click on node - Click on node, that joins two pipes, in order to remove it and merge pipes - - - Click on feature to change its type - Click on feature to change its type - - - Connect link task is already active! - Connect link task is already active! - - - Connect link task is already active! - Connect link task is already active! - - - Documents deleted successfully - Documents deleted successfully - - - Epa2data execution failed. See logs for more details... - Epa2data execution failed. See logs for more details... - - - Epa2data execution successful. - Epa2data execution successful. - - - Error on create auto mincut - Error on create auto mincut, you need to review data - - - Cannot create file - Cannot create file, check if its open - - - Feature has not been updated because no catalog has been selected - Feature has not been updated because no catalog has been selected - - - Feature_id is mandatory. - Feature_id is mandatory. - - - Mandatory field is missing. Please - Mandatory field is missing. Please seat a value - - - Mandatory field is missing. Please - Mandatory field is missing. Please seat a value - - - Mincut done - Mincut done, but has conflict and overlaps with - - - Mincut done successfully - Mincut done successfully - - - Mincut task is already active! - Mincut task is already active! - - - Parameter functionName is null for button - Parameter functionName is null for button + Parameter functionName is null for button + Parameter functionName is null for button Parameter not found: {parameter} @@ -1737,172 +1593,48 @@ Mandatory field is missing. Please seat a value - The selected INP file does not match with a 'WS' project.n - The selected INP file does not match with a 'WS' project.n - - - The 'Project_name' field is required. - The 'Project_name' field is required. - - - The project name can't have any upper-case characters - The project name can't have any upper-case characters - - - The project name has invalid character - The project name has invalid character - - - The project name can't be a PostgreSQL reserved keyword - The project name can't be a PostgreSQL reserved keyword - - - The 'Description' field is required. - The 'Description' field is required. - - - This project name alredy exist. - This project name alredy exist. - - - The schema version has to be updated to make rename - The schema version has to be updated to make rename - - - There is no project selected or it is not valid. Please check the first tab... - There is no project selected or it is not valid. Please check the first tab... - - - This project name alredy exist. - This project name alredy exist. - - - Process finished successfully - Process finished successfully - - - The QGIS Projects templates was correctly created. - The QGIS Projects templates was correctly created. - - - You don't have any connection to PostGIS database configurated. - You don't have any connection to PostGIS database configurated. - - - You need to have a ws and ud schema created to create a utils schema - You need to have a ws and ud schema created to create a utils schema - - - Some mandatory values are missing. Please check the widgets marked in red. - Some mandatory values are missing. Please check the widgets marked in red. - - - Widget expl_id not found - Widget expl_id not found - - - There was an error deleting object values. - There was an error deleting object values. - - - There was an error deleting object. - There was an error deleting object. - - - There was an error inserting curve. - There was an error inserting curve. - - - There was an error deleting old curve values. - There was an error deleting old curve values. - - - You need at least one row of values. - You need at least one row of values. - - - There was an error inserting curve value. - There was an error inserting curve value. - - - There was an error inserting pattern. - There was an error inserting pattern. - - - There was an error deleting old curve values. - There was an error deleting old curve values. - - - You need at least one row of values. - You need at least one row of values. - - - There was an error inserting pattern value. - There was an error inserting pattern value. - - - There was an error inserting pattern. - There was an error inserting pattern. - - - There was an error deleting old pattern values. - There was an error deleting old pattern values. - - - You need at least one row of values. - You need at least one row of values. - - - There was an error inserting pattern value. - There was an error inserting pattern value. - - - There was an error inserting control. - There was an error inserting control. - - - There was an error inserting control. - There was an error inserting control. + Toolbox task is already active! + Toolbox task is already active! - There was an error inserting timeseries. - There was an error inserting timeseries. + This psector does not match the current one. Value of current psector will be updated. + This psector does not match the current one. Value of current psector will be updated. - There was an error deleting old timeseries values. - There was an error deleting old timeseries values. + The csv file has been successfully exported + The csv file has been successfully exported - You need at least one row of values. - You need at least one row of values. + You have to set this parameter + You have to set this parameter - There was an error inserting pattern value. - There was an error inserting pattern value. + Click on feature to change its type + Click on feature to change its type - You have to fill in 'time' and 'value' fields! - You have to fill in 'time' and 'value' fields! + Real location has been updated + Real location has been updated - There was an error inserting pattern value. - There was an error inserting pattern value. + You have to set this parameter + You have to set this parameter - There was an error inserting lid. - There was an error inserting lid. + The name is currently in use + The name is currently in use - There was an error deleting old lid values. - There was an error deleting old lid values. + Price list csv file name is required + Price list csv file name is required - There was an error inserting lid. - There was an error inserting lid. + This psector does not match the current one. Value of current psector will be updated. + This psector does not match the current one. Value of current psector will be updated. - Your exploitation selector has been updated - Your exploitation selector has been updated + The csv file has been successfully exported + The csv file has been successfully exported Are you sure you want to overwrite this file? @@ -1937,112 +1669,112 @@ No document selected. - This will modify your inp file - This will modify your inp file, so a backup will be created.\n \ + You have to fill in 'time' and 'value' fields! + You have to fill in 'time' and 'value' fields! - You closed a valve - You closed a valve, this will modify the current mapzones and it may take a little bit of time. + You have to fill in 'date' + You have to fill in 'time' and 'value' fields! Cannot create file Cannot create file, check if its open - You have to fill in 'date' - You have to fill in 'time' and 'value' fields! + You need at least one row of values. + You need at least one row of values. - WARNING: You have updated the status value to EXECUTED (Save Trace). If you click 'Accept' on - WARNING: You have updated the status value to EXECUTED (Save Trace). If you click 'Accept' on + The project name can't have any upper-case characters + The project name can't have any upper-case characters - WARNING: You have updated the status value to CANCELED (Save Trace). If you click 'Accept' on - WARNING: You have updated the status value to CANCELED (Save Trace). If you click 'Accept' on + The project name has invalid character + The project name has invalid character - WARNING: You have updated the status value to EXECUTED (Set OPERATIVE and Save Trace). If you - WARNING: You have updated the status value to EXECUTED (Set OPERATIVE and Save Trace). If you + The schema version has to be updated to make rename + The schema version has to be updated to make rename - Psector values updated successfully - Psector values updated successfully + The 'Project_name' field is required. + The 'Project_name' field is required. - Your exploitation selector has been updated - Your exploitation selector has been updated + This project name alredy exist. + This project name alredy exist. - Save as - Save as + There was an error deleting object values. + There was an error deleting object values. - There were velocities >50 in the rpt file. You have activated the option to force the import - There were velocities >50 in the rpt file. You have activated the option to force the import + The 'Description' field is required. + The 'Description' field is required. - Work_id field is empty - Work_id field is empty + There was an error deleting object. + There was an error deleting object. - This Workcat already exist - This Workcat already exist + There was an error deleting old curve values. + There was an error deleting old curve values. - Work_id field is empty - Work_id field is empty + There was an error deleting old pattern values. + There was an error deleting old pattern values. - This Workcat is already exist - This Workcat is already exist + There was an error inserting control. + There was an error inserting control. - Select valid INP file - Select valid INP file + There was an error inserting curve value. + There was an error inserting curve value. - Select valid RPT file - Select valid RPT file + There was an error inserting curve. + There was an error inserting curve. - You need to select at least one process - You need to select at least one process + There was an error inserting lid. + There was an error inserting lid. - Select valid RPT file - Select valid RPT file + There was an error inserting pattern value. + There was an error inserting pattern value. - Result name not found. It's not possible to import RPT file into database - Result name not found. It's not possible to import RPT file into database + There was an error inserting pattern value. + There was an error inserting pattern value. - You need to select some sector - You need to select some sector + There was an error inserting pattern. + There was an error inserting pattern. - Table_object is not a table name or QTableView - Table_object is not a table name or QTableView + There was an error inserting timeseries. + There was an error inserting timeseries. - Table_object is not a table name or QTableView - Table_object is not a table name or QTableView + This project name alredy exist. + This project name alredy exist. - Reset position form done successfully. - Reset position form done successfully. + Widget expl_id not found + Widget expl_id not found - Service database connection error (QSqlDatabase). Please open plugin log file to get more details - Service database connection error (QSqlDatabase). Please open plugin log file to get more details + You need at least one row of values. + You need at least one row of values. - Service database connection error (psycopg2). Please open plugin log file to get more details - Service database connection error (psycopg2). Please open plugin log file to get more details + You need at least one row of values. + You need at least one row of values. - Table_object is not a table name or QTableView - Table_object is not a table name or QTableView + Process finished successfully + Process finished successfully A rollback on schema will be done. @@ -2109,29 +1841,81 @@ INP file not found - New feature type is null. Please - New feature type is null. Please, select a valid value + Your exploitation selector has been updated + Your exploitation selector has been updated - This parameter is mandatory. Please - This parameter is mandatory. Please, set a value + WARNING: You have updated the status value to EXECUTED (Set OPERATIVE and Save Trace). If you + WARNING: You have updated the status value to EXECUTED (Set OPERATIVE and Save Trace). If you No composers found. No composers found. - You closed a valve - You closed a valve, this will modify the current mapzones and it may take a little bit of time. + This Workcat is already exist + This Workcat is already exist - The node is obsolete - The node is obsolete, this tool doesn't work with obsolete nodes. + Select valid INP file + Select valid INP file + + + Reset position form done successfully. + Reset position form done successfully. Result name already exists Result name already exists, do you want overwrite? + + Save as + Save as + + + Select valid RPT file + Select valid RPT file + + + Select valid RPT file + Select valid RPT file + + + Table_object is not a table name or QTableView + Table_object is not a table name or QTableView + + + Table_object is not a table name or QTableView + Table_object is not a table name or QTableView + + + The node is obsolete + The node is obsolete, this tool doesn't work with obsolete nodes. + + + This Workcat already exist + This Workcat already exist + + + This parameter is mandatory. Please + This parameter is mandatory. Please, set a value + + + Work_id field is empty + Work_id field is empty + + + Work_id field is empty + Work_id field is empty + + + You closed a valve + You closed a valve, this will modify the current mapzones and it may take a little bit of time. + + + You need to select some sector + You need to select some sector + Click on feature to replace it with a new one. You can select other layer to snapp diferent feature type. Click on feature to replace it with a new one. You can select other layer to snapp different feature type. @@ -2232,10 +2016,6 @@ Mandatory field is missing. Please Mandatory field is missing. Please seat a value - - Error updating element in table - Error updating element in table, you need to review data - Mincut done Mincut done, but has conflict and overlaps with @@ -2268,97 +2048,269 @@ Please Please, select a project to delete + + Current node is not located over an arc. Please + Current node is not located over an arc. Please, select option 'DRAG-DROP' + + + Error updating element in table + Error updating element in table, you need to review data + + + Price list csv file name is required + Price list csv file name is required + + + QGIS version is not compatible with Giswater. Please check wiki + QGIS version is not compatible with Giswater. Please check wiki + + + Service database connection error (QSqlDatabase). Please open plugin log file to get more details + Service database connection error (QSqlDatabase). Please open plugin log file to get more details + + + Some mandatory values are missing. Please check the widgets marked in red. + Some mandatory values are missing. Please check the widgets marked in red. + + + Table_object is not a table name or QTableView + Table_object is not a table name or QTableView + + + The field layoutname is not configured for + The field layoutname is not configured for + + + The project name can't be a PostgreSQL reserved keyword + The project name can't be a PostgreSQL reserved keyword + + + The selected INP file does not match with a 'WS' project.n + The selected INP file does not match with a 'WS' project.n + + + There are missing values in these nodes: + There are missing values in these nodes: + + + There was an error deleting old curve values. + There was an error deleting old curve values. + + + There was an error deleting old lid values. + There was an error deleting old lid values. + + + There was an error inserting control. + There was an error inserting control. + + + There was an error inserting pattern value. + There was an error inserting pattern value. + + + There was an error inserting pattern. + There was an error inserting pattern. + + + Unable to create Postgis extension. Packages must be installed + Unable to create Postgis extension. Packages must be installed, consult your administrator + + + Variable log_sql from user config file has been disabled. + Variable log_sql from user config file has been disabled. + + + Variable log_sql from user config file has been enabled. + Variable log_sql from user config file has been enabled. + You cannot insert more than one feature at the same time You cannot insert more than one feature at the same time, finish editing the previous feature + + New feature type is null. Please + New feature type is null. Please, select a valid value + + + PostgreSQL version is not compatible with Giswater. Please check wiki + PostgreSQL version is not compatible with Giswater. Please check wiki + + + QGIS project has more than one v_edit_node layer coming from different schemas. + QGIS project has more than one v_edit_node layer coming from different schemas. + + + Result name not found. It's not possible to import RPT file into database + Result name not found. It's not possible to import RPT file into database + + + Service database connection error (psycopg2). Please open plugin log file to get more details + Service database connection error (psycopg2). Please open plugin log file to get more details + + + The QGIS Projects templates was correctly created. + The QGIS Projects templates was correctly created. + + + The selected INP file does not match with a 'UD' project.n + The selected INP file does not match with a 'UD' project.n + + + There is no project selected or it is not valid. Please check the first tab... + There is no project selected or it is not valid. Please check the first tab... + + + There was an error deleting old timeseries values. + There was an error deleting old timeseries values. + + + There was an error inserting lid. + There was an error inserting lid. + + + There was an error inserting pattern value. + There was an error inserting pattern value. + + + There were velocities >50 in the rpt file. You have activated the option to force the import + There were velocities >50 in the rpt file. You have activated the option to force the import + + + This SRID value does not exist on Postgres Database. Please select a diferent one. + This SRID value does not exist on Postgres Database. Please select a diferent one. + + + This psector does not match the current one. Value of current psector will be updated. + This psector does not match the current one. Value of current psector will be updated. + + + This will modify your inp file + This will modify your inp file, so a backup will be created.\n \ + + + Unable to create Postgis extension. Packages must be installed + Unable to create Postgis extension. Packages must be installed, consult your administrator + + + Unable to create fuzzystrmatch extension. Packages must be installed + Unable to create fuzzystrmatch extension. Packages must be installed, consult your administrator + + + WARNING: You have updated the status value to CANCELED (Save Trace). If you click 'Accept' on + WARNING: You have updated the status value to CANCELED (Save Trace). If you click 'Accept' on + You cannot insert more than one feature at the same time You cannot insert more than one feature at the same time, finish editing the previous feature - Current node is not located over an arc. Please - Current node is not located over an arc. Please, select option 'DRAG-DROP' + You don't have any connection to PostGIS database configurated. + You don't have any connection to PostGIS database configurated. - New feature type is null. Please - New feature type is null. Please, select a valid value + You need to have a ws and ud schema created to create a utils schema + You need to have a ws and ud schema created to create a utils schema + + + You need to select at least one process + You need to select at least one process + + + Psector values updated successfully + Psector values updated successfully + + + You need at least one row of values. + You need at least one row of values. + + + WARNING: You have updated the status value to EXECUTED (Save Trace). If you click 'Accept' on + WARNING: You have updated the status value to EXECUTED (Save Trace). If you click 'Accept' on + + + You closed a valve + You closed a valve, this will modify the current mapzones and it may take a little bit of time. + + + New feature type is null. Please + New feature type is null. Please, select a valid value - - - - - admin_addfields - lbl_action_function - Action function: + Calculate Priority + Calculate Priority - tooltip_lbl_action_function - None + Database connection error (PgDao). Please open plugin log file to get more details + Database connection error (PgDao). Please open plugin log file to get more details - lbl_widget_function - Widget function: + Do you want to proceed? + Do you want to proceed? - tooltip_lbl_widget_function - None + Document PDF created in + Document PDF created in - tab_update - Update + Expression Error + Expression Error - tooltip_tab_update - None + Max rleak: {rleak} leaks/km.year. + Max rleak: {rleak} leaks/km.year. - lbl_label - Label: + Mincut done, but has conflict and overlaps with + Mincut done, but has conflict and overlaps with - tooltip_lbl_label - None + No results found. Please check values set on selector of state and exploitation + No results found. Please check values set on selector of state and exploitation - btn_accept - Accept + Please enter the diameter range in this format: [minimum factor]-[maximum factor]. For example, 0.75-1.5 + Please enter the diameter range in this format: [minimum factor]-[maximum factor]. For example, 0.75-1.5 - tooltip_btn_accept - Accept + Task canceled: The number of years is greater than the interval disponible. + Task canceled: The number of years is greater than the interval disponible. - grb_additional - Additional configuration + The sum of weights must equal 1. Please adjust the values accordingly. + The sum of weights must equal 1. Please adjust the values accordingly. - tooltip_grb_additional - None + There are no visible mincuts in the table. Try a different filter + There are no visible mincuts in the table. Try a different filter or make one - lbl_tooltip - Tooltip: + You need to select a template + You need to select a template - tooltip_lbl_tooltip - None + Your exploitation selector has been updated + Your exploitation selector has been updated + + + + + admin_addfields - tab_delete - Delete + tab_update + Update - tooltip_tab_delete + tooltip_tab_update None - lbl_linkedobject - Linkedobject + lbl_column_id + Column name: - tooltip_lbl_linkedobject + tooltip_lbl_column_id None @@ -2370,35 +2322,43 @@ None - lbl_placeholder - Placeholder: + grb_additional + Additional configuration - tooltip_lbl_placeholder + tooltip_grb_additional None - lbl_editability - Editability: + lbl_null_value + Null value: - tooltip_lbl_editability + tooltip_lbl_null_value None - lbl_editable - Editable: + lbl_label + Label: - tooltip_lbl_editable + tooltip_lbl_label None - lbl_null_value - Null value: + lbl_field_length + Field length: - tooltip_lbl_null_value + tooltip_lbl_field_length + None + + + lbl_active + Active: + + + tooltip_lbl_active None @@ -2410,51 +2370,51 @@ None - lbl_typeahead - Typeahead: + tab_delete + Delete - tooltip_lbl_typeahead + tooltip_tab_delete None - lbl_stylesheet - Stylesheet: + lbl_typeahead + Typeahead: - tooltip_lbl_stylesheet + tooltip_lbl_typeahead None - lbl_parent - Parent: + lbl_tooltip + Tooltip: - tooltip_lbl_parent + tooltip_lbl_tooltip None - lbl_parent_id - Parent id: + lbl_stylesheet + Stylesheet: - tooltip_lbl_parent_id + tooltip_lbl_stylesheet None - grb_mandatory - Mandatory addfields configuration + lbl_placeholder + Placeholder: - tooltip_grb_mandatory + tooltip_lbl_placeholder None - lbl_enabled - Enabled: + lbl_linkedobject + Linkedobject - tooltip_lbl_enabled + tooltip_lbl_linkedobject None @@ -2466,35 +2426,43 @@ None - lbl_auto_update - Auto update: + lbl_action_function + Action function: - tooltip_lbl_auto_update + tooltip_lbl_action_function None - lbl_mandatory - Mandatory: + dlg_main_addfields + Dialog - tooltip_lbl_mandatory + tooltip_dlg_main_addfields None - lbl_not_update - Not update: + lbl_data_type + Data type: - tooltip_lbl_not_update + tooltip_lbl_data_type None - lbl_num_dec - Num decimals: + lbl_form_type + Form type: - tooltip_lbl_num_dec + tooltip_lbl_form_type + None + + + lbl_parent_id + Parent id: + + + tooltip_lbl_parent_id None @@ -2506,11 +2474,11 @@ None - lbl_active - Active: + lbl_parent + Parent: - tooltip_lbl_active + tooltip_lbl_parent None @@ -2521,6 +2489,14 @@ tooltip_lbl_widgetcontrols Example configuration keys {"widgetdim": 150,"setMultiline":true,"vdefault": "01-01-2014", "filterSign": ">} + + lbl_query_text + Query text: + + + tooltip_lbl_query_text + None + tab_create Create @@ -2529,6 +2505,14 @@ tooltip_tab_create None + + lbl_query_filter + Query text filter: + + + tooltip_lbl_query_filter + None + lbl_reload_field Reload field: @@ -2538,72 +2522,88 @@ None - lbl_form_type - Form type: + lbl_num_dec + Num decimals: - tooltip_lbl_form_type + tooltip_lbl_num_dec None - lbl_column_id - Column name: + lbl_not_update + Not update: - tooltip_lbl_column_id + tooltip_lbl_not_update None - lbl_query_text - Query text: + lbl_mandatory + Mandatory: - tooltip_lbl_query_text + tooltip_lbl_mandatory None - lbl_data_type - Data type: + lbl_enabled + Enabled: - tooltip_lbl_data_type + tooltip_lbl_enabled None - lbl_query_filter - Query text filter: + btn_accept + Accept - tooltip_lbl_query_filter + tooltip_btn_accept + Accept + + + grb_mandatory + Mandatory addfields configuration + + + tooltip_grb_mandatory None - dlg_main_addfields - Dialog + lbl_editable + Editable: - tooltip_dlg_main_addfields + tooltip_lbl_editable None - lbl_field_length - Field length: + lbl_auto_update + Auto update: - tooltip_lbl_field_length + tooltip_lbl_auto_update + None + + + lbl_widget_function + Widget function: + + + tooltip_lbl_widget_function None - - - admin_credentials - lbl_connec - Connection: + lbl_editability + Editability: - tooltip_lbl_connec + tooltip_lbl_editability None + + + admin_credentials btn_accept Accept @@ -2613,11 +2613,11 @@ Accept - lbl_connection_message - Could not retrieve connection parameters for: + dlg_main_credentials + Dialog - tooltip_lbl_connection_message + tooltip_dlg_main_credentials None @@ -2637,24 +2637,40 @@ None - dlg_main_credentials - Dialog + lbl_connection_message + Could not retrieve connection parameters for: - tooltip_dlg_main_credentials + tooltip_lbl_connection_message + None + + + lbl_connec + Connection: + + + tooltip_lbl_connec None admin_dbproject - btn_push_file - ... + dlg_main_dbproject + Create project - tooltip_btn_push_file + tooltip_dlg_main_dbproject None + + lbl_filter + Filter SRID + + + tooltip_lbl_filter + Spatial reference identifier. Only values shown on a table below are allowed. + btn_close Close @@ -2664,12 +2680,12 @@ Close - lbl_project_name - Project name: + btn_accept + Accept - tooltip_lbl_project_name - Name of a new schema. Name has to be written in lower cases, using only letters used in the english alphabet and without spaces or dashes + tooltip_btn_accept + Accept lbl_locale @@ -2680,47 +2696,39 @@ Schema language - grb_projectschema - Project schema Settings + btn_push_file + ... - tooltip_grb_projectschema + tooltip_btn_push_file None - lbl_filter - Filter SRID - - - tooltip_lbl_filter - Spatial reference identifier. Only values shown on a table below are allowed. - - - btn_accept - Accept + grb_projectschema + Project schema Settings - tooltip_btn_accept - Accept + tooltip_grb_projectschema + None - dlg_main_dbproject - Create project + lbl_project_name + Project name: - tooltip_dlg_main_dbproject - None + tooltip_lbl_project_name + Name of a new schema. Name has to be written in lower cases, using only letters used in the english alphabet and without spaces or dashes admin_gisproject - btn_close - Close + lbl_gis_folder + Folder: - tooltip_btn_close - Close + tooltip_lbl_gis_folder + None btn_gis_folder @@ -2731,11 +2739,11 @@ None - lbl_gis_folder - Folder: + lbl_role + Role type: - tooltip_lbl_gis_folder + tooltip_lbl_role None @@ -2746,14 +2754,6 @@ tooltip_lbl_gis_file None - - lbl_role - Role type: - - - tooltip_lbl_role - None - btn_accept Accept @@ -2762,6 +2762,14 @@ tooltip_btn_accept Accept + + btn_close + Close + + + tooltip_btn_close + Close + dlg_main_gisproject Create QGIS project @@ -2782,19 +2790,27 @@ admin_importinp - tab_config - Config + btn_run + Run - tooltip_tab_config + tooltip_btn_run None - btn_run - Run + tab_loginfo + Info log - tooltip_btn_run + tooltip_tab_loginfo + None + + + tab_config + Config + + + tooltip_tab_config None @@ -2813,17 +2829,17 @@ tooltip_btn_close None + + + admin_projectinfo - tab_loginfo - Info log + dlg_main_projectinfo + Update SQL - tooltip_tab_loginfo + tooltip_dlg_main_projectinfo None - - - admin_projectinfo btn_update Update @@ -2832,6 +2848,14 @@ tooltip_btn_update None + + lbl_info + Information about new updates + + + tooltip_lbl_info + None + btn_close Close @@ -2840,40 +2864,40 @@ tooltip_btn_close Close + + + admin_qtdialog - dlg_main_projectinfo - Update SQL + btn_path + ... - tooltip_dlg_main_projectinfo + tooltip_btn_path None - lbl_info - Information about new updates + dlg_main_qtdialog + Dialog - tooltip_lbl_info + tooltip_dlg_main_qtdialog None - - - admin_qtdialog - lbl_path - UI path: + lbl_formname + Form name: - tooltip_lbl_path + tooltip_lbl_formname None - lbl_formname - Form name: + btn_cancel + Cancel - tooltip_lbl_formname - None + tooltip_btn_cancel + Cancel btn_accept @@ -2884,13 +2908,16 @@ Accept - dlg_main_qtdialog - Dialog + lbl_path + UI path: - tooltip_dlg_main_qtdialog + tooltip_lbl_path None + + + admin_renameproj btn_cancel Cancel @@ -2899,17 +2926,6 @@ tooltip_btn_cancel Cancel - - btn_path - ... - - - tooltip_btn_path - None - - - - admin_renameproj lbl_rename_copy Please, set a new project name: @@ -2934,47 +2950,47 @@ tooltip_dlg_readsq_rename None + + + admin_sysfields - btn_cancel - Cancel + lbl_form_name + Form name: - tooltip_btn_cancel - Cancel + tooltip_lbl_form_name + None - - - admin_sysfields - lbl_editable - Editable: + grb_basic_conf + Basic configuration - tooltip_lbl_editable + tooltip_grb_basic_conf None - lbl_editability - Editability: + grb_additional_conf + Additional configuration - tooltip_lbl_editability + tooltip_grb_additional_conf None - btn_accept - Accept + lbl_hidden + Hidden: - tooltip_btn_accept - Accept + tooltip_lbl_hidden + None - lbl_mandatory - Mandatory: + lbl_label + Label: - tooltip_lbl_mandatory + tooltip_lbl_label None @@ -2986,52 +3002,52 @@ None - lbl_layout_order - Layout order: + lbl_enabled + Enabled: - tooltip_lbl_layout_order + tooltip_lbl_enabled None - lbl_layout_name - Layout name: + lbl_editable + Editable: - tooltip_lbl_layout_name + tooltip_lbl_editable None - grb_basic_conf - Basic configuration + lbl_editability + Editability: - tooltip_grb_basic_conf + tooltip_lbl_editability None - lbl_placeholder - Placeholder: + lbl_column_id + Column id: - tooltip_lbl_placeholder + tooltip_lbl_column_id None - dlg_main_sysfields - Dialog + tab_update + Update - tooltip_dlg_main_sysfields + tooltip_tab_update None - tab_create - Create + btn_accept + Accept - tooltip_tab_create - None + tooltip_btn_accept + Accept btn_open @@ -3042,88 +3058,88 @@ None - lbl_column_id - Column id: + lbl_layout_name + Layout name: - tooltip_lbl_column_id + tooltip_lbl_layout_name None - lbl_tooltip - Tooltip: + btn_cancel + Cancel - tooltip_lbl_tooltip + tooltip_btn_cancel None - grb_additional_conf - Additional configuration + tab_create + Create - tooltip_grb_additional_conf + tooltip_tab_create None - lbl_label - Label: + lbl_widgetcontrols + Widget controls: - tooltip_lbl_label - None + tooltip_lbl_widgetcontrols + Example configuration keys {"widgetdim": 150,"setMultiline":true,"vdefault": "01-01-2014", "filterSign": ">} - lbl_enabled - Enabled: + dlg_main_sysfields + Dialog - tooltip_lbl_enabled + tooltip_dlg_main_sysfields None - lbl_hidden - Hidden: + lbl_layout_order + Layout order: - tooltip_lbl_hidden + tooltip_lbl_layout_order None - lbl_widgetcontrols - Widget controls: + lbl_mandatory + Mandatory: - tooltip_lbl_widgetcontrols - Example configuration keys {"widgetdim": 150,"setMultiline":true,"vdefault": "01-01-2014", "filterSign": ">} + tooltip_lbl_mandatory + None - btn_cancel - Cancel + lbl_placeholder + Placeholder: - tooltip_btn_cancel + tooltip_lbl_placeholder None - lbl_form_name - Form name: + lbl_tooltip + Tooltip: - tooltip_lbl_form_name + tooltip_lbl_tooltip None + + + admin_translation - tab_update - Update + chk_db_msg + Translate db messages - tooltip_tab_update + tooltip_chk_db_msg None - - - admin_translation chk_py_msg Translate ui and py messages @@ -3133,59 +3149,59 @@ None - lbl_port - Port: + grb_translate_files + Translate files - tooltip_lbl_port + tooltip_grb_translate_files None - lbl_scode - Source code: + lbl_database + Data base: - tooltip_lbl_scode + tooltip_lbl_database None - grb_translate_files - Translate files + lbl_port + Port: - tooltip_grb_translate_files + tooltip_lbl_port None - btn_connection - Test connection + grb_info_connection + Connection information - tooltip_btn_connection + tooltip_grb_info_connection None - chk_db_msg - Translate db messages + lbl_language + Language: - tooltip_chk_db_msg + tooltip_lbl_language None - lbl_host - Host: + lbl_pass + Password: - tooltip_lbl_host + tooltip_lbl_pass None - grb_info_connection - Connection information + lbl_host + Host: - tooltip_grb_info_connection + tooltip_lbl_host None @@ -3197,27 +3213,19 @@ None - lbl_language - Language: - - - tooltip_lbl_language - None - - - lbl_pass - Password: + lbl_scode + Source code: - tooltip_lbl_pass + tooltip_lbl_scode None - lbl_database - Data base: + btn_connection + Test connection - tooltip_lbl_database + tooltip_btn_connection None @@ -3231,14 +3239,6 @@ tooltip_lbl_project_type Type of giswater project - - tab_schema_manager - Schema manager - - - tooltip_tab_schema_manager - None - lbl_name Name: @@ -3287,14 +3287,6 @@ tooltip_lbl_system_feature None - - tab_general - General - - - tooltip_tab_general - None - lbl_add_fields_feature Feature name: @@ -3303,14 +3295,6 @@ tooltip_lbl_add_fields_feature None - - btn_info - Update Project Schema - - - tooltip_btn_info - Update version of a selected database schema - btn_import_ui Import @@ -3327,22 +3311,6 @@ tooltip_tab_fields_manager None - - dlg_main - Giswater - - - tooltip_dlg_main - None - - - btn_copy - Copy - - - tooltip_btn_copy - Copy selected database schema - grb_manage_sys_fields Manage system fields @@ -3420,127 +3388,183 @@ Update - tooltip_btn_update_field + tooltip_btn_update_field + None + + + btn_custom_select_file + ... + + + tooltip_btn_custom_select_file + None + + + btn_custom_load_file + Load file + + + tooltip_btn_custom_load_file + None + + + grb_project_scin + Project schema information + + + tooltip_grb_project_scin + None + + + grb_manage_ui + Manage UI + + + tooltip_grb_manage_ui + None + + + btn_gis_create + Create QGIS project file + + + tooltip_btn_gis_create + None + + + lbl_connection + Connection name: + + + tooltip_lbl_connection + Name of a database connection defined in QGIS + + + btn_create_qgis_template + QGIS templates + + + tooltip_btn_create_qgis_template None - btn_constrains - Constrains + lbl_reload_func_sch + Reload functions: - tooltip_btn_constrains + tooltip_lbl_reload_func_sch None - btn_custom_select_file + btn_path ... - tooltip_btn_custom_select_file + tooltip_btn_path None - btn_custom_load_file - Load file + btn_delete + Delete - tooltip_btn_custom_load_file - None + tooltip_btn_delete + Delete selected database schema - grb_project_scin - Project schema information + btn_update_schema + Execute - tooltip_grb_project_scin + tooltip_btn_update_schema None - grb_manage_ui - Manage UI + btn_schema_file_to_db + File to DB - tooltip_grb_manage_ui + tooltip_btn_schema_file_to_db None - btn_gis_create - Create QGIS project file + btn_update_sys_field + Update - tooltip_btn_gis_create + tooltip_btn_update_sys_field None - btn_close - Close + btn_schema_create + Create DB project schema - tooltip_btn_close - Close + tooltip_btn_schema_create + None - btn_translation - Translation files + grb_manage_childviews + Manage child views - tooltip_btn_translation - None + tooltip_grb_manage_childviews + Recreate child views for a selected feature type or for all feature types defined in a project - btn_export_ui - Export + lbl_child_feature + Feature name: - tooltip_btn_export_ui + tooltip_lbl_child_feature None - lbl_connection - Connection name: + tab_schema_manager + Schema manager - tooltip_lbl_connection - Name of a database connection defined in QGIS + tooltip_tab_schema_manager + None - btn_delete_field - Delete + tab_api_manager + Api manager - tooltip_btn_delete_field + tooltip_tab_api_manager None - btn_create_qgis_template - QGIS templates + btn_visit_update + Update - tooltip_btn_create_qgis_template + tooltip_btn_visit_update None - lbl_reload_func_sch - Reload functions: + btn_visit_delete + Delete - tooltip_lbl_reload_func_sch + tooltip_btn_visit_delete None - btn_create_view - Create + tab_advanced + Advanced - tooltip_btn_create_view + tooltip_tab_advanced None - btn_create_field + btn_visit_create Create - tooltip_btn_create_field + tooltip_btn_visit_create None @@ -3552,142 +3576,126 @@ Rename selected database schema - btn_visit_create + btn_create_field Create - tooltip_btn_visit_create - None - - - tab_advanced - Advanced - - - tooltip_tab_advanced + tooltip_btn_create_field None - btn_path - ... + btn_create_view + Create - tooltip_btn_path + tooltip_btn_create_view None - btn_delete - Delete - - - tooltip_btn_delete - Delete selected database schema - - - btn_visit_delete + btn_delete_field Delete - tooltip_btn_visit_delete + tooltip_btn_delete_field None - btn_visit_update - Update + btn_export_ui + Export - tooltip_btn_visit_update + tooltip_btn_export_ui None - btn_update_schema - Execute + btn_translation + Translation files - tooltip_btn_update_schema + tooltip_btn_translation None - btn_schema_file_to_db - File to DB + btn_close + Close - tooltip_btn_schema_file_to_db - None + tooltip_btn_close + Close - btn_update_sys_field - Update + btn_constrains + Constrains - tooltip_btn_update_sys_field + tooltip_btn_constrains None - tab_api_manager - Api manager + btn_copy + Copy - tooltip_tab_api_manager - None + tooltip_btn_copy + Copy selected database schema - btn_schema_create - Create DB project schema + dlg_main + Giswater - tooltip_btn_schema_create + tooltip_dlg_main None - grb_manage_childviews - Manage child views + btn_info + Update Project Schema - tooltip_grb_manage_childviews - Recreate child views for a selected feature type or for all feature types defined in a project + tooltip_btn_info + Update version of a selected database schema - lbl_child_feature - Feature name: + tab_general + General - tooltip_lbl_child_feature + tooltip_tab_general None admin_visitclass - lbl_param_opt - Param options: + btn_class_cancel + Cancel - tooltip_lbl_param_opt + tooltip_btn_class_cancel None - lbl_descript - Descript: + lbl_visit_type + Visit type: - tooltip_lbl_descript + tooltip_lbl_visit_type None - btn_class_cancel - Cancel + lbl_viewname + View name: - tooltip_btn_class_cancel + tooltip_lbl_viewname None - lbl_active - Active: + btn_ok + Accept - tooltip_lbl_active + tooltip_btn_ok None @@ -3699,75 +3707,75 @@ None - lbl_visit_type - Visit type: + lbl_multi_feat + Multi feature: - tooltip_lbl_visit_type + tooltip_lbl_multi_feat None - btn_ok - Accept + btn_param_update + Update - tooltip_btn_ok + tooltip_btn_param_update None - btn_class_ok - Accept + btn_cancel + Cancel - tooltip_btn_class_ok + tooltip_btn_cancel None - lbl_multi_event - Multi event: + lbl_active + Active: - tooltip_lbl_multi_event + tooltip_lbl_active None - btn_cancel - Cancel + lbl_param_opt + Param options: - tooltip_btn_cancel + tooltip_lbl_param_opt None - lbl_viewname - View name: + btn_param_delete + Delete - tooltip_lbl_viewname + tooltip_btn_param_delete None - lbl_class_id - Class id: + dlg_main_visitclass + Manage visit class - tooltip_lbl_class_id + tooltip_dlg_main_visitclass None - dlg_main_visitclass - Manage visit class + btn_class_ok + Accept - tooltip_dlg_main_visitclass + tooltip_btn_class_ok None - lbl_multi_feat - Multi feature: + lbl_multi_event + Multi event: - tooltip_lbl_multi_feat + tooltip_lbl_multi_event None @@ -3779,11 +3787,11 @@ None - btn_param_update - Update + lbl_descript + Descript: - tooltip_btn_param_update + tooltip_lbl_descript None @@ -3795,150 +3803,150 @@ None - btn_param_delete - Delete + lbl_class_id + Class id: - tooltip_btn_param_delete + tooltip_lbl_class_id None admin_visitparam - btn_cancel - Cancel + lbl_default_value + Default value: - tooltip_btn_cancel + tooltip_lbl_default_value None - lbl_editable - Editable: + dlg_main_visitparam + Manage visit parameter - tooltip_lbl_editable + tooltip_dlg_main_visitparam None - lbl_default_value - Default value: + lbl_query_text + Query text: - tooltip_lbl_default_value + tooltip_lbl_query_text None - lbl_descript - Descript: + lbl_mandatory + Mandatory: - tooltip_lbl_descript + tooltip_lbl_mandatory None - dlg_main_visitparam - Manage visit parameter + lbl_enabled + Enabled: - tooltip_dlg_main_visitparam + tooltip_lbl_enabled None - grb_params - Parameters + lbl_short_descript + Short descript: - tooltip_grb_params + tooltip_lbl_short_descript None - lbl_code - Code: + lbl_editable + Editable: - tooltip_lbl_code + tooltip_lbl_editable None - btn_ok - Accept + lbl_descript + Descript: - tooltip_btn_ok + tooltip_lbl_descript None - lbl_parameter_name - Parameter name: + lbl_widgettype + Widget type: - tooltip_lbl_parameter_name + tooltip_lbl_widgettype None - lbl_mandatory - Mandatory: + btn_cancel + Cancel - tooltip_lbl_mandatory + tooltip_btn_cancel None - lbl_widgettype - Widget type: + grb_params + Parameters - tooltip_lbl_widgettype + tooltip_grb_params None - lbl_query_text - Query text: + lbl_form_type + Form type: - tooltip_lbl_query_text + tooltip_lbl_form_type None - lbl_enabled - Enabled: + lbl_data_type + Data type: - tooltip_lbl_enabled + tooltip_lbl_data_type None - lbl_short_descript - Short descript: + lbl_parameter_type + Parameter type: - tooltip_lbl_short_descript + tooltip_lbl_parameter_type None - lbl_parameter_type - Parameter type: + lbl_code + Code: - tooltip_lbl_parameter_type + tooltip_lbl_code None - lbl_data_type - Data type: + btn_ok + Accept - tooltip_lbl_data_type + tooltip_btn_ok None - lbl_form_type - Form type: + lbl_parameter_name + Parameter name: - tooltip_lbl_form_type + tooltip_lbl_parameter_name None @@ -3956,22 +3964,6 @@ tooltip_btn_cancel None - - tab_loginfo - Info log - - - tooltip_tab_loginfo - None - - - btn_accept - Accept - - - tooltip_btn_accept - Accept - lbl_enddate End date: @@ -3996,6 +3988,14 @@ tooltip_dlg_arc_fusion None + + tab_loginfo + Info log + + + tooltip_tab_loginfo + None + lbl_workcat_id_end Workcat id end: @@ -4004,6 +4004,14 @@ tooltip_lbl_workcat_id_end None + + btn_accept + Accept + + + tooltip_btn_accept + Accept + assignation @@ -4020,20 +4028,20 @@ None - tab_config - Config + lbl_pipes + Pipes - tooltip_tab_config + tooltip_lbl_pipes None - chk_all_leaks - Use all leaks + lbl_buffer + Buffer distance (m): - tooltip_chk_all_leaks - Calculates leaks per kilometer per year using all available data, regardless of the 'years to calculate' parameter. + tooltip_lbl_buffer + Distance from a leak at which pipes are selected to be assigned that leak. tab_infolog @@ -4044,36 +4052,36 @@ None - lbl_builtdate_range - Built date range (years): + lbl_diameter + Filter by diameter: - tooltip_lbl_builtdate_range - Built date range, in years before and after the initial pipe. + tooltip_lbl_diameter + Uses only pipes that match the diameter range of the initial one. - lbl_pipes - Pipes + chk_all_leaks + Use all leaks - tooltip_lbl_pipes - None + tooltip_chk_all_leaks + Calculates leaks per kilometer per year using all available data, regardless of the 'years to calculate' parameter. - lbl_material - Filter by material: + lbl_diameter_range + Diameter range: - tooltip_lbl_material - Uses only pipes of the same material as the initial one. + tooltip_lbl_diameter_range + Diameter range based on factors of the initial pipe. - lbl_leaks - Leaks + lbl_cluster_length + Cluster length (m): - tooltip_lbl_leaks - None + tooltip_lbl_cluster_length + Maximum sum of pipe lengths within a cluster, in meters. lbl_years @@ -4084,12 +4092,12 @@ Number of years of leak data to consider, based on recency. - lbl_buffer - Buffer distance (m): + lbl_builtdate_range + Built date range (years): - tooltip_lbl_buffer - Distance from a leak at which pipes are selected to be assigned that leak. + tooltip_lbl_builtdate_range + Built date range, in years before and after the initial pipe. lbl_builtdate @@ -4100,36 +4108,36 @@ Uses only pipes that match the builtdate range of the initial one. - lbl_cluster_length - Cluster length (m): + dlg_assignation + Leak Assignation - tooltip_lbl_cluster_length - Maximum sum of pipe lengths within a cluster, in meters. + tooltip_dlg_assignation + None - dlg_assignation - Leak Assignation + tab_config + Config - tooltip_dlg_assignation + tooltip_tab_config None - lbl_diameter - Filter by diameter: + lbl_material + Filter by material: - tooltip_lbl_diameter - Uses only pipes that match the diameter range of the initial one. + tooltip_lbl_material + Uses only pipes of the same material as the initial one. - lbl_diameter_range - Diameter range: + lbl_leaks + Leaks - tooltip_lbl_diameter_range - Diameter range based on factors of the initial pipe. + tooltip_lbl_leaks + None lbl_max_distance @@ -4155,11 +4163,11 @@ None - dlg_auxcircle - CAD draw circle + chk_deleete_prev + Delete previous circles - tooltip_dlg_auxcircle + tooltip_chk_deleete_prev None @@ -4171,11 +4179,11 @@ Accept - chk_deleete_prev - Delete previous circles + dlg_auxcircle + CAD draw circle - tooltip_chk_deleete_prev + tooltip_dlg_auxcircle None @@ -4194,11 +4202,19 @@ CAD Add point - chk_delete_prev - Delete previous points + dlg_auxpoint + CAD Add point + + + tooltip_dlg_auxpoint + None + + + lbl_disty + Dist Y: - tooltip_chk_delete_prev + tooltip_lbl_disty None @@ -4210,35 +4226,27 @@ Accept - btn_cancel - Cancel - - - tooltip_btn_cancel - None - - - dlg_auxpoint - CAD Add point + rb_right + End point - tooltip_dlg_auxpoint + tooltip_rb_right None - rb_right - End point + chk_delete_prev + Delete previous points - tooltip_rb_right + tooltip_chk_delete_prev None - lbl_disty - Dist Y: + lbl_distx + Dist X: - tooltip_lbl_disty + tooltip_lbl_distx None @@ -4250,11 +4258,11 @@ None - lbl_distx - Dist X: + btn_cancel + Cancel - tooltip_lbl_distx + tooltip_btn_cancel None @@ -4265,19 +4273,19 @@ Config - tab_featurecat - Feature cat + tab_addfields + Add fields - tooltip_tab_featurecat + tooltip_tab_addfields None - dlg_config - Config + tab_mantype + Man type - tooltip_dlg_config + tooltip_tab_mantype None @@ -4289,43 +4297,43 @@ Accept - btn_cancel - Cancel + tab_admin + Admin - tooltip_btn_cancel + tooltip_tab_admin None - tab_admin - Admin + tab_featurecat + Feature cat - tooltip_tab_admin + tooltip_tab_featurecat None - tab_basic - Basic + dlg_config + Config - tooltip_tab_basic + tooltip_dlg_config None - tab_addfields - Add fields + tab_basic + Basic - tooltip_tab_addfields + tooltip_tab_basic None - tab_mantype - Man type + btn_cancel + Cancel - tooltip_tab_mantype + tooltip_btn_cancel None @@ -4343,19 +4351,19 @@ csv - tab_preview - Preview + btn_cancel + Cancel - tooltip_tab_preview - None + tooltip_btn_cancel + Cancel - lbl_delimiter - Delimiter: + tab_preview + Preview - tooltip_lbl_delimiter + tooltip_tab_preview None @@ -4383,28 +4391,36 @@ None - btn_accept - Accept + lbl_delimiter + Delimiter: - tooltip_btn_accept - Accept + tooltip_lbl_delimiter + None - dlg_csv2pg - Import CSV + lbl_file + File: - tooltip_dlg_csv2pg + tooltip_lbl_file None - btn_cancel - Cancel + lbl_set_of_charac + Set of characters: - tooltip_btn_cancel - Cancel + tooltip_lbl_set_of_charac + None + + + tab_info + Info log + + + tooltip_tab_info + None btn_file_csv @@ -4415,12 +4431,12 @@ None - tab_info - Info log + btn_accept + Accept - tooltip_tab_info - None + tooltip_btn_accept + Accept lbl_info @@ -4431,19 +4447,11 @@ None - lbl_set_of_charac - Set of characters: - - - tooltip_lbl_set_of_charac - None - - - lbl_file - File: + dlg_csv2pg + Import CSV - tooltip_lbl_file + tooltip_dlg_csv2pg None @@ -4454,11 +4462,11 @@ Dialog - dlg_dialog_table - Dialog + btn_cancel + Cancel - tooltip_dlg_dialog_table + tooltip_btn_cancel None @@ -4470,11 +4478,11 @@ Accept - btn_cancel - Cancel + dlg_dialog_table + Dialog - tooltip_btn_cancel + tooltip_dlg_dialog_table None @@ -4493,12 +4501,12 @@ Dialog - btn_close - Close + btn_accept + Accept - tooltip_btn_close - None + tooltip_btn_accept + Accept btn_cancel @@ -4509,20 +4517,20 @@ None - dlg_dialog_text - Dialog + btn_close + Close - tooltip_dlg_dialog_text + tooltip_btn_close None - btn_accept - Accept + dlg_dialog_text + Dialog - tooltip_btn_accept - Accept + tooltip_dlg_dialog_text + None @@ -4531,22 +4539,6 @@ title Dimensioning - - grb_symbology - Circle symbology - - - tooltip_grb_symbology - None - - - grb_other - Other - - - tooltip_grb_other - None - dlg_dimensioning Dimensioning @@ -4564,11 +4556,11 @@ Accept - btn_cancel - Cancel + grb_symbology + Circle symbology - tooltip_btn_cancel + tooltip_grb_symbology None @@ -4579,6 +4571,22 @@ tooltip_grb_depth None + + grb_other + Other + + + tooltip_grb_other + None + + + btn_cancel + Cancel + + + tooltip_btn_cancel + None + doc @@ -4587,51 +4595,59 @@ Document - lbl_link - Link: + btn_cancel + Cancel - tooltip_lbl_link - Link + tooltip_btn_cancel + None - btn_delete + lbl_observ + Observations: + + + tooltip_lbl_observ None - tooltip_btn_delete - Delete + btn_path_doc + ... - tab_doc - Document + tooltip_btn_path_doc + None - tooltip_tab_doc + btn_snapping None - tab_connec - Connec + tooltip_btn_snapping + Snapping - tooltip_tab_connec - None + path + path - tab_rel - Relations + tooltip_path + Fill it with some accesible folder path or web path - tooltip_tab_rel - None + btn_accept + Accept + + + tooltip_btn_accept + Accept - lbl_observ - Observations: + tab_doc + Document - tooltip_lbl_observ + tooltip_tab_doc None @@ -4643,27 +4659,27 @@ None - btn_insert - None + tab_node + Node - tooltip_btn_insert - Insert + tooltip_tab_node + None - path - path + btn_path_url + Web - tooltip_path - Fill it with some accesible folder path or web path + tooltip_btn_path_url + Open explorer to allow selection of web path. It's also posible to just paste the path to the Link text box - btn_cancel - Cancel + _dlg_doc + Document - tooltip_btn_cancel + tooltip__dlg_doc None @@ -4675,76 +4691,68 @@ None - btn_path_doc - ... - - - tooltip_btn_path_doc - None + lbl_link + Link: - lbl_doc_id - Doc id: + tooltip_lbl_link + Link - tooltip_lbl_doc_id - None + lbl_doc_type + Doc type: - btn_snapping + tooltip_lbl_doc_type None - tooltip_btn_snapping - Snapping - - - btn_accept - Accept + dlg_doc + Document - tooltip_btn_accept - Accept + tooltip_dlg_doc + None - tab_node - Node + tab_connec + Connec - tooltip_tab_node + tooltip_tab_connec None - dlg_doc - Document + tab_rel + Relations - tooltip_dlg_doc + tooltip_tab_rel None - btn_path_url - Web + btn_delete + None - tooltip_btn_path_url - Open explorer to allow selection of web path. It's also posible to just paste the path to the Link text box + tooltip_btn_delete + Delete - lbl_doc_type - Doc type: + lbl_doc_id + Doc id: - tooltip_lbl_doc_type + tooltip_lbl_doc_id None - _dlg_doc - Document + btn_insert + None - tooltip__dlg_doc - None + tooltip_btn_insert + Insert @@ -4754,11 +4762,11 @@ Document management - lbl_doc_id - Filter by: Doc id + btn_cancel + Close - tooltip_lbl_doc_id + tooltip_btn_cancel None @@ -4770,30 +4778,30 @@ None - dlg_doc_manager - Document management + lbl_doc_id + Filter by: Doc id - tooltip_dlg_doc_manager + tooltip_lbl_doc_id None - btn_cancel - Close + dlg_doc_manager + Document management - tooltip_btn_cancel + tooltip_dlg_doc_manager None dscenario_manager - btn_update - Update + btn_duplicate + Duplicate - tooltip_btn_update + tooltip_btn_duplicate None @@ -4813,11 +4821,11 @@ None - btn_duplicate - Duplicate + btn_update + Update - tooltip_btn_duplicate + tooltip_btn_update None @@ -4836,99 +4844,115 @@ Element - lbl_ownercat_id - Owner: + lbl_link + Link: - tooltip_lbl_ownercat_id + tooltip_lbl_link + Link + + + btn_snapping None - dlg_element - Element + tooltip_btn_snapping + Snapping - tooltip_dlg_element - None + lbl_workcat_id + Workcat id: - btn_cancel - Cancel + tooltip_lbl_workcat_id + Workcat id - tooltip_btn_cancel + tab_connec + Connec + + + tooltip_tab_connec None - lbl_rotation - Rotation: + tab_node + Node - tooltip_lbl_rotation + tooltip_tab_node None - lbl_builtdate - Builtdate: + lbl_ownercat_id + Owner: - tooltip_lbl_builtdate + tooltip_lbl_ownercat_id None - lbl_num_element - Element number: + lbl_expl_id + Exploitation: - tooltip_lbl_num_element + tooltip_lbl_expl_id None - btn_delete + lbl_comment + Comment: + + + tooltip_lbl_comment None - tooltip_btn_delete - Delete + lbl_workcat_id_end + Workcat id end: - lbl_state_type - State type: + tooltip_lbl_workcat_id_end + Workcat id end - tooltip_lbl_state_type - None + tab_arc + Arc - tab_element - Element + tooltip_tab_arc + Arc - tooltip_tab_element - None + lbl_buildercat_id + Buildercat id: - lbl_elementcad_id - Elementcat id: + tooltip_lbl_buildercat_id + None - tooltip_lbl_elementcad_id + btn_delete None - btn_add_geom - Add geom + tooltip_btn_delete + Delete - tooltip_btn_add_geom - Add geometry + btn_cancel + Cancel - lbl_location_type - Location type: + tooltip_btn_cancel + None - tooltip_lbl_location_type + tab_element + Element + + + tooltip_tab_element None @@ -4940,68 +4964,60 @@ Accept - btn_insert - None - - - tooltip_btn_insert - Insert - - - tab_node - Node + lbl_num_element + Element number: - tooltip_tab_node + tooltip_lbl_num_element None - tab_connec - Connec + lbl_element_id + Element id: - tooltip_tab_connec + tooltip_lbl_element_id None - lbl_link - Link: + tab_gully + Gully - tooltip_lbl_link - Link + tooltip_tab_gully + None - lbl_buildercat_id - Buildercat id: + btn_add_geom + Add geom - tooltip_lbl_buildercat_id - None + tooltip_btn_add_geom + Add geometry - tab_arc - Arc + lbl_element_type + Element type: - tooltip_tab_arc - Arc + tooltip_lbl_element_type + None - lbl_observ - Observations: + lbl_state_type + State type: - tooltip_lbl_observ + tooltip_lbl_state_type None - tab_relations - Relations + lbl_elementcad_id + Elementcat id: - tooltip_tab_relations - Relations + tooltip_lbl_elementcad_id + None lbl_state @@ -5012,27 +5028,19 @@ None - lbl_comment - Comment: + lbl_observ + Observations: - tooltip_lbl_comment + tooltip_lbl_observ None - lbl_workcat_id - Workcat id: - - - tooltip_lbl_workcat_id - Workcat id - - - lbl_expl_id - Exploitation: + lbl_verified + Verified: - tooltip_lbl_expl_id + tooltip_lbl_verified None @@ -5044,51 +5052,51 @@ None - lbl_element_id - Element id: + lbl_location_type + Location type: - tooltip_lbl_element_id + tooltip_lbl_location_type None - lbl_verified - Verified: + lbl_rotation + Rotation: - tooltip_lbl_verified + tooltip_lbl_rotation None - btn_snapping - None + tab_relations + Relations - tooltip_btn_snapping - Snapping + tooltip_tab_relations + Relations - lbl_element_type - Element type: + btn_insert + None - tooltip_lbl_element_type - None + tooltip_btn_insert + Insert - lbl_workcat_id_end - Workcat id end: + dlg_element + Element - tooltip_lbl_workcat_id_end - Workcat id end + tooltip_dlg_element + None - tab_gully - Gully + lbl_builtdate + Builtdate: - tooltip_tab_gully + tooltip_lbl_builtdate None @@ -5106,14 +5114,6 @@ tooltip_btn_delete Delete - - btn_cancel - Close - - - tooltip_btn_cancel - None - lbl_element_id Filter by: Element id @@ -5130,48 +5130,56 @@ tooltip_dlg_element_manager None + + btn_cancel + Close + + + tooltip_btn_cancel + None + epa_compare - tab_result - Result + lbl_result_name_to_show + Result name (to show): - tooltip_tab_result + tooltip_lbl_result_name_to_show None - tab_time - Time + tab_datetime + Date time - tooltip_tab_time + tooltip_tab_datetime None - dlg_selector - Selector + lbl_selector_date + Selector date: - tooltip_dlg_selector + tooltip_lbl_selector_date None - lbl_time_to_show - Time (to show): + lbl_selector_time + Selector time: - tooltip_lbl_time_to_show + tooltip_lbl_selector_time None - lbl_time_to_compare - Time (to compare): + btn_accept + Accept - tooltip_lbl_time_to_compare - None + tooltip_btn_accept + Accept lbl_compare_time @@ -5182,67 +5190,67 @@ None - lbl_compare_date - Compare date: + dlg_selector + Selector - tooltip_lbl_compare_date + tooltip_dlg_selector None - lbl_selector_date - Selector date: + lbl_result_name_to_compare + Result name (to compare): - tooltip_lbl_selector_date + tooltip_lbl_result_name_to_compare None - lbl_selector_time - Selector time: + btn_cancel + Cancel - tooltip_lbl_selector_time - None + tooltip_btn_cancel + Cancel - lbl_result_name_to_compare - Result name (to compare): + tab_time + Time - tooltip_lbl_result_name_to_compare + tooltip_tab_time None - lbl_result_name_to_show - Result name (to show): + lbl_time_to_compare + Time (to compare): - tooltip_lbl_result_name_to_show + tooltip_lbl_time_to_compare None - btn_cancel - Cancel + lbl_compare_date + Compare date: - tooltip_btn_cancel - Cancel + tooltip_lbl_compare_date + None - btn_accept - Accept + tab_result + Result - tooltip_btn_accept - Accept + tooltip_tab_result + None - tab_datetime - Date time + lbl_time_to_show + Time (to show): - tooltip_tab_datetime + tooltip_lbl_time_to_show None @@ -5252,6 +5260,14 @@ title Dialog + + grb_map_options + Map options: + + + tooltip_grb_map_options + None + btn_close Close @@ -5261,19 +5277,19 @@ None - btn_preview - Preview + dlg_fastprint + Dialog - tooltip_btn_preview + tooltip_dlg_fastprint None - grb_map_options - Map options: + btn_preview + Preview - tooltip_grb_map_options + tooltip_btn_preview None @@ -5284,14 +5300,6 @@ tooltip_grb_option_values None - - dlg_fastprint - Dialog - - - tooltip_dlg_fastprint - None - btn_print Print @@ -5308,19 +5316,27 @@ Delete feature - btn_snapping + tab_info_log + Info log + + + tooltip_tab_info_log None - tooltip_btn_snapping - Snapping + btn_delete_another + Delete another feature - tab_info_log - Info log + tooltip_btn_delete_another + None - tooltip_tab_info_log + btn_cancel + Cancel + + + tooltip_btn_cancel None @@ -5332,27 +5348,35 @@ None - btn_relations - Show feature relations + dlg_feature_delete + Delete feature - tooltip_btn_relations + tooltip_dlg_feature_delete None - btn_cancel - Cancel + lbl_feature_type + Feature type: - tooltip_btn_cancel + tooltip_lbl_feature_type None - dlg_feature_delete - Delete feature + btn_snapping + None + + + tooltip_btn_snapping + Snapping + + + btn_relations + Show feature relations - tooltip_dlg_feature_delete + tooltip_btn_relations None @@ -5371,28 +5395,36 @@ tooltip_lbl_feature_id None + + + feature_end - lbl_feature_type - Feature type: + title + End feature - tooltip_lbl_feature_type + btn_new_workcat None - btn_delete_another - Delete another feature + tooltip_btn_new_workcat + None - tooltip_btn_delete_another + lbl_workcat_id_end + Workcat id end: + + + tooltip_lbl_workcat_id_end None - - - feature_end - title - End feature + tab_arc + Arc + + + tooltip_tab_arc + None btn_cancel @@ -5403,12 +5435,12 @@ Cancel - tab_relations - Relations + btn_accept + Accept - tooltip_tab_relations - Relations + tooltip_btn_accept + Accept tab_elem @@ -5419,67 +5451,67 @@ None - lbl_state_type - State type end: + tab_connec + Connec - tooltip_lbl_state_type + tooltip_tab_connec None - tab_workcat - Workcat + btn_insert + None - tooltip_tab_workcat - None + tooltip_btn_insert + Insert - tab_connec - Connec + tab_node + Node - tooltip_tab_connec + tooltip_tab_node None - tab_arc - Arc + tab_gully + Gully - tooltip_tab_arc + tooltip_tab_gully None - lbl_workcat_id_end - Workcat id end: + tab_workcat + Workcat - tooltip_lbl_workcat_id_end + tooltip_tab_workcat None - btn_new_workcat + btn_delete None - tooltip_btn_new_workcat - None + tooltip_btn_delete + Delete - dlg_feature_end - End feature + tab_relations + Relations - tooltip_dlg_feature_end - None + tooltip_tab_relations + Relations - lbl_enddate - End date: + lbl_description + Description: - tooltip_lbl_enddate + tooltip_lbl_description None @@ -5491,61 +5523,37 @@ None - btn_delete - None - - - tooltip_btn_delete - Delete - - - tab_node - Node + lbl_state_type + State type end: - tooltip_tab_node + tooltip_lbl_state_type None - btn_insert + btn_snapping None - tooltip_btn_insert - Insert - - - btn_accept - Accept - - - tooltip_btn_accept - Accept + tooltip_btn_snapping + Snapping - tab_gully - Gully + lbl_enddate + End date: - tooltip_tab_gully + tooltip_lbl_enddate None - lbl_description - Description: - - - tooltip_lbl_description - None + dlg_feature_end + End feature - btn_snapping + tooltip_dlg_feature_end None - - tooltip_btn_snapping - Snapping - feature_end_connec @@ -5554,19 +5562,11 @@ Workcat end list - btn_cancel - Cancel - - - tooltip_btn_cancel - Cancel - - - dlg_feature_end_connec - Workcat end list + lbl_info + These connecs will be desconnected after dowgrading selected arcs: - tooltip_dlg_feature_end_connec + tooltip_lbl_info None @@ -5578,13 +5578,21 @@ None - lbl_info - These connecs will be desconnected after dowgrading selected arcs: + dlg_feature_end_connec + Workcat end list - tooltip_lbl_info + tooltip_dlg_feature_end_connec None + + btn_cancel + Cancel + + + tooltip_btn_cancel + Cancel + btn_accept Accept @@ -5601,67 +5609,59 @@ Go2Epa - tab_loginfo - Info log + btn_accept + Accept - tooltip_tab_loginfo - None + tooltip_btn_accept + Accept - dlg_go2epa - Go2Epa + lbl_result_name + Result name: - tooltip_dlg_go2epa + tooltip_lbl_result_name None - chk_recurrent - Use iterative calls + chk_only_check + Use result network geometry - tooltip_chk_recurrent + tooltip_chk_only_check None - lbl_inp_file - INP file: + chk_export + Export INP - tooltip_lbl_inp_file + tooltip_chk_export None - chk_import_result - Import result + grb_process_options + Preprocessing options - tooltip_chk_import_result + tooltip_grb_process_options None - btn_accept - Accept - - - tooltip_btn_accept - Accept - - - lbl_counter - lbl_counter + grb_file_manager + File manager - tooltip_lbl_counter + tooltip_grb_file_manager None - btn_hs_ds - Selector + tab_loginfo + Info log - tooltip_btn_hs_ds + tooltip_tab_loginfo None @@ -5673,27 +5673,19 @@ None - chk_export - Export INP - - - tooltip_chk_export - None - - - chk_only_check - Use result network geometry + lbl_counter + lbl_counter - tooltip_chk_only_check + tooltip_lbl_counter None - lbl_result_name - Result name: + dlg_go2epa + Go2Epa - tooltip_lbl_result_name + tooltip_dlg_go2epa None @@ -5713,35 +5705,43 @@ None - grb_process_options - Preprocessing options + btn_hs_ds + Selector - tooltip_grb_process_options + tooltip_btn_hs_ds + None + + + btn_file_inp + ... + + + tooltip_btn_file_inp None - tab_file_manager - File manager + chk_import_result + Import result - tooltip_tab_file_manager + tooltip_chk_import_result None - grb_file_manager + tab_file_manager File manager - tooltip_grb_file_manager + tooltip_tab_file_manager None - btn_file_inp - ... + chk_recurrent + Use iterative calls - tooltip_btn_file_inp + tooltip_chk_recurrent None @@ -5760,6 +5760,14 @@ tooltip_btn_file_rpt None + + lbl_inp_file + INP file: + + + tooltip_lbl_inp_file + None + go2epa_manager @@ -5768,28 +5776,28 @@ Epa result management - btn_close - Close + btn_delete + Delete - tooltip_btn_close - None + tooltip_btn_delete + Delete - dlg_go2epa_manager - Epa result management + btn_set_corporate + Toggle corporate - tooltip_dlg_go2epa_manager + tooltip_btn_set_corporate None - btn_delete - Delete + dlg_go2epa_manager + Epa result management - tooltip_btn_delete - Delete + tooltip_dlg_go2epa_manager + None lbl_result_id @@ -5800,11 +5808,11 @@ None - btn_set_corporate - Toggle corporate + btn_close + Close - tooltip_btn_set_corporate + tooltip_btn_close None @@ -5815,27 +5823,27 @@ Go2Epa - options - tab_rpt - Rpt + btn_accept + Accept - tooltip_tab_rpt - None + tooltip_btn_accept + Accept - tab_inp - Inp + dlg_go2epa_options + Go2Epa - options - tooltip_tab_inp + tooltip_dlg_go2epa_options None - dlg_go2epa_options - Go2Epa - options + tab_inp + Inp - tooltip_dlg_go2epa_options + tooltip_tab_inp None @@ -5847,12 +5855,12 @@ None - btn_accept - Accept + tab_rpt + Rpt - tooltip_btn_accept - Accept + tooltip_tab_rpt + None @@ -5862,12 +5870,12 @@ Catalog - btn_accept - Accept + btn_cancel + Cancel - tooltip_btn_accept - Accept + tooltip_btn_cancel + None dlg_info_catalog @@ -5878,12 +5886,12 @@ None - btn_cancel - Cancel + btn_accept + Accept - tooltip_btn_cancel - None + tooltip_btn_accept + Accept @@ -5900,14 +5908,6 @@ tooltip_lbl_hydrometer_id None - - dlg_info_crmvalue - Hydrometer - - - tooltip_dlg_info_crmvalue - None - btn_accept Accept @@ -5916,6 +5916,14 @@ tooltip_btn_accept Accept + + dlg_info_crmvalue + Hydrometer + + + tooltip_dlg_info_crmvalue + None + btn_close Close @@ -5932,107 +5940,107 @@ Section - lbl_cost_b_right - lbl_cost_b_right + lbl_cost_fill + lbl_cost_fill - tooltip_lbl_cost_b_right + tooltip_lbl_cost_fill None - lbl_section_image - lbl_section_image + lbl_cost_exc + lbl_cost_exc - tooltip_lbl_section_image + tooltip_lbl_cost_exc None - lbl_cost_bulk - lbl_cost_bulk + lbl_cost_area + lbl_cost_area - tooltip_lbl_cost_bulk + tooltip_lbl_cost_area None - lbl_cost_excav - lbl_cost_excav + lbl_cost_width + lbl_cost_width - tooltip_lbl_cost_excav + tooltip_lbl_cost_width None - dlg_info_crossect - Section + lbl_cost_trench + lbl_cost_trench - tooltip_dlg_info_crossect + tooltip_lbl_cost_trench None - lbl_cost_width - lbl_cost_width + lbl_cost_b_left + lbl_cost_b_left - tooltip_lbl_cost_width + tooltip_lbl_cost_b_left None - lbl_cost_area - lbl_cost_area + lbl_section_image + lbl_section_image - tooltip_lbl_cost_area + tooltip_lbl_section_image None - lbl_cost_y_param - lbl_cost_y_param + lbl_cost_excav + lbl_cost_excav - tooltip_lbl_cost_y_param + tooltip_lbl_cost_excav None - lbl_cost_fill - lbl_cost_fill + lbl_cost_y_param + lbl_cost_y_param - tooltip_lbl_cost_fill + tooltip_lbl_cost_y_param None - btn_close - Close + lbl_cost_bulk + lbl_cost_bulk - tooltip_btn_close - Close + tooltip_lbl_cost_bulk + None - lbl_cost_exc - lbl_cost_exc + dlg_info_crossect + Section - tooltip_lbl_cost_exc + tooltip_dlg_info_crossect None - lbl_cost_trench - lbl_cost_trench + btn_close + Close - tooltip_lbl_cost_trench - None + tooltip_btn_close + Close - lbl_cost_b_left - lbl_cost_b_left + lbl_cost_b_right + lbl_cost_b_right - tooltip_lbl_cost_b_left + tooltip_lbl_cost_b_right None @@ -6551,11 +6559,11 @@ None - lbl_depth - Depth: + chk_use_planified + Use planified network - tooltip_lbl_depth + tooltip_chk_use_planified None @@ -6567,11 +6575,11 @@ Cancel - chk_use_planified - Use planified network + lbl_depth + Depth: - tooltip_chk_use_planified + tooltip_lbl_depth None @@ -7435,14 +7443,6 @@ tooltip_lbl_name None - - lbl_ext_code - Codigo ext: - - - tooltip_lbl_ext_code - None - lbl_text4 Text 4: @@ -7459,6 +7459,14 @@ tooltip_lbl_text3 None + + lbl_ext_code + Codigo ext: + + + tooltip_lbl_ext_code + None + lbl_workcat_id Workcat id: @@ -7476,19 +7484,19 @@ None - lbl_text2 - Text 2: + lbl_scale + Scale: - tooltip_lbl_text2 + tooltip_lbl_scale None - lbl_scale - Scale: + lbl_text2 + Text 2: - tooltip_lbl_scale + tooltip_lbl_text2 None @@ -7531,27 +7539,27 @@ Price result management - lbl_result_id - Filter by: + btn_delete + Delete - tooltip_lbl_result_id + tooltip_btn_delete None - btn_cancel - Close + btn_update_result + Current result - tooltip_btn_cancel + tooltip_btn_update_result None - btn_update_result - Current result + btn_cancel + Close - tooltip_btn_update_result + tooltip_btn_cancel None @@ -7563,11 +7571,11 @@ None - btn_delete - Delete + lbl_result_id + Filter by: - tooltip_btn_delete + tooltip_lbl_result_id None @@ -7577,6 +7585,14 @@ title Priority Calculation + + tab_infolog + Info Log + + + tooltip_tab_infolog + None + tab_material Material @@ -7609,6 +7625,30 @@ tooltip_lbl_budget None + + dlg_priority + Priority Calculation + + + tooltip_dlg_priority + None + + + lbl_expl_selection + Exploitation: + + + tooltip_lbl_expl_selection + None + + + lbl_descript + Description: + + + tooltip_lbl_descript + None + lbl_material Material: @@ -7657,22 +7697,6 @@ tooltip_btn_calc None - - lbl_dnom - Diameter: - - - tooltip_lbl_dnom - None - - - grb_global - Calculation parameters - - - tooltip_grb_global - None - btn_cancel Cancel @@ -7690,27 +7714,27 @@ None - dlg_priority - Priority Calculation + lbl_dnom + Diameter: - tooltip_dlg_priority + tooltip_lbl_dnom None - tab_infolog - Info Log + tab_catalog + Catalog - tooltip_tab_infolog + tooltip_tab_catalog None - tab_catalog - Catalog + grb_global + Calculation parameters - tooltip_tab_catalog + tooltip_grb_global None @@ -7721,28 +7745,28 @@ tooltip_lbl_result_id None + + + priority_manager - lbl_expl_selection - Exploitation: + title + Results Manager - tooltip_lbl_expl_selection - None + lbl_status + Status: - lbl_descript - Description: + tooltip_lbl_status + None - tooltip_lbl_descript - None + lbl_info + Info: - - - priority_manager - title - Results Manager + tooltip_lbl_info + None lbl_type @@ -7753,27 +7777,27 @@ None - btn_duplicate - Duplicate + btn_status + Change status - tooltip_btn_duplicate + tooltip_btn_status None - lbl_status - Status: + btn_edit + Edit - tooltip_lbl_status + tooltip_btn_edit None - btn_delete - Delete + btn_duplicate + Duplicate - tooltip_btn_delete + tooltip_btn_duplicate None @@ -7785,27 +7809,27 @@ None - btn_edit - Edit + btn_delete + Delete - tooltip_btn_edit + tooltip_btn_delete None - lbl_filter - Filter by: Result name + dlg_priority_manager + Results Manager - tooltip_lbl_filter + tooltip_dlg_priority_manager None - btn_status - Change status + lbl_filter + Filter by: Result name - tooltip_btn_status + tooltip_lbl_filter None @@ -7816,22 +7840,6 @@ tooltip_btn_close None - - lbl_info - Info: - - - tooltip_lbl_info - None - - - dlg_priority_manager - Results Manager - - - tooltip_dlg_priority_manager - None - profile @@ -8053,14 +8061,6 @@ title Check project - - tab_qgis_projlog - Qgis project log - - - tooltip_tab_qgis_projlog - None - btn_accept Accept @@ -8069,6 +8069,14 @@ tooltip_btn_accept Accept + + tab_qgis_projlog + Qgis project log + + + tooltip_tab_qgis_projlog + None + dlg_project_check Check project @@ -8125,19 +8133,19 @@ None - lbl_duplicate_psector - Duplicate psector: + tab_duplicate_psector + Duplicate psector - tooltip_lbl_duplicate_psector + tooltip_tab_duplicate_psector None - tab_duplicate_psector - Duplicate psector + lbl_duplicate_psector + Duplicate psector: - tooltip_tab_duplicate_psector + tooltip_lbl_duplicate_psector None @@ -8258,6 +8266,14 @@ tooltip_lbl_prices_list None + + dlg_psector_rapport + Psector rapport + + + tooltip_dlg_psector_rapport + None + btn_ok Create @@ -8282,14 +8298,6 @@ tooltip_lbl_detail_csv None - - dlg_psector_rapport - Psector rapport - - - tooltip_dlg_psector_rapport - None - grb_rapport Rapport @@ -8314,19 +8322,19 @@ Result Selector - btn_accept - Accept + btn_cancel + Cancel - tooltip_btn_accept + tooltip_btn_cancel None - lbl_result_main - Result to show: + dlg_result_selector + Result Selector - tooltip_lbl_result_main + tooltip_dlg_result_selector None @@ -8338,27 +8346,19 @@ None - dlg_result_selector - Result Selector - - - tooltip_dlg_result_selector - None - - - lbl_descript_compare - Description: + lbl_result_main + Result to show: - tooltip_lbl_descript_compare + tooltip_lbl_result_main None - btn_cancel - Cancel + btn_accept + Accept - tooltip_btn_cancel + tooltip_btn_accept None @@ -8377,6 +8377,14 @@ tooltip_tab_result None + + lbl_descript_compare + Description: + + + tooltip_lbl_descript_compare + None + search @@ -8385,19 +8393,19 @@ SearchPlus - Check all - Check all + lbl_msg + No results found - tooltip_Check all + tooltip_lbl_msg None - lbl_msg - No results found + Check all + Check all - tooltip_lbl_msg + tooltip_Check all None @@ -8412,15 +8420,31 @@ search_workcat - title - Workcat search + title + Workcat search + + + btn_path + ... + + + tooltip_btn_path + None + + + tab_init + Installed + + + tooltip_tab_init + None - btn_path - ... + lbl_feat_end + Features removed with the selected workcat - tooltip_btn_path + tooltip_lbl_feat_end None @@ -8432,51 +8456,51 @@ None - lbl_feat_end - Features removed with the selected workcat + lbl_total1 + Total numbers: - tooltip_lbl_feat_end + tooltip_lbl_total1 None - tab_ended - Removed + btn_state0 + Activate - tooltip_tab_ended + tooltip_btn_state0 None - tab_init - Installed + btn_export_to_csv + Export to CSV - tooltip_tab_init + tooltip_btn_export_to_csv None - dlg_search_workcat - Workcat search + btn_close + Close - tooltip_dlg_search_workcat + tooltip_btn_close None - lbl_feat_ini - Features installed with the selected workcat + tab_ended + Removed - tooltip_lbl_feat_ini + tooltip_tab_ended None - lbl_total1 - Total numbers: + lbl_init + Filter by: - tooltip_lbl_total1 + tooltip_lbl_init None @@ -8488,19 +8512,19 @@ None - lbl_destination_path - Destination path: + dlg_search_workcat + Workcat search - tooltip_lbl_destination_path + tooltip_dlg_search_workcat None - lbl_init - Filter by: + lbl_feat_ini + Features installed with the selected workcat - tooltip_lbl_init + tooltip_lbl_feat_ini None @@ -8520,27 +8544,11 @@ None - btn_state0 - Activate - - - tooltip_btn_state0 - None - - - btn_close - Close - - - tooltip_btn_close - None - - - btn_export_to_csv - Export to CSV + lbl_destination_path + Destination path: - tooltip_btn_export_to_csv + tooltip_lbl_destination_path None @@ -8582,27 +8590,27 @@ Status Selector - lbl_new_status - New status: + btn_cancel + Cancel - tooltip_lbl_new_status + tooltip_btn_cancel None - btn_accept - Accept + lbl_result_main + You are changing the status of the following result: - tooltip_btn_accept + tooltip_lbl_result_main None - btn_cancel - Cancel + btn_accept + Accept - tooltip_btn_cancel + tooltip_btn_accept None @@ -8614,11 +8622,11 @@ None - lbl_result_main - You are changing the status of the following result: + lbl_new_status + New status: - tooltip_lbl_result_main + tooltip_lbl_new_status None @@ -8629,51 +8637,51 @@ Toolbox - btn_close - Close + btn_run + Run - tooltip_btn_close + tooltip_btn_run None - tab_config - Config + dlg_toolbox + Toolbox - tooltip_tab_config + tooltip_dlg_toolbox None - dlg_toolbox - Toolbox + tab_loginfo + Info log - tooltip_dlg_toolbox + tooltip_tab_loginfo None - btn_cancel - Cancel + btn_close + Close - tooltip_btn_cancel + tooltip_btn_close None - tab_loginfo - Info log + tab_config + Config - tooltip_tab_loginfo + tooltip_tab_config None - btn_run - Run + btn_cancel + Cancel - tooltip_btn_run + tooltip_btn_cancel None @@ -8699,59 +8707,11 @@ Visit - lbl_status - Status: - - - tooltip_lbl_status - None - - - lbl_start_date - From: - - - tooltip_lbl_start_date - None - - - tab_event - Event - - - tooltip_tab_event - None - - - btn_doc_delete - None - - - tooltip_btn_doc_delete - Delete document - - - lbl_code - Code: - - - tooltip_lbl_code - None - - - btn_event_update - Update event - - - tooltip_btn_event_update - None - - - lbl_feature_type - Feature type: + lbl_descript + Description: - tooltip_lbl_feature_type + tooltip_lbl_descript None @@ -8763,19 +8723,11 @@ Create new document - tab_document - Document - - - tooltip_tab_document - None - - - lbl_user_name - User name: + lbl_info + Info: - tooltip_lbl_user_name + tooltip_lbl_info None @@ -8794,6 +8746,14 @@ tooltip_btn_event_delete None + + tab_document + Document + + + tooltip_tab_document + None + lbl_id Id: @@ -8826,6 +8786,14 @@ tooltip_dlg_visit None + + tab_visit + Visit + + + tooltip_tab_visit + None + btn_doc_insert None @@ -8834,6 +8802,14 @@ tooltip_btn_doc_insert Insert document + + btn_event_update + Update event + + + tooltip_btn_event_update + None + btn_cancel Cancel @@ -8843,36 +8819,52 @@ None - tab_visit - Visit + btn_event_insert + Insert event - tooltip_tab_visit + tooltip_btn_event_insert None - btn_event_insert - Insert event + tab_relations + Relations + + + tooltip_tab_relations + Relations + + + lbl_code + Code: + + + tooltip_lbl_code + None - tooltip_btn_event_insert + btn_doc_delete None - lbl_info - Info: + tooltip_btn_doc_delete + Delete document - tooltip_lbl_info + lbl_feature_type + Feature type: + + + tooltip_lbl_feature_type None - tab_relations - Relations + tab_event + Event - tooltip_tab_relations - Relations + tooltip_tab_event + None btn_open_doc @@ -8883,11 +8875,11 @@ Open document - lbl_end_date - To: + lbl_status + Status: - tooltip_lbl_end_date + tooltip_lbl_status None @@ -8915,28 +8907,36 @@ None - lbl_descript - Description: + lbl_start_date + From: - tooltip_lbl_descript + tooltip_lbl_start_date None - - - visit_document - title - Load documents + lbl_user_name + User name: - btn_open - Open + tooltip_lbl_user_name + None - tooltip_btn_open + lbl_end_date + To: + + + tooltip_lbl_end_date None + + + visit_document + + title + Load documents + dlg_visit_document Load documents @@ -8953,6 +8953,14 @@ tooltip_lbl_visit_id Visit ID + + btn_open + Open + + + tooltip_btn_open + None + visit_event @@ -8961,75 +8969,75 @@ Standard arc event - lbl_position_id - Position id: + lbl_files + Files: - tooltip_lbl_position_id + tooltip_lbl_files None - lbl_value - Value: + lbl_position_value + Position value: - tooltip_lbl_value + tooltip_lbl_position_value None - lbl_text - Text: + btn_delete_file + Delete file - tooltip_lbl_text + tooltip_btn_delete_file None - dlg_visit_event - Standard arc event + lbl_value + Value: - tooltip_dlg_visit_event + tooltip_lbl_value None - btn_add_file - Add file + lbl_parameter_id + Parameter id: - tooltip_btn_add_file + tooltip_lbl_parameter_id None - lbl_parameter_id - Parameter id: + btn_add_file + Add file - tooltip_lbl_parameter_id + tooltip_btn_add_file None - lbl_files - Files: + lbl_position_id + Position id: - tooltip_lbl_files + tooltip_lbl_position_id None - lbl_position_value - Position value: + lbl_text + Text: - tooltip_lbl_position_value + tooltip_lbl_text None - btn_delete_file - Delete file + dlg_visit_event + Standard arc event - tooltip_btn_delete_file + tooltip_dlg_visit_event None @@ -9295,11 +9303,11 @@ None - lbl_text - Text: + btn_delete_file + Delete file - tooltip_lbl_text + tooltip_btn_delete_file None @@ -9311,19 +9319,19 @@ None - lbl_value1 - Value 1: + lbl_text + Text: - tooltip_lbl_value1 + tooltip_lbl_text None - btn_delete_file - Delete file + lbl_value1 + Value 1: - tooltip_btn_delete_file + tooltip_lbl_value1 None @@ -9413,11 +9421,11 @@ None - btn_slidePrevious - None + lbl_img_zoom + lbl_img_zoom - tooltip_btn_slidePrevious + tooltip_lbl_img_zoom None @@ -9428,6 +9436,14 @@ tooltip_lbl_visit_id Visit ID + + btn_slidePrevious + None + + + tooltip_btn_slidePrevious + None + dlg_visit_gallery_zoom Gallery zoom @@ -9444,14 +9460,6 @@ tooltip_btn_slideNext None - - lbl_img_zoom - lbl_img_zoom - - - tooltip_lbl_img_zoom - None - visit_picture @@ -9459,6 +9467,14 @@ title Add picture + + lbl_link + Link: + + + tooltip_lbl_link + Link + dlg_visit_picture Add picture @@ -9491,23 +9507,39 @@ tooltip_path_doc None + + + workspace_create - lbl_link - Link: + lbl_new_workspace_descript + Description: - tooltip_lbl_link - Link + tooltip_lbl_new_workspace_descript + Workspace description - - - workspace_create - btn_toggle_privacy - Toggle privacy + btn_update + Update - tooltip_btn_toggle_privacy + tooltip_btn_update + None + + + btn_accept + Accept + + + tooltip_btn_accept + None + + + btn_cancel + Cancel + + + tooltip_btn_cancel None @@ -9535,37 +9567,13 @@ Workspace name - btn_update - Update - - - tooltip_btn_update - None - - - btn_accept - Accept - - - tooltip_btn_accept - None - - - btn_cancel - Cancel + btn_toggle_privacy + Toggle privacy - tooltip_btn_cancel + tooltip_btn_toggle_privacy None - - lbl_new_workspace_descript - Description: - - - tooltip_lbl_new_workspace_descript - Workspace description - workspace_manager @@ -9585,14 +9593,6 @@ tooltip_btn_current Set the current workspace - - btn_reset - Reset workspace - - - tooltip_btn_reset - Reset the values of the current workspace - btn_cancel Close @@ -9610,12 +9610,12 @@ Create - lbl_workspace_name - Filter by: Workspace name + btn_reset + Reset workspace - tooltip_lbl_workspace_name - None + tooltip_btn_reset + Reset the values of the current workspace btn_delete @@ -9625,6 +9625,14 @@ tooltip_btn_delete Delete the selected workspace + + lbl_workspace_name + Filter by: Workspace name + + + tooltip_lbl_workspace_name + None + txt_name txt_name diff --git a/i18n/giswater_es_ES.qm b/i18n/giswater_es_ES.qm index 2089c954ecaf249d712dcc9333ed01dc1a7ab67d..9e7d479505fad688727b44d13e15116132bf97aa 100644 GIT binary patch delta 23942 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 H)SCT2U@ph3 delta 26215 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 J?GwFeatureEndButton Dar de baja + + GwUtilsManagerButton + Gestor de utilidades + + + GwNetscenarioManagerButton + Gestor de netscenarios + 74_text Añadir nuevo lote @@ -356,10 +364,6 @@ Java executable file not found No se encontró el archivo ejecutable de Java - - Expression Error - Error de expresión - You need to upgrade your version of pgRouting Necesita actualizar su versión de pgRouting @@ -368,10 +372,6 @@ Some data is missing Faltan algunos datos - - You need to select a template - Necesita seleccionar una plantilla - Composer template not found. Name should be No se encontró la plantilla del compositor. El nombre debe ser @@ -484,10 +484,6 @@ Delete records Eliminar registros - - You need to insert visit_id - Debe insertar visit_id - Unrecognised form type Tipo de formulario no reconocido @@ -512,10 +508,6 @@ Select CSV file Seleccione archivo CSV - - You need to insert data - Necesita insertar datos - Object already associated with this feature Objeto ya asociado con ese elemento de red @@ -528,10 +520,6 @@ Do you want to open GIS project? ¿Quiere abrir el proyecto SIG? - - Document PDF created in - Documento PDF creado en - Cannot create file, check if its open No se puede crear el archivo, verifique si está abierto @@ -540,10 +528,6 @@ Check fields from table or view Verifique los campos de la tabla o vista - - You need to insert psector_id - Necesita insertar psector_id - Id already selected Id ya seleccionado @@ -612,10 +596,6 @@ This param is mandatory. Please, set a value Este parámetro es obligatorio. Por favor, establezca un valor - - You need to insert doc_type - Necesita insertar doc_type - Are you sure you want to update the data? ¿Está seguro de que quiere actualizar los datos? @@ -628,10 +608,6 @@ Are you sure you want to disconnect this elements? ¿Seguro que quiere desconectar estos elementos? - - You need to insert doc_id - Necesitas insertar doc_id - This id already exists Esta identificación ya existe @@ -668,6 +644,26 @@ Select folder Seleccione la carpeta + + You need to insert data + Necesita insertar datos + + + You need to insert doc_id + Necesitas insertar doc_id + + + You need to insert doc_type + Necesita insertar doc_type + + + You need to insert psector_id + Necesita insertar psector_id + + + You need to insert visit_id + Debe insertar visit_id + Document deleted Documento eliminado @@ -760,10 +756,6 @@ Please choose a csv file Elija un archivo CSV - - Database connection error (PgDao). Please open plugin log file to get more details - Error de conexión a la base de datos (PgDao). Por favor abra el archivo de registro del plugin para obtener más detalles - Are you sure you want to replace selected feature with a new one? ¿Está seguro de que desea reemplazar el elemento de red seleccionado por uno de nuevo? @@ -796,10 +788,6 @@ You need to enter hydrometer_id Debe ingresar hydrometer_id - - Variable log_sql from user config file has been enabled. - Variable log_sql from user config file has been enabled. - ConfigLayerFields task is already active! ¡La tarea ConfigLayerFields ya está activa! @@ -860,10 +848,6 @@ No records found with selected 'result_id' No se encontraron registros con el 'result_id' seleccionado - - Mincut done, but has conflict and overlaps with - Polígono de corte hecho, pero tiene conflicto y se superpone con - The csv file has been successfully exported El archivo CSV se ha exportado correctamente @@ -944,10 +928,6 @@ Any of the snapped features belong to selected layer Cualquier de los elementos de red ajustados pertenece a la capa seleccionada - - You need to insert value for field - Necesita insertar valor para el campo - More then one document selected. Select just one document. Más de un documento seleccionado. Seleccione solo un documento. @@ -1000,10 +980,6 @@ Click on a feature to set mincut location and start the process Seleccione un nodo o tubería y haga clic en él, se calcula el polígono de corte mínimo de las válvulas - - There are no visible mincuts in the table. Try a different filter - No hay polígonos de corte visibles en la tabla. Pruebe un filtro diferente - Click on node to change it's type Seleccione el nodo dentro de una tubería haciendo clic en él y se cambiará @@ -1033,8 +1009,8 @@ Total - Variable log_sql from user config file has been disabled. - Variable log_sql from user config file has been disabled. + You need to insert value for field + Necesita insertar valor para el campo Please enter a valid integer for the number of years. @@ -1048,10 +1024,6 @@ Pipes with invalid arccat_ids: {qtd}. Tuberías con arccat_id no válido: {qtd}. - - Please enter the diameter range in this format: [minimum factor]-[maximum factor]. For example, 0.75-1.5 - Por favor, introduzca el intervalo de diámetros en este formato: [factor mínimo]-[factor máximo]. Por ejemplo, 0.75-1.5 - Getting auxiliary data from DB Obteniendo datos auxiliares de la base de datos @@ -1124,22 +1096,10 @@ Leaks without pipes intersecting its buffer: {leaks}. Fugas sin tuberías intersectando su buffer: {leaks}. - - Do you want to proceed? - ¿Desea continuar? - Result Selector Selector de resultados - - Weights - Pesos - - - Max rleak: {rleak} leaks/km.year. - Max rleak: {rleak} fugas/km.año. - Repair cost Costo de reparación @@ -1160,18 +1120,10 @@ Shamir-Howard parameters Parámetros de Shamir-Howard - - Task canceled: The number of years is greater than the interval disponible. - Tarea cancelada: El número de años es mayor que el intervalo disponible. - Administrative tools Herramientas administrativas - - These pipes have NOT been assigned a priority value. - A estas tuberías NO se les ha asignado un valor de prioridad. - Max. Longevity Max. Longevidad @@ -1196,10 +1148,6 @@ This result name already exists Este nombre de resultado ya existe - - You are about to delete the result - Está a punto de borrar el resultado - An arccat_id is considered invalid if it is not listed in the catalog configuration table. As a result, these pipes will NOT be assigned a priority value. Se considera que un arccat_id no es válido si no aparece en la tabla de configuración del catálogo. Como resultado, a estas tuberías NO se les asignará un valor de prioridad. @@ -1232,6 +1180,18 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Invalid arccat_ids: {list}. Arccat_ids no válidos: {list}. + + These pipes have NOT been assigned a priority value. + A estas tuberías NO se les ha asignado un valor de prioridad. + + + Weights + Pesos + + + You are about to delete the result + Está a punto de borrar el resultado + Second iteration Segunda iteración @@ -1260,18 +1220,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Saving results to DB Guardar resultados en la BD - - Select one - Seleccione un - - - Canceling task... - Cancelando tarea... - - - The sum of weights must equal 1. Please adjust the values accordingly. - La suma de los pesos debe ser igual a 1. Ajuste los valores de acuerdo a esta condición. - No pipes found matching your budget. No se han encontrado tuberías que se ajusten a su presupuesto. @@ -1288,10 +1236,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Please enter a valid integer for the cluster length. Por favor introduzca un número entero válido para la longitud del clúster. - - Calculate Priority - Calcular Prioridad - Record deleted Registro eliminado @@ -1344,10 +1288,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Custom mincut executed successfully Polígono de corte personalizado ejecutado con éxito - - More then one event selected. Select just one - Más de un evento seleccionado. Seleccione sólo uno - Click on node to computed its downstream network Seleccione un nodo y haga clic en él, se calculan los nodos aguas abajo @@ -1356,6 +1296,18 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Folder not found Carpeta no encontrada + + Canceling task... + Cancelando tarea... + + + More then one event selected. Select just one + Más de un evento seleccionado. Seleccione sólo uno + + + Select one + Seleccione un + Mincut done, but has conflict. Take a look on the anl_arc and anl_node to see the details of the conflict Polígono de corte hecho, pero tiene conflicto. Eche un vistazo a anl_arc y anl_node para ver los detalles del conflicto @@ -1364,10 +1316,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Click on node to computed its upstream network Seleccione un nodo y haga clic en él, se calculan los nodos aguas arriba - - No results found. Please check values set on selector of state and exploitation - No se han encontrado resultados. Verifique los valores establecidos en el selector de estado y explotacion - Cannot create file, check if selected composer is the correct composer No se puede crear el archivo, verifique si el compositor seleccionado es el compositor correcto @@ -1444,14 +1392,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información IVI IVI - - The result cannot be deleted - El resultado no puede borrarse - Invalid compliance value for diameter Valor normativo no válido para el diámetro + + The result cannot be deleted + El resultado no puede borrarse + Pipes with invalid materials: {qtd}. Tuberías con material no válido: {qtd}. @@ -1536,121 +1484,21 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Pipes with zero leaks per km per year: {pipes}. Tuberías con cero fugas por km y año: {pipes}. - - You don't have permissions to administrate project schemas on this connection - You don't have permissions to administrate project schemas on this connection - - - The field layoutorder is not configured for - The field layoutorder is not configured for - - - The field layoutname is not configured for - The field layoutname is not configured for - Incompatible version of PostgreSQL Versión incompatible de PostgreSQL - - Unable to create Postgis extension. Packages must be installed - Unable to create Postgis extension. Packages must be installed - - - Unable to create Postgis extension. Packages must be installed - Unable to create Postgis extension. Packages must be installed - - - Unable to create fuzzystrmatch extension. Packages must be installed - Unable to create fuzzystrmatch extension. Packages must be installed - Unable to create fuzzystrmatch extension. Packages must be installed - Unable to create fuzzystrmatch extension. Packages must be installed - - - Real location has been updated - Real location has been updated - - - Price list csv file name is required - Price list csv file name is required - - - Price list csv file name is required - Price list csv file name is required - - - The name is currently in use - The name is currently in use + No se puede crear la extensión fuzzystrmatch. Los paquetes deben estar instalados, consulte a su administrador - This psector does not match the current one. Value of current psector will be updated. - This psector does not match the current one. Value of current psector will be updated. - - - This psector does not match the current one. Value of current psector will be updated. - This psector does not match the current one. Value of current psector will be updated. - - - This psector does not match the current one. Value of current psector will be updated. - This psector does not match the current one. Value of current psector will be updated. - - - The csv file has been successfully exported - The csv file has been successfully exported - - - You have to set this parameter - You have to set this parameter - - - You have to set this parameter - You have to set this parameter - - - There are missing values in these nodes: - There are missing values in these nodes: - - - Profile name is mandatory. - Profile name is mandatory. - - - Toolbox task is already active! - Toolbox task is already active! - - - The csv file has been successfully exported - The csv file has been successfully exported - - - QGIS version is not compatible with Giswater. Please check wiki - QGIS version is not compatible with Giswater. Please check wiki - - - PostgreSQL version is not compatible with Giswater. Please check wiki - PostgreSQL version is not compatible with Giswater. Please check wiki - - - QGIS project has more than one v_edit_node layer coming from different schemas. - QGIS project has more than one v_edit_node layer coming from different schemas. - - - This SRID value does not exist on Postgres Database. Please select a diferent one. - This SRID value does not exist on Postgres Database. Please select a diferent one. - - - This process will take time (few minutes). Are you sure to continue? - This process will take time (few minutes). Are you sure to continue? - - - The 'Path' field is required for Import INP data. - The 'Path' field is required for Import INP data. + You don't have permissions to administrate project schemas on this connection + No tienes permisos para administrar esquemas de proyecto en esta conexión - The selected INP file does not match with a 'UD' project.n - The selected INP file does not match with a 'UD' project.n + The field layoutorder is not configured for + El nombre del diseño del campo no está configurado para This param is mandatory. Please @@ -1661,8 +1509,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Haga clic en el nodo que une dos tuberías para eliminarlo y fusionar tuberías - Click on feature to change its type - Haga clic en la caracteristica para cambiar su tipo + The 'Path' field is required for Import INP data. + El campo 'Ruta' es obligatorio para importar datos INP. + + + Mincut done + Mincut hecho, pero tiene conflicto y se superpone con Connect link task is already active! @@ -1709,8 +1561,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Falta el campo obligatorio. Por favor ingrese un valor - Mincut done - Mincut hecho, pero tiene conflicto y se superpone con + Profile name is mandatory. + El nombre del perfil es obligatorio. + + + This process will take time (few minutes). Are you sure to continue? + Este proceso llevará tiempo (unos minutos). ¿Estás seguro de continuar? Mincut done successfully @@ -1737,172 +1593,48 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Falta el campo obligatorio. Por favor ingrese un valor - The selected INP file does not match with a 'WS' project.n - The selected INP file does not match with a 'WS' project.n + Toolbox task is already active! + ¡La tarea Toolbox ya está activa! - The 'Project_name' field is required. - The 'Project_name' field is required. - - - The project name can't have any upper-case characters - The project name can't have any upper-case characters - - - The project name has invalid character - The project name has invalid character - - - The project name can't be a PostgreSQL reserved keyword - The project name can't be a PostgreSQL reserved keyword - - - The 'Description' field is required. - The 'Description' field is required. - - - This project name alredy exist. - This project name alredy exist. - - - The schema version has to be updated to make rename - The schema version has to be updated to make rename - - - There is no project selected or it is not valid. Please check the first tab... - There is no project selected or it is not valid. Please check the first tab... - - - This project name alredy exist. - This project name alredy exist. - - - Process finished successfully - Process finished successfully - - - The QGIS Projects templates was correctly created. - The QGIS Projects templates was correctly created. - - - You don't have any connection to PostGIS database configurated. - You don't have any connection to PostGIS database configurated. - - - You need to have a ws and ud schema created to create a utils schema - You need to have a ws and ud schema created to create a utils schema - - - Some mandatory values are missing. Please check the widgets marked in red. - Some mandatory values are missing. Please check the widgets marked in red. - - - Widget expl_id not found - Widget expl_id not found - - - There was an error deleting object values. - There was an error deleting object values. - - - There was an error deleting object. - There was an error deleting object. - - - There was an error inserting curve. - There was an error inserting curve. - - - There was an error deleting old curve values. - There was an error deleting old curve values. - - - You need at least one row of values. - You need at least one row of values. - - - There was an error inserting curve value. - There was an error inserting curve value. - - - There was an error inserting pattern. - There was an error inserting pattern. - - - There was an error deleting old curve values. - There was an error deleting old curve values. - - - You need at least one row of values. - You need at least one row of values. - - - There was an error inserting pattern value. - There was an error inserting pattern value. - - - There was an error inserting pattern. - There was an error inserting pattern. - - - There was an error deleting old pattern values. - There was an error deleting old pattern values. - - - You need at least one row of values. - You need at least one row of values. - - - There was an error inserting pattern value. - There was an error inserting pattern value. - - - There was an error inserting control. - There was an error inserting control. - - - There was an error inserting control. - There was an error inserting control. - - - There was an error inserting timeseries. - There was an error inserting timeseries. + This psector does not match the current one. Value of current psector will be updated. + Este psector no coincide con el actual. Se actualizará el valor del psector actual. - There was an error deleting old timeseries values. - There was an error deleting old timeseries values. + The csv file has been successfully exported + El archivo csv se ha exportado correctamente - You need at least one row of values. - You need at least one row of values. + You have to set this parameter + Tienes que configurar este parámetro. - There was an error inserting pattern value. - There was an error inserting pattern value. + Click on feature to change its type + Haga clic en el elemento para cambiar su tipo - You have to fill in 'time' and 'value' fields! - You have to fill in 'time' and 'value' fields! + Real location has been updated + La ubicación real ha sido actualizada - There was an error inserting pattern value. - There was an error inserting pattern value. + You have to set this parameter + Tienes que configurar este parámetro. - There was an error inserting lid. - There was an error inserting lid. + The name is currently in use + El nombre está actualmente en uso - There was an error deleting old lid values. - There was an error deleting old lid values. + Price list csv file name is required + Se requiere el nombre del archivo csv de la lista de precios - There was an error inserting lid. - There was an error inserting lid. + This psector does not match the current one. Value of current psector will be updated. + Este psector no coincide con el actual. Se actualizará el valor del psector actual. - Your exploitation selector has been updated - Your exploitation selector has been updated + The csv file has been successfully exported + El archivo csv se ha exportado correctamente Are you sure you want to overwrite this file? @@ -1937,112 +1669,112 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Ningún documento seleccionado. - This will modify your inp file - This will modify your inp file + You have to fill in 'time' and 'value' fields! + ¡Tienes que completar los campos de 'tiempo' y 'valor'! - You closed a valve - You closed a valve + You have to fill in 'date' + ¡Tienes que completar los campos de 'tiempo' y 'valor'! Cannot create file No se puede crear el archivo, verifique si está abierto - You have to fill in 'date' - You have to fill in 'date' + You need at least one row of values. + Necesita al menos una fila de valores. - WARNING: You have updated the status value to EXECUTED (Save Trace). If you click 'Accept' on - WARNING: You have updated the status value to EXECUTED (Save Trace). If you click 'Accept' on + The project name can't have any upper-case characters + El nombre del proyecto no puede tener caracteres en mayúscula - WARNING: You have updated the status value to CANCELED (Save Trace). If you click 'Accept' on - WARNING: You have updated the status value to CANCELED (Save Trace). If you click 'Accept' on + The project name has invalid character + El nombre del proyecto tiene un carácter no válido. - WARNING: You have updated the status value to EXECUTED (Set OPERATIVE and Save Trace). If you - WARNING: You have updated the status value to EXECUTED (Set OPERATIVE and Save Trace). If you + The schema version has to be updated to make rename + Este nombre de proyecto ya existe. - Psector values updated successfully - Psector values updated successfully + The 'Project_name' field is required. + El campo 'Project_name' es obligatorio. - Your exploitation selector has been updated - Your exploitation selector has been updated + This project name alredy exist. + Este nombre de proyecto ya existe. - Save as - Save as + There was an error deleting object values. + Se produjo un error al eliminar los valores de los objetos. - There were velocities >50 in the rpt file. You have activated the option to force the import - There were velocities >50 in the rpt file. You have activated the option to force the import + The 'Description' field is required. + El campo 'Descripción' es obligatorio. - Work_id field is empty - Work_id field is empty + There was an error deleting object. + Hubo un error al eliminar el objeto. - This Workcat already exist - This Workcat already exist + There was an error deleting old curve values. + Se produjo un error al eliminar los valores de curva antiguos. - Work_id field is empty - Work_id field is empty + There was an error deleting old pattern values. + Se produjo un error al eliminar los valores de patrones antiguos. - This Workcat is already exist - This Workcat is already exist + There was an error inserting control. + Hubo un error al insertar el control. - Select valid INP file - Select valid INP file + There was an error inserting curve value. + Hubo un error al insertar el valor de la curva. - Select valid RPT file - Select valid RPT file + There was an error inserting curve. + Hubo un error al insertar la curva. - You need to select at least one process - You need to select at least one process + There was an error inserting lid. + Hubo un error al insertar la tapa. - Select valid RPT file - Select valid RPT file + There was an error inserting pattern value. + Hubo un error al insertar el valor del patrón. - Result name not found. It's not possible to import RPT file into database - Result name not found. It's not possible to import RPT file into database + There was an error inserting pattern value. + Hubo un error al insertar el valor del patrón. - You need to select some sector - You need to select some sector + There was an error inserting pattern. + Hubo un error al insertar el patrón. - Table_object is not a table name or QTableView - Table_object is not a table name or QTableView + There was an error inserting timeseries. + Hubo un error al insertar series de tiempo. - Table_object is not a table name or QTableView - Table_object is not a table name or QTableView + This project name alredy exist. + Este nombre de proyecto ya existe. - Reset position form done successfully. - Reset position form done successfully. + Widget expl_id not found + Widget expl_id no encontrado - Service database connection error (QSqlDatabase). Please open plugin log file to get more details - Service database connection error (QSqlDatabase). Please open plugin log file to get more details + You need at least one row of values. + Necesita al menos una fila de valores. - Service database connection error (psycopg2). Please open plugin log file to get more details - Service database connection error (psycopg2). Please open plugin log file to get more details + You need at least one row of values. + Necesita al menos una fila de valores. - Table_object is not a table name or QTableView - Table_object is not a table name or QTableView + Process finished successfully + Proceso finalizado con éxito A rollback on schema will be done. @@ -2109,28 +1841,80 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Archivo INP no encontrado - New feature type is null. Please - El nuevo tipo de característica es nulo. Por favor, seleccione un valor válido + Your exploitation selector has been updated + Tu selector de explotación ha sido actualizado - This parameter is mandatory. Please - This parameter is mandatory. Please + WARNING: You have updated the status value to EXECUTED (Set OPERATIVE and Save Trace). If you + ADVERTENCIA: Ha actualizado el valor de estado a EJECUTADO (Establecer OPERATIVO y Guardar Traza). Si usted No composers found. No se encontraron compositores. - You closed a valve - You closed a valve + This Workcat is already exist + Este Workcat ya existe - The node is obsolete - The node is obsolete + Select valid INP file + Seleccione un archivo INP válido + + + Reset position form done successfully. + Restablecer formulario de posición realizado con éxito. Result name already exists - Result name already exists + El nombre del resultado ya existe, ¿quieres sobrescribirlo? + + + Save as + Guardar como + + + Select valid RPT file + Seleccione un archivo RPT válido + + + Select valid RPT file + Seleccione un archivo RPT válido + + + Table_object is not a table name or QTableView + Table_object no es un nombre de tabla o QTableView + + + Table_object is not a table name or QTableView + Table_object no es un nombre de tabla o QTableView + + + The node is obsolete + El nodo está obsoleto, esta herramienta no funciona con nodos obsoletos. + + + This Workcat already exist + Este Workcat ya existe + + + This parameter is mandatory. Please + Este parámetro es obligatorio. Por favor, establezca un valor + + + Work_id field is empty + El campo Work_id está vacío + + + Work_id field is empty + El campo Work_id está vacío + + + You closed a valve + Cerró una válvula, esto modificará las zonas del mapa actuales y puede llevar un poco de tiempo. + + + You need to select some sector + Tienes que seleccionar algún sector Click on feature to replace it with a new one. You can select other layer to snapp diferent feature type. @@ -2232,10 +2016,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Mandatory field is missing. Please Falta el campo obligatorio. Por favor ingrese un valor - - Error updating element in table - Error al actualizar el elemento en la tabla, deb revisar los datos - Mincut done Mincut hecho, pero tiene conflicto y se superpone con @@ -2268,97 +2048,269 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Please Por favor, seleccione un proyecto para eliminar - - You cannot insert more than one feature at the same time - You cannot insert more than one feature at the same time - - - You cannot insert more than one feature at the same time - You cannot insert more than one feature at the same time - Current node is not located over an arc. Please El nodo actual no está ubicado sobre un arco. Por favor - New feature type is null. Please - El nuevo tipo de característica es nulo. Por favor, seleccione un valor válido + Error updating element in table + Error al actualizar el elemento en la tabla, deb revisar los datos - - - - - admin_addfields - lbl_action_function - Función de acción: + Price list csv file name is required + Se requiere el nombre del archivo csv de la lista de precios - tooltip_lbl_action_function - None + QGIS version is not compatible with Giswater. Please check wiki + La versión de QGIS no es compatible con Giswater. Por favor revise la wiki - lbl_widget_function - Función del widget: + Service database connection error (QSqlDatabase). Please open plugin log file to get more details + Error de conexión de la base de datos del servicio (QSqlDatabase). Abra el archivo de registro del complemento para obtener más detalles. - tooltip_lbl_widget_function - None + Some mandatory values are missing. Please check the widgets marked in red. + Faltan algunos valores obligatorios. Compruebe los widgets marcados en rojo. - tab_update - Actualizar + Table_object is not a table name or QTableView + Table_object no es un nombre de tabla o QTableView - tooltip_tab_update - None + The field layoutname is not configured for + El nombre del diseño del campo no está configurado para - lbl_label - Etiqueta: + The project name can't be a PostgreSQL reserved keyword + El nombre del proyecto no puede ser una palabra clave reservada de PostgreSQL - tooltip_lbl_label - None + The selected INP file does not match with a 'WS' project.n + El archivo INP seleccionado no coincide con un proyecto 'WS'.n - btn_accept - Aceptar + There are missing values in these nodes: + Faltan valores en estos nodos: - tooltip_btn_accept - Aceptar + There was an error deleting old curve values. + Se produjo un error al eliminar los valores de curva antiguos. - grb_additional - Configuracíon adicional + There was an error deleting old lid values. + Se produjo un error al eliminar los valores de lid antiguos. - tooltip_grb_additional - None + There was an error inserting control. + Hubo un error al insertar el control. - lbl_tooltip - Tooltip: + There was an error inserting pattern value. + Hubo un error al insertar el valor del patrón. - tooltip_lbl_tooltip - None + There was an error inserting pattern. + Hubo un error al insertar el patrón. - tab_delete - Borrar + Unable to create Postgis extension. Packages must be installed + No se puede crear la extensión de Postgis. Los paquetes deben estar instalados, consulte a su administrador - tooltip_tab_delete + Variable log_sql from user config file has been disabled. + Se ha habilitado la variable log_sql del archivo de configuración del usuario. + + + Variable log_sql from user config file has been enabled. + Se ha habilitado la variable log_sql del archivo de configuración del usuario. + + + You cannot insert more than one feature at the same time + No puede insertar más de un elemento al mismo tiempo, termine de editar el elemento anterior + + + New feature type is null. Please + El nuevo tipo de elemento es nulo. Por favor, seleccione un valor válido + + + PostgreSQL version is not compatible with Giswater. Please check wiki + La versión de PostgreSQL no es compatible con Giswater. Por favor revise la wiki + + + QGIS project has more than one v_edit_node layer coming from different schemas. + El proyecto QGIS tiene más de una capa v_edit_node proveniente de diferentes esquemas. + + + Result name not found. It's not possible to import RPT file into database + Nombre del resultado no encontrado. No es posible importar el archivo RPT a la base de datos + + + Service database connection error (psycopg2). Please open plugin log file to get more details + Error de conexión de la base de datos del servicio (psycopg2). Abra el archivo de registro del complemento para obtener más detalles. + + + The QGIS Projects templates was correctly created. + Las plantillas de proyectos de QGIS se crearon correctamente. + + + The selected INP file does not match with a 'UD' project.n + El archivo INP seleccionado no coincide con un proyecto 'UD'.n + + + There is no project selected or it is not valid. Please check the first tab... + No hay ningún proyecto seleccionado o no es válido. Por favor revisa la primera pestaña... + + + There was an error deleting old timeseries values. + Se produjo un error al eliminar los valores antiguos de series temporales. + + + There was an error inserting lid. + Hubo un error al insertar la tapa. + + + There was an error inserting pattern value. + Hubo un error al insertar el valor del patrón. + + + There were velocities >50 in the rpt file. You have activated the option to force the import + Había velocidades >50 en el archivo rpt. Has activado la opción de forzar la importación + + + This SRID value does not exist on Postgres Database. Please select a diferent one. + Este valor SRID no existe en la base de datos de Postgres. Seleccione uno diferente. + + + This psector does not match the current one. Value of current psector will be updated. + Este psector no coincide con el actual. Se actualizará el valor del psector actual. + + + This will modify your inp file + Esto modificará su archivo inp, por lo que se creará una copia de seguridad.\n \ + + + Unable to create Postgis extension. Packages must be installed + No se puede crear la extensión de Postgis. Los paquetes deben estar instalados, consulte a su administrador + + + Unable to create fuzzystrmatch extension. Packages must be installed + No se puede crear la extensión fuzzystrmatch. Los paquetes deben estar instalados, consulte a su administrador + + + WARNING: You have updated the status value to CANCELED (Save Trace). If you click 'Accept' on + ADVERTENCIA: ha actualizado el valor de estado a CANCELADO (Guardar seguimiento). Si hace clic en 'Aceptar' en + + + You cannot insert more than one feature at the same time + No puede insertar más de un elemento al mismo tiempo, termine de editar el elemento anterior + + + You don't have any connection to PostGIS database configurated. + No tiene ninguna conexión a la base de datos PostGIS configurada. + + + You need to have a ws and ud schema created to create a utils schema + Debe tener un esquema ws y ud creado para crear un esquema utils + + + You need to select at least one process + Debe seleccionar al menos un proceso + + + Psector values updated successfully + Valores de psector actualizados con éxito + + + You need at least one row of values. + Necesita al menos una fila de valores. + + + WARNING: You have updated the status value to EXECUTED (Save Trace). If you click 'Accept' on + ADVERTENCIA: ha actualizado el valor de estado a EJECUTADO (Guardar seguimiento). Si hace clic en 'Aceptar' en + + + You closed a valve + Cerró una válvula, esto modificará las zonas del mapa actuales y puede llevar un poco de tiempo. + + + New feature type is null. Please + El nuevo tipo de elemento es nulo. Por favor, seleccione un valor válido + + + Calculate Priority + Calcular Prioridad + + + Database connection error (PgDao). Please open plugin log file to get more details + Error de conexión a la base de datos (PgDao). Por favor abra el archivo de registro del plugin para obtener más detalles + + + Do you want to proceed? + ¿Desea continuar? + + + Document PDF created in + Documento PDF creado en + + + Expression Error + Error de expresión + + + Max rleak: {rleak} leaks/km.year. + Max rleak: {rleak} fugas/km.año. + + + Mincut done, but has conflict and overlaps with + Polígono de corte hecho, pero tiene conflicto y se superpone con + + + No results found. Please check values set on selector of state and exploitation + No se han encontrado resultados. Verifique los valores establecidos en el selector de estado y explotacion + + + Please enter the diameter range in this format: [minimum factor]-[maximum factor]. For example, 0.75-1.5 + Por favor, introduzca el intervalo de diámetros en este formato: [factor mínimo]-[factor máximo]. Por ejemplo, 0.75-1.5 + + + Task canceled: The number of years is greater than the interval disponible. + Tarea cancelada: El número de años es mayor que el intervalo disponible. + + + The sum of weights must equal 1. Please adjust the values accordingly. + La suma de los pesos debe ser igual a 1. Ajuste los valores de acuerdo a esta condición. + + + There are no visible mincuts in the table. Try a different filter + No hay polígonos de corte visibles en la tabla. Pruebe un filtro diferente + + + You need to select a template + Necesita seleccionar una plantilla + + + Your exploitation selector has been updated + Tu selector de explotación ha sido actualizado + + + + + + admin_addfields + + tab_update + Actualizar + + + tooltip_tab_update None - lbl_linkedobject - Objeto vinculado: + lbl_column_id + Nombre columna: - tooltip_lbl_linkedobject + tooltip_lbl_column_id None @@ -2370,35 +2322,43 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_placeholder - Marcador de posición + grb_additional + Configuracíon adicional - tooltip_lbl_placeholder + tooltip_grb_additional None - lbl_editability - Editabilidad: + lbl_null_value + Valor nulo: - tooltip_lbl_editability + tooltip_lbl_null_value None - lbl_editable - Editable: + lbl_label + Etiqueta: - tooltip_lbl_editable + tooltip_lbl_label None - lbl_null_value - Valor nulo: + lbl_field_length + Longitud campo: - tooltip_lbl_null_value + tooltip_lbl_field_length + None + + + lbl_active + Activo: + + + tooltip_lbl_active None @@ -2410,51 +2370,51 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_typeahead - Mecanografiar: + tab_delete + Borrar - tooltip_lbl_typeahead + tooltip_tab_delete None - lbl_stylesheet - Hoja de estilo: + lbl_typeahead + Mecanografiar: - tooltip_lbl_stylesheet + tooltip_lbl_typeahead None - lbl_parent - Es padre: + lbl_tooltip + Tooltip: - tooltip_lbl_parent + tooltip_lbl_tooltip None - lbl_parent_id - Id del padre: + lbl_stylesheet + Hoja de estilo: - tooltip_lbl_parent_id + tooltip_lbl_stylesheet None - grb_mandatory - Configuración obligatoria de campos añadidos + lbl_placeholder + Marcador de posición - tooltip_grb_mandatory + tooltip_lbl_placeholder None - lbl_enabled - Habilitado: + lbl_linkedobject + Objeto vinculado: - tooltip_lbl_enabled + tooltip_lbl_linkedobject None @@ -2466,35 +2426,43 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_auto_update - Auto actualizable: + lbl_action_function + Función de acción: - tooltip_lbl_auto_update + tooltip_lbl_action_function None - lbl_mandatory - Obligatorio: + dlg_main_addfields + Diálogo - tooltip_lbl_mandatory + tooltip_dlg_main_addfields None - lbl_not_update - No actualizado: + lbl_data_type + Tipo dato: - tooltip_lbl_not_update + tooltip_lbl_data_type None - lbl_num_dec - Número decimales: + lbl_form_type + Tipo formulario: - tooltip_lbl_num_dec + tooltip_lbl_form_type + None + + + lbl_parent_id + Id del padre: + + + tooltip_lbl_parent_id None @@ -2506,11 +2474,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Cancelar - lbl_active - Activo: + lbl_parent + Es padre: - tooltip_lbl_active + tooltip_lbl_parent None @@ -2521,6 +2489,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_widgetcontrols Ejemplo de la configuración {"widgetdim": 150,"setMultiline":true,"vdefault": "01-01-2014", "filterSign": ">} + + lbl_query_text + Texto de consulta: + + + tooltip_lbl_query_text + None + tab_create Crear @@ -2529,6 +2505,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_tab_create None + + lbl_query_filter + Filtro texto consulta: + + + tooltip_lbl_query_filter + None + lbl_reload_field Recargar campo: @@ -2538,72 +2522,88 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_form_type - Tipo formulario: + lbl_num_dec + Número decimales: - tooltip_lbl_form_type + tooltip_lbl_num_dec None - lbl_column_id - Nombre columna: + lbl_not_update + No actualizado: - tooltip_lbl_column_id + tooltip_lbl_not_update None - lbl_query_text - Texto de consulta: + lbl_mandatory + Obligatorio: - tooltip_lbl_query_text + tooltip_lbl_mandatory None - lbl_data_type - Tipo dato: + lbl_enabled + Habilitado: - tooltip_lbl_data_type + tooltip_lbl_enabled None - lbl_query_filter - Filtro texto consulta: + btn_accept + Aceptar - tooltip_lbl_query_filter + tooltip_btn_accept + Aceptar + + + grb_mandatory + Configuración obligatoria de campos añadidos + + + tooltip_grb_mandatory None - dlg_main_addfields - Diálogo + lbl_editable + Editable: - tooltip_dlg_main_addfields + tooltip_lbl_editable None - lbl_field_length - Longitud campo: + lbl_auto_update + Auto actualizable: - tooltip_lbl_field_length + tooltip_lbl_auto_update None - - - admin_credentials - lbl_connec - Conexión: + lbl_widget_function + Función del widget: - tooltip_lbl_connec + tooltip_lbl_widget_function + None + + + lbl_editability + Editabilidad: + + + tooltip_lbl_editability None + + + admin_credentials btn_accept Aceptar @@ -2613,11 +2613,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Aceptar - lbl_connection_message - No se pudieron recuperar los parámetros de conexión para: + dlg_main_credentials + Diálogo - tooltip_lbl_connection_message + tooltip_dlg_main_credentials None @@ -2637,24 +2637,40 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - dlg_main_credentials - Diálogo + lbl_connection_message + No se pudieron recuperar los parámetros de conexión para: - tooltip_dlg_main_credentials + tooltip_lbl_connection_message + None + + + lbl_connec + Conexión: + + + tooltip_lbl_connec None admin_dbproject - btn_push_file - ... + dlg_main_dbproject + Crear proyecto - tooltip_btn_push_file + tooltip_dlg_main_dbproject None + + lbl_filter + Filtrar SRID: + + + tooltip_lbl_filter + Identificador de la referencia espacial. Solo se permiten los valores que se muestran en la tabla + btn_close Cerrar @@ -2664,12 +2680,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Cerrar - lbl_project_name - Nombre proyecto: + btn_accept + Aceptar - tooltip_lbl_project_name - Nombre de un esquema nuevo. El nombre debe escribirse en minúsculas, utilizando solo letras del alfabeto inglés y sin espacios ni guiones + tooltip_btn_accept + Aceptar lbl_locale @@ -2680,47 +2696,39 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Idioma del esquema - grb_projectschema - Configuracion del esquema de proyecto + btn_push_file + ... - tooltip_grb_projectschema + tooltip_btn_push_file None - lbl_filter - Filtrar SRID: - - - tooltip_lbl_filter - Identificador de la referencia espacial. Solo se permiten los valores que se muestran en la tabla - - - btn_accept - Aceptar + grb_projectschema + Configuracion del esquema de proyecto - tooltip_btn_accept - Aceptar + tooltip_grb_projectschema + None - dlg_main_dbproject - Crear proyecto + lbl_project_name + Nombre proyecto: - tooltip_dlg_main_dbproject - None + tooltip_lbl_project_name + Nombre de un esquema nuevo. El nombre debe escribirse en minúsculas, utilizando solo letras del alfabeto inglés y sin espacios ni guiones admin_gisproject - btn_close - Cerrar + lbl_gis_folder + Carpeta: - tooltip_btn_close - Cerrar + tooltip_lbl_gis_folder + None btn_gis_folder @@ -2731,11 +2739,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_gis_folder - Carpeta: + lbl_role + Tipo rol: - tooltip_lbl_gis_folder + tooltip_lbl_role None @@ -2746,14 +2754,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_gis_file None - - lbl_role - Tipo rol: - - - tooltip_lbl_role - None - btn_accept Aceptar @@ -2762,6 +2762,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_accept Aceptar + + btn_close + Cerrar + + + tooltip_btn_close + Cerrar + dlg_main_gisproject Crear proyecto QGIS @@ -2782,19 +2790,27 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información admin_importinp - tab_config - Configuración + btn_run + Ejecutar - tooltip_tab_config + tooltip_btn_run None - btn_run - Ejecutar + tab_loginfo + Info log - tooltip_btn_run + tooltip_tab_loginfo + None + + + tab_config + Configuración + + + tooltip_tab_config None @@ -2813,17 +2829,17 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_close Cerrar + + + admin_projectinfo - tab_loginfo - Info log + dlg_main_projectinfo + Actualizar SQL - tooltip_tab_loginfo + tooltip_dlg_main_projectinfo None - - - admin_projectinfo btn_update Actualizar @@ -2832,6 +2848,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_update None + + lbl_info + Información sobre nuevas actualizaciones + + + tooltip_lbl_info + None + btn_close Cerrar @@ -2840,40 +2864,40 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_close Cerrar + + + admin_qtdialog - dlg_main_projectinfo - Actualizar SQL + btn_path + ... - tooltip_dlg_main_projectinfo + tooltip_btn_path None - lbl_info - Información sobre nuevas actualizaciones + dlg_main_qtdialog + Diálogo - tooltip_lbl_info + tooltip_dlg_main_qtdialog None - - - admin_qtdialog - lbl_path - Ruta UI + lbl_formname + Nombre formulario: - tooltip_lbl_path + tooltip_lbl_formname None - lbl_formname - Nombre formulario: + btn_cancel + Cancelar - tooltip_lbl_formname - None + tooltip_btn_cancel + Cancelar btn_accept @@ -2884,13 +2908,16 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Aceptar - dlg_main_qtdialog - Diálogo + lbl_path + Ruta UI - tooltip_dlg_main_qtdialog + tooltip_lbl_path None + + + admin_renameproj btn_cancel Cancelar @@ -2899,17 +2926,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_cancel Cancelar - - btn_path - ... - - - tooltip_btn_path - None - - - - admin_renameproj lbl_rename_copy Por favor, configure un nuevo nombre de proyecto: @@ -2934,47 +2950,47 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_dlg_readsq_rename None + + + admin_sysfields - btn_cancel - Cancelar + lbl_form_name + Nombre formulario: - tooltip_btn_cancel - Cancelar + tooltip_lbl_form_name + None - - - admin_sysfields - lbl_editable - Editable: + grb_basic_conf + Configuracíon básica - tooltip_lbl_editable + tooltip_grb_basic_conf None - lbl_editability - Editabilidad: + grb_additional_conf + Configuracíon adicional - tooltip_lbl_editability + tooltip_grb_additional_conf None - btn_accept - Aceptar + lbl_hidden + Oculto: - tooltip_btn_accept - Aceptar + tooltip_lbl_hidden + None - lbl_mandatory - Obligatorio: + lbl_label + Etiqueta: - tooltip_lbl_mandatory + tooltip_lbl_label None @@ -2986,52 +3002,52 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_layout_order - Orden de diseño: + lbl_enabled + Habilitado: - tooltip_lbl_layout_order + tooltip_lbl_enabled None - lbl_layout_name - Nombre de diseño: + lbl_editable + Editable: - tooltip_lbl_layout_name + tooltip_lbl_editable None - grb_basic_conf - Configuracíon básica + lbl_editability + Editabilidad: - tooltip_grb_basic_conf + tooltip_lbl_editability None - lbl_placeholder - Marcador de posición: + lbl_column_id + Id columna: - tooltip_lbl_placeholder + tooltip_lbl_column_id None - dlg_main_sysfields - Diálogo + tab_update + Actualizar - tooltip_dlg_main_sysfields + tooltip_tab_update None - tab_create - Crear + btn_accept + Aceptar - tooltip_tab_create - None + tooltip_btn_accept + Aceptar btn_open @@ -3042,51 +3058,27 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_column_id - Id columna: - - - tooltip_lbl_column_id - None - - - lbl_tooltip - Tooltip: - - - tooltip_lbl_tooltip - None - - - grb_additional_conf - Configuracíon adicional - - - tooltip_grb_additional_conf - None - - - lbl_label - Etiqueta: + lbl_layout_name + Nombre de diseño: - tooltip_lbl_label + tooltip_lbl_layout_name None - lbl_enabled - Habilitado: + btn_cancel + Cancelar - tooltip_lbl_enabled - None + tooltip_btn_cancel + Cancelar - lbl_hidden - Oculto: + tab_create + Crear - tooltip_lbl_hidden + tooltip_tab_create None @@ -3098,86 +3090,86 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Ejemplo de configuration keys {"widgetdim": 150,"setMultiline":true,"vdefault": "01-01-2014", "filterSign": ">} - btn_cancel - Cancelar + dlg_main_sysfields + Diálogo - tooltip_btn_cancel - Cancelar + tooltip_dlg_main_sysfields + None - lbl_form_name - Nombre formulario: + lbl_layout_order + Orden de diseño: - tooltip_lbl_form_name + tooltip_lbl_layout_order None - tab_update - Actualizar + lbl_mandatory + Obligatorio: - tooltip_tab_update + tooltip_lbl_mandatory None - - - admin_translation - chk_py_msg - Traducir formularios y mensajes python + lbl_placeholder + Marcador de posición: - tooltip_chk_py_msg + tooltip_lbl_placeholder None - lbl_port - Puerto: + lbl_tooltip + Tooltip: - tooltip_lbl_port + tooltip_lbl_tooltip None + + + admin_translation - lbl_scode - Código fuente: + chk_db_msg + Traducir mensajes base de datos - tooltip_lbl_scode + tooltip_chk_db_msg None - grb_translate_files - Traducir archivos + chk_py_msg + Traducir formularios y mensajes python - tooltip_grb_translate_files + tooltip_chk_py_msg None - btn_connection - Probar conexión + grb_translate_files + Traducir archivos - tooltip_btn_connection + tooltip_grb_translate_files None - chk_db_msg - Traducir mensajes base de datos + lbl_database + Base de datos: - tooltip_chk_db_msg + tooltip_lbl_database None - lbl_host - Anfitrión: + lbl_port + Puerto: - tooltip_lbl_host + tooltip_lbl_port None @@ -3188,14 +3180,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_grb_info_connection None - - lbl_user - Usuario: - - - tooltip_lbl_user - None - lbl_language Idioma: @@ -3213,11 +3197,35 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_database - Base de datos: + lbl_host + Anfitrión: - tooltip_lbl_database + tooltip_lbl_host + None + + + lbl_user + Usuario: + + + tooltip_lbl_user + None + + + lbl_scode + Código fuente: + + + tooltip_lbl_scode + None + + + btn_connection + Probar conexión + + + tooltip_btn_connection None @@ -3231,14 +3239,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_project_type Tipo de proyecto giswater - - tab_schema_manager - Administrador de esquema - - - tooltip_tab_schema_manager - None - lbl_name Nombre: @@ -3287,14 +3287,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_system_feature None - - tab_general - General - - - tooltip_tab_general - None - lbl_add_fields_feature Nombre del elemento: @@ -3303,14 +3295,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_add_fields_feature None - - btn_info - Actualizar Esquema - - - tooltip_btn_info - Actualizar version del esquema seleccionado - btn_import_ui Importar @@ -3327,22 +3311,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_tab_fields_manager None - - dlg_main - Giswater - - - tooltip_dlg_main - None - - - btn_copy - Copiar - - - tooltip_btn_copy - Copiar el esquema de base de datos seleccionado - grb_manage_sys_fields Administrar campos de sistema @@ -3423,14 +3391,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_update_field None - - btn_constrains - Restricciones - - - tooltip_btn_constrains - None - btn_custom_select_file ... @@ -3472,91 +3432,123 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_close - Cerrar + lbl_connection + Nombre conexión: - tooltip_btn_close - Cerrar + tooltip_lbl_connection + Nombre de la conexión de base de datos definida en QGIS - btn_translation - Archivos de traduccion + btn_create_qgis_template + Plantillas QGIS - tooltip_btn_translation + tooltip_btn_create_qgis_template None - btn_export_ui - Exportar + lbl_reload_func_sch + Recargar funciones: - tooltip_btn_export_ui + tooltip_lbl_reload_func_sch None - lbl_connection - Nombre conexión: + btn_path + ... - tooltip_lbl_connection - Nombre de la conexión de base de datos definida en QGIS + tooltip_btn_path + None - btn_delete_field + btn_delete Borrar - tooltip_btn_delete_field + tooltip_btn_delete + Eliminar el esquema de base de datos seleccionado + + + btn_update_schema + Ejecutar + + + tooltip_btn_update_schema None - btn_create_qgis_template - Plantillas QGIS + btn_schema_file_to_db + Archivo a BBDD - tooltip_btn_create_qgis_template + tooltip_btn_schema_file_to_db None - lbl_reload_func_sch - Recargar funciones: + btn_update_sys_field + Actualizar - tooltip_lbl_reload_func_sch + tooltip_btn_update_sys_field None - btn_create_view - Crear + btn_schema_create + Crear esquema proyecto BBDD - tooltip_btn_create_view + tooltip_btn_schema_create None - btn_create_field - Crear + grb_manage_childviews + Administrar vistas secundarias + + + tooltip_grb_manage_childviews + Recrear vistas secundarias para un tipo de elemento seleccionado o para todos los tipos de elementos definidos en un proyecto + + + lbl_child_feature + Nombre del elemento: + + + tooltip_lbl_child_feature + None + + + tab_schema_manager + Administrador de esquema + + + tooltip_tab_schema_manager + None + + + tab_api_manager + Administrador de Api - tooltip_btn_create_field + tooltip_tab_api_manager None - btn_schema_rename - Renombrar + btn_visit_update + Actualizar - tooltip_btn_schema_rename - Renombrar el esquema de base de datos seleccionado + tooltip_btn_visit_update + None - btn_visit_create - Crear + btn_visit_delete + Borrar - tooltip_btn_visit_create + tooltip_btn_visit_delete None @@ -3568,112 +3560,112 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_path - ... + btn_visit_create + Crear - tooltip_btn_path + tooltip_btn_visit_create None - btn_delete - Borrar + btn_schema_rename + Renombrar - tooltip_btn_delete - Eliminar el esquema de base de datos seleccionado + tooltip_btn_schema_rename + Renombrar el esquema de base de datos seleccionado - btn_visit_delete - Borrar + btn_create_field + Crear - tooltip_btn_visit_delete + tooltip_btn_create_field None - btn_visit_update - Actualizar + btn_create_view + Crear - tooltip_btn_visit_update + tooltip_btn_create_view None - btn_update_schema - Ejecutar + btn_delete_field + Borrar - tooltip_btn_update_schema + tooltip_btn_delete_field None - btn_schema_file_to_db - Archivo a BBDD + btn_export_ui + Exportar - tooltip_btn_schema_file_to_db + tooltip_btn_export_ui None - btn_update_sys_field - Actualizar + btn_translation + Archivos de traduccion - tooltip_btn_update_sys_field + tooltip_btn_translation None - tab_api_manager - Administrador de Api + btn_close + Cerrar - tooltip_tab_api_manager - None + tooltip_btn_close + Cerrar - btn_schema_create - Crear esquema proyecto BBDD + btn_constrains + Restricciones - tooltip_btn_schema_create + tooltip_btn_constrains None - grb_manage_childviews - Administrar vistas secundarias + btn_copy + Copiar - tooltip_grb_manage_childviews - Recrear vistas secundarias para un tipo de elemento seleccionado o para todos los tipos de elementos definidos en un proyecto + tooltip_btn_copy + Copiar el esquema de base de datos seleccionado - lbl_child_feature - Nombre del elemento: + dlg_main + Giswater - tooltip_lbl_child_feature + tooltip_dlg_main None - - - admin_visitclass - lbl_param_opt - Opciones parámetro: + btn_info + Actualizar Esquema - tooltip_lbl_param_opt - None + tooltip_btn_info + Actualizar version del esquema seleccionado - lbl_descript - Descripción: + tab_general + General - tooltip_lbl_descript + tooltip_tab_general None + + + admin_visitclass btn_class_cancel Cancelar @@ -3683,51 +3675,51 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_active - Activo: + lbl_visit_type + Tipo visita: - tooltip_lbl_active + tooltip_lbl_visit_type None - btn_param_create - Crear + lbl_viewname + Ver nombre: - tooltip_btn_param_create + tooltip_lbl_viewname None - lbl_visit_type - Tipo visita: + btn_ok + Aceptar - tooltip_lbl_visit_type + tooltip_btn_ok None - btn_ok - Aceptar + btn_param_create + Crear - tooltip_btn_ok + tooltip_btn_param_create None - btn_class_ok - Aceptar + lbl_multi_feat + Elemento múltiple: - tooltip_btn_class_ok + tooltip_lbl_multi_feat None - lbl_multi_event - Evento múltiple: + btn_param_update + Actualizar - tooltip_lbl_multi_event + tooltip_btn_param_update None @@ -3739,19 +3731,27 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Cancelar - lbl_viewname - Ver nombre: + lbl_active + Activo: - tooltip_lbl_viewname + tooltip_lbl_active None - lbl_class_id - Id clase: + lbl_param_opt + Opciones parámetro: - tooltip_lbl_class_id + tooltip_lbl_param_opt + None + + + btn_param_delete + Borrar + + + tooltip_btn_param_delete None @@ -3763,11 +3763,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_multi_feat - Elemento múltiple: + btn_class_ok + Aceptar - tooltip_lbl_multi_feat + tooltip_btn_class_ok + None + + + lbl_multi_event + Evento múltiple: + + + tooltip_lbl_multi_event None @@ -3779,11 +3787,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_param_update - Actualizar + lbl_descript + Descripción: - tooltip_btn_param_update + tooltip_lbl_descript None @@ -3795,32 +3803,16 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_param_delete - Borrar + lbl_class_id + Id clase: - tooltip_btn_param_delete + tooltip_lbl_class_id None admin_visitparam - - btn_cancel - Cancelar - - - tooltip_btn_cancel - Cancelar - - - lbl_editable - Editable: - - - tooltip_lbl_editable - None - lbl_default_value Valor por defecto: @@ -3830,59 +3822,59 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_descript - Descripción: + dlg_main_visitparam + Gestionar parámetro de visita - tooltip_lbl_descript + tooltip_dlg_main_visitparam None - dlg_main_visitparam - Gestionar parámetro de visita + lbl_query_text + Texto de consulta: - tooltip_dlg_main_visitparam + tooltip_lbl_query_text None - grb_params - Parametros + lbl_mandatory + Obligatorio: - tooltip_grb_params + tooltip_lbl_mandatory None - lbl_code - Código: + lbl_enabled + Habilitado: - tooltip_lbl_code + tooltip_lbl_enabled None - btn_ok - Aceptar + lbl_short_descript + Descripción corta: - tooltip_btn_ok + tooltip_lbl_short_descript None - lbl_parameter_name - Nombre parámetro: + lbl_editable + Editable: - tooltip_lbl_parameter_name + tooltip_lbl_editable None - lbl_mandatory - Obligatorio: + lbl_descript + Descripción: - tooltip_lbl_mandatory + tooltip_lbl_descript None @@ -3890,31 +3882,39 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Tipo de widget: - tooltip_lbl_widgettype - None + tooltip_lbl_widgettype + None + + + btn_cancel + Cancelar + + + tooltip_btn_cancel + Cancelar - lbl_query_text - Texto de consulta: + grb_params + Parametros - tooltip_lbl_query_text + tooltip_grb_params None - lbl_enabled - Habilitado: + lbl_form_type + Tipo formulario: - tooltip_lbl_enabled + tooltip_lbl_form_type None - lbl_short_descript - Descripción corta: + lbl_data_type + Tipo dato: - tooltip_lbl_short_descript + tooltip_lbl_data_type None @@ -3926,19 +3926,27 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_data_type - Tipo dato: + lbl_code + Código: - tooltip_lbl_data_type + tooltip_lbl_code None - lbl_form_type - Tipo formulario: + btn_ok + Aceptar - tooltip_lbl_form_type + tooltip_btn_ok + None + + + lbl_parameter_name + Nombre parámetro: + + + tooltip_lbl_parameter_name None @@ -3956,22 +3964,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_cancel Cancelar - - tab_loginfo - Info log - - - tooltip_tab_loginfo - None - - - btn_accept - Aceptar - - - tooltip_btn_accept - Aceptar - lbl_enddate Fecha de finalización: @@ -3996,6 +3988,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_dlg_arc_fusion None + + tab_loginfo + Info log + + + tooltip_tab_loginfo + None + lbl_workcat_id_end Expdte baja: @@ -4004,6 +4004,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_workcat_id_end None + + btn_accept + Aceptar + + + tooltip_btn_accept + Aceptar + assignation @@ -4020,20 +4028,20 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - tab_config - Configuración + lbl_pipes + Tuberías - tooltip_tab_config + tooltip_lbl_pipes None - chk_all_leaks - Utilizar todas las fugas + lbl_buffer + Distancia de buffer (m): - tooltip_chk_all_leaks - Calcula las fugas por kilómetro y año utilizando todos los datos disponibles, independientemente del parámetro 'años a calcular'. + tooltip_lbl_buffer + Distancia desde una fuga a la que se seleccionan las tuberías a las que se asigna esa fuga. tab_infolog @@ -4044,36 +4052,36 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_builtdate_range - Rango de fechas de construcción (años): + lbl_diameter + Filtrar por diámetro: - tooltip_lbl_builtdate_range - Intervalo de fechas de construcción, en años anteriores y posteriores a la tubería inicial. + tooltip_lbl_diameter + Utiliza sólo tuberías que coincidan con el rango de diámetros del inicial. - lbl_pipes - Tuberías + chk_all_leaks + Utilizar todas las fugas - tooltip_lbl_pipes - None + tooltip_chk_all_leaks + Calcula las fugas por kilómetro y año utilizando todos los datos disponibles, independientemente del parámetro 'años a calcular'. - lbl_material - Filtrar por material: + lbl_diameter_range + Rango de diámetro: - tooltip_lbl_material - Utiliza sólo tuberías del mismo material que el inicial. + tooltip_lbl_diameter_range + Rango de diámetros basado en factores de la tubería inicial. - lbl_leaks - Fugas + lbl_cluster_length + Longitud del cluster (m): - tooltip_lbl_leaks - None + tooltip_lbl_cluster_length + Suma máxima de longitudes de tubería dentro de un cluster, en metros. lbl_years @@ -4084,12 +4092,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Número de años de datos de fugas a tener en cuenta, en función de la antigüedad. - lbl_buffer - Distancia de buffer (m): + lbl_builtdate_range + Rango de fechas de construcción (años): - tooltip_lbl_buffer - Distancia desde una fuga a la que se seleccionan las tuberías a las que se asigna esa fuga. + tooltip_lbl_builtdate_range + Intervalo de fechas de construcción, en años anteriores y posteriores a la tubería inicial. lbl_builtdate @@ -4100,36 +4108,36 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Utiliza sólo las tuberías que coinciden con el intervalo de fechas de instalación de la inicial. - lbl_cluster_length - Longitud del cluster (m): + dlg_assignation + Asignación de fugas - tooltip_lbl_cluster_length - Suma máxima de longitudes de tubería dentro de un cluster, en metros. + tooltip_dlg_assignation + None - dlg_assignation - Asignación de fugas + tab_config + Configuración - tooltip_dlg_assignation + tooltip_tab_config None - lbl_diameter - Filtrar por diámetro: + lbl_material + Filtrar por material: - tooltip_lbl_diameter - Utiliza sólo tuberías que coincidan con el rango de diámetros del inicial. + tooltip_lbl_material + Utiliza sólo tuberías del mismo material que el inicial. - lbl_diameter_range - Rango de diámetro: + lbl_leaks + Fugas - tooltip_lbl_diameter_range - Rango de diámetros basado en factores de la tubería inicial. + tooltip_lbl_leaks + None lbl_max_distance @@ -4155,11 +4163,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - dlg_auxcircle - Dibujar circulo CAD + chk_deleete_prev + Eliminar círculos anteriores - tooltip_dlg_auxcircle + tooltip_chk_deleete_prev None @@ -4171,11 +4179,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Aceptar - chk_deleete_prev - Eliminar círculos anteriores + dlg_auxcircle + Dibujar circulo CAD - tooltip_chk_deleete_prev + tooltip_dlg_auxcircle None @@ -4194,51 +4202,51 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Añadir punto CAD - chk_delete_prev - Eliminar puntos anteriores + dlg_auxpoint + Añadir punto CAD - tooltip_chk_delete_prev + tooltip_dlg_auxpoint None - btn_accept - Aceptar + lbl_disty + Distancia Y: - tooltip_btn_accept - Aceptar + tooltip_lbl_disty + None - btn_cancel - Cancelar + btn_accept + Aceptar - tooltip_btn_cancel - Cancelar + tooltip_btn_accept + Aceptar - dlg_auxpoint - Añadir punto CAD + rb_right + Punto final - tooltip_dlg_auxpoint + tooltip_rb_right None - rb_right - Punto final + chk_delete_prev + Eliminar puntos anteriores - tooltip_rb_right + tooltip_chk_delete_prev None - lbl_disty - Distancia Y: + lbl_distx + Distancia X: - tooltip_lbl_disty + tooltip_lbl_distx None @@ -4250,12 +4258,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_distx - Distancia X: + btn_cancel + Cancelar - tooltip_lbl_distx - None + tooltip_btn_cancel + Cancelar @@ -4265,19 +4273,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Configuración - tab_featurecat - Feature cat + tab_addfields + Campos adicionales - tooltip_tab_featurecat + tooltip_tab_addfields None - dlg_config - Configuración + tab_mantype + Man type - tooltip_dlg_config + tooltip_tab_mantype None @@ -4289,44 +4297,44 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Aceptar - btn_cancel - Cancelar + tab_admin + Admin - tooltip_btn_cancel - Cancelar + tooltip_tab_admin + None - tab_admin - Admin + tab_featurecat + Elemento de catálogo - tooltip_tab_admin + tooltip_tab_featurecat None - tab_basic - Básico + dlg_config + Configuración - tooltip_tab_basic + tooltip_dlg_config None - tab_addfields - Campos adicionales + tab_basic + Básico - tooltip_tab_addfields + tooltip_tab_basic None - tab_mantype - Man type + btn_cancel + Cancelar - tooltip_tab_mantype - None + tooltip_btn_cancel + Cancelar @@ -4343,19 +4351,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información csv - tab_preview - Previsualizar + btn_cancel + Cancelar - tooltip_tab_preview - None + tooltip_btn_cancel + Cancelar - lbl_delimiter - Delimitador: + tab_preview + Previsualizar - tooltip_lbl_delimiter + tooltip_tab_preview None @@ -4383,28 +4391,36 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_accept - Aceptar + lbl_delimiter + Delimitador: - tooltip_btn_accept - Aceptar + tooltip_lbl_delimiter + None - dlg_csv2pg - Importar CSV + lbl_file + Archivo: - tooltip_dlg_csv2pg + tooltip_lbl_file None - btn_cancel - Cancelar + lbl_set_of_charac + Conjunto de caracteres - tooltip_btn_cancel - Cancelar + tooltip_lbl_set_of_charac + None + + + tab_info + Info log + + + tooltip_tab_info + None btn_file_csv @@ -4415,12 +4431,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - tab_info - Info log + btn_accept + Aceptar - tooltip_tab_info - None + tooltip_btn_accept + Aceptar lbl_info @@ -4431,19 +4447,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_set_of_charac - Conjunto de caracteres - - - tooltip_lbl_set_of_charac - None - - - lbl_file - Archivo: + dlg_csv2pg + Importar CSV - tooltip_lbl_file + tooltip_dlg_csv2pg None @@ -4454,12 +4462,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Diálogo - dlg_dialog_table - Diálogo + btn_cancel + Cancelar - tooltip_dlg_dialog_table - None + tooltip_btn_cancel + Cancelar btn_accept @@ -4470,12 +4478,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Aceptar - btn_cancel - Cancelar + dlg_dialog_table + Diálogo - tooltip_btn_cancel - Cancelar + tooltip_dlg_dialog_table + None btn_add_row @@ -4493,12 +4501,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Diálogo - btn_close - Cerrar + btn_accept + Aceptar - tooltip_btn_close - None + tooltip_btn_accept + Aceptar btn_cancel @@ -4509,20 +4517,20 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Cancelar - dlg_dialog_text - Diálogo + btn_close + Cerrar - tooltip_dlg_dialog_text + tooltip_btn_close None - btn_accept - Aceptar + dlg_dialog_text + Diálogo - tooltip_btn_accept - Aceptar + tooltip_dlg_dialog_text + None @@ -4531,22 +4539,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información title Dimensionamiento - - grb_symbology - Simbología del círculo - - - tooltip_grb_symbology - None - - - grb_other - Otros - - - tooltip_grb_other - None - dlg_dimensioning Dimensionamiento @@ -4564,12 +4556,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Aceptar - btn_cancel - Cancelar + grb_symbology + Simbología del círculo - tooltip_btn_cancel - Cancelar + tooltip_grb_symbology + None grb_depth @@ -4579,6 +4571,22 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_grb_depth None + + grb_other + Otros + + + tooltip_grb_other + None + + + btn_cancel + Cancelar + + + tooltip_btn_cancel + Cancelar + doc @@ -4587,51 +4595,59 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Documento - lbl_link - Enlace: + btn_cancel + Cancelar - tooltip_lbl_link - Enlace + tooltip_btn_cancel + Cancelar - btn_delete + lbl_observ + Observaciones: + + + tooltip_lbl_observ None - tooltip_btn_delete - Eliminar + btn_path_doc + ... - tab_doc - Documento + tooltip_btn_path_doc + Ruta - tooltip_tab_doc + btn_snapping None - tab_connec - Acometida + tooltip_btn_snapping + Snapping - tooltip_tab_connec - Acometida + path + Ruta - tab_rel - Relaciones + tooltip_path + Completar con alguna ruta de carpeta accesible o ruta web - tooltip_tab_rel - None + btn_accept + Aceptar - lbl_observ - Observaciones: + tooltip_btn_accept + Aceptar - tooltip_lbl_observ + tab_doc + Documento + + + tooltip_tab_doc None @@ -4643,28 +4659,28 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Arco - btn_insert - None + tab_node + Nodo - tooltip_btn_insert - Insertar + tooltip_tab_node + Nodo - path - Ruta + btn_path_url + Web - tooltip_path - Completar con alguna ruta de carpeta accesible o ruta web + tooltip_btn_path_url + Abra el explorador para permitir la selección de la ruta web. También es posible simplemente pegar la ruta en el cuadro de enlace de texto - btn_cancel - Cancelar + _dlg_doc + Documento - tooltip_btn_cancel - Cancelar + tooltip__dlg_doc + None tab_gully @@ -4675,44 +4691,20 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Sumidero - btn_path_doc - ... - - - tooltip_btn_path_doc - Ruta - - - lbl_doc_id - Id doc: - - - tooltip_lbl_doc_id - Id documento - - - btn_snapping - None - - - tooltip_btn_snapping - Snapping - - - btn_accept - Aceptar + lbl_link + Enlace: - tooltip_btn_accept - Aceptar + tooltip_lbl_link + Enlace - tab_node - Nodo + lbl_doc_type + Tipo doc: - tooltip_tab_node - Nodo + tooltip_lbl_doc_type + Tipo documento dlg_doc @@ -4723,29 +4715,45 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_path_url - Web + tab_connec + Acometida - tooltip_btn_path_url - Abra el explorador para permitir la selección de la ruta web. También es posible simplemente pegar la ruta en el cuadro de enlace de texto + tooltip_tab_connec + Acometida - lbl_doc_type - Tipo doc: + tab_rel + Relaciones - tooltip_lbl_doc_type - Tipo documento + tooltip_tab_rel + None - _dlg_doc - Documento + btn_delete + None - tooltip__dlg_doc + tooltip_btn_delete + Eliminar + + + lbl_doc_id + Id doc: + + + tooltip_lbl_doc_id + Id documento + + + btn_insert None + + tooltip_btn_insert + Insertar + doc_manager @@ -4754,12 +4762,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Gestor de documentos - lbl_doc_id - Filtrar por: Id doc + btn_cancel + Cerrar - tooltip_lbl_doc_id - None + tooltip_btn_cancel + Cancelar btn_delete @@ -4770,30 +4778,30 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Eliminar - dlg_doc_manager - Gestor de documentos + lbl_doc_id + Filtrar por: Id doc - tooltip_dlg_doc_manager + tooltip_lbl_doc_id None - btn_cancel - Cerrar + dlg_doc_manager + Gestor de documentos - tooltip_btn_cancel - Cancelar + tooltip_dlg_doc_manager + None dscenario_manager - btn_update - Actualizar + btn_duplicate + Duplicar - tooltip_btn_update + tooltip_btn_duplicate None @@ -4813,11 +4821,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_duplicate - Duplicar + btn_update + Actualizar - tooltip_btn_duplicate + tooltip_btn_update None @@ -4836,203 +4844,203 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Elemento - lbl_ownercat_id - Propietario: + lbl_link + Enlace: - tooltip_lbl_ownercat_id - None + tooltip_lbl_link + Enlace - dlg_element - Elemento + btn_snapping + None - tooltip_dlg_element - None + tooltip_btn_snapping + Snapping - btn_cancel - Cancelar + lbl_workcat_id + Expediente alta: - tooltip_btn_cancel - Cancelar + tooltip_lbl_workcat_id + Expediente alta - lbl_rotation - Rotación: + tab_connec + Acometida - tooltip_lbl_rotation - None + tooltip_tab_connec + Acometida - lbl_builtdate - Fecha construcción: + tab_node + Nodo - tooltip_lbl_builtdate - Fecha alta + tooltip_tab_node + Nodo - lbl_num_element - Número de elemento: + lbl_ownercat_id + Propietario: - tooltip_lbl_num_element + tooltip_lbl_ownercat_id None - btn_delete - None + lbl_expl_id + Explotación: - tooltip_btn_delete - Eliminar + tooltip_lbl_expl_id + None - lbl_state_type - Tipo estado: + lbl_comment + Comentario: - tooltip_lbl_state_type + tooltip_lbl_comment None - tab_element - Elemento + lbl_workcat_id_end + Expediente baja: - tooltip_tab_element - None + tooltip_lbl_workcat_id_end + Expediente baja - lbl_elementcad_id - Id elemento catálogo: + tab_arc + Arco - tooltip_lbl_elementcad_id - Catálogo + tooltip_tab_arc + Arco - btn_add_geom - Añadir geometría + lbl_buildercat_id + Constructor: - tooltip_btn_add_geom - Añadir geometría + tooltip_lbl_buildercat_id + Constructor - lbl_location_type - Tipo ubicación: + btn_delete + None - tooltip_lbl_location_type - Ubicación + tooltip_btn_delete + Eliminar - btn_accept - Aceptar + btn_cancel + Cancelar - tooltip_btn_accept - Aceptar + tooltip_btn_cancel + Cancelar - btn_insert - None + tab_element + Elemento - tooltip_btn_insert - Insertar + tooltip_tab_element + None - tab_node - Nodo + btn_accept + Aceptar - tooltip_tab_node - Nodo + tooltip_btn_accept + Aceptar - tab_connec - Acometida + lbl_num_element + Número de elemento: - tooltip_tab_connec - Acometida + tooltip_lbl_num_element + None - lbl_link - Enlace: + lbl_element_id + Id elemento: - tooltip_lbl_link - Enlace + tooltip_lbl_element_id + None - lbl_buildercat_id - Constructor: + tab_gully + Sumidero - tooltip_lbl_buildercat_id - Constructor + tooltip_tab_gully + Sumidero - tab_arc - Arco + btn_add_geom + Añadir geometría - tooltip_tab_arc - Arco + tooltip_btn_add_geom + Añadir geometría - lbl_observ - Observaciones: + lbl_element_type + Tipo elemento: - tooltip_lbl_observ - None + tooltip_lbl_element_type + Tipo elemento - tab_relations - Relaciones + lbl_state_type + Tipo estado: - tooltip_tab_relations - Relaciones + tooltip_lbl_state_type + None - lbl_state - Estado: + lbl_elementcad_id + Id elemento catálogo: - tooltip_lbl_state - None + tooltip_lbl_elementcad_id + Catálogo - lbl_comment - Comentario: + lbl_state + Estado: - tooltip_lbl_comment + tooltip_lbl_state None - lbl_workcat_id - Expediente alta: + lbl_observ + Observaciones: - tooltip_lbl_workcat_id - Expediente alta + tooltip_lbl_observ + None - lbl_expl_id - Explotación: + lbl_verified + Verificado: - tooltip_lbl_expl_id + tooltip_lbl_verified None @@ -5044,52 +5052,52 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Código - lbl_element_id - Id elemento: + lbl_location_type + Tipo ubicación: - tooltip_lbl_element_id - None + tooltip_lbl_location_type + Ubicación - lbl_verified - Verificado: + lbl_rotation + Rotación: - tooltip_lbl_verified + tooltip_lbl_rotation None - btn_snapping - None + tab_relations + Relaciones - tooltip_btn_snapping - Snapping + tooltip_tab_relations + Relaciones - lbl_element_type - Tipo elemento: + btn_insert + None - tooltip_lbl_element_type - Tipo elemento + tooltip_btn_insert + Insertar - lbl_workcat_id_end - Expediente baja: + dlg_element + Elemento - tooltip_lbl_workcat_id_end - Expediente baja + tooltip_dlg_element + None - tab_gully - Sumidero + lbl_builtdate + Fecha construcción: - tooltip_tab_gully - Sumidero + tooltip_lbl_builtdate + Fecha alta @@ -5106,14 +5114,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_delete Eliminar - - btn_cancel - Cerrar - - - tooltip_btn_cancel - Cancelar - lbl_element_id Filtrar por: Id elemento @@ -5130,48 +5130,56 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_dlg_element_manager None + + btn_cancel + Cerrar + + + tooltip_btn_cancel + Cancelar + epa_compare - tab_result - Resultado + lbl_result_name_to_show + Nombre del resultado (para mostrar): - tooltip_tab_result + tooltip_lbl_result_name_to_show None - tab_time - Hora: + tab_datetime + Fecha y hora - tooltip_tab_time + tooltip_tab_datetime None - dlg_selector - Selector + lbl_selector_date + Selector de fecha: - tooltip_dlg_selector + tooltip_lbl_selector_date None - lbl_time_to_show - Hora (para mostrar): + lbl_selector_time + Hora del selector: - tooltip_lbl_time_to_show + tooltip_lbl_selector_time None - lbl_time_to_compare - Hora (para comparar): + btn_accept + Aceptar - tooltip_lbl_time_to_compare - None + tooltip_btn_accept + Aceptar lbl_compare_time @@ -5182,67 +5190,67 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_compare_date - Comparar fecha: + dlg_selector + Selector - tooltip_lbl_compare_date + tooltip_dlg_selector None - lbl_selector_date - Selector de fecha: + lbl_result_name_to_compare + Nombre del resultado (para comparar): - tooltip_lbl_selector_date + tooltip_lbl_result_name_to_compare None - lbl_selector_time - Hora del selector: + btn_cancel + Cancelar - tooltip_lbl_selector_time - None + tooltip_btn_cancel + Cancelar - lbl_result_name_to_compare - Nombre del resultado (para comparar): + tab_time + Hora: - tooltip_lbl_result_name_to_compare + tooltip_tab_time None - lbl_result_name_to_show - Nombre del resultado (para mostrar): + lbl_time_to_compare + Hora (para comparar): - tooltip_lbl_result_name_to_show + tooltip_lbl_time_to_compare None - btn_cancel - Cancelar + lbl_compare_date + Comparar fecha: - tooltip_btn_cancel - Cancelar + tooltip_lbl_compare_date + None - btn_accept - Aceptar + tab_result + Resultado - tooltip_btn_accept - Aceptar + tooltip_tab_result + None - tab_datetime - Fecha y hora + lbl_time_to_show + Hora (para mostrar): - tooltip_tab_datetime + tooltip_lbl_time_to_show None @@ -5252,6 +5260,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información title Diálogo + + grb_map_options + Opciones de mapa: + + + tooltip_grb_map_options + None + btn_close Cerrar @@ -5261,19 +5277,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Cerrar - btn_preview - Vista previa + dlg_fastprint + Diálogo - tooltip_btn_preview + tooltip_dlg_fastprint None - grb_map_options - Opciones de mapa: + btn_preview + Vista previa - tooltip_grb_map_options + tooltip_btn_preview None @@ -5284,14 +5300,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_grb_option_values None - - dlg_fastprint - Diálogo - - - tooltip_dlg_fastprint - None - btn_print Imprimir @@ -5308,21 +5316,29 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Borrar elemento - btn_snapping - None + tab_info_log + Info log - tooltip_btn_snapping - Snapping + tooltip_tab_info_log + None - tab_info_log - Info log + btn_delete_another + Eliminar otro elemento - tooltip_tab_info_log + tooltip_btn_delete_another None + + btn_cancel + Cancelar + + + tooltip_btn_cancel + Cancelar + tab_del_feature Borrar elemento @@ -5332,27 +5348,35 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_relations - Mostrar relaciones del elemento + dlg_feature_delete + Borrar elemento - tooltip_btn_relations + tooltip_dlg_feature_delete None - btn_cancel - Cancelar + lbl_feature_type + Tipo de elemento: - tooltip_btn_cancel - Cancelar + tooltip_lbl_feature_type + None - dlg_feature_delete - Borrar elemento + btn_snapping + None - tooltip_dlg_feature_delete + tooltip_btn_snapping + Snapping + + + btn_relations + Mostrar relaciones del elemento + + + tooltip_btn_relations None @@ -5368,32 +5392,40 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Id elemento - tooltip_lbl_feature_id + tooltip_lbl_feature_id + None + + + + feature_end + + title + Dar de baja + + + btn_new_workcat + None + + + tooltip_btn_new_workcat None - lbl_feature_type - Tipo de elemento: + lbl_workcat_id_end + Expdte baja: - tooltip_lbl_feature_type + tooltip_lbl_workcat_id_end None - btn_delete_another - Eliminar otro elemento + tab_arc + Arco - tooltip_btn_delete_another + tooltip_tab_arc None - - - feature_end - - title - Dar de baja - btn_cancel Cancelar @@ -5403,12 +5435,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Cancelar - tab_relations - Relaciones + btn_accept + Aceptar - tooltip_tab_relations - Relaciones + tooltip_btn_accept + Aceptar tab_elem @@ -5419,67 +5451,67 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_state_type - Tipo estado final: + tab_connec + Acometida - tooltip_lbl_state_type + tooltip_tab_connec None - tab_workcat - Expediente + btn_insert + None - tooltip_tab_workcat - None + tooltip_btn_insert + Insertar - tab_connec - Acometida + tab_node + Nodo - tooltip_tab_connec + tooltip_tab_node None - tab_arc - Arco + tab_gully + Sumidero - tooltip_tab_arc + tooltip_tab_gully None - lbl_workcat_id_end - Expdte baja: + tab_workcat + Expediente - tooltip_lbl_workcat_id_end + tooltip_tab_workcat None - btn_new_workcat + btn_delete None - tooltip_btn_new_workcat - None + tooltip_btn_delete + Eliminar - dlg_feature_end - Dar de baja + tab_relations + Relaciones - tooltip_dlg_feature_end - None + tooltip_tab_relations + Relaciones - lbl_enddate - Fecha de finalización: + lbl_description + Descripción: - tooltip_lbl_enddate + tooltip_lbl_description None @@ -5491,61 +5523,37 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_delete - None - - - tooltip_btn_delete - Eliminar - - - tab_node - Nodo + lbl_state_type + Tipo estado final: - tooltip_tab_node + tooltip_lbl_state_type None - btn_insert + btn_snapping None - tooltip_btn_insert - Insertar - - - btn_accept - Aceptar - - - tooltip_btn_accept - Aceptar + tooltip_btn_snapping + Snapping - tab_gully - Sumidero + lbl_enddate + Fecha de finalización: - tooltip_tab_gully + tooltip_lbl_enddate None - lbl_description - Descripción: - - - tooltip_lbl_description - None + dlg_feature_end + Dar de baja - btn_snapping + tooltip_dlg_feature_end None - - tooltip_btn_snapping - Snapping - feature_end_connec @@ -5554,19 +5562,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Elementos desconectados de tramo - btn_cancel - Cancelar - - - tooltip_btn_cancel - Cancelar - - - dlg_feature_end_connec - Elementos desconectados de tramo + lbl_info + Lista de elementos que quedarán desconectados cuando los tramos seleccionados sean dados de baja: - tooltip_dlg_feature_end_connec + tooltip_lbl_info None @@ -5578,13 +5578,21 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_info - Lista de elementos que quedarán desconectados cuando los tramos seleccionados sean dados de baja: + dlg_feature_end_connec + Elementos desconectados de tramo - tooltip_lbl_info + tooltip_dlg_feature_end_connec None + + btn_cancel + Cancelar + + + tooltip_btn_cancel + Cancelar + btn_accept Aceptar @@ -5601,67 +5609,59 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Ir a Epa - tab_loginfo - Info log + btn_accept + Aceptar - tooltip_tab_loginfo - None + tooltip_btn_accept + Aceptar - dlg_go2epa - Ir a Epa + lbl_result_name + Nombre resultado: - tooltip_dlg_go2epa + tooltip_lbl_result_name None - chk_recurrent - Usar llamadas iterativas + chk_only_check + Usar la geometría de red resultante - tooltip_chk_recurrent + tooltip_chk_only_check None - lbl_inp_file - Archivo INP: + chk_export + Exportar INP - tooltip_lbl_inp_file + tooltip_chk_export None - chk_import_result - Importar resultado + grb_process_options + Opciones de proceso - tooltip_chk_import_result + tooltip_grb_process_options None - btn_accept - Aceptar - - - tooltip_btn_accept - Aceptar - - - lbl_counter - lbl_counter + grb_file_manager + Administrador de archivos - tooltip_lbl_counter + tooltip_grb_file_manager None - btn_hs_ds - Selector + tab_loginfo + Info log - tooltip_btn_hs_ds + tooltip_tab_loginfo None @@ -5673,27 +5673,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - chk_export - Exportar INP - - - tooltip_chk_export - None - - - chk_only_check - Usar la geometría de red resultante + lbl_counter + lbl_counter - tooltip_chk_only_check + tooltip_lbl_counter None - lbl_result_name - Nombre resultado: + dlg_go2epa + Ir a Epa - tooltip_lbl_result_name + tooltip_dlg_go2epa None @@ -5713,35 +5705,43 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - grb_process_options - Opciones de proceso + btn_hs_ds + Selector - tooltip_grb_process_options + tooltip_btn_hs_ds None - tab_file_manager - Administrador de archivo + btn_file_inp + ... - tooltip_tab_file_manager + tooltip_btn_file_inp None - grb_file_manager - Administrador de archivos + chk_import_result + Importar resultado + + + tooltip_chk_import_result + None + + + tab_file_manager + Administrador de archivo - tooltip_grb_file_manager + tooltip_tab_file_manager None - btn_file_inp - ... + chk_recurrent + Usar llamadas iterativas - tooltip_btn_file_inp + tooltip_chk_recurrent None @@ -5760,6 +5760,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_file_rpt None + + lbl_inp_file + Archivo INP: + + + tooltip_lbl_inp_file + None + go2epa_manager @@ -5768,28 +5776,28 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Gestor de resultados Epa - btn_close - Cerrar + btn_delete + Borrar - tooltip_btn_close - Cerrar + tooltip_btn_delete + Eliminar - dlg_go2epa_manager - Gestor de resultados Epa + btn_set_corporate + Alternar corporativo - tooltip_dlg_go2epa_manager + tooltip_btn_set_corporate None - btn_delete - Borrar + dlg_go2epa_manager + Gestor de resultados Epa - tooltip_btn_delete - Eliminar + tooltip_dlg_go2epa_manager + None lbl_result_id @@ -5800,12 +5808,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_set_corporate - Alternar corporativo + btn_close + Cerrar - tooltip_btn_set_corporate - None + tooltip_btn_close + Cerrar @@ -5815,27 +5823,27 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Go2Epa - opciones - tab_rpt - Rpt + btn_accept + Aceptar - tooltip_tab_rpt - None + tooltip_btn_accept + Aceptar - tab_inp - Inp + dlg_go2epa_options + Go2Epa - opciones - tooltip_tab_inp + tooltip_dlg_go2epa_options None - dlg_go2epa_options - Go2Epa - opciones + tab_inp + Inp - tooltip_dlg_go2epa_options + tooltip_tab_inp None @@ -5847,12 +5855,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Cancelar - btn_accept - Aceptar + tab_rpt + Rpt - tooltip_btn_accept - Aceptar + tooltip_tab_rpt + None @@ -5862,12 +5870,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Catálogo - btn_accept - Aceptar + btn_cancel + Cancelar - tooltip_btn_accept - Aceptar + tooltip_btn_cancel + Cancelar dlg_info_catalog @@ -5878,12 +5886,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_cancel - Cancelar + btn_accept + Aceptar - tooltip_btn_cancel - Cancelar + tooltip_btn_accept + Aceptar @@ -5900,14 +5908,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_hydrometer_id None - - dlg_info_crmvalue - Hidrómetro - - - tooltip_dlg_info_crmvalue - None - btn_accept Aceptar @@ -5916,6 +5916,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_accept Aceptar + + dlg_info_crmvalue + Hidrómetro + + + tooltip_dlg_info_crmvalue + None + btn_close Cerrar @@ -5932,107 +5940,107 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Sección - lbl_cost_b_right - lbl_cost_b_right + lbl_cost_fill + lbl_cost_fill - tooltip_lbl_cost_b_right + tooltip_lbl_cost_fill None - lbl_section_image - lbl_section_image + lbl_cost_exc + lbl_cost_exc - tooltip_lbl_section_image + tooltip_lbl_cost_exc None - lbl_cost_bulk - lbl_cost_bulk + lbl_cost_area + lbl_cost_area - tooltip_lbl_cost_bulk + tooltip_lbl_cost_area None - lbl_cost_excav - lbl_cost_excav + lbl_cost_width + lbl_cost_width - tooltip_lbl_cost_excav + tooltip_lbl_cost_width None - dlg_info_crossect - Sección + lbl_cost_trench + lbl_cost_trench - tooltip_dlg_info_crossect + tooltip_lbl_cost_trench None - lbl_cost_width - lbl_cost_width + lbl_cost_b_left + lbl_cost_b_left - tooltip_lbl_cost_width + tooltip_lbl_cost_b_left None - lbl_cost_area - lbl_cost_area + lbl_section_image + lbl_section_image - tooltip_lbl_cost_area + tooltip_lbl_section_image None - lbl_cost_y_param - lbl_cost_y_param + lbl_cost_excav + lbl_cost_excav - tooltip_lbl_cost_y_param + tooltip_lbl_cost_excav None - lbl_cost_fill - lbl_cost_fill + lbl_cost_y_param + lbl_cost_y_param - tooltip_lbl_cost_fill + tooltip_lbl_cost_y_param None - btn_close - Cerrar + lbl_cost_bulk + lbl_cost_bulk - tooltip_btn_close - Cerrar + tooltip_lbl_cost_bulk + None - lbl_cost_exc - lbl_cost_exc + dlg_info_crossect + Sección - tooltip_lbl_cost_exc + tooltip_dlg_info_crossect None - lbl_cost_trench - lbl_cost_trench + btn_close + Cerrar - tooltip_lbl_cost_trench - None + tooltip_btn_close + Cerrar - lbl_cost_b_left - lbl_cost_b_left + lbl_cost_b_right + lbl_cost_b_right - tooltip_lbl_cost_b_left + tooltip_lbl_cost_b_right None @@ -6551,11 +6559,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_depth - Profundidad: + chk_use_planified + Usar red planificada - tooltip_lbl_depth + tooltip_chk_use_planified None @@ -6567,11 +6575,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Cancelar - chk_use_planified - Usar red planificada + lbl_depth + Profundidad: - tooltip_chk_use_planified + tooltip_lbl_depth None @@ -7435,14 +7443,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_name None - - lbl_ext_code - Código externo: - - - tooltip_lbl_ext_code - None - lbl_text4 Text 4: @@ -7459,6 +7459,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_text3 None + + lbl_ext_code + Código externo: + + + tooltip_lbl_ext_code + None + lbl_workcat_id Expediente: @@ -7476,19 +7484,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_text2 - Text 2: + lbl_scale + Escala: - tooltip_lbl_text2 + tooltip_lbl_scale None - lbl_scale - Escala: + lbl_text2 + Text 2: - tooltip_lbl_scale + tooltip_lbl_text2 None @@ -7531,11 +7539,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Gestión resultados precios - lbl_result_id - Filtrar por: + btn_delete + Borrar - tooltip_lbl_result_id + tooltip_btn_delete + Eliminar + + + btn_update_result + Resultado actual + + + tooltip_btn_update_result None @@ -7546,14 +7562,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_cancel Cancelar - - btn_update_result - Resultado actual - - - tooltip_btn_update_result - None - dlg_price_manager Gestión resultados precios @@ -7563,12 +7571,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_delete - Borrar + lbl_result_id + Filtrar por: - tooltip_btn_delete - Eliminar + tooltip_lbl_result_id + None @@ -7577,6 +7585,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información title Cálculo de prioridad + + tab_infolog + Info Log + + + tooltip_tab_infolog + None + tab_material Material @@ -7609,6 +7625,30 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_budget None + + dlg_priority + Cálculo de prioridad + + + tooltip_dlg_priority + None + + + lbl_expl_selection + Explotación: + + + tooltip_lbl_expl_selection + None + + + lbl_descript + Descripción: + + + tooltip_lbl_descript + None + lbl_material Material: @@ -7657,22 +7697,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_calc None - - lbl_dnom - Diámetro: - - - tooltip_lbl_dnom - None - - - grb_global - Parámetros de cálculo - - - tooltip_grb_global - None - btn_cancel Cancelar @@ -7690,27 +7714,27 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - dlg_priority - Cálculo de prioridad + lbl_dnom + Diámetro: - tooltip_dlg_priority + tooltip_lbl_dnom None - tab_infolog - Info Log + tab_catalog + Catálogo - tooltip_tab_infolog + tooltip_tab_catalog None - tab_catalog - Catálogo + grb_global + Parámetros de cálculo - tooltip_tab_catalog + tooltip_grb_global None @@ -7721,28 +7745,28 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_result_id None + + + priority_manager - lbl_expl_selection - Explotación: + title + Gestor de resultados - tooltip_lbl_expl_selection - None + lbl_status + Estado: - lbl_descript - Descripción: + tooltip_lbl_status + None - tooltip_lbl_descript - None + lbl_info + Infomación: - - - priority_manager - title - Gestor de resultados + tooltip_lbl_info + None lbl_type @@ -7753,27 +7777,27 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_duplicate - Duplicar + btn_status + Cambiar estado - tooltip_btn_duplicate + tooltip_btn_status None - lbl_status - Estado: + btn_edit + Editar - tooltip_lbl_status + tooltip_btn_edit None - btn_delete - Eliminar + btn_duplicate + Duplicar - tooltip_btn_delete + tooltip_btn_duplicate None @@ -7785,27 +7809,27 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_edit - Editar + btn_delete + Eliminar - tooltip_btn_edit + tooltip_btn_delete None - lbl_filter - Filtrar por: Nombre del resultado + dlg_priority_manager + Gestor de resultados - tooltip_lbl_filter + tooltip_dlg_priority_manager None - btn_status - Cambiar estado + lbl_filter + Filtrar por: Nombre del resultado - tooltip_btn_status + tooltip_lbl_filter None @@ -7816,22 +7840,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_close None - - lbl_info - Infomación: - - - tooltip_lbl_info - None - - - dlg_priority_manager - Gestor de resultados - - - tooltip_dlg_priority_manager - None - profile @@ -8053,14 +8061,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información title Chequear proyecto - - tab_qgis_projlog - Qgis proyecto log - - - tooltip_tab_qgis_projlog - None - btn_accept Aceptar @@ -8069,6 +8069,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_accept Aceptar + + tab_qgis_projlog + Qgis proyecto log + + + tooltip_tab_qgis_projlog + None + dlg_project_check Chequear proyecto @@ -8125,19 +8133,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_duplicate_psector - Duplicar sector: + tab_duplicate_psector + Duplicar sector - tooltip_lbl_duplicate_psector + tooltip_tab_duplicate_psector None - tab_duplicate_psector - Duplicar sector + lbl_duplicate_psector + Duplicar sector: - tooltip_tab_duplicate_psector + tooltip_lbl_duplicate_psector None @@ -8258,6 +8266,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_prices_list None + + dlg_psector_rapport + Generador de informes + + + tooltip_dlg_psector_rapport + None + btn_ok Crear @@ -8282,14 +8298,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_detail_csv None - - dlg_psector_rapport - Generador de informes - - - tooltip_dlg_psector_rapport - None - grb_rapport Reporte @@ -8314,19 +8322,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Selector de resultados - btn_accept - Aceptar + btn_cancel + Cancelar - tooltip_btn_accept + tooltip_btn_cancel None - lbl_result_main - Resultado para mostrar: + dlg_result_selector + Selector de resultados - tooltip_lbl_result_main + tooltip_dlg_result_selector None @@ -8338,27 +8346,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - dlg_result_selector - Selector de resultados - - - tooltip_dlg_result_selector - None - - - lbl_descript_compare - Descripción: + lbl_result_main + Resultado para mostrar: - tooltip_lbl_descript_compare + tooltip_lbl_result_main None - btn_cancel - Cancelar + btn_accept + Aceptar - tooltip_btn_cancel + tooltip_btn_accept None @@ -8377,6 +8377,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_tab_result None + + lbl_descript_compare + Descripción: + + + tooltip_lbl_descript_compare + None + search @@ -8385,19 +8393,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Búsqueda - Check all - Marcar todos + lbl_msg + Sin resultados - tooltip_Check all + tooltip_lbl_msg None - lbl_msg - Sin resultados + Check all + Marcar todos - tooltip_lbl_msg + tooltip_Check all None @@ -8420,7 +8428,23 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información ... - tooltip_btn_path + tooltip_btn_path + None + + + tab_init + Dado de alta + + + tooltip_tab_init + None + + + lbl_feat_end + Elementos dados de baja + + + tooltip_lbl_feat_end None @@ -8432,51 +8456,51 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_feat_end - Elementos dados de baja + lbl_total1 + Números totales: - tooltip_lbl_feat_end + tooltip_lbl_total1 None - tab_ended - Dado de baja + btn_state0 + Activar - tooltip_tab_ended + tooltip_btn_state0 None - tab_init - Dado de alta + btn_export_to_csv + Exportar a CSV - tooltip_tab_init + tooltip_btn_export_to_csv None - dlg_search_workcat - Buscar expdte + btn_close + Cerrar - tooltip_dlg_search_workcat - None + tooltip_btn_close + Cerrar - lbl_feat_ini - Elementos dados de alta + tab_ended + Dado de baja - tooltip_lbl_feat_ini + tooltip_tab_ended None - lbl_total1 - Números totales: + lbl_init + Filtrar por: - tooltip_lbl_total1 + tooltip_lbl_init None @@ -8488,19 +8512,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_destination_path - Ruta de destino: + dlg_search_workcat + Buscar expdte - tooltip_lbl_destination_path + tooltip_dlg_search_workcat None - lbl_init - Filtrar por: + lbl_feat_ini + Elementos dados de alta - tooltip_lbl_init + tooltip_lbl_feat_ini None @@ -8520,27 +8544,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_state0 - Activar - - - tooltip_btn_state0 - None - - - btn_close - Cerrar - - - tooltip_btn_close - Cerrar - - - btn_export_to_csv - Exportar a CSV + lbl_destination_path + Ruta de destino: - tooltip_btn_export_to_csv + tooltip_lbl_destination_path None @@ -8582,27 +8590,27 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Selector de estado - lbl_new_status - Nuevo estado: + btn_cancel + Cancelar - tooltip_lbl_new_status + tooltip_btn_cancel None - btn_accept - Aceptar + lbl_result_main + Está cambiando el estado del siguiente resultado: - tooltip_btn_accept + tooltip_lbl_result_main None - btn_cancel - Cancelar + btn_accept + Aceptar - tooltip_btn_cancel + tooltip_btn_accept None @@ -8614,11 +8622,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_result_main - Está cambiando el estado del siguiente resultado: + lbl_new_status + Nuevo estado: - tooltip_lbl_result_main + tooltip_lbl_new_status None @@ -8629,52 +8637,52 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Caja de herramientas - btn_close - Cerrar + btn_run + Ejecutar - tooltip_btn_close - Cerrar + tooltip_btn_run + None - tab_config - Configuración + dlg_toolbox + Caja de herramientas - tooltip_tab_config + tooltip_dlg_toolbox None - dlg_toolbox - Caja de herramientas + tab_loginfo + Info log - tooltip_dlg_toolbox + tooltip_tab_loginfo None - btn_cancel - Cancelar + btn_close + Cerrar - tooltip_btn_cancel - Cancelar + tooltip_btn_close + Cerrar - tab_loginfo - Info log + tab_config + Configuración - tooltip_tab_loginfo + tooltip_tab_config None - btn_run - Ejecutar + btn_cancel + Cancelar - tooltip_btn_run - None + tooltip_btn_cancel + Cancelar @@ -8699,59 +8707,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Visita - lbl_status - Estado: - - - tooltip_lbl_status - None - - - lbl_start_date - Desde: - - - tooltip_lbl_start_date - None - - - tab_event - Evento - - - tooltip_tab_event - None - - - btn_doc_delete - None - - - tooltip_btn_doc_delete - Borrar documento - - - lbl_code - Código: - - - tooltip_lbl_code - None - - - btn_event_update - Actualizar evento - - - tooltip_btn_event_update - None - - - lbl_feature_type - Tipo de elemento: + lbl_descript + Descripción: - tooltip_lbl_feature_type + tooltip_lbl_descript None @@ -8763,19 +8723,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Crear nuevo documento - tab_document - Documento - - - tooltip_tab_document - None - - - lbl_user_name - Nombre de usuario: + lbl_info + Información: - tooltip_lbl_user_name + tooltip_lbl_info None @@ -8794,6 +8746,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_event_delete None + + tab_document + Documento + + + tooltip_tab_document + None + lbl_id Id: @@ -8826,6 +8786,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_dlg_visit None + + tab_visit + Visita + + + tooltip_tab_visit + None + btn_doc_insert None @@ -8834,6 +8802,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_doc_insert Insertar documento + + btn_event_update + Actualizar evento + + + tooltip_btn_event_update + None + btn_cancel Cancelar @@ -8843,36 +8819,52 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Cancelar - tab_visit - Visita + btn_event_insert + Insertar evento - tooltip_tab_visit + tooltip_btn_event_insert None - btn_event_insert - Insertar evento + tab_relations + Relaciones + + + tooltip_tab_relations + Relaciones + + + lbl_code + Código: + + + tooltip_lbl_code + None - tooltip_btn_event_insert + btn_doc_delete None - lbl_info - Información: + tooltip_btn_doc_delete + Borrar documento - tooltip_lbl_info + lbl_feature_type + Tipo de elemento: + + + tooltip_lbl_feature_type None - tab_relations - Relaciones + tab_event + Evento - tooltip_tab_relations - Relaciones + tooltip_tab_event + None btn_open_doc @@ -8883,11 +8875,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Abrir documento - lbl_end_date - Hasta: + lbl_status + Estado: - tooltip_lbl_end_date + tooltip_lbl_status None @@ -8915,28 +8907,36 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_descript - Descripción: + lbl_start_date + Desde: - tooltip_lbl_descript + tooltip_lbl_start_date None - - - visit_document - title - Cargar documentos + lbl_user_name + Nombre de usuario: - btn_open - Abrir + tooltip_lbl_user_name + None - tooltip_btn_open + lbl_end_date + Hasta: + + + tooltip_lbl_end_date None + + + visit_document + + title + Cargar documentos + dlg_visit_document Cargar documentos @@ -8953,6 +8953,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_visit_id Visita ID + + btn_open + Abrir + + + tooltip_btn_open + None + visit_event @@ -8961,75 +8969,75 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Evento estándar de arco - lbl_position_id - Id posición: + lbl_files + Archivos: - tooltip_lbl_position_id + tooltip_lbl_files None - lbl_value - Valor: + lbl_position_value + Valor posición: - tooltip_lbl_value + tooltip_lbl_position_value None - lbl_text - Texto: + btn_delete_file + Borrar archivo - tooltip_lbl_text + tooltip_btn_delete_file None - dlg_visit_event - Evento estándar de arco + lbl_value + Valor: - tooltip_dlg_visit_event + tooltip_lbl_value None - btn_add_file - Añadir archivo + lbl_parameter_id + Id parámetro: - tooltip_btn_add_file + tooltip_lbl_parameter_id None - lbl_parameter_id - Id parámetro: + btn_add_file + Añadir archivo - tooltip_lbl_parameter_id + tooltip_btn_add_file None - lbl_files - Archivos: + lbl_position_id + Id posición: - tooltip_lbl_files + tooltip_lbl_position_id None - lbl_position_value - Valor posición: + lbl_text + Texto: - tooltip_lbl_position_value + tooltip_lbl_text None - btn_delete_file - Borrar archivo + dlg_visit_event + Evento estándar de arco - tooltip_btn_delete_file + tooltip_dlg_visit_event None @@ -9295,11 +9303,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_text - Texto: + btn_delete_file + Borrar archivo - tooltip_lbl_text + tooltip_btn_delete_file None @@ -9311,19 +9319,19 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - lbl_value1 - Valor 1: + lbl_text + Texto: - tooltip_lbl_value1 + tooltip_lbl_text None - btn_delete_file - Borrar archivo + lbl_value1 + Valor 1: - tooltip_btn_delete_file + tooltip_lbl_value1 None @@ -9413,11 +9421,11 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información None - btn_slidePrevious - None + lbl_img_zoom + lbl_img_zoom - tooltip_btn_slidePrevious + tooltip_lbl_img_zoom None @@ -9428,6 +9436,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_lbl_visit_id Visita ID + + btn_slidePrevious + None + + + tooltip_btn_slidePrevious + None + dlg_visit_gallery_zoom Zum de la galería @@ -9444,14 +9460,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_slideNext None - - lbl_img_zoom - lbl_img_zoom - - - tooltip_lbl_img_zoom - None - visit_picture @@ -9459,6 +9467,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información title Añadir foto + + lbl_link + Enlace: + + + tooltip_lbl_link + Enlace + dlg_visit_picture Añadir foto @@ -9491,23 +9507,39 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_path_doc None + + + workspace_create - lbl_link - Enlace: + lbl_new_workspace_descript + Descripción: - tooltip_lbl_link - Enlace + tooltip_lbl_new_workspace_descript + Descripción del nuevo espacio de trabajo - - - workspace_create - btn_toggle_privacy - Alternar privacidad + btn_update + Actualizar - tooltip_btn_toggle_privacy + tooltip_btn_update + None + + + btn_accept + Aceptar + + + tooltip_btn_accept + None + + + btn_cancel + Cancelar + + + tooltip_btn_cancel None @@ -9535,37 +9567,13 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Nombre del nuevo espacio de trabajo - btn_update - Actualizar - - - tooltip_btn_update - None - - - btn_accept - Aceptar - - - tooltip_btn_accept - None - - - btn_cancel - Cancelar + btn_toggle_privacy + Alternar privacidad - tooltip_btn_cancel + tooltip_btn_toggle_privacy None - - lbl_new_workspace_descript - Descripción: - - - tooltip_lbl_new_workspace_descript - Descripción del nuevo espacio de trabajo - workspace_manager @@ -9585,14 +9593,6 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_current Utiliza el espacio de trabajo seleccionado - - btn_reset - Restablecer - - - tooltip_btn_reset - Restablece los valores del espacio de trabajo actual - btn_cancel Cerrar @@ -9610,12 +9610,12 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información Crear - lbl_workspace_name - Filtrar por: Nombre + btn_reset + Restablecer - tooltip_lbl_workspace_name - None + tooltip_btn_reset + Restablece los valores del espacio de trabajo actual btn_delete @@ -9625,6 +9625,14 @@ Por otro lado, debe saber que la tabla de trazabilidad almacenará información tooltip_btn_delete Elimina el espacio de trabajo seleccionado + + lbl_workspace_name + Filtrar por: Nombre + + + tooltip_lbl_workspace_name + None + txt_name txt_name From 5e7c86a2884d592b1389331a67142b6b72a003bb Mon Sep 17 00:00:00 2001 From: Sergi Maspons Date: Wed, 13 Sep 2023 16:33:42 +0200 Subject: [PATCH 57/57] Update dbmodel --- dbmodel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbmodel b/dbmodel index e8b7b160b..38e68b82a 160000 --- a/dbmodel +++ b/dbmodel @@ -1 +1 @@ -Subproject commit e8b7b160b28b1d41b56bc3042ca3d8dc77c4ed8a +Subproject commit 38e68b82ab1a891281cbb1396b571acb32123601