Advertisement
lpse

Untitled

Oct 31st, 2014
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.40 KB | None | 0 0
  1. <?php
  2.  
  3. class paket extends CActiveRecord
  4. {
  5. public $efisiensi;
  6. public $prosentase;
  7.  
  8. public function prosentase()
  9. {
  10. $users = Yii::app()->db->createCommand()
  11. ->select('*')
  12. ->from('paket')
  13. ->queryAll();
  14. }
  15.  
  16. public function tableName()
  17. {
  18. return 'paket';
  19. }
  20.  
  21. public function rules()
  22. {
  23. return array(
  24. array('id_tahun, id_bulan, id_skpd, kode_lelang, nama_paket, pagu_paket, nilai_penawaran, nama_pemenang, id_asal_kota, id_status, id_sbr_dana, id_tayang', 'required'),
  25. array('id_tahun, id_bulan, id_asal_kota, id_status, id_sbr_dana, id_tayang', 'numerical', 'integerOnly'=>true),
  26. array('id_skpd', 'length', 'max'=>50),
  27. array('kode_lelang, nilai_hps', 'length', 'max'=>100),
  28. array('nama_paket', 'length', 'max'=>3500),
  29. array('url_tayang', 'length', 'max'=>500),
  30. array('pagu_paket, nilai_penawaran', 'length', 'max'=>250),
  31. array('nama_pemenang', 'length', 'max'=>350),
  32. array('code', 'length', 'max'=>1),
  33. array('id_paket, id_tahun, id_bulan, id_skpd, kode_lelang, nama_paket, url_tayang, pagu_paket, nilai_hps, nilai_penawaran, nama_pemenang, id_asal_kota, id_status, id_sbr_dana, id_tayang, code', 'safe', 'on'=>'search'),
  34. );
  35. }
  36.  
  37. public function relations()
  38. {
  39. return array(
  40. 'bulan' => array(self::BELONGS_TO, 'bulan','id_bulan'),
  41. 'tahun' => array(self::BELONGS_TO, 'tahun','id_tahun'),
  42. 'skpd' => array(self::BELONGS_TO, 'skpd','id_skpd'),
  43. 'sumberdana' => array(self::BELONGS_TO, 'sumberdana','id_sbr_dana'),
  44. 'asalkota' => array(self::BELONGS_TO, 'asalkota','id_asal_kota'),
  45. 'jenisbelanja' => array(self::BELONGS_TO, 'jenisbelanja','id_jb'),
  46. 'jenispenyedia' => array(self::BELONGS_TO, 'jenispenyedia','id_jp'),
  47. 'status' => array(self::BELONGS_TO, 'status','id_status'),
  48. 'pstatus' => array(self::BELONGS_TO, 'pstatus','id_p_status'),
  49. 'tayang' => array(self::BELONGS_TO, 'tayang','id_tayang'),
  50. );
  51. }
  52.  
  53. public function attributeLabels()
  54. {
  55. return array(
  56. 'id_paket' => 'ID Paket',
  57. 'id_tahun' => 'Tahun',
  58. 'id_bulan' => 'Bulan',
  59. 'id_skpd' => 'Nama SKPD',
  60. 'kode_lelang' => 'Kode Lelang',
  61. 'nama_paket' => 'Nama Paket',
  62. 'url_tayang' => 'Link URL',
  63. 'pagu_paket' => 'Pagu Paket',
  64. 'nilai_hps' => 'Nilai HPS',
  65. 'nilai_penawaran' => 'Nilai Penawaran',
  66. 'nama_pemenang' => 'Nama Pemenang',
  67. 'id_asal_kota' => 'Asal Pemenang',
  68. 'id_status' => 'Status',
  69. 'id_sbr_dana' => 'Sumber Dana',
  70. 'id_tayang' => 'Status Tayang',
  71. 'code' => 'Code',
  72. );
  73. }
  74.  
  75. public function search()
  76. {
  77. // SELECT `tahun`.`nama_tahun` as `tahun`, sum(pagu_paket) AS t_pagu, sum(nilai_penawaran) AS t_tawar, sum(IF( nilai_penawaran >0, (pagu_paket - nilai_penawaran), 0 )) AS selisih, ( sum(IF( nilai_penawaran >0, (pagu_paket - nilai_penawaran), 0 )) / sum( pagu_paket ) *100 ) AS t_pros, COUNT( nama_paket ) AS jml_paket FROM `paket` LEFT JOIN `tahun` ON `paket`.`id_tahun` = `tahun`.`id_tahun` GROUP BY `paket`.`id_tahun`
  78.  
  79. $criteria=new CDbCriteria;
  80. $criteria->select='t.*,IF( nilai_penawaran >0, (pagu_paket - nilai_penawaran), 0 ) AS efisiensi';
  81. $criteria->select='t.*,IF( nilai_penawaran >0, (pagu_paket - nilai_penawaran), 0 ) / pagu_paket * 100 AS prosentase';
  82. $criteria->compare('id_paket',$this->id_paket);
  83. $criteria->compare('id_tahun',$this->id_tahun);
  84. $criteria->compare('id_bulan',$this->id_bulan);
  85. $criteria->compare('id_skpd',$this->id_skpd,true);
  86. $criteria->compare('kode_lelang',$this->kode_lelang,true);
  87. $criteria->compare('nama_paket',$this->nama_paket,true);
  88. $criteria->compare('url_tayang',$this->url_tayang,true);
  89. $criteria->compare('pagu_paket',$this->pagu_paket,true);
  90. $criteria->compare('nilai_hps',$this->nilai_hps,true);
  91. $criteria->compare('nilai_penawaran',$this->nilai_penawaran,true);
  92. $criteria->compare('nama_pemenang',$this->nama_pemenang,true);
  93. $criteria->compare('id_asal_kota',$this->id_asal_kota);
  94. $criteria->compare('id_status',$this->id_status);
  95. $criteria->compare('id_sbr_dana',$this->id_sbr_dana);
  96. $criteria->compare('id_tayang',$this->id_tayang);
  97. $criteria->compare('code',$this->code,true);
  98.  
  99. return new CActiveDataProvider($this, array(
  100. 'criteria'=>$criteria,
  101. 'sort'=>array(
  102. 'defaultOrder'=>'id_paket DESC'),
  103. 'pagination' => array(
  104. 'pageSize' => 50,
  105. ),
  106. ));
  107. }
  108.  
  109. public static function model($className=__CLASS__)
  110. {
  111. return parent::model($className);
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement