gostaria de criar um historico de movimentação para o sistema que estou criando, como faço isso ?
gostaria de criar um historico de movimentação para o sistema que estou criando, como faço isso ?
Sua pergunta é muita ampla e não há como te responder de forma rápida e direta. No que você tem dúvida? O que você conseguiu fazer?
Realmente sua pergunta é bem ampla, mas vamos la, tentarei responder com um exemplo que uso e que talvez de ajude.
Crie uma tabela e model "historic" por exemplo, e em cada action que você deseja armazenar a movimentação, você pode fazer conforme abaixo:
public function actionCreate()
{
$model = new Solicitation();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
$modelHistoric = new Historic;
$modelHistoric->solicitation_id = $model->id;
$modelHistoric->datetime = date('Y-m-d H:i:s');
$modelHistoric->user_id = Yii::$app->user->id;
$modelHistoric->mod_status_id = $model->status_id;
$modelHistoric->observation = '';
$modelHistoric->save();
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
Aí depois é só você recuperar os dados do histórico de acordo com o usuário, id, status, etc… por exemplo.
Cara é o seguinte, comecei a usar o yii a pouco tempo, estou desenvolvendo um sistema de protocolo, onde as pessoas do setor receberão documentos, a movimentação que quero fazer é tipo saber quem encaminhou tal documento, pra onde foi, o que foi feito, a situação dele esses tipos de coisas. Como vc pode me ajudar nisso ? Se quiser posso disponibilizar pra vc o código
Entendi.
Acho que posso te ajudar, fiz um sistema que possui um módulo de PROTOCOLOS e parece ser bem próximo do que você precisa:
Vou te mostrar o MODEL e CONTROLLER dos protocolos pra vc ter uma idéia de quais informações armazeno, como funciona, etc.
MODEL
public function attributeLabels()
{
return [
'id' => 'Nº Protocolo',
'sender_user_id' => 'Usuário Remetente',
'sender_department_id' => 'Departamento Remetente',
'sender_location_id' => 'Unidade Remetente',
'recipient_user_id' => 'Usuário Destinatário',
'recipient_department_id' => 'Departamento Destinatário',
'recipient_location_id' => 'Unidade Destinatário',
'description' => 'Descrição',
'status_id' => 'Situação',
'created' => 'Criado em',
'updated' => 'Alterado em',
'file' => 'Anexo',
'attachment' => 'Anexo',
'recipient_date' => 'Recebido em',
'recipient_by' => 'Recebido por',
'recipient_text' => 'Observação sobre o Recebimento',
'completed_date' => 'Concluído em',
'completed_by' => 'Concluído por',
'completed_text' => 'Observação sobre a Conclusão',
];
}
CONTROLLER
public function actionCreate()
{
$model = new registros();
$model->sender_user_id = Yii::$app->user->id;
$model->sender_department_id = Yii::$app->user->identity->department_id;
$model->sender_location_id = Yii::$app->user->identity->location_id;
$model->sender_department_id = Yii::$app->user->identity->department_id;
$model->status_id = 0;
$model->created = date('Y-m-d H:i:s');
//$model->updated = date('Y-m-d');
if ($model->load(Yii::$app->request->post())) {
$file = $model->uploadImage();
if ($model->save()) {
if ($file !== false) {
if(!is_dir(\Yii::$app->getModule('protocolos')->params['uploadPath'])){
mkdir(\Yii::$app->getModule('protocolos')->params['uploadPath'], 0777, true);
}
$path = $model->getImageFile();
$file->saveAs($path);
}
Yii::$app->session->setFlash("protocolos-success", "Protocolo incluído com sucesso!");
return $this->redirect(['index']);
} else {
// error in saving model
}
}
return $this->render('create', [
'model' => $model,
]);
}
Vê se te da uma luz e qualquer dúvida diz ae
Valeu
Olá ton,
Você já trabalhou com algum framework? Para criar um histórico de movimentação, é simples!
Você só precisa salvar qualquer movimentação no banco de dados.
Teria como me dar um exemplo de como fazer Newerton ? É a primeira vez que estou usando um framework.