✏️ 正在编辑: FolhaPonto.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/models/FolhaPonto.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Model_FolhaPonto { private $_id; private $_funcionarioId; private $_dataPonto; private $_chegadaTrabalho; private $_saidaIntervalo; private $_retornoIntervalo; private $_saidaTrabalho; private $_entradaHoraExtra; private $_saidaHoraExtra; private $_login; private $_ip; private $_saidaIntervalo2; private $_retornoIntervalo2; private $_saidaIntervalo3; private $_retornoIntervalo3; public function getId() { return $this->_id; } public function getFuncionarioId() { return $this->_funcionarioId; } public function getDataPonto() { return $this->_dataPonto; } public function getChegadaTrabalho() { return $this->_chegadaTrabalho; } public function getSaidaIntervalo() { return $this->_saidaIntervalo; } public function getSaidaIntervalo2() { return $this->_saidaIntervalo2; } public function getSaidaIntervalo3() { return $this->_saidaIntervalo3; } public function getRetornoIntervalo() { return $this->_retornoIntervalo; } public function getRetornoIntervalo2() { return $this->_retornoIntervalo2; } public function getRetornoIntervalo3() { return $this->_retornoIntervalo3; } public function getSaidaTrabalho() { return $this->_saidaTrabalho; } public function getEntradaHoraExtra() { return $this->_entradaHoraExtra; } public function getSaidaHoraExtra() { return $this->_saidaHoraExtra; } public function getLogin() { return $this->_login; } public function getIp() { return $this->_ip; } public function setId($id) { $this->_id = $id; } public function setFuncionarioId($funcionarioId) { $this->_funcionarioId = $funcionarioId; } public function setDataPonto($dataPonto) { $this->_dataPonto = $dataPonto; } public function setChegadaTrabalho($chegadaTrabalho) { $this->_chegadaTrabalho = $chegadaTrabalho; } public function setSaidaIntervalo($saidaIntervalo) { $this->_saidaIntervalo = $saidaIntervalo; } public function setSaidaIntervalo2($saidaIntervalo2) { $this->_saidaIntervalo2 = $saidaIntervalo2; } public function setSaidaIntervalo3($saidaIntervalo3) { $this->_saidaIntervalo3 = $saidaIntervalo3; } public function setRetornoIntervalo($retornoIntervalo) { $this->_retornoIntervalo = $retornoIntervalo; } public function setRetornoIntervalo2($retornoIntervalo2) { $this->_retornoIntervalo2 = $retornoIntervalo2; } public function setRetornoIntervalo3($retornoIntervalo3) { $this->_retornoIntervalo3 = $retornoIntervalo3; } public function setSaidaTrabalho($saidaTrabalho) { $this->_saidaTrabalho = $saidaTrabalho; } public function setEntradaHoraExtra($entradaHoraExtra) { $this->_entradaHoraExtra = $entradaHoraExtra; } public function setSaidaHoraExtra($saidaHoraExtra) { $this->_saidaHoraExtra = $saidaHoraExtra; } public function setLogin($login) { $this->_login = $login; } public function setIp($ip) { $this->_ip = $ip; } public function __construct($options = null) { if( is_array($options) ){ $this->setOptions($options); } } public function setOptions(array $options) { $methods = get_class_methods($this); foreach ( $options as $key => $value ) { $explode = explode("_", $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'set' . ucfirst($key); if( in_array($method, $methods) ){ $this->$method($value); } } return $this; } public function _toArray() { $dbtable = new Model_DbTable_FolhaPonto(); $info = $dbtable->info(); $methods = get_class_methods($this); $data = array( ); foreach ( $info['cols'] as $key ) { $col = $key; $explode = explode("_", $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'get' . ucfirst($key); if( in_array($method, $methods) ){ $data[$col] = $this->$method(); } } return $data; } /** * Insere ou altera o registro passado por parâmetro * @param Model_Bonus $folha */ public function salvar(Model_FolhaPonto $folha) { $dbtable = new Model_DbTable_FolhaPonto(); if( $folha->getId() > 0 ){ $dbtable->update($folha->_toArray(), "id = " . $folha->getId()); return $folha->getId(); } else { return $dbtable->insert($folha->_toArray()); } } public function listar($funcionarioId, $mesAno){ $table = new Model_DbTable_FolhaPonto(); $select = $table->select()->from('tb_folha_ponto') ->columns(array('*', 'total_dia' => new Zend_Db_Expr('time_to_sec(timediff(saida_intervalo, chegada_trabalho)) + time_to_sec(timediff(saida_intervalo2, retorno_intervalo)) + time_to_sec(timediff(saida_intervalo3, retorno_intervalo2)) + time_to_sec(timediff(saida_trabalho, retorno_intervalo3))'))) ->where("funcionario_id = $funcionarioId AND DATE_FORMAT(data_ponto, '%m/%Y') = '$mesAno'"); return $table->fetchAll($select); } /** * Retorna um fetchRow do item passado por parâmetro * @param int $id * @return Zend_Db_Table_Row_Abstract | null */ public function exibir($id) { $dbtable = new Model_DbTable_FolhaPonto(); return $dbtable->fetchRow("id = " . $id); } public function findByDate($date, $funcionarioId) { if($date != '' && $funcionarioId != '') { $dbtable = new Model_DbTable_FolhaPonto(); return $dbtable->fetchRow("data_ponto = '{$date}' AND funcionario_id = {$funcionarioId}"); } else{ return 0; } } /** * Exclui o registro passado por parâmetro * @param int $id * @return int The number of rows deleted */ public function excluir($id) { if( $id > 0 ){ $dbtable = new Model_DbTable_FolhaPonto(); return $dbtable->delete("id = " . $id); } return null; } public function getHorarioByTipo($tipo) { return $this->{"get$tipo"}(); } public function pontoFuncionarios($mesAno){ $modelFuncionario = new Model_Funcionario(); $funcionarios = $modelFuncionario->listar(); $modelFolhaPonto = new Model_FolhaPonto(); $pontos = []; foreach ($funcionarios as $funcionario) { $pontos[$funcionario['id']] = [ 'nome' => $funcionario['nome'], 'cpf' => $funcionario['cnpj'] ]; $folhas = $modelFolhaPonto->listar($funcionario['id'], $mesAno); foreach ($folhas as $folha) { $time = strtotime($folha['data_ponto']); $data = getDate($time); $pontos[$funcionario['id']]['pontos'][$data['mday']] = $folha->toArray(); } $pontos[$funcionario['id']]['folgas'] = (new Model_FolhaPontoFolgas())->getFolgas($mesAno, $funcionario['id']); } return $pontos; } }
💾 保存文件
← 返回文件管理器