✏️ 正在编辑: Split.php
路径:
/srv/systems_dir/koruspay/application/forms/Filtro/Split.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Form_Filtro_Split extends Yuppie_Form_Filtro { protected $postRequired = true; public function init() { $this->dbtable = Model_Container::getSplit(); $this->addElement('select', 'situation', [ 'label' => 'Situação:', 'multiOptions' => [ '' => 'Todas', 'PENDENTE' => 'PENDENTE', 'RECEBIDO' => 'RECEBIDO', 'PROCESSANDO' => 'PROCESSANDO', 'PARCIAL' => 'CONCLUÍDO PARCIAL', 'CONCLUIDO' => 'CONCLUÍDO', ] ]); $this->addElement("text", "id", [ 'label' => 'N° do Lote:' ]); $this->addElement('select', 'origin', [ 'label' => 'Origem:', 'multiOptions' => [ '' => 'Todas', 'API' => 'API', 'ARQUIVO' => 'ARQUIVO', 'REPROCESSAMENTO' => 'REPROCESSAMENTO', ] ]); $this->addElement('date', 'initial_created_at', [ 'label' => 'Criado em', 'required' => true ]); $this->addElement('date', 'final_created_at', [ 'label' => 'até', 'required' => true ]); $this->_initButtons(); $buttonNew = $this->getElement('new'); $buttonNew->setLabel('Novo Lote'); } public function search() { $request = Zend_Controller_Front::getInstance()->getRequest(); $id = get_class($this); $ns = new Zend_Session_Namespace($id); if ($request->isPost() && $this->isValid($request->getPost())) { $ns->unsetAll(); $ns->$id = $request->getPost(); } if ($this->postRequired && (!$ns->$id || !$this->getValues())) { return; } return $this->dbtable->listar($this->_getWhere()); } protected function _getWhere() { $fields = $this->getValues(); $params = []; if (!empty($fields['id'])) { $params["(split.id = ? OR split.parent_id = ?)"] = $fields['id']; } if (!empty($fields['situation'])) { $params["split.situation = ?"] = $fields['situation']; } if (!empty($fields['origin'])) { $params["split.origin = ?"] = $fields['origin']; } $initialCreatedAt = $fields['initial_created_at'] ?? ''; $finalCreatedAt = $fields['final_created_at'] ?? ''; $dateFrom = !empty($initialCreatedAt) ? new Zend_Date($initialCreatedAt, 'dd/MM/yyyy') : null; $dateTo = !empty($finalCreatedAt) ? new Zend_Date($finalCreatedAt, 'dd/MM/yyyy') : null; if ($dateFrom && $dateTo) { $diffSeconds = abs($dateTo->getTimestamp() - $dateFrom->getTimestamp()); $dias = (int) floor($diffSeconds / 86400); if ($dias > 31) { $this->getElement('initial_created_at') ->addError('Atenção. O intervalo NÃO pode ser maior que 31 dias.'); return false; } } if ($dateFrom) { $params['split.created_at >= ?'] = $dateFrom->get('yyyy-MM-dd 00:00:00'); } if ($dateTo) { $params['split.created_at <= ?'] = $dateTo->get('yyyy-MM-dd 23:59:59'); } return $params; } }
💾 保存文件
← 返回文件管理器