Explorar o código

U windyk, fixed perms cols from companies table

Piotr Labudda %!s(int64=6) %!d(string=hai) anos
pai
achega
6f7f8dcb0f

+ 15 - 7
SE/se-lib/Route/UrlAction/UserContact.php

@@ -201,7 +201,7 @@ class Route_UrlAction_UserContact extends RouteBase {
 			$windykInfo = Windykacja_View::getWindykacjaInfo($idUser);
 
 			// create new record with L_APPOITMENT_* in table `USERS2_CONTACT`
-			DB::getPDO()->insert('USERS2_CONTACT', [
+			$newContactItem = [
 				'ID_BILLING_USERS' => $idUser,
 				'L_APPOITMENT_USER' => $args['L_APPOITMENT_USER'],
 				'L_APPOITMENT_DATE' => $args['L_APPOITMENT_DATE'],
@@ -210,14 +210,22 @@ class Route_UrlAction_UserContact extends RouteBase {
 				'SALDO' => $windykInfo['SALDO'],
 				'A_RECORD_CREATE_DATE' => "NOW()",
 				'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
-			]);
+			];
+			$idCreated = DB::getPDO()->insert('USERS2_CONTACT', $newContactItem);
+			DB::getPDO()->insert('USERS2_CONTACT_HIST', array_merge($newContactItem, [ 'ID_USERS2' => $idCreated ]));
 			// update A_STATUS_INFO in `USERS2_WINDYKACJA_STATUS` if $args['change_windykacja_status']
 			if ($args['change_windykacja_status']) {
-				DB::getPDO()->update('USERS2_WINDYKACJA_STATUS', 'ID_BILLING_USERS', $idUser, [
-					'A_STATUS_INFO' => $args['A_STATUS_INFO'],
-					'A_RECORD_UPDATE_DATE' => "NOW()",
-					'A_RECORD_UPDATE_AUTHOR' => User::getLogin(),
-				]);
+				if ($windykInfo['A_STATUS_INFO'] != $args['A_STATUS_INFO']) {
+					$toUpdateWindyk = [
+						'A_STATUS_INFO' => $args['A_STATUS_INFO'],
+						'A_RECORD_UPDATE_DATE' => "NOW()",
+						'A_RECORD_UPDATE_AUTHOR' => User::getLogin(),
+					];
+					DB::getPDO()->update('USERS2_WINDYKACJA_STATUS', 'ID_BILLING_USERS', $idUser, $toUpdateWindyk);
+					DB::getPDO()->insert('USERS2_WINDYKACJA_STATUS_HIST', array_merge($toUpdateWindyk, [
+						'ID_USERS2' => $windykInfo['ID'],
+					]));
+				}
 			}
 			// update L_APPOITMENT_* fields using REMINDER_* in `USERS2_WINDYKACJA_STATUS` if $args['add_reminder']
 			if ($args['add_reminder']) {

+ 9 - 3
SE/se-lib/Windykacja/StatsHelper.php

@@ -92,9 +92,15 @@ class Windykacja_StatsHelper {
 		$data_arr["A_RECORD_UPDATE_DATE"] = date("Y-m-d-H:i");
 		$data_arr["A_RECORD_UPDATE_AUTHOR"] = "stat-update";
 
-		$company = Windykacja_StatsModel::get_company($user);
-		$nr_konta = Windykacja_FunkcjeL1::bankowy_make_nrach($company->NR_RACH_MASS_PAY, $user->ID_BILLING_USERS, 0);
-		$data_arr["ACCOUNT_NUMBER"] = $nr_konta;
+		$company = Windykacja_StatsModel::getOwnerCompany($user->ID_BILLING_USERS);
+		$data_arr["ACCOUNT_NUMBER"] = Windykacja_FunkcjeL1::bankowy_make_nrach($company['NR_RACH_MASS_PAY'], $user->ID_BILLING_USERS, 0);
+		$windykPerms = DB::getPDO()->fetchFirst(" select w.ID, w.A_ADM_COMPANY, w.A_CLASSIFIED from USERS2_WINDYKACJA_STATUS w where w.ID_BILLING_USERS = :id ", [ ':id' => $user->ID_BILLING_USERS ]);
+		$companyPerms = DB::getPDO()->fetchFirst(" select c.ID, c.A_ADM_COMPANY, c.A_CLASSIFIED from COMPANIES c where c.ID = :id ", [ ':id' => $user->ID_BILLING_USERS ]);
+		DBG::log([ 'windykPerms' => $windykPerms, 'companyPerms' => $companyPerms ], 'array', 'TODO:DBG:user perm from COMPANIES table');
+		if ($windykPerms && $companyPerms) {
+			if ($companyPerms['A_ADM_COMPANY'] != $windykPerms['A_ADM_COMPANY']) $data_arr['A_ADM_COMPANY'] = $companyPerms['A_ADM_COMPANY'];
+			if ($companyPerms['A_CLASSIFIED'] != $windykPerms['A_CLASSIFIED']) $data_arr['A_CLASSIFIED'] = $companyPerms['A_CLASSIFIED'];
+		}
 		$data_arr["SERVICES_STREETS"] = Windykacja_StatsModel::getAllServicesStreetsCSV($user);
 		$data_arr["BILLING_USER_NAME"] = DB::getPDO()->fetchValue("
 			select concat(bua.`P_NAME`, ' ', bua.`P_NAME_SECOND`) as P_NAME

+ 46 - 45
SE/se-lib/Windykacja/StatsModel.php

@@ -322,51 +322,52 @@ class Windykacja_StatsModel {
 		// }
 	}
 
-	public static function get_company(&$user) {
-		if (!isset($user->_company)) {
-			$user->_company = DB::getPDO()->fetchFirstAsObject("
-				select
-					bo.`id`
-					, bo.`name1`
-					, bo.`name2`
-					, bo.`kod`
-					, bo.`miasto`
-					, bo.`ulica`
-					, bo.`numer_dom`
-					, bo.`tel`
-					, bo.`fax`
-					, bo.`nip`
-					, bo.`regon`
-					, bo.`bank`
-					, bo.`nr_rach`
-					, bo.`NR_RACH_MASS_PAY`
-					, bo.`BILLING_OWNER_EMAIL`
-				from `BILLING_USERS` as bu
-					left join `BILLING_OWNER` as bo on ( bo.`ID` = bu.`BILLING_OWNER` )
-				where
-					bu.`ID` = :id_user
-			", [ ':id_user' => $user->ID_BILLING_USERS ]);
-			/*
-				id					1 / 2
-				name1				"BIALL-NET" Sp. z o.o. / "NET-DAY" s.c.
-				name2				--- / Adrian i Ewa Wieczorkowscy
-				kod     		80-174 / 80-809
-				miasto			Gdańsk, Otomin / Gdańsk
-				ulica				Słoneczna / Cieszyńskiego
-				numer_dom		43 / 38
-				numer_pos		NULL / NULL
-				uwagi				--- / ---
-				tel					0-58 320-72-92 / 0-58 741 84 54
-				fax					0-58 320-72-96 / 0-58 741 84 56
-				nip					593-22-68-672 / 583-27-54-031
-				regon				192120212 / 192578721
-				bank				Bank Zachodni WBK SA I O/Gdansk / ---
-				nr_rach			46 1090 1098 0000 0001 0253 7156 / 84 1500 1171 1211 7002 9997 0000
-				NR_RACH_MASS_PAY		109000049887 / 109000049669
-				BILLING_OWNER_EMAIL	biall-net@biall.net.pl / netday@netday.pl
-			 */
-		}
-		return $user->_company;
+	public static function getOwnerCompany($idUser) {
+		static $_company;
+		if (!empty($_company)) return $_company;
+		$_company = DB::getPDO()->fetchFirst("
+			select
+				bo.`id`
+				, bo.`name1`
+				, bo.`name2`
+				, bo.`kod`
+				, bo.`miasto`
+				, bo.`ulica`
+				, bo.`numer_dom`
+				, bo.`tel`
+				, bo.`fax`
+				, bo.`nip`
+				, bo.`regon`
+				, bo.`bank`
+				, bo.`nr_rach`
+				, bo.`NR_RACH_MASS_PAY`
+				, bo.`BILLING_OWNER_EMAIL`
+			from `COMPANIES` as c
+				left join `BILLING_OWNER` as bo on ( bo.`ID` = c.`BILLING_OWNER` )
+			where
+				c.`ID` = :id_user
+		", [ ':id_user' => $idUser ]);
+
+		/*
+			id					1 / 2
+			name1				"BIALL-NET" Sp. z o.o. / "NET-DAY" s.c.
+			name2				--- / Adrian i Ewa Wieczorkowscy
+			kod     		80-174 / 80-809
+			miasto			Gdańsk, Otomin / Gdańsk
+			ulica				Słoneczna / Cieszyńskiego
+			numer_dom		43 / 38
+			numer_pos		NULL / NULL
+			uwagi				--- / ---
+			tel					0-58 320-72-92 / 0-58 741 84 54
+			fax					0-58 320-72-96 / 0-58 741 84 56
+			nip					593-22-68-672 / 583-27-54-031
+			regon				192120212 / 192578721
+			bank				Bank Zachodni WBK SA I O/Gdansk / ---
+			nr_rach			46 1090 1098 0000 0001 0253 7156 / 84 1500 1171 1211 7002 9997 0000
+			NR_RACH_MASS_PAY		109000049887 / 109000049669
+			BILLING_OWNER_EMAIL	biall-net@biall.net.pl / netday@netday.pl
+		 */
+		return $_company;
 	}
 
 	public static function get_billing_type($type_id) {

+ 25 - 31
SE/se-lib/Windykacja/View.php

@@ -369,8 +369,8 @@ class Windykacja_View {
 			}
 		}
 
-		$company = Windykacja_StatsModel::get_company($user);
-		$nr_konta = Windykacja_FunkcjeL1::bankowy_formatuj_nrach(Windykacja_FunkcjeL1::bankowy_make_nrach($company->NR_RACH_MASS_PAY, $user->ID_BILLING_USERS, 0));
+		$company = Windykacja_StatsModel::getOwnerCompany($user->ID_BILLING_USERS);
+		$nr_konta = Windykacja_FunkcjeL1::bankowy_formatuj_nrach(Windykacja_FunkcjeL1::bankowy_make_nrach($company['NR_RACH_MASS_PAY'], $user->ID_BILLING_USERS, 0));
 
 		echo'<h3>';
 			echo' <a href="'."?MENU_INIT=USERS2_WINDYKACJA_STATUS&q=".V::get('q','', $_REQUEST)."&_p=".V::get('_p', '', $_REQUEST)."&_f=".V::get('_f', '', $_REQUEST)."&_oby=".V::get('_oby', '', $_REQUEST)."&_odir=".V::get('_odir', '', $_REQUEST).'">'."Klienci".'</a>';
@@ -2763,9 +2763,9 @@ class Windykacja_View {
 
 			$razem = $saldo_all;
 
-			$company = Windykacja_StatsModel::get_company($user);
+			$company = Windykacja_StatsModel::getOwnerCompany($user->ID_BILLING_USERS);
 
-			$nr_konta = Windykacja_FunkcjeL1::bankowy_formatuj_nrach(Windykacja_FunkcjeL1::bankowy_make_nrach($company->NR_RACH_MASS_PAY, $user->ID_BILLING_USERS, 0));
+			$nr_konta = Windykacja_FunkcjeL1::bankowy_formatuj_nrach(Windykacja_FunkcjeL1::bankowy_make_nrach($company['NR_RACH_MASS_PAY'], $user->ID_BILLING_USERS, 0));
 
 		?>
 			<style type="text/css">
@@ -2789,7 +2789,7 @@ class Windykacja_View {
 			}
 		}
 		if ($id_koresp > 0) {//$user->ID_KORESP) {// TODO: if $user->LAST_ID_KORESP_WEZWANIE1 or LAST_ID_KORESP_WEZWANIE2
-			$koresp = DB::get_by_id('IN7_DZIENNIK_KORESP', $id_koresp);
+			$koresp = DB::getPDO()->fetchFirstAsObject(" select * from IN7_DZIENNIK_KORESP where ID = :id ", [ ':id' => $id_koresp ]);
 			if ($koresp) {
 				echo '<div style="text-align:right;font-weight:bold;">';
 					echo $koresp->ID_PROJECT . '-' .$koresp->ID . "/" . substr(date("Y"), 2);
@@ -2802,37 +2802,31 @@ class Windykacja_View {
 			<table border=0 cellspacing=0 cellpadding=0 style="width:100%;">
 				<tr>
 					<td style="width:60%;border:none;">
-						<?php echo $company->name1; ?>
-						<br /><?php echo "ul. " . $company->ulica . " " . $company->numer_dom; ?>
-						<br /><?php echo $company->kod . " " . $company->miasto; ?>
+						<?= $company['name1']; ?>
+						<br /><?= "ul. {$company['ulica']} {$company['numer_dom']}"; ?>
+						<br /><?= "{$company['kod']} {$company['miasto']}"; ?>
 					</td>
 					<td style="border:none;text-align:left;vertical-align:top;">
-						Gdańsk, dnia <?php echo date("Y-m-d"); ?>
+						Gdańsk, dnia <?= date("Y-m-d"); ?>
 					</td>
 				</tr>
 				<tr>
 					<td style="border:none;">&nbsp;</td>
 					<td style="border:none;">
 						<p style="margin:50px 0;">
-							Numer klienta: <?php echo $user->ID; ?>
-							<br /><?php echo "{$user->P_NAME} {$user->P_NAME_SECOND}"; ?>
+							Numer klienta: <?= $user->ID; ?>
+							<br /><?= "{$user->P_NAME} {$user->P_NAME_SECOND}"; ?>
                             <?php // TODO: P_ADRESS_KORESP_1282 ?>
-							<br /><?php echo "ul. {$user->P_ADDRESS_STREET} {$user->P_ADDRESS_HOUSE}"; ?>
+							<br /><?= "ul. {$user->P_ADDRESS_STREET} {$user->P_ADDRESS_HOUSE}"; ?>
 							<?php if ($user->P_ADDRESS_HOME) { echo "/{$user->P_ADDRESS_HOME}"; } ?>
-							<br /><?php echo "{$user->P_ADDRESS_POST_CODE} {$user->P_ADDRESS_CITY}"; ?>
+							<br /><?= "{$user->P_ADDRESS_POST_CODE} {$user->P_ADDRESS_CITY}"; ?>
 						</p>
 					</td>
 				</tr>
 			</table>
 
 			<h1 style="text-align:center;margin:20px 10px 10px 10px;font-size:28px;">
-				<?php
-				if ($wezwanie_ostateczne) {
-					echo "OSTATECZNE WEZWANIE DO ZAPŁATY";
-				} else {
-					echo "WEZWANIE DO ZAPŁATY";
-				}
-				?>
+				<?= ($wezwanie_ostateczne) ? "OSTATECZNE WEZWANIE DO ZAPŁATY" : "WEZWANIE DO ZAPŁATY"; ?>
 			</h1>
 			<p style="margin:10px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Na podstawie art. 476 Kodeksu cywilnego (Dz. U. z 1964 r. nr 16, poz. 93, z późn. zmianami) wzywamy do natychmiastowego uregulowania należnej sumy, zgodnie z poniższym zestawieniem.</p>
 
@@ -2852,7 +2846,7 @@ class Windykacja_View {
 				<tr>
 					<td colspan="4" style="border:none;"></td>
 					<th style="border-width:2px;border-color:#333;text-align:right;background:#F3F3F3;">Razem:</th>
-					<td style="border-width:2px;border-color:#333;font-weight:bold;"><?php echo Windykacja_FunkcjeL1::formatuj_grosze($razem); ?></td>
+					<td style="border-width:2px;border-color:#333;font-weight:bold;"><?= Windykacja_FunkcjeL1::formatuj_grosze($razem); ?></td>
 				</tr>
 			</tfoot>
 				<?php foreach ($out_tbl as $out_tr) {
@@ -2865,30 +2859,30 @@ class Windykacja_View {
 					//$file_total['PODSTAWA_DATA'] = date("Y-m-d",$r['BAF_TIMESTAMP']);
 					//$file_total['PAYMENT_TERM'] = date("Y-m-d",$r['TERMIN_PL']);
 					?>
-					<tr<?php echo $cls; ?>>
+					<tr<?= $cls; ?>>
 					<td>
-						<?php echo "Faktura Vat"; ?>
+						<?= "Faktura Vat"; ?>
 					</td>
 					<td>
-						<?php echo $out_tr['nr']; ?>
+						<?= $out_tr['nr']; ?>
 					</td>
 					<td>
-						<?php echo $out_tr['winien']; ?>
+						<?= $out_tr['winien']; ?>
 					</td>
 					<td>
-						<nobr><?php echo $out_tr['data']; ?></nobr>
+						<nobr><?= $out_tr['data']; ?></nobr>
 					</td>
 					<td>
-						<nobr><?php echo $out_tr['termin']; ?></nobr>
+						<nobr><?= $out_tr['termin']; ?></nobr>
 					</td>
 					<td>
-						<?php echo $out_tr['pozostalo']; ?>
+						<?= $out_tr['pozostalo']; ?>
 					</td>
 					</tr>
 				<?php } ?>
 			</table>
-			<p style="margin:10px;">Słownie do zapłaty: <span style="border-bottom:1px dotted #000;padding:0 50px;">&nbsp;&nbsp;<b><?php echo Windykacja_FunkcjeL1::slownie($razem); ?></b>&nbsp;&nbsp;</span></p>
-			<p style="margin:10px;background:#eee;text-align:center;">Wymienioną sumę prosimy przekazać na nasz rachunek bankowy <br /><?php echo $nr_konta; ?> w terminie do dnia <span style="border-bottom:1px dotted #000;padding:0 50px;">&nbsp;&nbsp;<b><?php echo $wezwanie_termin; ?></b>&nbsp;&nbsp;</span></p>
+			<p style="margin:10px;">Słownie do zapłaty: <span style="border-bottom:1px dotted #000;padding:0 50px;">&nbsp;&nbsp;<b><?= Windykacja_FunkcjeL1::slownie($razem); ?></b>&nbsp;&nbsp;</span></p>
+			<p style="margin:10px;background:#eee;text-align:center;">Wymienioną sumę prosimy przekazać na nasz rachunek bankowy <br /><?= $nr_konta; ?> w terminie do dnia <span style="border-bottom:1px dotted #000;padding:0 50px;">&nbsp;&nbsp;<b><?= $wezwanie_termin; ?></b>&nbsp;&nbsp;</span></p>
 			<ul style="margin:10px;font-size:small;padding:0 0 0 40px;">
 				<li style="line-height:16px;">Od nieterminowych płatności mogą zostać naliczone odsetki ustawowe (art.481 § 1 KC).</li>
 				<li style="line-height:16px;">W przypadku nieterminowej zapłaty nabywca zostanie obciążony wszelkimi kosztami windykacji oraz postępowania sądowego, które zostaną poniesione przez sprzedawcę w celu odzyskania należności.</li>
@@ -3044,7 +3038,7 @@ class Windykacja_View {
 			return;
 		}
 
-		$koresp = DB::get_by_id('IN7_DZIENNIK_KORESP', $id_koresp);
+		$koresp = DB::getPDO()->fetchFirstAsObject(" select * from IN7_DZIENNIK_KORESP where ID = :id ", [ ':id' => $id_koresp ]);
 		if (!$koresp) {
 			echo '<p style="color:red">' . "Koresp not exists!" . '</p>';
 			return;