2024-12-25 03:04:59 +00:00
< ? php
2025-01-02 09:35:59 +00:00
namespace frontend\modules\frozen\controllers ;
2024-12-25 03:04:59 +00:00
2025-04-28 08:33:28 +00:00
use common\models\CaseFrozen ;
2024-12-25 03:04:59 +00:00
use Yii ;
use common\models\CaseSurgical ;
2025-04-28 08:33:28 +00:00
use common\models\FrozenCassettePrint ;
use common\models\FrozenSlide ;
2024-12-25 03:04:59 +00:00
use common\models\IdCaseForm ;
use common\models\SurgicalCassettePrint ;
use common\models\SurgicalSlide ;
class PrintController extends \yii\web\Controller
{
2025-04-28 08:33:28 +00:00
/*
2024-12-25 03:04:59 +00:00
public function actionCassette ()
{
$searchCase = new IdCaseForm ();
$session = Yii :: $app -> session ;
if ( ! $session [ 'gross' ]) {
$session [ 'gross' ] = null ;
}
if ( $searchCase -> load ( Yii :: $app -> request -> get ())) {
$session [ 'gross' ] = $searchCase -> id_case ;
}
$model = CaseSurgical :: findOne ([ 'id_case' => Yii :: $app -> session [ 'gross' ]]);
if ( $model ) {
if ( Yii :: $app -> request -> post ( 'selection' )) { // เมื่อมีการ Post ค่ามา
$selection = ( array ) Yii :: $app -> request -> post ( 'selection' ); // รับค่ามาเป็น array
$surgical_slide_print = ( array ) Yii :: $app -> request -> post ( 'SurgicalCassettePrint' ); // รับค่ามาเป็น array
//var_dump($selection);
//var_dump($surgical_slide_print);
//die();
//$content = [];
foreach ( $selection as $key => $value ) {
//var_dump($surgical_slide_print['items'][$value]['hopper']);
//die();
$surgical_slide = SurgicalSlide :: findOne ( $value );
$surgical_slide -> status = 1 ;
if ( $surgical_slide -> save ()) {
$surgical_cassette_print = new SurgicalCassettePrint ();
$surgical_cassette_print -> id_case = $model -> id_case ;
$surgical_cassette_print -> surgical_slide_id = $surgical_slide -> id ;
$surgical_cassette_print -> print_at = date ( 'Y-m-d H:i:s' );
$surgical_cassette_print -> print_by = Yii :: $app -> user -> getId ();
$filePath = Yii :: getAlias ( '@webroot' ) . '/surgical_slide_print/' . $model -> id_case . '_' . $surgical_slide -> no_slide . '_' . $surgical_slide -> id . '.txt' ; // Specify the file path where you want to save the text
$parts = explode ( " - " , $model -> id_case );
// Split the string into an array of characters
$chars = str_split ( $parts [ 0 ]);
// Convert the array back to a string
$result = $chars [ 0 ] . ',' . $chars [ 1 ] . $chars [ 2 ] . ',-,' . $parts [ 1 ];
// Create the content you want to save in the file
//for ($i = 1; $i <= $surgical_slide->quantity; $i++) {
$print_arr = [ 1 => 'NU2 LIS' ];
$content = $result . ',' . $surgical_slide -> no_slide . ',' . 'NU. PATH' . ',Hopper' . $surgical_slide_print [ 'items' ][ $value ][ 'hopper' ] . ',Outlet' . $surgical_slide_print [ 'items' ][ $value ][ 'outlet' ] . ',' . $print_arr [ $surgical_slide_print [ 'items' ][ $value ][ 'printer' ]];
// }
//$content = implode("\n", $content);
$surgical_cassette_print -> remark = $content ;
if ( $surgical_cassette_print -> save ()) {
Yii :: $app -> session -> addFlash ( 'success' , 'สั่งพิมพ์ Cassette: ' . $surgical_slide -> no_slide . ' แล้ว' );
// Save the content to the file
file_put_contents ( $filePath , $content , FILE_APPEND );
} else {
var_dump ( $surgical_cassette_print -> getFirstErrors ());
die ();
}
}
} // end foreach
return $this -> redirect ([ 'cassette' , 'IdCaseForm[id_case]' => $model -> id_case ]);
}
}
2025-04-28 08:33:28 +00:00
return $this -> render ( 'cassette' , [
'model' => $model ,
'searchCase' => $searchCase ,
]);
} */
public function actionCassette ()
{
$searchCase = new IdCaseForm ();
$session = Yii :: $app -> session ;
if ( ! $session [ 'gross' ]) {
$session [ 'gross' ] = null ;
}
if ( $searchCase -> load ( Yii :: $app -> request -> get ())) {
$session [ 'gross' ] = $searchCase -> id_case ;
}
$model = CaseFrozen :: findOne ([ 'id_case' => Yii :: $app -> session [ 'gross' ]]);
if ( $model ) {
if ( Yii :: $app -> request -> post ( 'selection' )) { // เมื่อมีการ Post ค่ามา
$selection = ( array ) Yii :: $app -> request -> post ( 'selection' ); // รับค่ามาเป็น array
$frozen_slide_print = ( array ) Yii :: $app -> request -> post ( 'FrozenCassettePrint' ); // รับค่ามาเป็น array
//var_dump($selection);
//var_dump($frozen_slide_print);
//die();
//$content = [];
foreach ( $selection as $key => $value ) {
//var_dump($frozen_slide_print['items'][$value]['hopper']);
//die();
$frozen_slide = FrozenSlide :: findOne ( $value );
$frozen_slide -> status = 1 ;
if ( $frozen_slide -> save ()) {
$frozen_cassette_print = new FrozenCassettePrint ();
$frozen_cassette_print -> id_case = $model -> id_case ;
$frozen_cassette_print -> frozen_slide_id = $frozen_slide -> id ;
$frozen_cassette_print -> print_at = date ( 'Y-m-d H:i:s' );
$frozen_cassette_print -> print_by = Yii :: $app -> user -> getId ();
$filePath = Yii :: getAlias ( '@webroot' ) . '/surgical_block_print1/' . $model -> id_case . '_' . $frozen_slide -> no_slide . '_' . $frozen_slide -> id . '.txt' ; // Specify the file path where you want to save the text
$parts = explode ( " - " , $model -> id_case );
// Split the string into an array of characters
$chars = str_split ( $parts [ 0 ]);
// Convert the array back to a string
//$result = $chars[0] . ',' . $chars[1] . $chars[2] . ',-,' . $parts[1];
$result = $chars [ 0 ] . $chars [ 1 ] . $chars [ 2 ] . ',-,' . $parts [ 1 ];
// Create the content you want to save in the file
//for ($i = 1; $i <= $frozen_slide->quantity; $i++) {
//$print_arr = [1 => 'SR LIS'];
$print_arr = [ 1 => 'HANUMAN' ];
//$content = $result . ',' . $frozen_slide->no_slide . ',' . 'SR. PATH' . ',Hopper' . $frozen_slide_print['items'][$value]['hopper'] . ',Outlet' . $frozen_slide_print['items'][$value]['outlet'] . ',' . $print_arr[$frozen_slide_print['items'][$value]['printer']];
$content = $result . ',' . $frozen_slide -> no_slide . ',' . 'surattani hospital' . ',Hopper ' . $frozen_slide_print [ 'items' ][ $value ][ 'hopper' ] . ',Outlet' . $frozen_slide_print [ 'items' ][ $value ][ 'outlet' ] . ',' . $print_arr [ $frozen_slide_print [ 'items' ][ $value ][ 'printer' ]];
// }
//$content = implode("\n", $content);
$frozen_cassette_print -> remark = $content ;
if ( $frozen_cassette_print -> save ()) {
Yii :: $app -> session -> addFlash ( 'success' , 'สั่งพิมพ์ Cassette: ' . $frozen_slide -> no_slide . ' แล้ว' );
// Save the content to the file
file_put_contents ( $filePath , $content , FILE_APPEND );
} else {
var_dump ( $frozen_cassette_print -> getFirstErrors ());
die ();
}
}
} // end foreach
return $this -> redirect ([ 'cassette' , 'IdCaseForm[id_case]' => $model -> id_case ]);
}
}
2024-12-25 03:04:59 +00:00
return $this -> render ( 'cassette' , [
'model' => $model ,
'searchCase' => $searchCase ,
]);
}
public function actionIndex ()
{
return $this -> render ( 'index' );
}
}