public
function
project_search(){
$this
->load->library(
'pagination'
);
$this
->load->model(
'depart_mdl'
);
$data
=
$this
->get_project_data();
$get_data
=
$this
->input->get();
$data
=
array_merge
(
$data
,
$get_data
);
$name
=
$get_data
[
'name'
];
$username
=
$get_data
[
'username'
];
$budget
=
$get_data
[
'budget'
];
$type
=
$get_data
[
'type'
];
$posttime_start
=
$get_data
[
'posttime_start'
];
$posttime_end
=
$get_data
[
'posttime_end'
];
$purchase_type
=
$get_data
[
'purchase_type'
];
$depart_code
=
$get_data
[
'depart_code'
];
$project_status
=
$get_data
[
'project_status'
];
$bidder_way
=
$get_data
[
'bidder_way'
];
$suffix
=
"?name=$name&username=$username&budget=$budget&type=$type&posttime_start=$posttime_start&posttime_end=$posttime_end&purchase_type=$purchase_type&depart_code=$depart_code&project_status=$project_status&bidder_way=$bidder_way"
;
$config
[
'base_url'
] = site_url(
'project/project_search'
).
$suffix
;
$config
[
'total_rows'
] =
$this
->db->count_all(
$this
->db->dbprefix(
'project'
));
$config
[
'per_page'
] = 10;
$config
[
'page_query_string'
] = TRUE;
$config
[
'query_string_segment'
] =
'page'
;
$config
[
'uri_segment'
] = 3;
$this
->pagination->initialize(
$config
);
$user
=
$this
->user_mdl->get_user_by_salary_no(
$this
->session->userdata(
'salary_no'
));
$this
->db->from(
'ustc_project'
);
$this
->db->join(
'ustc_admins'
,
'ustc_admins.salary_no=ustc_project.salary_no'
);
if
(
$user
->role!=1){
$depart_code
=
explode
(
','
,
$user
->grant_depart_code);
$this
->db->where_in(
'grant_depart_code'
,
$depart_code
);
$this
->db->or_where(
'ustc_project.salary_no ='
,
$this
->session->userdata(
'salary_no'
));
}
if
(
$name
!=
''
){
$this
->db->like(
'name'
,
$name
);
}
if
(
$username
!=
''
){
$this
->db->like(
'username'
,
$get_data
[
'username'
]);
}
if
(
$budget
!=
''
){
$this
->db->like(
'budget'
,
$get_data
[
'budget'
]);
}
if
(
$type
!=
''
){
$this
->db->where(
'type'
,
$get_data
[
'type'
]);
}
if
(
$depart_code
!=
''
){
$this
->db->where(
'depart_code'
,
$get_data
[
'depart_code'
]);
}
if
(
$purchase_type
!=
''
){
$this
->db->where(
'purchase_type'
,
$get_data
[
'purchase_type'
]);
}
if
(
$project_status
!=
''
){
$this
->db->where(
'project_status'
,
$get_data
[
'project_status'
]);
}
if
(
$bidder_way
!=
''
){
$this
->db->where(
'bidder_way'
,
$get_data
[
'bidder_way'
]);
}
if
(
$posttime_start
!=
''
){
$this
->db->where(
'posttime > '
,
strtotime
(
$get_data
[
'posttime_start'
]));
}
if
(
$posttime_end
!=
''
){
$this
->db->where(
'posttime < '
,
strtotime
(
$get_data
[
'posttime_end'
]));
}
if
(isset(
$get_data
[
'page'
])){
$page_from
=
$get_data
[
'page'
];
}
else
{
$page_from
= 0;
}
$this
->db->order_by(
'posttime'
,
'desc'
);
$projects
=
$this
->db->limit(
$config
[
'per_page'
],
$page_from
)->get()->result_array();
for
(
$i
=0;
$i
<
count
(
$projects
);
$i
++){
$projects
[
$i
][
'type'
] =
$this
->manage_info_mdl->get_value_by_id(
$projects
[
$i
][
'type'
])->value;
$projects
[
$i
][
'purchase_type'
] =
$this
->manage_info_mdl->get_value_by_id(
$projects
[
$i
][
'purchase_type'
])->value;
$projects
[
$i
][
'depart'
] =
$this
->depart_mdl->get_depart_by_code(
$projects
[
$i
][
'depart_code'
])->name;
}
$data
[
'projects'
] =
$projects
;
$data
[
'user_role'
] =
$this
->user_mdl->get_user_by_salary_no(
$this
->session->userdata(
'salary_no'
))->role;
$this
->_template(
'project_search'
,
$data
);
}