devis number format
This commit is contained in:
parent
a13497f131
commit
6c68141028
@ -115,6 +115,11 @@ return [
|
||||
['name' => 'page#saveDocumentRecap', 'url' => '/saveDocumentRecap', 'verb' => 'POST'],
|
||||
['name' => 'page#saveNewPDF', 'url' => '/saveNewPDF', 'verb' => 'POST'],
|
||||
|
||||
['name' => 'admin#backup', 'url' => '/backup', 'verb' => 'GET']
|
||||
['name' => 'admin#backup', 'url' => '/backup', 'verb' => 'GET'],
|
||||
|
||||
|
||||
//SQL
|
||||
['name' => 'page#addDevisNumberColumn', 'url' => '/addDevisNumberColumn', 'verb' => 'POST'],
|
||||
|
||||
]
|
||||
];
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -2648,4 +2648,19 @@ class PageController extends Controller {
|
||||
catch(\OCP\Files\NotFoundException $e) { }
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*
|
||||
*/
|
||||
|
||||
public function addDevisNumberColumn(){
|
||||
try{
|
||||
$this->myDb->addNumberColumnOnFactureAndDevis();
|
||||
return true;
|
||||
}
|
||||
catch(\OCP\Files\NotFoundException $e) { }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -204,7 +204,8 @@ class Bdd {
|
||||
.$this->tableprefix."thanato.nom as nom_thanato, ".$this->tableprefix."thanato.prenom as prenom_thanato, ".$this->tableprefix."thanato.id as tid, "
|
||||
.$this->tableprefix."devis.num, ".$this->tableprefix."devis.date, ".$this->tableprefix."devis.version, ".$this->tableprefix."devis.mentions, "
|
||||
.$this->tableprefix."lieu.id as lid, ".$this->tableprefix."lieu.nom as lieu,".$this->tableprefix."lieu.adresse as adresse_soin,".$this->tableprefix."devis.id_lieu, "
|
||||
.$this->tableprefix."defunt.id as id_defunt, ".$this->tableprefix."defunt.nom as nom_defunt
|
||||
.$this->tableprefix."defunt.id as id_defunt, ".$this->tableprefix."defunt.nom as nom_defunt, "
|
||||
.$this->tableprefix."devis.devis_full_number as devis_full_number
|
||||
FROM (".$this->tableprefix."devis
|
||||
LEFT JOIN ".$this->tableprefix."defunt on id_defunt = ".$this->tableprefix."defunt.id
|
||||
LEFT JOIN ".$this->tableprefix."client on id_client = ".$this->tableprefix."client.id
|
||||
@ -839,16 +840,40 @@ class Bdd {
|
||||
return true;
|
||||
}
|
||||
|
||||
private function getLastDevisNumberByMonthAndYear($month,$year){
|
||||
$sql = "SELECT
|
||||
max(devis.devis_number) as LAST_DEVIS_NUMBER, devis.date FROM "
|
||||
. $this->tableprefix."devis as devis
|
||||
WHERE YEAR(devis.date) = ? AND
|
||||
MONTH(devis.date) = ?;";
|
||||
$res = $this->execSQLNoJsonReturn($sql,array($year,$month));
|
||||
$lastNumber = 0;
|
||||
if(!empty($res)){
|
||||
$lastNumber = $res[0]['LAST_DEVIS_NUMBER'];
|
||||
}
|
||||
return $lastNumber;
|
||||
}
|
||||
|
||||
public function insertDevisFromVCalendarAndReturnId($thanatoId,$clientId,$locationId,$defuntId,$calendarUuid = self::DEFAULT_CALENDAR_UUID_FOR_DEVIS,$date = null){
|
||||
|
||||
if($date == null){
|
||||
$date = new Datetime();
|
||||
$date = $date->format('Y-m-d');
|
||||
$dateTime = new Datetime();
|
||||
$date = $dateTime->format('Y-m-d');
|
||||
}
|
||||
else{
|
||||
$dateTime = new DateTime($date);
|
||||
}
|
||||
$idNextcloud = "admin";
|
||||
$last=0;
|
||||
$last = $this->lastinsertid("devis", "admin") + 1;
|
||||
|
||||
$dateMonth = $dateTime->format('m');
|
||||
$dateYear = $dateTime->format('Y');
|
||||
|
||||
$devisLastNumber = $this->getLastDevisNumberByMonthAndYear($dateMonth,$dateYear);
|
||||
$devisNumber = $devisLastNumber + 1;
|
||||
$devisFullNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($dateTime,$devisNumber,'DEV');
|
||||
|
||||
$sql = "INSERT INTO `".$this->tableprefix."devis` ( `date`,
|
||||
`id_nextcloud`,
|
||||
`num`,
|
||||
@ -859,9 +884,11 @@ class Bdd {
|
||||
`id_lieu`,
|
||||
`mentions`,
|
||||
`comment`,
|
||||
`user_id`
|
||||
`user_id`,
|
||||
`devis_number`,
|
||||
`devis_full_number`
|
||||
)
|
||||
VALUES (?,?,?,?,?,?,?,?,?,?,?);";
|
||||
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?);";
|
||||
$this->execSQLNoData($sql, array(
|
||||
$date,
|
||||
$idNextcloud,
|
||||
@ -873,7 +900,11 @@ class Bdd {
|
||||
$locationId,
|
||||
$this->l->t('Mention'),
|
||||
$this->l->t('Comment'),
|
||||
$last));
|
||||
$last,
|
||||
$devisNumber,
|
||||
$devisFullNumber
|
||||
)
|
||||
);
|
||||
|
||||
return $this->getLastDevisIdFromVCalendarProperty($thanatoId,$clientId,$locationId,$defuntId,$calendarUuid);
|
||||
}
|
||||
@ -2206,4 +2237,44 @@ class Bdd {
|
||||
return $articleIds;
|
||||
}
|
||||
|
||||
public function addNumberColumnOnFactureAndDevis(){
|
||||
$sql = "ALTER TABLE ". $this->tableprefix."devis
|
||||
ADD devis_number INT DEFAULT 1;" ;
|
||||
$this->execSQLNoJsonReturn(
|
||||
$sql,
|
||||
[]);
|
||||
|
||||
$sql = "ALTER TABLE ". $this->tableprefix."devis
|
||||
ADD devis_full_number VARCHAR(255);" ;
|
||||
$this->execSQLNoJsonReturn(
|
||||
$sql,
|
||||
[]);
|
||||
|
||||
$sql = "UPDATE ".$this->tableprefix."devis as devis
|
||||
SET devis.devis_full_number = CONCAT('DEV', YEAR(devis.date) % 100, LPAD(MONTH(devis.date), 2, '0'), LPAD(devis.devis_number, 2, '0'));";
|
||||
$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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -32,4 +32,12 @@ class DateHelpers
|
||||
return $formattedDate;
|
||||
}
|
||||
|
||||
public static function GetFullFactureOrDevisNumberByDate($date,$devisNumber,$prefix){
|
||||
$year = $date->format('y');
|
||||
$month = $date->format('m');
|
||||
$devisNumber = str_pad($devisNumber, 2, '0', STR_PAD_LEFT);
|
||||
$devisNumber = $prefix . $year . $month . $devisNumber;
|
||||
return $devisNumber;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -42,6 +42,7 @@ export class Devis {
|
||||
this.lieu = ((myresp.lieu == null || myresp.lieu.length === 0) ? '-' : myresp.lieu);
|
||||
this.mentions = ((myresp.mentions == null || myresp.mentions.length === 0) ? '-' : myresp.mentions);
|
||||
this.baseUrl = generateUrl(`/apps/gestion/devis/${this.id}/show`);
|
||||
this.devisFullNumber = ((myresp.devis_full_number != null && myresp.mentions.devis_full_number != 0) ? myresp.devis_full_number : '-');
|
||||
}
|
||||
|
||||
/**undefined
|
||||
@ -53,6 +54,7 @@ export class Devis {
|
||||
// '<div><div class="'+signe_prop+'">' + this.user_id + '</div></div>',
|
||||
'<input class="devisToFacture" data-id= '+ this.user_id + ' type="checkbox" name="devisToFacture" value="' + this.id + '"/>',
|
||||
'<div>' + this.user_id + '</div>',
|
||||
'<div>' + this.devisFullNumber + '</div>',
|
||||
'<input style="margin:0;padding:0;" class="inputDate" type="date" value=' + this.date + ' data-table="devis" data-column="date" data-id="' + this.id + '"/>',
|
||||
// '<div class="editable" data-table="devis" data-column="num" data-id="' + this.id + '" style="display:inline">' + this.num + '</div>',
|
||||
'<div class="loadSelect_listdefunt" data-table="devis" data-column="id_defunt" data-id="' + this.id + '" data-current="' + this.id_defunt + '">'+ this.id_defunt + ' (' + this.nom_defunt + ')</div>',
|
||||
|
||||
@ -34,6 +34,7 @@
|
||||
<tr>
|
||||
<th><?php p($l->t('A facturer'));?></th>
|
||||
<th><?php p($l->t('ID'));?></th>
|
||||
<th><?php p($l->t('Num'));?></th>
|
||||
<th><?php p($l->t('Quote date'));?></th>
|
||||
<th>Défunt</th>
|
||||
<th><?php p($l->t('Customer quote'));?></th>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user