124 lines
3.9 KiB
PHP
124 lines
3.9 KiB
PHP
|
|
<?php
|
||
|
|
/*
|
||
|
|
* CaseController
|
||
|
|
* @namespace frontend\modules\frozen\controllers
|
||
|
|
* @author Manop Kongoon <kongoon@gmail.com>
|
||
|
|
*/
|
||
|
|
|
||
|
|
namespace frontend\modules\frozen\controllers;
|
||
|
|
|
||
|
|
use common\models\CaseFrozen;
|
||
|
|
use Yii;
|
||
|
|
use yii\base\Exception;
|
||
|
|
use yii\helpers\FileHelper;
|
||
|
|
use common\models\SearchDate;
|
||
|
|
use frontend\models\CaseSearch;
|
||
|
|
use common\models\HistoStaining;
|
||
|
|
use yii\data\ActiveDataProvider;
|
||
|
|
use common\models\ImmunoStaining;
|
||
|
|
use common\models\ConstServiceCharge;
|
||
|
|
use common\models\FinanceServiceCharge;
|
||
|
|
use common\models\FrozenSlide;
|
||
|
|
use DateTime;
|
||
|
|
use frontend\modules\frozen\models\CaseFrozenSearch;
|
||
|
|
|
||
|
|
class CaseFrozenController extends \yii\web\Controller
|
||
|
|
{
|
||
|
|
|
||
|
|
public function actionBlockAll()
|
||
|
|
{
|
||
|
|
$modelSearch = new CaseFrozenSearch();
|
||
|
|
|
||
|
|
$case_frozen = $modelSearch->search(Yii::$app->request->queryParams);
|
||
|
|
$case_frozen->query->andFilterWhere(['like', 'id_case', 'X%', false]);
|
||
|
|
|
||
|
|
return $this->render('block-all', [
|
||
|
|
'case_frozen' => $case_frozen,
|
||
|
|
'modelSearch' => $modelSearch,
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @return string|\yii\web\Response
|
||
|
|
*/
|
||
|
|
public function actionBlock($id_case)
|
||
|
|
{
|
||
|
|
|
||
|
|
|
||
|
|
$model = CaseFrozen::findOne(['id_case' => $id_case]);
|
||
|
|
$model->slides = FrozenSlide::find()->where(['id_case' => $model->id_case])->all();
|
||
|
|
|
||
|
|
if (
|
||
|
|
$model->load(Yii::$app->request->post())
|
||
|
|
) { // เมื่อมีการ Post ค่ามา
|
||
|
|
$transaction = Yii::$app->db->beginTransaction(); //เริ่ม Transaction
|
||
|
|
try {
|
||
|
|
|
||
|
|
//$model->status_id = 4;
|
||
|
|
|
||
|
|
if ($model->save()) {
|
||
|
|
} else {
|
||
|
|
var_dump($model->getFirstErrors());
|
||
|
|
die();
|
||
|
|
}
|
||
|
|
$items = Yii::$app->request->post();
|
||
|
|
|
||
|
|
if (!empty($items['CaseFrozen']['slides']) && is_array($items['CaseFrozen']['slides'])) {
|
||
|
|
foreach ($items['CaseFrozen']['slides'] as $key => $val) {
|
||
|
|
$current = date('Y-m-d H:i:s');
|
||
|
|
|
||
|
|
if (empty($val['id'])) {
|
||
|
|
$slide = new FrozenSlide();
|
||
|
|
} else {
|
||
|
|
$slide = FrozenSlide::findOne($val['id']);
|
||
|
|
}
|
||
|
|
$slide->id_case = $model->id_case;
|
||
|
|
$slide->block_at = $current;
|
||
|
|
$slide->no_slide = $val['no_slide'];
|
||
|
|
$slide->quantity = $val['quantity'];
|
||
|
|
if (!$slide->save()) {
|
||
|
|
var_dump($slide->getFirstErrors());
|
||
|
|
die();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
$transaction->commit();
|
||
|
|
|
||
|
|
//var_dump($model);
|
||
|
|
//unset(Yii::$app->session['gross']);
|
||
|
|
Yii::$app->session->setFlash('success', 'บันทึกข้อมูลเรียบร้อย');
|
||
|
|
return $this->redirect(['block', 'id_case' => $model->id_case]);
|
||
|
|
} catch (Exception $e) {
|
||
|
|
$transaction->rollBack();
|
||
|
|
unset(Yii::$app->session['block']);
|
||
|
|
Yii::$app->session->setFlash('error', 'เกิดข้อผิดพลาดในการบันทึกข้อมูล');
|
||
|
|
return $this->redirect(['block']);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
return $this->render('block', [
|
||
|
|
'model' => $model,
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @throws \Throwable
|
||
|
|
* @throws \yii\db\StaleObjectException
|
||
|
|
*/
|
||
|
|
public function actionFrozenSlideDelete()
|
||
|
|
{
|
||
|
|
$p = Yii::$app->request->post();
|
||
|
|
$slide = FrozenSlide::findOne(['id_case' => $p['id_case'], 'id' => $p['id']]);
|
||
|
|
|
||
|
|
if (!$slide) { // || !$surgical
|
||
|
|
echo 'error';
|
||
|
|
} else {
|
||
|
|
$slide->delete();
|
||
|
|
echo 'success';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|