32require_once DOL_DOCUMENT_ROOT.
'/core/class/commonobjectline.class.php';
94 public $element =
'fichinterdet';
99 public $table_element =
'fichinterdet';
104 public $fk_element =
'fk_fichinter';
126 dol_syslog(
"FichinterLigne::fetch", LOG_DEBUG);
128 $sql =
'SELECT ft.rowid, ft.fk_fichinter, ft.description, ft.duree, ft.rang, ft.date';
129 $sql .=
' FROM '.MAIN_DB_PREFIX.
'fichinterdet as ft';
130 $sql .=
' WHERE ft.rowid = '.((int) $rowid);
132 $resql = $this->db->query($sql);
134 $objp = $this->db->fetch_object($resql);
135 $this->
rowid = $objp->rowid;
136 $this->
id = $objp->rowid;
137 $this->fk_fichinter = $objp->fk_fichinter;
138 $this->date = $this->db->jdate($objp->date);
139 $this->datei = $this->db->jdate($objp->date);
140 $this->desc = $objp->description;
141 $this->duration = $objp->duree;
142 $this->rang = $objp->rang;
144 $this->db->free($resql);
150 $this->error = $this->db->error().
' sql='.$sql;
162 public function insert($user, $notrigger = 0)
166 dol_syslog(
"FichinterLigne::insert rang=".$this->rang);
168 if (empty($this->date) && !empty($this->datei)) {
169 $this->date = $this->datei;
174 $rangToUse = $this->rang;
175 if ($rangToUse == -1) {
177 $sql =
'SELECT max(rang) as max FROM '.MAIN_DB_PREFIX.
'fichinterdet';
178 $sql .=
' WHERE fk_fichinter = '.((int) $this->fk_fichinter);
179 $resql = $this->db->query($sql);
181 $obj = $this->db->fetch_object($resql);
182 $rangToUse = $obj->max + 1;
185 $this->db->rollback();
191 $sql =
'INSERT INTO '.MAIN_DB_PREFIX.
'fichinterdet';
192 $sql .=
' (fk_fichinter, description, date, duree, rang)';
193 $sql .=
" VALUES (".((int) $this->fk_fichinter).
",";
194 $sql .=
" '".$this->db->escape($this->desc).
"',";
195 $sql .=
" '".$this->db->idate($this->date).
"',";
196 $sql .=
" ".((int) $this->duration).
",";
197 $sql .=
' '.((int) $rangToUse);
200 dol_syslog(
"FichinterLigne::insert", LOG_DEBUG);
201 $resql = $this->db->query($sql);
203 $this->
id = $this->db->last_insert_id(MAIN_DB_PREFIX.
'fichinterdet');
204 $this->
rowid = $this->id;
217 $this->rang = $rangToUse;
221 $result = $this->
call_trigger(
'LINEFICHINTER_CREATE', $user);
233 $this->db->rollback();
237 $this->error = $this->db->error().
" sql=".$sql;
238 $this->db->rollback();
251 public function update($user, $notrigger = 0)
255 if (empty($this->date) && !empty($this->datei)) {
256 $this->date = $this->datei;
262 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"fichinterdet SET";
263 $sql .=
" description = '".$this->db->escape($this->desc).
"',";
264 $sql .=
" date = '".$this->db->idate($this->date).
"',";
265 $sql .=
" duree = ".((int) $this->duration).
",";
266 $sql .=
" rang = ".((int) $this->rang);
267 $sql .=
" WHERE rowid = ".((int) $this->
id);
269 dol_syslog(
"FichinterLigne::update", LOG_DEBUG);
270 $resql = $this->db->query($sql);
283 $result = $this->
call_trigger(
'LINEFICHINTER_MODIFY', $user);
295 $this->error = $this->db->lasterror();
296 $this->db->rollback();
300 $this->error = $this->db->lasterror();
301 $this->db->rollback();
319 $sql =
"SELECT SUM(duree) as total_duration, min(date) as dateo, max(date) as datee ";
320 $sql .=
" FROM ".MAIN_DB_PREFIX.
"fichinterdet";
321 $sql .=
" WHERE fk_fichinter=".((int) $this->fk_fichinter);
323 dol_syslog(
"FichinterLigne::update_total", LOG_DEBUG);
324 $resql = $this->db->query($sql);
326 $obj = $this->db->fetch_object($resql);
328 if (!empty($obj->total_duration)) {
329 $total_duration = $obj->total_duration;
332 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"fichinter";
333 $sql .=
" SET duree = ".((int) $total_duration);
334 $sql .=
" , dateo = ".(!empty($obj->dateo) ?
"'".$this->db->escape($obj->dateo).
"'" :
"null");
335 $sql .=
" , datee = ".(!empty($obj->datee) ?
"'".$this->db->escape($obj->datee).
"'" :
"null");
336 $sql .=
" WHERE rowid = ".((int) $this->fk_fichinter);
338 dol_syslog(
"FichinterLigne::update_total", LOG_DEBUG);
339 $resql = $this->db->query($sql);
344 $this->error = $this->db->error();
345 $this->db->rollback();
349 $this->error = $this->db->error();
350 $this->db->rollback();
366 dol_syslog(get_class($this).
"::deleteline lineid=".$this->
id);
373 $this->db->rollback();
377 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"fichinterdet WHERE rowid = ".((int) $this->
id);
378 $resql = $this->db->query($sql);
385 $result = $this->
call_trigger(
'LINEFICHINTER_DELETE', $user);
388 $this->db->rollback();
397 $this->db->rollback();
401 $this->error = $this->db->error().
" sql=".$sql;
402 $this->db->rollback();
fetch_optionals($rowid=null, $optionsArray=null)
Function to get extra fields of an object into $this->array_options This method is in most cases call...
deleteExtraFields()
Delete all extra fields values for the current object.
insertExtraFields($trigger='', $userused=null)
Add/Update all extra fields values for the current object.
call_trigger($triggerName, $user)
Call trigger based on this instance.
Parent class for class inheritance lines of business objects This class is useless for the moment so ...
Class to manage intervention lines.
deleteLine($user, $notrigger=0)
Delete a intervention line.
fetch($rowid)
Retrieve the line of intervention.
update_total()
Update total duration into llx_fichinter.
update($user, $notrigger=0)
Update intervention into database.
__construct($db)
Constructor.
insert($user, $notrigger=0)
Insert the line into database.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
publicphonebutton2 phonegreen basiclayout basiclayout TotalHT VATCode TotalVAT TotalLT1 TotalLT2 TotalTTC TotalHT clearboth nowraponall TAKEPOS_SHOW_SUBPRICE right right right takeposterminal SELECT e rowid