Changeset 2296
- Timestamp:
- 11/13/19 19:37:12 (5 years ago)
- Location:
- trunk/LATMOS-Accounts
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LATMOS-Accounts/MANIFEST
r2279 r2296 90 90 lib/LATMOS/Accounts/Bases/Sql/Aliases.pm 91 91 lib/LATMOS/Accounts/Bases/Sql/Employment.pm 92 lib/LATMOS/Accounts/Bases/Sql/Employmentsummary.pm 92 93 lib/LATMOS/Accounts/Bases/Sql/Group.pm 93 94 lib/LATMOS/Accounts/Bases/Sql/Nethost.pm -
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql.pm
r2274 r2296 18 18 our $VERSION = (q$Rev$ =~ /^Rev: (\d+) /)[0]; 19 19 20 sub SCHEMA_VERSION { 3 5};20 sub SCHEMA_VERSION { 36 }; 21 21 22 22 =head1 NAME -
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/Employment.pm
r2204 r2296 345 345 if ($res) { 346 346 my $ouser = $base->get_object('user', $user); 347 $ouser->StoreEmployementSummary; 347 348 $ouser->applyCurrentEmployment; 348 349 } … … 362 363 }; 363 364 365 $user->StoreEmployementSummary; 364 366 $user->applyCurrentEmployment; 365 367 } -
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/User.pm
r2288 r2296 2107 2107 }); 2108 2108 $sth->execute($self->id); 2109 warn $self->id; 2109 2110 my @values; 2110 2111 my $prevContrat = ':'; … … 2117 2118 my $curContrat = $Emp->get_attributes('contratType') || ''; 2118 2119 my $DTfirstday = DateTime::Format::Pg->parse_datetime( $Emp->get_attributes('firstday') ); 2120 2121 warn $DTfirstday->ymd('-'); 2119 2122 2120 2123 if ($curContrat ne $prevContrat) { … … 2150 2153 2151 2154 @values 2155 } 2156 2157 =head2 StoreEmployementSummary 2158 2159 Store into database the employment summary 2160 2161 =cut 2162 2163 sub StoreEmployementSummary { 2164 my ( $self ) = @_; 2165 2166 my $stu = $self->base->db->prepare_cached(q{ 2167 UPDATE employmentsum set 2168 "user" = ?, 2169 firstday = ?, 2170 lastday = ?, 2171 contrattype = ?, 2172 nodelete = 't' 2173 WHERE name = ? 2174 }); 2175 my $sti = $self->base->db->prepare_cached(q{ 2176 INSERT INTO employmentsum 2177 ("user", firstday, lastday, contrattype, name, nodelete) 2178 VALUES 2179 (?, ?, ?, ?, ?, 1) 2180 }); 2181 2182 my @values = $self->EmploymentSummary; 2183 2184 my @names; 2185 2186 foreach (@values) { 2187 my $name = $self->id . '-' . $_->{firstday}; 2188 my $res = $stu->execute($self->id, $_->{firstday}, $_->{lastday}, $_->{contrattype}, $name); 2189 if ($res == 0) { 2190 $sti->execute($self->id, $_->{firstday}, $_->{lastday}, $_->{contrattype}, $name); 2191 } 2192 push(@names, $name); 2193 } 2194 2195 my $std = $self->base->db->prepare_cached(q{ 2196 DELETE FROM employmentsum WHERE "user" = ? AND name != ALL (?) 2197 }); 2198 $std->execute($self->id, \@names); 2152 2199 } 2153 2200 -
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/upgrade.pm
r2273 r2296 1269 1269 ], 1270 1270 }, 1271 { 1272 ver => 36, 1273 sql => [ 1274 q{ 1275 CREATE TABLE public.employmentsum 1276 ( 1277 "user" text NOT NULL, 1278 firstday date NOT NULL DEFAULT now(), 1279 lastday date, 1280 contrattype text, 1281 CONSTRAINT employmentsum_pkey PRIMARY KEY (name), 1282 CONSTRAINT employmentsum_check CHECK (lastday IS NULL OR firstday <= lastday), 1283 CONSTRAINT employmentsum_name_user_fkey FOREIGN KEY ("user") 1284 REFERENCES public."user" (name) MATCH SIMPLE 1285 ON UPDATE CASCADE ON DELETE CASCADE 1286 ) 1287 INHERITS (public.objects) 1288 WITH ( 1289 OIDS=FALSE 1290 ); 1291 1292 CREATE INDEX fki_employmentsum_name_user_fkey 1293 ON public.employmentsum 1294 USING btree 1295 (name COLLATE pg_catalog."default"); 1296 1297 CREATE INDEX fki_employmentsum_user_fkey 1298 ON public.employmentsum 1299 USING btree 1300 (name COLLATE pg_catalog."default"); 1301 1302 CREATE INDEX employmentsum_exported_idx 1303 ON public.employmentsum 1304 USING btree 1305 (exported); 1306 1307 CREATE INDEX employmentsum_rev_idx 1308 ON public.employmentsum 1309 USING btree 1310 (rev); 1311 1312 CREATE TRIGGER employmentsum_rev_tg 1313 BEFORE INSERT OR UPDATE OR DELETE 1314 ON public.employmentsum 1315 FOR EACH ROW 1316 EXECUTE PROCEDURE public.rev_tg_f(); 1317 } 1318 ], 1319 }, 1271 1320 ); 1272 1321
Note: See TracChangeset
for help on using the changeset viewer.