Revision 1e251313
Von Moritz Bunkus vor etwa 17 Jahren hinzugefügt
SL/AM.pm | ||
---|---|---|
2228 | 2228 |
$main::lxdebug->leave_sub(); |
2229 | 2229 |
} |
2230 | 2230 |
|
2231 |
sub save_price_factor { |
|
2232 |
$main::lxdebug->enter_sub(); |
|
2233 |
|
|
2234 |
my ($self, $myconfig, $form) = @_; |
|
2235 |
|
|
2236 |
# connect to database |
|
2237 |
my $dbh = $form->get_standard_dbh($myconfig); |
|
2238 |
|
|
2239 |
my $query; |
|
2240 |
my @values = ($form->{description}, conv_i($form->{factor})); |
|
2241 |
|
|
2242 |
if ($form->{id}) { |
|
2243 |
$query = qq|UPDATE price_factors SET description = ?, factor = ? WHERE id = ?|; |
|
2244 |
push @values, conv_i($form->{id}); |
|
2245 |
|
|
2246 |
} else { |
|
2247 |
$query = qq|INSERT INTO price_factors (description, factor, sortkey) VALUES (?, ?, (SELECT COALESCE(MAX(sortkey), 0) + 1 FROM price_factors))|; |
|
2248 |
} |
|
2249 |
|
|
2250 |
do_query($form, $dbh, $query, @values); |
|
2251 |
|
|
2252 |
$dbh->commit(); |
|
2253 |
|
|
2254 |
$main::lxdebug->leave_sub(); |
|
2255 |
} |
|
2256 |
|
|
2257 |
sub get_all_price_factors { |
|
2258 |
$main::lxdebug->enter_sub(); |
|
2259 |
|
|
2260 |
my ($self, $myconfig, $form) = @_; |
|
2261 |
|
|
2262 |
# connect to database |
|
2263 |
my $dbh = $form->get_standard_dbh($myconfig); |
|
2264 |
|
|
2265 |
$form->{PRICE_FACTORS} = selectall_hashref_query($form, $dbh, qq|SELECT * FROM price_factors ORDER BY sortkey|); |
|
2266 |
|
|
2267 |
$main::lxdebug->leave_sub(); |
|
2268 |
} |
|
2269 |
|
|
2270 |
sub get_price_factor { |
|
2271 |
$main::lxdebug->enter_sub(); |
|
2272 |
|
|
2273 |
my ($self, $myconfig, $form) = @_; |
|
2274 |
|
|
2275 |
# connect to database |
|
2276 |
my $dbh = $form->get_standard_dbh($myconfig); |
|
2277 |
|
|
2278 |
my $query = qq|SELECT description, factor, |
|
2279 |
((SELECT COUNT(*) FROM parts WHERE price_factor_id = ?) + |
|
2280 |
(SELECT COUNT(*) FROM invoice WHERE price_factor_id = ?) + |
|
2281 |
(SELECT COUNT(*) FROM orderitems WHERE price_factor_id = ?)) = 0 AS orphaned |
|
2282 |
FROM price_factors WHERE id = ?|; |
|
2283 |
|
|
2284 |
($form->{description}, $form->{factor}, $form->{orphaned}) = selectrow_query($form, $dbh, $query, (conv_i($form->{id})) x 4); |
|
2285 |
|
|
2286 |
$main::lxdebug->leave_sub(); |
|
2287 |
} |
|
2288 |
|
|
2289 |
sub delete_price_factor { |
|
2290 |
$main::lxdebug->enter_sub(); |
|
2291 |
|
|
2292 |
my ($self, $myconfig, $form) = @_; |
|
2293 |
|
|
2294 |
# connect to database |
|
2295 |
my $dbh = $form->get_standard_dbh($myconfig); |
|
2296 |
|
|
2297 |
do_query($form, $dbh, qq|DELETE FROM price_factors WHERE id = ?|, conv_i($form->{id})); |
|
2298 |
$dbh->commit(); |
|
2299 |
|
|
2300 |
$main::lxdebug->leave_sub(); |
|
2301 |
} |
|
2231 | 2302 |
|
2232 | 2303 |
|
2233 | 2304 |
1; |
Auch abrufbar als: Unified diff
Preisfatkoren implementiert.