Update declaration view page with declaration dates and fix creation date
View Page Updates: - Use declaration's own start_date and end_date instead of period dates - Show dates in Period field: 'Start Date - End Date' - Remove separate DateRange line (redundant) - Fix created_date property in fetch() method - Cleaner, more accurate display of declaration information
This commit is contained in:
parent
845b7a3530
commit
ca363f60e9
@ -1,543 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* DeclarationTVA Class
|
|
||||||
* French CA-3 VAT Declaration Module for Dolibarr
|
|
||||||
* MVP Version - Phase 1
|
|
||||||
*/
|
|
||||||
|
|
||||||
class DeclarationTVA
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var DoliDB Database handler
|
|
||||||
*/
|
|
||||||
public $db;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var int Entity ID
|
|
||||||
*/
|
|
||||||
public $entity;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var string Error message
|
|
||||||
*/
|
|
||||||
public $error;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var int Declaration ID
|
|
||||||
*/
|
|
||||||
public $rowid;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var int Period ID
|
|
||||||
*/
|
|
||||||
public $period_id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var string Declaration number
|
|
||||||
*/
|
|
||||||
public $declaration_number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var string Declaration name
|
|
||||||
*/
|
|
||||||
public $declaration_name;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var string Start date
|
|
||||||
*/
|
|
||||||
public $start_date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var string End date
|
|
||||||
*/
|
|
||||||
public $end_date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var string Status
|
|
||||||
*/
|
|
||||||
public $status;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* @param DoliDB $db Database handler
|
|
||||||
* @param int $entity Entity ID
|
|
||||||
*/
|
|
||||||
public function __construct($db, $entity = 1)
|
|
||||||
{
|
|
||||||
$this->db = $db;
|
|
||||||
$this->entity = $entity;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fetch declaration by ID
|
|
||||||
*
|
|
||||||
* @param int $id Declaration ID
|
|
||||||
* @return int 1 if found, 0 if not found, -1 if error
|
|
||||||
*/
|
|
||||||
public function fetch($id)
|
|
||||||
{
|
|
||||||
$sql = "SELECT * FROM " . MAIN_DB_PREFIX . "declarationtva_declarations
|
|
||||||
WHERE rowid = " . (int)$id . " AND entity = " . $this->entity;
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
if ($result) {
|
|
||||||
$obj = $this->db->fetch_object($result);
|
|
||||||
if ($obj) {
|
|
||||||
$this->rowid = $obj->rowid;
|
|
||||||
$this->period_id = $obj->period_id;
|
|
||||||
$this->declaration_number = $obj->declaration_number;
|
|
||||||
$this->declaration_name = $obj->declaration_name;
|
|
||||||
$this->start_date = $obj->start_date;
|
|
||||||
$this->end_date = $obj->end_date;
|
|
||||||
$this->status = $obj->status;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new declaration for a period
|
|
||||||
*
|
|
||||||
* @param int $period_id Period ID
|
|
||||||
* @return int Declaration ID or -1 if error
|
|
||||||
*/
|
|
||||||
public function createDeclaration($period_id)
|
|
||||||
{
|
|
||||||
global $user;
|
|
||||||
|
|
||||||
$this->db->begin();
|
|
||||||
|
|
||||||
// Get period information
|
|
||||||
$period = $this->getPeriod($period_id);
|
|
||||||
if (!$period) {
|
|
||||||
$this->error = "Period not found";
|
|
||||||
$this->db->rollback();
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generate declaration number
|
|
||||||
$declaration_number = $this->generateDeclarationNumber($period);
|
|
||||||
|
|
||||||
// Create declaration record
|
|
||||||
$sql = "INSERT INTO " . MAIN_DB_PREFIX . "declarationtva_declarations
|
|
||||||
(entity, period_id, declaration_number, status, created_date)
|
|
||||||
VALUES (" . $this->entity . ", " . $period_id . ", '" . $declaration_number . "', 'draft', NOW())";
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
if (!$result) {
|
|
||||||
$this->error = "Error creating declaration: " . $this->db->lasterror();
|
|
||||||
$this->db->rollback();
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
$declaration_id = $this->db->last_insert_id(MAIN_DB_PREFIX . "declarationtva_declarations");
|
|
||||||
|
|
||||||
// Calculate CA-3 amounts
|
|
||||||
$this->calculateCA3Amounts($declaration_id, $period);
|
|
||||||
|
|
||||||
$this->db->commit();
|
|
||||||
return $declaration_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new declaration with specific dates
|
|
||||||
*
|
|
||||||
* @param string $start_date Start date (YYYY-MM-DD)
|
|
||||||
* @param string $end_date End date (YYYY-MM-DD)
|
|
||||||
* @param string $declaration_name Declaration name
|
|
||||||
* @return int Declaration ID or -1 if error
|
|
||||||
*/
|
|
||||||
public function createDeclarationWithDates($start_date, $end_date, $declaration_name = '')
|
|
||||||
{
|
|
||||||
global $user;
|
|
||||||
|
|
||||||
$this->db->begin();
|
|
||||||
|
|
||||||
// Generate declaration number
|
|
||||||
$declaration_number = $this->generateDeclarationNumberFromDates($start_date, $end_date);
|
|
||||||
|
|
||||||
// Create declaration record
|
|
||||||
$sql = "INSERT INTO " . MAIN_DB_PREFIX . "declarationtva_declarations
|
|
||||||
(entity, period_id, declaration_number, declaration_name, start_date, end_date, status, created_date)
|
|
||||||
VALUES (" . $this->entity . ", 0, '" . $declaration_number . "', '" . $this->db->escape($declaration_name) . "', '" . $start_date . "', '" . $end_date . "', 'draft', NOW())";
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
if (!$result) {
|
|
||||||
$this->error = "Error creating declaration: " . $this->db->lasterror();
|
|
||||||
$this->db->rollback();
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
$declaration_id = $this->db->last_insert_id(MAIN_DB_PREFIX . "declarationtva_declarations");
|
|
||||||
|
|
||||||
// Calculate CA-3 amounts
|
|
||||||
$period = array('start_date' => $start_date, 'end_date' => $end_date);
|
|
||||||
$this->calculateCA3Amounts($declaration_id, $period);
|
|
||||||
|
|
||||||
$this->db->commit();
|
|
||||||
return $declaration_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Calculate CA-3 amounts for a declaration
|
|
||||||
*
|
|
||||||
* @param int $declaration_id Declaration ID
|
|
||||||
* @param array $period Period information
|
|
||||||
* @return bool Success
|
|
||||||
*/
|
|
||||||
public function calculateCA3Amounts($declaration_id, $period)
|
|
||||||
{
|
|
||||||
// Get account mappings
|
|
||||||
$mappings = $this->getAccountMappings();
|
|
||||||
|
|
||||||
$total_vat_collected = 0;
|
|
||||||
$total_vat_deductible = 0;
|
|
||||||
|
|
||||||
// Process each CA-3 line
|
|
||||||
foreach ($mappings as $mapping) {
|
|
||||||
$amounts = $this->getAccountAmounts($mapping['account_code'], $period['start_date'], $period['end_date']);
|
|
||||||
|
|
||||||
// Create CA-3 line record
|
|
||||||
$this->createCA3Line($declaration_id, $mapping['ca3_line'], $mapping['account_label'], $amounts);
|
|
||||||
|
|
||||||
// Update totals
|
|
||||||
if (in_array($mapping['ca3_line'], ['A1', 'A2', 'B1', 'B2', 'B3', 'B4', '17'])) {
|
|
||||||
$total_vat_collected += $amounts['vat_amount'];
|
|
||||||
} elseif (in_array($mapping['ca3_line'], ['20', '21'])) {
|
|
||||||
$total_vat_deductible += $amounts['vat_amount'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Calculate net amounts
|
|
||||||
$net_vat_due = $total_vat_collected - $total_vat_deductible;
|
|
||||||
$vat_credit = $net_vat_due < 0 ? abs($net_vat_due) : 0;
|
|
||||||
$net_vat_due = $net_vat_due > 0 ? $net_vat_due : 0;
|
|
||||||
|
|
||||||
// Update declaration totals
|
|
||||||
$this->updateDeclarationTotals($declaration_id, $total_vat_collected, $total_vat_deductible, $net_vat_due, $vat_credit);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get account amounts for a period
|
|
||||||
*
|
|
||||||
* @param string $account_code Account code
|
|
||||||
* @param string $start_date Start date
|
|
||||||
* @param string $end_date End date
|
|
||||||
* @return array Amounts (base_amount, vat_amount, total_amount)
|
|
||||||
*/
|
|
||||||
public function getAccountAmounts($account_code, $start_date, $end_date)
|
|
||||||
{
|
|
||||||
// Query Dolibarr accounting entries
|
|
||||||
$sql = "SELECT SUM(debit) as total_debit, SUM(credit) as total_credit
|
|
||||||
FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping
|
|
||||||
WHERE account_number = '" . $this->db->escape($account_code) . "'
|
|
||||||
AND doc_date >= '" . $this->db->escape($start_date) . "'
|
|
||||||
AND doc_date <= '" . $this->db->escape($end_date) . "'";
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
if ($result && $this->db->num_rows($result) > 0) {
|
|
||||||
$obj = $this->db->fetch_object($result);
|
|
||||||
$total_amount = $obj->total_debit - $obj->total_credit;
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'base_amount' => $total_amount,
|
|
||||||
'vat_amount' => $total_amount,
|
|
||||||
'total_amount' => $total_amount
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return array('base_amount' => 0, 'vat_amount' => 0, 'total_amount' => 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create CA-3 line record
|
|
||||||
*
|
|
||||||
* @param int $declaration_id Declaration ID
|
|
||||||
* @param string $ca3_line CA-3 line code
|
|
||||||
* @param string $line_label Line label
|
|
||||||
* @param array $amounts Amounts array
|
|
||||||
* @return bool Success
|
|
||||||
*/
|
|
||||||
public function createCA3Line($declaration_id, $ca3_line, $line_label, $amounts)
|
|
||||||
{
|
|
||||||
$sql = "INSERT INTO " . MAIN_DB_PREFIX . "declarationtva_ca3_lines
|
|
||||||
(declaration_id, ca3_line, line_label, base_amount, vat_amount, total_amount, created_date)
|
|
||||||
VALUES (" . $declaration_id . ", '" . $this->db->escape($ca3_line) . "',
|
|
||||||
'" . $this->db->escape($line_label) . "', " . $amounts['base_amount'] . ",
|
|
||||||
" . $amounts['vat_amount'] . ", " . $amounts['total_amount'] . ", NOW())";
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
return $result !== false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Update declaration totals
|
|
||||||
*
|
|
||||||
* @param int $declaration_id Declaration ID
|
|
||||||
* @param float $total_vat_collected Total VAT collected
|
|
||||||
* @param float $total_vat_deductible Total VAT deductible
|
|
||||||
* @param float $net_vat_due Net VAT due
|
|
||||||
* @param float $vat_credit VAT credit
|
|
||||||
* @return bool Success
|
|
||||||
*/
|
|
||||||
public function updateDeclarationTotals($declaration_id, $total_vat_collected, $total_vat_deductible, $net_vat_due, $vat_credit)
|
|
||||||
{
|
|
||||||
$sql = "UPDATE " . MAIN_DB_PREFIX . "declarationtva_declarations
|
|
||||||
SET total_vat_collected = " . $total_vat_collected . ",
|
|
||||||
total_vat_deductible = " . $total_vat_deductible . ",
|
|
||||||
net_vat_due = " . $net_vat_due . ",
|
|
||||||
vat_credit = " . $vat_credit . "
|
|
||||||
WHERE rowid = " . $declaration_id;
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
return $result !== false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get account mappings
|
|
||||||
*
|
|
||||||
* @return array Account mappings
|
|
||||||
*/
|
|
||||||
public function getAccountMappings()
|
|
||||||
{
|
|
||||||
$sql = "SELECT ca3_line, account_code, account_label, vat_rate
|
|
||||||
FROM " . MAIN_DB_PREFIX . "declarationtva_account_mappings
|
|
||||||
WHERE entity = " . $this->entity . " AND is_active = 1
|
|
||||||
ORDER BY ca3_line";
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
$mappings = array();
|
|
||||||
|
|
||||||
if ($result) {
|
|
||||||
while ($obj = $this->db->fetch_object($result)) {
|
|
||||||
$mappings[] = array(
|
|
||||||
'ca3_line' => $obj->ca3_line,
|
|
||||||
'account_code' => $obj->account_code,
|
|
||||||
'account_label' => $obj->account_label,
|
|
||||||
'vat_rate' => $obj->vat_rate
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $mappings;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get period information
|
|
||||||
*
|
|
||||||
* @param int $period_id Period ID
|
|
||||||
* @return array|false Period information or false if not found
|
|
||||||
*/
|
|
||||||
public function getPeriod($period_id)
|
|
||||||
{
|
|
||||||
$sql = "SELECT * FROM " . MAIN_DB_PREFIX . "declarationtva_periods
|
|
||||||
WHERE rowid = " . $period_id . " AND entity = " . $this->entity;
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
if ($result && $this->db->num_rows($result) > 0) {
|
|
||||||
return $this->db->fetch_array($result);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate declaration number
|
|
||||||
*
|
|
||||||
* @param array $period Period information
|
|
||||||
* @return string Declaration number
|
|
||||||
*/
|
|
||||||
public function generateDeclarationNumber($period)
|
|
||||||
{
|
|
||||||
$year = date('Y', strtotime($period['start_date']));
|
|
||||||
$start_month = date('m', strtotime($period['start_date']));
|
|
||||||
$end_month = date('m', strtotime($period['end_date']));
|
|
||||||
|
|
||||||
if ($start_month == $end_month) {
|
|
||||||
$month_part = $start_month;
|
|
||||||
} else {
|
|
||||||
$month_part = $start_month . '-' . $end_month;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 'CA3-' . $year . '-' . $month_part . '-' . date('YmdHis');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate declaration number from dates
|
|
||||||
*
|
|
||||||
* @param string $start_date Start date
|
|
||||||
* @param string $end_date End date
|
|
||||||
* @return string Declaration number
|
|
||||||
*/
|
|
||||||
public function generateDeclarationNumberFromDates($start_date, $end_date)
|
|
||||||
{
|
|
||||||
$year = date('Y', strtotime($start_date));
|
|
||||||
$start_month = date('m', strtotime($start_date));
|
|
||||||
$end_month = date('m', strtotime($end_date));
|
|
||||||
|
|
||||||
if ($start_month == $end_month) {
|
|
||||||
$month_part = $start_month;
|
|
||||||
} else {
|
|
||||||
$month_part = $start_month . '-' . $end_month;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 'CA3-' . $year . '-' . $month_part . '-' . date('YmdHis');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get declaration information
|
|
||||||
*
|
|
||||||
* @param int $declaration_id Declaration ID
|
|
||||||
* @return array|false Declaration information or false if not found
|
|
||||||
*/
|
|
||||||
public function getDeclaration($declaration_id)
|
|
||||||
{
|
|
||||||
$sql = "SELECT d.*, p.period_name, p.start_date, p.end_date
|
|
||||||
FROM " . MAIN_DB_PREFIX . "declarationtva_declarations d
|
|
||||||
LEFT JOIN " . MAIN_DB_PREFIX . "declarationtva_periods p ON d.period_id = p.rowid
|
|
||||||
WHERE d.rowid = " . $declaration_id . " AND d.entity = " . $this->entity;
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
if ($result && $this->db->num_rows($result) > 0) {
|
|
||||||
return $this->db->fetch_array($result);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get CA-3 lines for a declaration
|
|
||||||
*
|
|
||||||
* @param int $declaration_id Declaration ID
|
|
||||||
* @return array CA-3 lines
|
|
||||||
*/
|
|
||||||
public function getCA3Lines($declaration_id)
|
|
||||||
{
|
|
||||||
$sql = "SELECT * FROM " . MAIN_DB_PREFIX . "declarationtva_ca3_lines
|
|
||||||
WHERE declaration_id = " . $declaration_id . "
|
|
||||||
ORDER BY ca3_line";
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
$lines = array();
|
|
||||||
|
|
||||||
if ($result) {
|
|
||||||
while ($obj = $this->db->fetch_object($result)) {
|
|
||||||
$lines[] = array(
|
|
||||||
'ca3_line' => $obj->ca3_line,
|
|
||||||
'line_label' => $obj->line_label,
|
|
||||||
'base_amount' => $obj->base_amount,
|
|
||||||
'vat_amount' => $obj->vat_amount,
|
|
||||||
'total_amount' => $obj->total_amount
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $lines;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Validate declaration
|
|
||||||
*
|
|
||||||
* @param int $declaration_id Declaration ID
|
|
||||||
* @return bool Success
|
|
||||||
*/
|
|
||||||
public function validateDeclaration($declaration_id)
|
|
||||||
{
|
|
||||||
$sql = "UPDATE " . MAIN_DB_PREFIX . "declarationtva_declarations
|
|
||||||
SET status = 'validated'
|
|
||||||
WHERE rowid = " . $declaration_id . " AND entity = " . $this->entity;
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
return $result !== false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Submit declaration
|
|
||||||
*
|
|
||||||
* @param int $declaration_id Declaration ID
|
|
||||||
* @return bool Success
|
|
||||||
*/
|
|
||||||
public function submitDeclaration($declaration_id)
|
|
||||||
{
|
|
||||||
$sql = "UPDATE " . MAIN_DB_PREFIX . "declarationtva_declarations
|
|
||||||
SET status = 'submitted', submission_date = NOW()
|
|
||||||
WHERE rowid = " . $declaration_id . " AND entity = " . $this->entity;
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
return $result !== false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete a declaration
|
|
||||||
*
|
|
||||||
* @param int $declaration_id Declaration ID
|
|
||||||
* @return bool Success
|
|
||||||
*/
|
|
||||||
public function deleteDeclaration($declaration_id)
|
|
||||||
{
|
|
||||||
$this->db->begin();
|
|
||||||
|
|
||||||
// Check if declaration exists and is in draft status
|
|
||||||
$sql = "SELECT status FROM " . MAIN_DB_PREFIX . "declarationtva_declarations
|
|
||||||
WHERE rowid = " . (int)$declaration_id . " AND entity = " . $this->entity;
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
if ($result) {
|
|
||||||
$obj = $this->db->fetch_object($result);
|
|
||||||
if ($obj && $obj->status == 'draft') {
|
|
||||||
// Delete CA-3 lines first
|
|
||||||
$sql_lines = "DELETE FROM " . MAIN_DB_PREFIX . "declarationtva_ca3_lines
|
|
||||||
WHERE declaration_id = " . (int)$declaration_id;
|
|
||||||
$this->db->query($sql_lines);
|
|
||||||
|
|
||||||
// Delete declaration
|
|
||||||
$sql_declaration = "DELETE FROM " . MAIN_DB_PREFIX . "declarationtva_declarations
|
|
||||||
WHERE rowid = " . (int)$declaration_id . " AND entity = " . $this->entity;
|
|
||||||
|
|
||||||
$result = $this->db->query($sql_declaration);
|
|
||||||
if ($result) {
|
|
||||||
$this->db->commit();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->db->rollback();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Recalculate CA-3 amounts for a declaration
|
|
||||||
*
|
|
||||||
* @param int $declaration_id Declaration ID
|
|
||||||
* @return bool Success
|
|
||||||
*/
|
|
||||||
public function recalculateCA3Amounts($declaration_id)
|
|
||||||
{
|
|
||||||
// Get declaration info
|
|
||||||
$declaration = $this->getDeclarationInfo($declaration_id);
|
|
||||||
if (!$declaration) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clear existing CA-3 lines
|
|
||||||
$sql = "DELETE FROM " . MAIN_DB_PREFIX . "declarationtva_ca3_lines
|
|
||||||
WHERE declaration_id = " . $declaration_id;
|
|
||||||
$this->db->query($sql);
|
|
||||||
|
|
||||||
// Recalculate using declaration dates
|
|
||||||
$period = array(
|
|
||||||
'start_date' => $declaration['start_date'],
|
|
||||||
'end_date' => $declaration['end_date']
|
|
||||||
);
|
|
||||||
|
|
||||||
return $this->calculateCA3Amounts($declaration_id, $period);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -61,16 +61,9 @@ if ($declarationtva->fetch($id) < 0) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get period information
|
// Use declaration's own dates
|
||||||
$period_info = array();
|
$start_date = $declarationtva->start_date;
|
||||||
if ($declarationtva->period_id > 0) {
|
$end_date = $declarationtva->end_date;
|
||||||
$period->fetch($declarationtva->period_id);
|
|
||||||
$period_info = array(
|
|
||||||
'name' => $period->period_name,
|
|
||||||
'start_date' => $period->start_date,
|
|
||||||
'end_date' => $period->end_date
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Page title
|
// Page title
|
||||||
$title = $langs->trans("ViewDeclaration") . ' - ' . $declarationtva->declaration_number;
|
$title = $langs->trans("ViewDeclaration") . ' - ' . $declarationtva->declaration_number;
|
||||||
@ -97,12 +90,7 @@ print '</tr>';
|
|||||||
|
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
print '<td>' . $langs->trans("Period") . '</td>';
|
print '<td>' . $langs->trans("Period") . '</td>';
|
||||||
print '<td>' . $period_info['name'] . '</td>';
|
print '<td>' . dol_print_date($start_date, 'day') . ' - ' . dol_print_date($end_date, 'day') . '</td>';
|
||||||
print '</tr>';
|
|
||||||
|
|
||||||
print '<tr>';
|
|
||||||
print '<td>' . $langs->trans("DateRange") . '</td>';
|
|
||||||
print '<td>' . dol_print_date($period_info['start_date'], 'day') . ' - ' . dol_print_date($period_info['end_date'], 'day') . '</td>';
|
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user