Bläddra i källkod

Windykacja status use acl groups - stats and fetch user data

Piotr Labudda 11 år sedan
förälder
incheckning
ecef5d0131
1 ändrade filer med 39 tillägg och 6 borttagningar
  1. 39 6
      SE/superedit-USERS2_WINDYKACJA_STATUS.php

+ 39 - 6
SE/superedit-USERS2_WINDYKACJA_STATUS.php

@@ -34,7 +34,7 @@ function USERS2_WINDYKACJA_STATUS() {
 			if ($user_id > 0) {
 				$user = WindykacjaStatsModel::get_user_by_id($user_id);
 				if (!$user) {
-					echo'<p style="color:red">'."Użytkownik nie istnieje.".'</p>';
+					echo'<p style="color:red">'."Użytkownik nie istnieje lub brak uprawnień.".'</p>';
 				} else {
 					WindykacjaView::zadluzenia($user);
 					return;
@@ -48,7 +48,7 @@ function USERS2_WINDYKACJA_STATUS() {
 			if ($user_id > 0) {
 				$user = WindykacjaStatsModel::get_user_by_id($user_id);
 				if (!$user) {
-					echo'<p style="color:red">'."Użytkownik nie istnieje.".'</p>';
+					echo'<p style="color:red">'."Użytkownik nie istnieje lub brak uprawnień.".'</p>';
 				} else {
 					WindykacjaView::wezwanie($user, $user->PAY_TERM);
 					return;
@@ -62,7 +62,7 @@ function USERS2_WINDYKACJA_STATUS() {
 			if ($user_id > 0) {
 				$user = WindykacjaStatsModel::get_user_by_id($user_id);
 				if (!$user) {
-					echo'<p style="color:red">'."Użytkownik nie istnieje.".'</p>';
+					echo'<p style="color:red">'."Użytkownik nie istnieje lub brak uprawnień.".'</p>';
 				} else {
 					WindykacjaView::wezwanie_ostateczne($user, $user->PAY_TERM);
 					return;
@@ -76,7 +76,7 @@ function USERS2_WINDYKACJA_STATUS() {
 			if ($user_id > 0) {
 				$user = WindykacjaStatsModel::get_user_by_id($user_id);
 				if (!$user) {
-					echo'<p style="color:red">'."Użytkownik nie istnieje.".'</p>';
+					echo'<p style="color:red">'."Użytkownik nie istnieje lub brak uprawnień.".'</p>';
 				} else {
 					WindykacjaView::task_bok_rozwiazanie_umowy($user);
 					return;
@@ -90,7 +90,7 @@ function USERS2_WINDYKACJA_STATUS() {
 			if ($user_id > 0) {
 				$user = WindykacjaStatsModel::get_user_by_id($user_id);
 				if (!$user) {
-					echo'<p style="color:red">'."Użytkownik nie istnieje.".'</p>';
+					echo'<p style="color:red">'."Użytkownik nie istnieje lub brak uprawnień.".'</p>';
 				} else {
 					WindykacjaView::task_bok_rozwiazanie_umowy_print($user, V::get('id_koresp', 0, $_REQUEST, 'int'));
 					return;
@@ -156,7 +156,7 @@ function USERS2_WINDYKACJA_STATUS() {
 	if ($user_id > 0) {
 		$user = WindykacjaStatsModel::get_user_by_id($user_id);
 		if (!$user) {
-			echo'<p>'."Użytkownik nie istnieje.".'</p>';
+			echo'<p>'."Użytkownik nie istnieje lub brak uprawnień.".'</p>';
 			return;
 		}
 
@@ -3255,11 +3255,21 @@ class WindykacjaStatsHelper {
 	}
 
 	public static function get_status_count() {
+		$sql_where_and_arr = array();
+		$usrAclGroups = User::getLdapGroupsNames();
+		$usrAclGroups[] = '';
+		$sqlUsrAclGroups = "'" . implode("','", $usrAclGroups) . "'";
+		$sql_where_and_arr[] = "a.`A_ADM_COMPANY` in({$sqlUsrAclGroups})";
+		$sql_where_and_arr[] = "a.`A_CLASSIFIED` in({$sqlUsrAclGroups})";
+		$sqlWhereAdd = " and " . implode(" and ", $sql_where_and_arr);
+
 		$ret = array();
 		$db = DB::getDB();
 		$sql = " select w.`A_STATUS`, count(1) as cnt
 				, sum(IF(w.`PAY_SALDO`<0, w.`PAY_SALDO`, 0)) as suma_zaleglosci
 			from  `USERS2_WINDYKACJA_STATUS` as w
+				left join `BILLING_USERS_ADD` as a on(a.`id_users`=w.`ID_BILLING_USERS`)
+			where 1=1 {$sqlWhereAdd}
 			group by w.`A_STATUS` 
 		";
 		$res = $db->query($sql);
@@ -3271,10 +3281,12 @@ class WindykacjaStatsHelper {
 				, count(1) as cnt
 				, sum(IF(w.`PAY_SALDO`<0, w.`PAY_SALDO`, 0)) as suma_zaleglosci
 			from  `USERS2_WINDYKACJA_STATUS` as w
+				left join `BILLING_USERS_ADD` as a on(a.`id_users`=w.`ID_BILLING_USERS`)
 			where
 				w.`PAY_SALDO`<0
 				and w.`PAY_DATE`!='0000-00-00'
 				and w.`PAY_DATE`<DATE_SUB(NOW(), INTERVAL 36 MONTH)
+				{$sqlWhereAdd}
 		";
 		$res = $db->query($sql);
 		if ($r = $db->fetch($res)) {
@@ -3285,11 +3297,13 @@ class WindykacjaStatsHelper {
 				, count(1) as cnt
 				, sum(IF(w.`PAY_SALDO`<0, w.`PAY_SALDO`, 0)) as suma_zaleglosci
 			from  `USERS2_WINDYKACJA_STATUS` as w
+				left join `BILLING_USERS_ADD` as a on(a.`id_users`=w.`ID_BILLING_USERS`)
 			where
 				w.`PAY_SALDO`<0
 				and w.`PAY_DATE`!='0000-00-00'
 				and w.`PAY_DATE`<DATE_SUB(NOW(), INTERVAL 33 MONTH)
 				and w.`PAY_DATE`>DATE_SUB(NOW(), INTERVAL 36 MONTH)
+				{$sqlWhereAdd}
 		";
 		$res = $db->query($sql);
 		if ($r = $db->fetch($res)) {
@@ -3300,11 +3314,13 @@ class WindykacjaStatsHelper {
 				, count(1) as cnt
 				, sum(IF(w.`PAY_SALDO`<0, w.`PAY_SALDO`, 0)) as suma_zaleglosci
 			from  `USERS2_WINDYKACJA_STATUS` as w
+				left join `BILLING_USERS_ADD` as a on(a.`id_users`=w.`ID_BILLING_USERS`)
 			where
 				w.`PAY_SALDO`<0
 				and w.`A_STATUS` in('wezwanie1', 'waiting-wezwanie2', 'wezwanie2', 'waiting-krd')
 				and ( w.`LAST_PHONE_STATUS_DATE`='0000-00-00'
 					or w.`LAST_PHONE_STATUS_DATE`<DATE_SUB(NOW(), INTERVAL 3 MONTH) )
+				{$sqlWhereAdd}
 		";
 		$res = $db->query($sql);
 		if ($r = $db->fetch($res)) {
@@ -3315,10 +3331,12 @@ class WindykacjaStatsHelper {
 				, count(1) as cnt
 				, sum(IF(w.`PAY_SALDO`<0, w.`PAY_SALDO`, 0)) as suma_zaleglosci
 			from  `USERS2_WINDYKACJA_STATUS` as w
+				left join `BILLING_USERS_ADD` as a on(a.`id_users`=w.`ID_BILLING_USERS`)
 			where
 				w.`PAY_SALDO`<0
 				-- and w.`A_STATUS` in('wezwanie1', 'waiting-wezwanie2', 'wezwanie2', 'waiting-krd')
 				and w.`BAD_ADDRESS`>0
+				{$sqlWhereAdd}
 		";
 		$res = $db->query($sql);
 		if ($r = $db->fetch($res)) {
@@ -3331,8 +3349,10 @@ class WindykacjaStatsHelper {
 				, sum(IF(w.`PAY_SALDO`<0, 1, 0)) as cnt_stan_minus
 				, sum(IF(w.`PAY_SALDO`<0, w.`PAY_SALDO`, 0)) as suma_zaleglosci
 			from  `USERS2_WINDYKACJA_STATUS` as w
+				left join `BILLING_USERS_ADD` as a on(a.`id_users`=w.`ID_BILLING_USERS`)
 			where
 				w.`A_STATUS`='WAITING'
+				{$sqlWhereAdd}
 		";
 		$res = $db->query($sql);
 		if ($r = $db->fetch($res)) {
@@ -3346,11 +3366,13 @@ class WindykacjaStatsHelper {
 				, sum(IF(w.`NR_SPRAWY_KOMORNIK`!='', 1, 0)) as cnt_komornik
 				, sum(IF(w.`L_APPOITMENT_INFO`!='', 1, 0)) as cnt_ustalenia
 			from  `USERS2_WINDYKACJA_STATUS` as w
+				left join `BILLING_USERS_ADD` as a on(a.`id_users`=w.`ID_BILLING_USERS`)
 			where
 				(w.`NR_SPRAWY_SAD`!=''
 					or w.`NR_SPRAWY_KOMORNIK`!=''
 					or w.`L_APPOITMENT_INFO`!=''
 				)
+				{$sqlWhereAdd}
 		";
 		$res = $db->query($sql);
 		if ($r = $db->fetch($res)) {
@@ -3363,8 +3385,10 @@ class WindykacjaStatsHelper {
 				, count(1) as cnt
 				, sum(IF(w.`NR_SPRAWY_KOMORNIK`!='', 1, 0)) as cnt_komornik
 			from  `USERS2_WINDYKACJA_STATUS` as w
+				left join `BILLING_USERS_ADD` as a on(a.`id_users`=w.`ID_BILLING_USERS`)
 			where
 				w.`A_STATUS`='sad'
+				{$sqlWhereAdd}
 		";
 		$res = $db->query($sql);
 		if ($r = $db->fetch($res)) {
@@ -3625,6 +3649,14 @@ class WindykacjaStatsModel {
 		$ret = null;
 		if ($id <= 0) return $ret;
 
+		$sql_where_and_arr = array();
+		$usrAclGroups = User::getLdapGroupsNames();
+		$usrAclGroups[] = '';
+		$sqlUsrAclGroups = "'" . implode("','", $usrAclGroups) . "'";
+		$sql_where_and_arr[] = "a.`A_ADM_COMPANY` in({$sqlUsrAclGroups})";
+		$sql_where_and_arr[] = "a.`A_CLASSIFIED` in({$sqlUsrAclGroups})";
+		$sqlWhereAdd = " and " . implode(" and ", $sql_where_and_arr);
+
 		$sql_select = self::get_sql_users_select();
 		$sql_where = "a.`id_users`='{$id}'";
 		$db = DB::getDB();
@@ -3633,6 +3665,7 @@ class WindykacjaStatsModel {
 				left join `BILLING_USERS` as bu on(bu.`ID`=w.`ID_BILLING_USERS`)
 				left join `BILLING_USERS_ADD` as a on(a.`id_users`=w.`ID_BILLING_USERS`)
 			where {$sql_where}
+				{$sqlWhereAdd}
 		";
 		$res = $db->query($sql);
 		if ($r = $db->fetch($res)) {