Piotr Labudda 6 лет назад
Родитель
Сommit
f88803a919

+ 48 - 6
SE/se-lib/Route/UrlAction/UserContact.php

@@ -23,7 +23,7 @@ class Route_UrlAction_UserContact extends RouteBase {
 
 		echo UI::h('hr');
 
-		$this->viewHistContacts($idUser);
+		$this->viewUserPaymentContactsHistory($idUser);
 	}
 
 	function viewSaveContactForm($idUser) {
@@ -81,8 +81,8 @@ class Route_UrlAction_UserContact extends RouteBase {
 			]),
 			UI::h('div', [ 'class' => "row", 'style' => "padding-bottom: 12px" ], [
 				UI::h('div', [ 'class' => "col-md-12" ], [
-					UI::h('label', [], "Notatka"),
-					UI::h('textarea', [ 'class' => "form-control", 'type' => "text", 'name' => 'L_APPOITMENT_INFO' ], $args['L_APPOITMENT_INFO']),
+					UI::h('label', [], "Notatka ze spotkania"),
+					UI::h('textarea', [ 'class' => "form-control", 'type' => "text", 'name' => 'L_APPOITMENT_INFO', 'rows' => 3 ], $args['L_APPOITMENT_INFO']),
 				]),
 			]),
 			UI::h('div', [ 'class' => "row", 'style' => "padding-bottom: 12px" ], [
@@ -417,7 +417,7 @@ class Route_UrlAction_UserContact extends RouteBase {
 		]);
 	}
 
-	function viewHistContacts($idUser) {
+	function viewUserPaymentContactsHistory($idUser) {
 		$lastHist = DB::getPDO()->fetchAll("
 			select t.ID
 				, t.ID_BILLING_USERS
@@ -433,6 +433,10 @@ class Route_UrlAction_UserContact extends RouteBase {
 			limit 11
 		", [ ':id' => $idUser ]);
 
+		Lib::loadClass('Windykacja_StatsModel');
+		$billDocs = Windykacja_StatsModel::getBillDocsByDate($idUser);
+		DBG::nicePrint($billDocs, '$billDocs');
+
 		UI::table([ 'caption' => "Historia kontaktów z klientem (TODO: w trakcie prac. Zobacz " .
 			UI::h('a', [ 'href' => "index.php?MENU_INIT=USERS2_WINDYKACJA_STATUS&q=&_f=&_user_id={$idUser}" ], "Panel windykacji") .
 		")", 'rows' => $lastHist ]);
@@ -472,7 +476,7 @@ class Route_UrlAction_UserContact extends RouteBase {
 			Lib::loadClass('Windykacja_StatsHelper');
 			$user = Windykacja_StatsModel::get_user_by_id($idUser);
 			if ($user) {
-				$billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user);
+				$billing_docs = Windykacja_StatsModel::getBillDocsByDate($idUser);
 				Windykacja_StatsHelper::update_stats($user, $billing_docs);
 			}
 			$this->_windykInfo = $this->fetchWindykacjaInfo($idUser);
@@ -560,4 +564,42 @@ class Route_UrlAction_UserContact extends RouteBase {
 			) ENGINE=MyISAM DEFAULT CHARSET=latin2;
 		");
 	}
-}
+}
+
+/*
+insert into USERS2_CONTACT (
+    A_RECORD_CREATE_DATE,
+    A_RECORD_CREATE_AUTHOR,
+    ID_BILLING_USERS,
+    CLIENT_INFO,
+    L_APPOITMENT_TYPE,
+    L_APPOITMENT_DATE,
+    L_APPOITMENT_USER,
+    L_APPOITMENT_INFO
+)
+select
+    h.A_RECORD_UPDATE_DATE as A_RECORD_CREATE_DATE,
+    h.A_RECORD_UPDATE_AUTHOR as A_RECORD_CREATE_AUTHOR,
+    ( select w.ID_BILLING_USERS from USERS2_WINDYKACJA_STATUS w where w.ID = h.ID_USERS2 ) as ID_BILLING_USERS,
+    '' as CLIENT_INFO,
+	'TEL' as L_APPOITMENT_TYPE,
+    IF('N/S;' = h.L_APPOITMENT_DATE and h.LAST_PHONE_STATUS_DATE != 'N/S;', h.LAST_PHONE_STATUS_DATE, h.L_APPOITMENT_DATE) as L_APPOITMENT_DATE,
+    IF('N/S;' = h.L_APPOITMENT_DATE and h.LAST_PHONE_STATUS_DATE != 'N/S;', h.A_RECORD_UPDATE_AUTHOR, h.L_APPOITMENT_USER) as L_APPOITMENT_USER,
+    IF('N/S;' = h.L_APPOITMENT_DATE and h.LAST_PHONE_STATUS_DATE != 'N/S;', h.LAST_PHONE_STATUS, h.L_APPOITMENT_INFO) as L_APPOITMENT_INFO
+
+--    , '===' as X, h.*
+
+from USERS2_WINDYKACJA_STATUS_HIST h
+where
+    h.A_RECORD_UPDATE_DATE like '2019-08-%'
+    and h.A_RECORD_UPDATE_AUTHOR not like '%update%'
+
+
+select sum(ILE_ODZYSKANO) from USERS2_CONTACT;
+
+
+select count(DISTINCT ID_BILLING_USERS) from USERS2_CONTACT;
+
+
+select ID_BILLING_USERS, count(*) as cnt from USERS2_CONTACT group by ID_BILLING_USERS;
+*/

+ 2 - 25
SE/se-lib/Route/UrlAction/UserSaldoAfterContact.php

@@ -28,7 +28,7 @@ class Route_UrlAction_UserSaldoAfterContact extends RouteBase {
 
 		echo UI::h('hr');
 
-		$this->viewHistContacts($idUser);
+		Router::getRoute('UrlAction_UserContact')->viewUserPaymentContactsHistory($idUser);
 	}
 
 	function viewIleOdzyskanoForm($id) {
@@ -332,29 +332,6 @@ class Route_UrlAction_UserSaldoAfterContact extends RouteBase {
 		]);
 	}
 
