facture number features
This commit is contained in:
parent
b6b2cb1310
commit
87c8797510
@ -1646,6 +1646,22 @@ class PageController extends Controller {
|
||||
$this->generer_document_comptable($datecourant);
|
||||
$this->generer_document_comptable($nouveaudate);
|
||||
} else {
|
||||
if(strcmp($column, 'date')==0) {
|
||||
if(strcmp($table, 'facture')){
|
||||
$datetime = new Datetime($data);
|
||||
$factureNumber = $this->myDb->getFactureNumberByDate($datetime);
|
||||
$this->myDb->gestion_update($table, "facture_number", $factureNumber, $id, $this->idNextcloud);
|
||||
$factureFullNumber = $this->myDb->getFactureFullNumberByDate($datetime);
|
||||
$this->myDb->gestion_update($table, "num", $factureFullNumber, $id, $this->idNextcloud);
|
||||
}
|
||||
if(strcmp($table, 'devis')){
|
||||
$datetime = new Datetime($data);
|
||||
$devisNumber = $this->myDb->getDevisNumberByDate($datetime);
|
||||
$this->myDb->gestion_update($table, "devis_number", $devisNumber, $id, $this->idNextcloud);
|
||||
$devisFullNumber = $this->myDb->getDevisFullNumberByDate($datetime);
|
||||
$this->myDb->gestion_update($table, "num", $devisFullNumber, $id, $this->idNextcloud);
|
||||
}
|
||||
}
|
||||
$result = $this->myDb->gestion_update($table, $column, $data, $id, $this->idNextcloud);
|
||||
// $this->generer_document_comptable($facturecourant->date_paiement);
|
||||
}
|
||||
@ -2657,7 +2673,22 @@ class PageController extends Controller {
|
||||
|
||||
public function addDevisNumberColumn(){
|
||||
try{
|
||||
$this->myDb->addNumberColumnOnFactureAndDevis();
|
||||
$this->myDb->addNumberColumnOnDevis();
|
||||
return true;
|
||||
}
|
||||
catch(\OCP\Files\NotFoundException $e) { }
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*
|
||||
*/
|
||||
|
||||
public function addFactureNumberColumn(){
|
||||
try{
|
||||
$this->myDb->addNumberColumnOnFacture();
|
||||
return true;
|
||||
}
|
||||
catch(\OCP\Files\NotFoundException $e) { }
|
||||
|
||||
@ -961,12 +961,17 @@ class Bdd {
|
||||
$last = 0;
|
||||
$last = $this->lastNumFacture($idNextcloud);
|
||||
$pref = $this->execSQLNoJsonReturn("SELECT * FROM ".$this->tableprefix."configuration WHERE id_nextcloud LIKE ?",array($idNextcloud));
|
||||
|
||||
$sql = "INSERT INTO `".$this->tableprefix."facture` (`date`,`id_nextcloud`,`num`,`date_paiement`,`type_paiement`,`id_devis`,`user_id`, `version`) VALUES (?,?,?,NOW(),?,0,?,?);";
|
||||
$sql = "INSERT INTO `".$this->tableprefix."facture` (`date`,`id_nextcloud`,`num`,`date_paiement`,`type_paiement`,`id_devis`,`user_id`, `version`,`facture_number`) VALUES (?,?,?,NOW(),?,0,?,?,?);";
|
||||
$date_temp = new DateTime();
|
||||
$date = $date_temp->format('Y-m-d');
|
||||
$dateMonth = $date_temp->format('m');
|
||||
$dateYear = $date_temp->format('Y');
|
||||
$factureLastNumber = $this->getLastFactureNumberByMonthAndYear($dateMonth,$dateYear);
|
||||
$factureNumber = $factureLastNumber + 1;
|
||||
$factureFullNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($date_temp,$factureNumber,'FAC');
|
||||
|
||||
$datesplit = explode('-', $date);
|
||||
$this->execSQLNoData($sql, array($date , $idNextcloud, "ETS".$datesplit[0]."/".$datesplit[1]."/".$last+1,"Comptant",$last+1,"Ajouter un lieu"));
|
||||
$this->execSQLNoData($sql, array($date , $idNextcloud, $factureFullNumber,"Comptant",$last+1,"Ajouter un lieu",$factureNumber));
|
||||
|
||||
return $last;
|
||||
}
|
||||
@ -2237,7 +2242,7 @@ class Bdd {
|
||||
return $articleIds;
|
||||
}
|
||||
|
||||
public function addNumberColumnOnFactureAndDevis(){
|
||||
public function addNumberColumnOnDevis(){
|
||||
$sql = "ALTER TABLE ". $this->tableprefix."devis
|
||||
ADD devis_number INT DEFAULT 1;" ;
|
||||
$this->execSQLNoJsonReturn(
|
||||
@ -2255,26 +2260,66 @@ class Bdd {
|
||||
$this->execSQLNoJsonReturn(
|
||||
$sql,
|
||||
[]);
|
||||
|
||||
// $sql = "ALTER TABLE ". $this->tableprefix."facture
|
||||
// ADD facture_number INT DEFAULT 1;" ;
|
||||
// $this->execSQLNoJsonReturn(
|
||||
// $sql,
|
||||
// []);
|
||||
|
||||
// $sql = "ALTER TABLE ". $this->tableprefix."facture
|
||||
// ADD facture_full_number VARCHAR(255);" ;
|
||||
// $this->execSQLNoJsonReturn(
|
||||
// $sql,
|
||||
// []);
|
||||
|
||||
// $sql = "UPDATE ".$this->tableprefix."facture as facture
|
||||
// SET facture.facture_full_number = CONCAT('FAC', YEAR(facture.date) % 100, LPAD(MONTH(facture.date), 2, '0'), LPAD(facture.facture_number, 2, '0'));";
|
||||
// $this->execSQLNoJsonReturn(
|
||||
// $sql,
|
||||
// []);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function addNumberColumnOnFacture(){
|
||||
$sql = "ALTER TABLE ". $this->tableprefix."facture
|
||||
ADD facture_number INT DEFAULT 1;" ;
|
||||
$this->execSQLNoJsonReturn(
|
||||
$sql,
|
||||
[]);
|
||||
|
||||
$sql = "UPDATE ".$this->tableprefix."facture as facture
|
||||
SET facture.num = CONCAT('FAC', YEAR(facture.date) % 100, LPAD(MONTH(facture.date), 2, '0'), LPAD(facture.facture_number, 2, '0'));";
|
||||
$this->execSQLNoJsonReturn(
|
||||
$sql,
|
||||
[]);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private function getLastFactureNumberByMonthAndYear($month,$year){
|
||||
$sql = "SELECT
|
||||
max(facture.facture_number) as LAST_FACTURE_NUMBER, facture.date FROM "
|
||||
. $this->tableprefix."facture as facture
|
||||
WHERE YEAR(facture.date) = ? AND
|
||||
MONTH(facture.date) = ?;";
|
||||
$res = $this->execSQLNoJsonReturn($sql,array($year,$month));
|
||||
$lastNumber = 0;
|
||||
if(!empty($res)){
|
||||
$lastNumber = $res[0]['LAST_FACTURE_NUMBER'];
|
||||
}
|
||||
return $lastNumber;
|
||||
}
|
||||
|
||||
public function getFactureNumberByDate($datetime){
|
||||
$month = $datetime->format('m');
|
||||
$year = $datetime->format('Y');
|
||||
$lastFactureNumber = $this->getLastFactureNumberByMonthAndYear($month,$year);
|
||||
$factureNumber = $lastFactureNumber + 1;
|
||||
return $factureNumber;
|
||||
}
|
||||
|
||||
public function getFactureFullNumberByDate($datetime){
|
||||
$factureNumber = $this->getFactureNumberByDate($datetime);
|
||||
$factureFullNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($datetime,$factureNumber,'FAC');
|
||||
return $factureFullNumber;
|
||||
}
|
||||
|
||||
public function getDevisNumberByDate($datetime){
|
||||
$month = $datetime->format('m');
|
||||
$year = $datetime->format('Y');
|
||||
$lastDevisNumber = $this->getLastDevisNumberByMonthAndYear($month,$year);
|
||||
$devisNumber = $lastDevisNumber + 1;
|
||||
return $devisNumber;
|
||||
}
|
||||
|
||||
public function getDevisFullNumberByDate($datetime){
|
||||
$devisNumber = $this->getDevisNumberByDate($datetime);
|
||||
$devisFullNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($datetime,$devisNumber,'DEV');
|
||||
return $devisFullNumber;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user