X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=dimensions%2Fincludes%2Fdimensions_db.inc;h=3bd30f3c6642e46cef9c6d5ac3574c653f18b18a;hb=ed8422cc500fa848a1e3a85bc0979ff76a802ca9;hp=9b08207ea20f3485fa1e9c4dd80101c88c318a7f;hpb=54d84ff9a67620ab38c676cdbcf87853632724f0;p=fa-stable.git diff --git a/dimensions/includes/dimensions_db.inc b/dimensions/includes/dimensions_db.inc index 9b08207e..3bd30f3c 100644 --- a/dimensions/includes/dimensions_db.inc +++ b/dimensions/includes/dimensions_db.inc @@ -11,6 +11,8 @@ ***********************************************************************/ function add_dimension($reference, $name, $type_, $date_, $due_date, $memo_) { + global $Refs; + begin_transaction(); $date = date2sql($date_); @@ -18,14 +20,13 @@ function add_dimension($reference, $name, $type_, $date_, $due_date, $memo_) $sql = "INSERT INTO ".TB_PREF."dimensions (reference, name, type_, date_, due_date) VALUES (".db_escape($reference).", ".db_escape($name).", ".db_escape($type_) - .", ".db_escape($date_).", ".db_escape($due_date).")"; + .", '$date', '$duedate')"; db_query($sql, "could not add dimension"); - $id = db_insert_id(); - add_comments(systypes::dimension(), $id, $date_, $memo_); + add_comments(ST_DIMENSION, $id, $date_, $memo_); - references::save_last($reference, systypes::dimension()); + $Refs->save(ST_DIMENSION, $id, $reference); commit_transaction(); @@ -41,13 +42,13 @@ function update_dimension($id, $name, $type_, $date_, $due_date, $memo_) $sql = "UPDATE ".TB_PREF."dimensions SET name=".db_escape($name).", type_ = ".db_escape($type_).", - date_=".db_escape($date_).", - due_date=".db_escape($due_date)." + date_='$date', + due_date='$duedate' WHERE id = ".db_escape($id); db_query($sql, "could not update dimension"); - update_comments(systypes::dimension(), $id, null, $memo_); + update_comments(ST_DIMENSION, $id, null, $memo_); commit_transaction(); @@ -62,7 +63,7 @@ function delete_dimension($id) $sql="DELETE FROM ".TB_PREF."dimensions WHERE id=".db_escape($id); db_query($sql,"The dimension could not be deleted"); - delete_comments(systypes::dimension(), $id); + delete_comments(ST_DIMENSION, $id); commit_transaction(); } @@ -121,10 +122,11 @@ function dimension_has_deposits($id) function dimension_has_payments($id) { - $sql = "SELECT SUM(amount) FROM ".TB_PREF."gl_trans WHERE dimension_id = ".db_escape($id); + $sql = "SELECT COUNT(*) FROM ".TB_PREF."gl_trans WHERE dimension_id = ".db_escape($id) + . " OR dimension2_id = ".db_escape($id); $res = db_query($sql, "Transactions could not be calculated"); $row = db_fetch_row($res); - return ($row[0] != 0.0); + return ($row[0] > 0); } function dimension_is_closed($id) @@ -143,4 +145,81 @@ function close_dimension($id) //-------------------------------------------------------------------------------------- +function reopen_dimension($id) +{ + $sql = "UPDATE ".TB_PREF."dimensions SET closed='0' WHERE id = ".db_escape($id); + db_query($sql, "could not reopen dimension"); +} + +//-------------------------------------------------------------------------------------- + +function get_dimension_balance_all($id, $from, $to) +{ + $from = date2sql($from); + $to = date2sql($to); + $sql = "SELECT account, ".TB_PREF."chart_master.account_name, sum(amount) AS amt FROM + ".TB_PREF."gl_trans,".TB_PREF."chart_master WHERE + ".TB_PREF."gl_trans.account = ".TB_PREF."chart_master.account_code AND + (dimension_id = ".db_escape($id)." OR dimension2_id = ".db_escape($id).") AND + tran_date >= '$from' AND tran_date <= '$to' GROUP BY account"; + return db_query($sql, "Transactions could not be calculated"); +} + +//-------------------------------------------------------------------------------------- + +function get_dimension_balance($id, $from, $to) +{ + $id = db_escape($id); + $sql = "SELECT SUM(amount) FROM ".TB_PREF."gl_trans WHERE tran_date >= '" . + date2sql($from) . "' AND + tran_date <= '" . date2sql($to) . "' AND (dimension_id = $id OR dimension2_id = $id)"; + $res = db_query($sql, "Sum of transactions could not be calculated"); + $row = db_fetch_row($res); + + return $row[0]; +} + +//-------------------------------------------------------------------------------------- + +function get_sql_for_search_dimensions($dim) +{ + $sql = "SELECT dim.id, + dim.reference, + dim.name, + dim.type_, + dim.date_, + dim.due_date, + dim.closed + FROM ".TB_PREF."dimensions as dim WHERE id > 0"; + + if (isset($_POST['OrderNumber']) && $_POST['OrderNumber'] != "") + { + $sql .= " AND reference LIKE ".db_escape("%". $_POST['OrderNumber'] . "%"); + } else { + + if ($dim == 1) + $sql .= " AND type_=1"; + + if (isset($_POST['OpenOnly'])) + { + $sql .= " AND closed=0"; + } + + if (isset($_POST['type_']) && ($_POST['type_'] > 0)) + { + $sql .= " AND type_=".db_escape($_POST['type_']); + } + + if (isset($_POST['OverdueOnly'])) + { + $today = date2sql(Today()); + + $sql .= " AND due_date < '$today'"; + } + + $sql .= " AND date_ >= '" . date2sql($_POST['FromDate']) . "' + AND date_ <= '" . date2sql($_POST['ToDate']) . "'"; + } + return $sql; +} ?> \ No newline at end of file