diff options
author | Mark Wells <mark@freeside.biz> | 2014-08-13 19:19:18 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2014-08-13 19:19:18 -0700 |
commit | e5770f1c578ba47f730488df7fb5a03307ac71ab (patch) | |
tree | 8462127e16f1d4502532a3cad60e5f311b755196 /httemplate/browse | |
parent | 847c27d7683856f420ed5306cb0ca395f1a6eb60 (diff) |
avoid counting location-changed packages in total canceled packages
Diffstat (limited to 'httemplate/browse')
-rwxr-xr-x | httemplate/browse/part_pkg.cgi | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/httemplate/browse/part_pkg.cgi b/httemplate/browse/part_pkg.cgi index 63822c7c9..1eb55c88a 100755 --- a/httemplate/browse/part_pkg.cgi +++ b/httemplate/browse/part_pkg.cgi @@ -108,6 +108,14 @@ my $count_cust_pkg = " WHERE cust_pkg.pkgpart = part_pkg.pkgpart AND $agentnums_sql "; +my $count_cust_pkg_cancel = " + SELECT COUNT(*) FROM cust_pkg LEFT JOIN cust_main USING ( custnum ) + LEFT JOIN cust_pkg AS cust_pkg_next + ON (cust_pkg.pkgnum = cust_pkg_next.change_pkgnum) + WHERE cust_pkg.pkgpart = part_pkg.pkgpart + AND $agentnums_sql + AND cust_pkg.cancel IS NOT NULL AND cust_pkg.cancel != 0 +"; $select = " @@ -137,11 +145,16 @@ $select = " AND ( setup IS NULL OR setup = 0 ) ) AS num_on_hold, - ( $count_cust_pkg - AND cancel IS NOT NULL AND cancel != 0 + ( $count_cust_pkg_cancel + AND (cust_pkg_next.pkgnum IS NULL + OR cust_pkg_next.pkgpart != cust_pkg.pkgpart) ) AS num_cancelled "; +# About the num_cancelled expression: packages that were changed, but +# kept the same pkgpart, are considered "moved", not "canceled" (because +# this is the part_pkg UI). We could show the count of those but it's +# probably not interesting. my $html_init = qq! One or more service definitions are grouped together into a package |