PageRenderTime 49ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/application/controllers/cts_report_controller.php

https://gitlab.com/bipsahu/ptcs
PHP | 215 lines | 153 code | 24 blank | 38 comment | 16 complexity | b4bf8196c9c887ef67c4c2840b6aa34e MD5 | raw file
  1. <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
  2. /*
  3. * controller that deals with the business logic for report generation
  4. * */
  5. class cts_report_controller extends CI_Controller
  6. {
  7. public function __construct()
  8. {
  9. parent::__construct();
  10. $this->load->model('cts_entry_person');
  11. $this->load->model('cts_role_model');
  12. $this->load->model('cts_project_model');
  13. $this->load->model('cts_task_model');
  14. $this->load->model('cts_login');
  15. $this->load->model('cts_department_model');
  16. $this->load->model('cts_report_model');
  17. }
  18. /*
  19. * Index controller for report generation ie project wise report
  20. * @param : NULL
  21. * @return : report view
  22. * */
  23. public function index($param = false)
  24. {
  25. // echo "<pre>";
  26. if ($param == "search")
  27. {
  28. if (isset($_POST['report-submit'])) {
  29. $from = $_POST['from_date'];
  30. $to = $_POST['to_date'];
  31. $data['result'] = $this->cts_report_model->show_all_peoject_details($from, $to);
  32. // echo "1";
  33. // print_r($data);die;
  34. }
  35. }
  36. else
  37. {
  38. $data['result'] = $this->cts_report_model->show_all_project_details();
  39. // echo "2";
  40. // print_r($data);die;
  41. }
  42. $data1['roles_info'] = $this->cts_role_model->show_module_role_by_position($this->session->userdata('position_id'));
  43. $i = 0;
  44. foreach ($data1['roles_info']->result_array() as $key => $value) {
  45. $role[] = $value;
  46. $module[] = $role[$i]['module_name'];
  47. $i++;
  48. }
  49. $data1['positions'] = $this->cts_role_model->show_all_position_role();
  50. $data1['departments'] = $this->cts_department_model->getDepartment();
  51. $data1['new_message'] = $this->cts_login->check_new_message();
  52. $this->load->view('cts_header');
  53. $this->load->view('cts_navigation', $data1);
  54. $this->load->view('report/cts_report_generate', $data);
  55. $this->load->view('cts_footer');
  56. }
  57. /*
  58. * Task Report controller for report generation i.e task wise report
  59. * @param : NULL
  60. * @return : report view
  61. * */
  62. public function task_report($param = '')
  63. {
  64. if ($this->input->is_ajax_request()) {
  65. $data = $this->cts_report_model->show_all_task_details();
  66. // print_r($data);
  67. echo json_encode($data);
  68. }
  69. elseif($param != '')
  70. {
  71. // echo $param;die;
  72. // echo $param;die;
  73. $data['project_id'] = $param;
  74. }
  75. $data['projects'] = $this->cts_project_model->show_all_project(10000000, 0);
  76. $data1['positions'] = $this->cts_role_model->show_all_position_role();
  77. $data1['departments'] = $this->cts_department_model->getDepartment();
  78. $data1['new_message'] = $this->cts_login->check_new_message();
  79. $data['total_task'] = $this->cts_task_model->count_all_task();
  80. if (!$_POST) {
  81. $this->load->view('cts_header');
  82. $this->load->view('cts_navigation', $data1);
  83. $this->load->view('report/cts_task_report_generate', $data);
  84. $this->load->view('cts_footer');
  85. }
  86. }
  87. /*
  88. * Indocator Report controller for report generation i.e indicator wise report
  89. * @param : post (project id, task id)
  90. * @return : report view
  91. * */
  92. public function indicator_report()
  93. {
  94. if ($this->input->is_ajax_request()) {
  95. $result = $this->cts_report_model->show_all_indicator_details();
  96. echo json_encode($result);
  97. }
  98. $data['projects'] = $this->cts_project_model->show_all_project(10000000, 0);
  99. $data1['positions'] = $this->cts_role_model->show_all_position_role();
  100. $data1['departments'] = $this->cts_department_model->getDepartment();
  101. $data1['new_message'] = $this->cts_login->check_new_message();
  102. if (!$_POST) {
  103. $this->load->view('cts_header');
  104. $this->load->view('cts_navigation', $data1);
  105. $this->load->view('report/cts_indicator_report_generate', $data);
  106. $this->load->view('cts_footer');
  107. }
  108. }
  109. /*
  110. * task category Report controller for report generation i.e task category wise report
  111. * @return : report view
  112. * */
  113. public function task_category_report($project_id ='')
  114. {
  115. if ($this->input->is_ajax_request()) {
  116. // unset($data['result']);
  117. $result = $this->cts_report_model->show_all_task_category_details();
  118. // print_r($result);die;
  119. echo json_encode($result);
  120. }
  121. elseif($project_id != '')
  122. {
  123. $result = $this->cts_report_model->show_all_task_category_details($project_id);
  124. $data['result'] = $result;
  125. }
  126. // echo "hello";die;
  127. $data['projects'] = $this->cts_project_model->show_all_project(10000000, 0);
  128. $data1['positions'] = $this->cts_role_model->show_all_position_role();
  129. $data1['departments'] = $this->cts_department_model->getDepartment();
  130. $data1['new_message'] = $this->cts_login->check_new_message();
  131. if (!$_POST) {
  132. $this->load->view('cts_header');
  133. $this->load->view('cts_navigation', $data1);
  134. $this->load->view('report/cts_task_category_report_generate', $data);
  135. $this->load->view('cts_footer');
  136. }
  137. }
  138. public function projectwise_hr_report()
  139. {
  140. $data['result'] = $this->cts_report_model->show_hr_project();
  141. $data1['roles_info'] = $this->cts_role_model->show_module_role_by_position($this->session->userdata('position_id'));
  142. $i = 0;
  143. foreach ($data1['roles_info']->result_array() as $key => $value) {
  144. $role[] = $value;
  145. $module[] = $role[$i]['module_name'];
  146. $i++;
  147. }
  148. $data1['positions'] = $this->cts_role_model->show_all_position_role();
  149. $data1['departments'] = $this->cts_department_model->getDepartment();
  150. $data1['new_message'] = $this->cts_login->check_new_message();
  151. $this->load->view('cts_header');
  152. $this->load->view('cts_navigation', $data1);
  153. $this->load->view('report/cts_projectwise_hr_report', $data);
  154. $this->load->view('cts_footer');
  155. }
  156. public function taskwise_hr_report($param = '')
  157. {
  158. if ($this->input->is_ajax_request())
  159. {
  160. // echo "this is json format";
  161. $data = $this->cts_report_model->show_taskwise_hr_report();
  162. // print_r($data);
  163. echo json_encode($data);
  164. }
  165. elseif($param != '')
  166. {
  167. // echo $param;die;
  168. // echo $param;die;
  169. $data['project_id'] = $param;
  170. }
  171. $data['projects'] = $this->cts_project_model->show_all_project(10000000, 0);
  172. // $data['result'] = $this->cts_report_model->show_hr_project();
  173. $data1['roles_info'] = $this->cts_role_model->show_module_role_by_position($this->session->userdata('position_id'));
  174. $i = 0;
  175. foreach ($data1['roles_info']->result_array() as $key => $value) {
  176. $role[] = $value;
  177. $module[] = $role[$i]['module_name'];
  178. $i++;
  179. }
  180. $data1['positions'] = $this->cts_role_model->show_all_position_role();
  181. $data1['departments'] = $this->cts_department_model->getDepartment();
  182. $data1['new_message'] = $this->cts_login->check_new_message();
  183. if(!($_POST))
  184. {
  185. $this->load->view('cts_header');
  186. $this->load->view('cts_navigation', $data1);
  187. $this->load->view('report/cts_taskwise_hr_report', $data);
  188. $this->load->view('cts_footer');
  189. }
  190. }
  191. }