Línea 15... |
Línea 15... |
15 |
use Laminas\Paginator\Paginator;
|
15 |
use Laminas\Paginator\Paginator;
|
16 |
use Laminas\Paginator\Adapter\DbSelect;
|
16 |
use Laminas\Paginator\Adapter\DbSelect;
|
17 |
use Laminas\Db\ResultSet\HydratingResultSet;
|
17 |
use Laminas\Db\ResultSet\HydratingResultSet;
|
18 |
use LeadersLinked\Model\UserType;
|
18 |
use LeadersLinked\Model\UserType;
|
19 |
use LeadersLinked\Model\CompanyUser;
|
19 |
use LeadersLinked\Model\CompanyUser;
|
20 |
use LeadersLinked\Model\MicrolearningCapsuleUser;
|
20 |
use LeadersLinked\Model\MicrolearningTopicUser;
|
Línea 21... |
Línea 21... |
21 |
|
21 |
|
22 |
|
22 |
|
23 |
class UserMapper extends MapperCommon
|
23 |
class UserMapper extends MapperCommon
|
Línea 1072... |
Línea 1072... |
1072 |
*/
|
1072 |
*/
|
1073 |
public function fetchAllDataTableStudensByCompanyId($company_id, $search, $page = 1, $records_per_page = 10, $order_field = 'name', $order_direction = 'ASC')
|
1073 |
public function fetchAllDataTableStudensByCompanyId($company_id, $search, $page = 1, $records_per_page = 10, $order_field = 'name', $order_direction = 'ASC')
|
1074 |
{
|
1074 |
{
|
1075 |
$date = date('Y-m-d');
|
1075 |
$date = date('Y-m-d');
|
Línea 1076... |
Línea 1076... |
1076 |
|
1076 |
|
1077 |
$selectCapsuleUser = $this->getSql()->select();
|
1077 |
$selectTopicUser = $this->getSql()->select();
|
1078 |
$selectCapsuleUser->columns(['user_id' => new Expression('DISTINCT(user_id)')]);
|
1078 |
$selectTopicUser->columns(['user_id' => new Expression('DISTINCT(user_id)')]);
|
1079 |
$selectCapsuleUser->from(MicrolearningCapsuleUserMapper::_TABLE);
|
1079 |
$selectTopicUser->from(MicrolearningTopicUserMapper::_TABLE);
|
1080 |
$selectCapsuleUser->where->equalTo('company_id', $company_id);
|
1080 |
$selectTopicUser->where->equalTo('company_id', $company_id);
|
1081 |
$selectCapsuleUser->where->nest->equalTo('access', MicrolearningCapsuleUser::ACCESS_UNLIMITED)->or->nest()
|
1081 |
$selectTopicUser->where->nest->equalTo('access', MicrolearningTopicUser::ACCESS_UNLIMITED)->or->nest()
|
1082 |
->equalTo('access', MicrolearningCapsuleUser::ACCESS_PAY_PERIOD)
|
1082 |
->equalTo('access', MicrolearningTopicUser::ACCESS_PAY_PERIOD)
|
1083 |
->and->lessThanOrEqualTo(new Expression('DATE(paid_from)'), $date)
|
1083 |
->and->lessThanOrEqualTo(new Expression('DATE(paid_from)'), $date)
|
Línea 1084... |
Línea 1084... |
1084 |
->and->greaterThanOrEqualTo(new Expression('DATE(paid_to)'), $date)->unnest()->unnest();
|
1084 |
->and->greaterThanOrEqualTo(new Expression('DATE(paid_to)'), $date)->unnest()->unnest();
|
Línea 1085... |
Línea 1085... |
1085 |
|
1085 |
|
1086 |
//echo $select->getSqlString($this->adapter->platform); exit;
|
1086 |
//echo $select->getSqlString($this->adapter->platform); exit;
|
1087 |
|
1087 |
|
1088 |
$select = $this->sql->select();
|
1088 |
$select = $this->sql->select();
|
Línea 1089... |
Línea 1089... |
1089 |
$select->columns(['id', 'uuid', 'first_name', 'last_name', 'email', 'blocked']);
|
1089 |
$select->columns(['id', 'uuid', 'first_name', 'last_name', 'email', 'blocked']);
|
1090 |
$select->from(UserMapper::_TABLE);
|
1090 |
$select->from(UserMapper::_TABLE);
|
1091 |
$select->where->in('id', $selectCapsuleUser);
|
1091 |
$select->where->in('id', $selectTopicUser);
|
Línea 1128... |
Línea 1128... |
1128 |
public function fetchAllStudensByCompanyId($company_id)
|
1128 |
public function fetchAllStudensByCompanyId($company_id)
|
1129 |
{
|
1129 |
{
|
Línea 1130... |
Línea 1130... |
1130 |
|
1130 |
|
Línea 1131... |
Línea 1131... |
1131 |
$date = date('Y-m-d');
|
1131 |
$date = date('Y-m-d');
|
1132 |
|
1132 |
|
1133 |
$selectCapsuleUser = $this->getSql()->select();
|
1133 |
$selectTopicUser = $this->getSql()->select();
|
1134 |
$selectCapsuleUser->columns(['user_id' => new Expression('DISTINCT(user_id)')]);
|
1134 |
$selectTopicUser->columns(['user_id' => new Expression('DISTINCT(user_id)')]);
|
1135 |
$selectCapsuleUser->from(MicrolearningCapsuleUserMapper::_TABLE);
|
1135 |
$selectTopicUser->from(MicrolearningTopicUserMapper::_TABLE);
|
1136 |
$selectCapsuleUser->where->equalTo('company_id', $company_id);
|
1136 |
$selectTopicUser->where->equalTo('company_id', $company_id);
|
1137 |
$selectCapsuleUser->where->nest->equalTo('access', MicrolearningCapsuleUser::ACCESS_UNLIMITED)->or->nest()
|
1137 |
$selectTopicUser->where->nest->equalTo('access', MicrolearningTopicUser::ACCESS_UNLIMITED)->or->nest()
|
1138 |
->equalTo('access', MicrolearningCapsuleUser::ACCESS_PAY_PERIOD)
|
1138 |
->equalTo('access', MicrolearningTopicUser::ACCESS_PAY_PERIOD)
|
Línea 1139... |
Línea 1139... |
1139 |
->and->lessThanOrEqualTo(new Expression('DATE(paid_from)'), $date)
|
1139 |
->and->lessThanOrEqualTo(new Expression('DATE(paid_from)'), $date)
|
1140 |
->and->greaterThanOrEqualTo(new Expression('DATE(paid_to)'), $date)->unnest()->unnest();
|
1140 |
->and->greaterThanOrEqualTo(new Expression('DATE(paid_to)'), $date)->unnest()->unnest();
|
1141 |
|
1141 |
|
1142 |
//echo $select->getSqlString($this->adapter->platform); exit;
|
1142 |
//echo $select->getSqlString($this->adapter->platform); exit;
|
1143 |
$prototype = new User();
|
1143 |
$prototype = new User();
|
1144 |
$select = $this->sql->select();
|
1144 |
$select = $this->sql->select();
|
1145 |
$select->columns(['id', 'uuid', 'first_name', 'last_name', 'email', 'blocked']);
|
1145 |
$select->columns(['id', 'uuid', 'first_name', 'last_name', 'email', 'blocked']);
|
1146 |
$select->from(UserMapper::_TABLE);
|
1146 |
$select->from(UserMapper::_TABLE);
|
Línea 1147... |
Línea 1147... |
1147 |
$select->where->in('id', $selectCapsuleUser);
|
1147 |
$select->where->in('id', $selectTopicUser);
|
1148 |
return $this->executeFetchAllObject($select, $prototype);
|
1148 |
return $this->executeFetchAllObject($select, $prototype);
|