public static function CalculateBookPaySums ($rp_id,$only_for_payed=false) { $criteria = new CDbCriteria(); $criteria->condition = "t.PR_ID = " . $rp_id ; $criteria->addCondition('Client_ID =' . Yii::app()->user->clientID); if ($only_for_payed) { $criteria->addCondition ("t.Payment is null"); } $rp_item = RemoteProcessing::model()->find($criteria); if($rp_item) { $rp_settings = RemoteProcessingSettings::model()->find(); $size = ($rp_item->SizeData + $rp_item->SizeBook)/pow(1024, 3); $item_price = floatval( ($size*$rp_settings->DigitalSizeCost) + ($rp_item->TimeSpend*$rp_settings->DigitalTimeCost) +($rp_item->PagesBook * $rp_settings->DigitalPageCost) +$rp_settings->SetupFee); $item_price = round($item_price,2); $default_paper_cost = floatval( ($rp_item->PagesBook * $rp_settings->AnalogColouredPageCost) ); $default_paper_cost = round($default_paper_cost,2); return array( 'pdf_prise'=>$item_price, 'paper_default_price'=>$default_paper_cost ); } }
/** * Lists all models. */ public function actionIndex() { if (isset($_POST['oper']) && $_POST['oper'] == 'edit') { $id = intval($_POST["id"]); $rps = RemoteProcessingSettings::model()->findByPk($id); if ($rps) { $error_string= ''; $rps->PerPageFee =$_POST['PerPageFee'] ? $_POST["PerPageFee"] : null; $rps->PerSecondFee =$_POST['PerSecondFee'] ? $_POST["PerSecondFee"] : null; $rps->PaperPageFee =$_POST['PaperPageFee'] ? $_POST["PaperPageFee"] : null; $rps->PerMBFee =$_POST['PerMBFee'] ? $_POST["PerMBFee"] : null; $rps->SetupCharge =$_POST['SetupCharge'] ? $_POST["SetupCharge"] : null; if ($rps->validate() && $error_string == '') { $rps->save(); } else { die($error_string); } } die; } $conn = mysql_connect(Yii::app()->params->dbhost, Yii::app()->params->dbuser, Yii::app()->params->dbpassword); mysql_select_db(Yii::app()->params->dbname); mysql_query("SET NAMES 'utf8'"); Yii::import('ext.phpgrid.inc.jqgrid'); // set columns $col = array(); $col["title"] = "rps_id"; // caption of column $col["name"] = "rps_id"; $col["dbname"] = "rps_id"; // grid column name, same as db field or alias from sql $col["resizable"] = false; $col["editable"] = false; // this column is editable $col["hidden"] = false; $col["viewable"] = true; $col["search"] = false; $col["sortable"] = true; $cols[] = $col; // set columns $col = array(); $col["title"] = "SetupCharge"; // caption of column $col["name"] = "SetupCharge"; $col["dbname"] = "SetupCharge"; // grid column name, same as db field or alias from sql $col["resizable"] = false; $col["editable"] = true; // this column is editable $col["hidden"] = false; $col["viewable"] = true; $col["search"] = false; $col["sortable"] = true; $cols[] = $col; // set columns $col = array(); $col["title"] = "PerPageFee"; // caption of column $col["name"] = "PerPageFee"; $col["dbname"] = "PerPageFee"; // grid column name, same as db field or alias from sql $col["resizable"] = false; $col["editable"] = true; // this column is editable $col["hidden"] = false; $col["viewable"] = true; $col["search"] = false; $col["sortable"] = true; $cols[] = $col; // set columns $col = array(); $col["title"] = "PerSecondFee"; // caption of column $col["name"] = "PerSecondFee"; $col["dbname"] = "PerSecondFee"; // grid column name, same as db field or alias from sql $col["resizable"] = false; $col["editable"] = true; // this column is editable $col["hidden"] = false; $col["viewable"] = true; $col["search"] = true; $col["sortable"] = true; $cols[] = $col; // set columns $col = array(); $col["title"] = "PerMBFee"; // caption of column $col["name"] = "PerMBFee"; $col["dbname"] = "PerMBFee"; // grid column name, same as db field or alias from sql $col["resizable"] = true; $col["editable"] = true; // this column is editable $col["hidden"] = false; $col["viewable"] = true; $col["search"] = false; $col["sortable"] = true; $cols[] = $col; // set columns $col = array(); $col["title"] = "PaperPageFee"; // caption of column $col["name"] = "PaperPageFee"; $col["dbname"] = "PaperPageFee"; // grid column name, same as db field or alias from sql $col["resizable"] = true; $col["editable"] = true; // this column is editable $col["hidden"] = false; $col["viewable"] = true; $col["search"] = false; $col["sortable"] = true; $cols[] = $col; $g = new jqgrid(); $grid["caption"] = "RP settings"; // $grid["multiselect"] = true; $grid["autowidth"] = true; $grid["resizable"] = true; //$grid["toppager"] = true; $grid["sortname"] = 'RPS_ID'; $grid["sortorder"] = "ASC"; $grid["add_options"] = array( 'width'=>'420', "closeAfterEdit"=>true, // close dialog after add/edit "top"=>"200", // absolute top position of dialog "left"=>"200" // absolute left position of dialog ); $g->set_options($grid); $g->set_actions(array( "add"=>true, // allow/disallow add "edit"=>true, // allow/disallow edit "delete"=>true, // allow/disallow delete "rowactions"=>true, // show/hide row wise edit/del/save option "export"=>true, // show/hide export to excel option "autofilter" => true, // show/hide autofilter for search "search" => "advance" // show single/multi field search condition (e.g. simple or advance) ) ); $g->select_command = "SELECT remote_processing_settings.* FROM remote_processing_settings"; // set database table for CRUD operations $g->table = "remote_processing_settings"; $g->set_columns($cols); // group columns header $g->set_group_header( array( "useColSpanStyle"=>true, "groupHeaders"=>array( array( "startColumnName"=>'PerPageFee', // group starts from this column "numberOfColumns"=>4, // group span to next 2 columns "titleText"=>'Remote processing Settings' // caption of group header ), ) ) ); // render grid and get html/js output $out = $g->render("Rpsettings"); $this->render('index',array( 'out'=>$out, )); }