-	function viewHistContacts($idUser) {
-		$lastHist = DB::getPDO()->fetchAll("
-			select t.ID
-				, t.ID_BILLING_USERS
-		--		, t.CLIENT_INFO
-				, t.A_STATUS
-		--		, t.A_STATUS_INFO
-				, t.L_APPOITMENT_USER
-				, t.L_APPOITMENT_DATE
-				, t.L_APPOITMENT_TYPE
-				, t.L_APPOITMENT_INFO
-			from USERS2_CONTACT t
-			where t.ID_BILLING_USERS = :id
-				and t.A_STATUS != 'DELETED'
-			limit 11
-		", [ ':id' => $idUser ]);
-
-		UI::table([ 'caption' => "Historia kontaktów z klientem (TODO: w trakcie prac. Zobacz " .
-			UI::h('a', [ 'href' => "index.php?MENU_INIT=USERS2_WINDYKACJA_STATUS&q=&_f=&_user_id={$idUser}" ], "Panel windykacji") .
-		")", 'rows' => $lastHist ]);
-		// if (count($lastHist) > 10) UI::alert('info', "Przeglądaj wszystkie wpisy TODO: link to view table with ff_ID_BILLING_USERS");
-	}
-
 	function getContactInfo($id) {
 		return DB::getPDO()->fetchFirst(" select t.* from USERS2_CONTACT t where t.ID = :id ", [ ':id' => $id ]);
 	}
@@ -392,7 +369,7 @@ class Route_UrlAction_UserSaldoAfterContact extends RouteBase {
 			Lib::loadClass('Windykacja_StatsHelper');
 			$user = Windykacja_StatsModel::get_user_by_id($idUser);
 			if ($user) {
-				$billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user);
+				$billing_docs = Windykacja_StatsModel::getBillDocsByDate($idUser);
 				Windykacja_StatsHelper::update_stats($user, $billing_docs);
 			}
 			$this->_windykInfo = $this->fetchWindykacjaInfo($idUser);

+ 2 - 2
SE/se-lib/Route/UrlAction/WindykacjaUpdateStatus.php

@@ -221,7 +221,7 @@ class Route_UrlAction_WindykacjaUpdateStatus extends RouteBase {
 			]);
 			$user = Windykacja_StatsModel::get_user_by_id($toUpdateClientID);
 			if ($user) {
-				$billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user);
+				$billing_docs = Windykacja_StatsModel::getBillDocsByDate($user->ID);
 				Windykacja_StatsHelper::update_stats($user, $billing_docs);
 			}
 		}
