Proyectos de Subversion LeadersLinked - Services

Rev

Rev 608 | Rev 629 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 608 Rev 626
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);