@@ -266,7 +266,7 @@ class Route_UrlAction_WindykacjaUpdateStatus extends RouteBase {
 			foreach ($toUpdateClientListIds as $toUpdateClientID) {
 				$user = Windykacja_StatsModel::get_user_by_id($toUpdateClientID);
 				if ($user) {
-					$billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user);
+					$billing_docs = Windykacja_StatsModel::getBillDocsByDate($user->ID);
 					Windykacja_StatsHelper::update_stats($user, $billing_docs);
 				} else {
 					DB::getPDO()->update('USERS2_WINDYKACJA_STATUS', 'ID_BILLING_USERS', $toUpdateClientID, [

+ 7 - 4
SE/se-lib/Windykacja/StatsModel.php

@@ -505,6 +505,9 @@ class Windykacja_StatsModel {
 	}
 
 	public static function get_bill_dosc_by_date(&$user, $date_limit = null) {
+		return self::getBillDocsByDate($user->ID, $date_limit);
+	}
+	public static function getBillDocsByDate($idUser, $date_limit = null) {
 		// fetch finanse data from remote DB
 		$billing_docs = new Windykacja_BillingListDocs();
 		$pdo_webone = DB::getPDO('931');
@@ -534,7 +537,7 @@ class Windykacja_StatsModel {
 				{$sqlWhereAdd}
 			group by BILLS_FVAT.ID
 			order by BILLS_FVAT.ID_BILLING_NUMBERS ASC
-		", [ ':id_user' => $user->ID ]);
+		", [ ':id_user' => $idUser ]);
 		foreach ($billsFvat as $h) {
 			// if (0){// ? dla kazdej faktury ?
 			// $sql = "select t1.ID_BILLING_NUMBERS AS NR_DOK
@@ -555,7 +558,7 @@ class Windykacja_StatsModel {
 			// 		left join `BILLING_ACCOUNTS_FILES` as t3 on (t1.ID_BILLING_NUMBERS=t3.ID_FIN_MA)
 			// 	where
 			// 		t1.ID_FIN_WINIEN is NULL and t1.ID_FIN_MA is NULL and t1.MA = 0 and  t1.WINIEN > 0
-			// 		and t1.ID_BILLING_NUMBERS={$user->ID}
+			// 		and t1.ID_BILLING_NUMBERS={$idUser}
 			// 	group by t1.ID_BILLING_NUMBERS
 			// 	limit 0,1
 			// ";
@@ -596,7 +599,7 @@ class Windykacja_StatsModel {
 						, {$bill_type['BILLING_NUMBERS_TABLE']}.ID_BILLING_NUMBERS_TYPE
 					from {$bill_type['TABLE']}
 						left join {$bill_type['BILLING_NUMBERS_TABLE']} on ({$bill_type['BILLING_NUMBERS_TABLE']}.ID={$bill_type['TABLE']}.ID_BILLING_NUMBERS)
-					where {$bill_type['TABLE']}.ID_BILLING_USERS='{$user->ID}'
+					where {$bill_type['TABLE']}.ID_BILLING_USERS='{$idUser}'
 						{$sql_where}
 				";
 				$vBillDocs = $pdo_webone->fetchAll($sql);
@@ -627,7 +630,7 @@ class Windykacja_StatsModel {
 						left join `{$bill_type['BILLING_NUMBERS_TABLE']}` t_num on (t_num.`ID`=t.`ID_BILLING_NUMBERS`)
 						left join `{$bill_type['BILLING_NUMBERS_TABLE']}` fv_num on (fv_num.`ID`=t.`REMOTE_ID_BILLING_NUMBERS`)
 						left join `{$bill_type['TABLE']}_POS` t_pos on (t_pos.`ID_BILLS_FVAT`=t.`ID`)
-					where t.`ID_BILLING_USERS`='{$user->ID}'
+					where t.`ID_BILLING_USERS`='{$idUser}'
 						{$sql_where}
 					group by t.`ID`
 					order by t.`ID`

+ 6 - 6
SE/se-lib/Windykacja/View.php

@@ -1644,7 +1644,7 @@ class Windykacja_View {
 		Lay_Html_Toggle::end();
 	}
 
-	public static function user_historia_platnosci(&$user) {
+	public static function user_historia_platnosci(&$user) { // TODO: mv to UserContact::viewUserPaymentContactsHistory
 		?>
 		<style type="text/css">
             .hide .to-hide{display:none;}
@@ -1656,7 +1656,7 @@ class Windykacja_View {
 		<?php
 		Lay_Html_Toggle::show_js();
 
-		$billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user);
+		$billing_docs = Windykacja_StatsModel::getBillDocsByDate($user->ID);
 
 		// add events
 		$umowy_l2 = Windykacja_StatsModel::get_umowy_from_l2($user);
@@ -2247,7 +2247,7 @@ class Windykacja_View {
 		header("Content-Disposition: attachment; filename={$csvFileName}.csv");
 		$showCsvHeader = true;
 		foreach ($usersList as $userId => $user) {
-			$billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user, $date_limit);
+			$billing_docs = Windykacja_StatsModel::getBillDocsByDate($user->ID, $date_limit);
 			$billing_docs->sort_docs();
 			$saldo = $billing_docs->get_saldo();
 			if ($saldo <= 0) {
@@ -2403,7 +2403,7 @@ class Windykacja_View {
 		header("Content-Disposition: attachment; filename={$csvFileName}.csv");
 		$showCsvHeader = true;
 		foreach ($usersList as $userId => $user) {
-			$billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user, $date_limit);
+			$billing_docs = Windykacja_StatsModel::getBillDocsByDate($user->ID, $date_limit);
 			$billing_docs->sort_docs();
 			$fvat_arr = $billing_docs->get_unpaid_fvat();
 			Windykacja_StatsModel::update_doc_number($fvat_arr);
@@ -2484,7 +2484,7 @@ class Windykacja_View {
 
 	public static function wezwanie(&$user, $wezwanie_termin, $wezwanie_ostateczne = false) {
 		$date_limit = date("Y-m-d");
-		$billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user, $date_limit);
+		$billing_docs = Windykacja_StatsModel::getBillDocsByDate($user->ID, $date_limit);
 
 		$billing_docs->sort_docs();
 
@@ -2742,7 +2742,7 @@ class Windykacja_View {
 				//echo $w->A_STATUS . ' (' . $w->A_STATUS_UPDATE_DATE . ')';
 				$user = Windykacja_StatsModel::get_user_by_id($w->ID_BILLING_USERS);
 				if ($user) {
-					$billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user);
+					$billing_docs = Windykacja_StatsModel::getBillDocsByDate($user->ID);
 					Windykacja_StatsHelper::update_stats($user, $billing_docs);
 				}
 			//echo'</div>';// .box-blue