/**
  * @author Kienn
  * convert danh mục tài liệu cá nhân
  */
 public function officeuserdocumentAction()
 {
     // tạo danh mục tài liệu
     list($adapter, $sql) = $this->createOfficeAdapter();
     // lấy ra người tạo tương ứng
     $select = $sql->select(['d' => 'documents']);
     $select->join(['u' => 'users'], 'd.created_by_id = u.ID', ['personnel_id']);
     $select->where(['folder' => 'USER']);
     $select->where(['type' => 'FILE']);
     $select->group(['d.created_by_id']);
     $query = $sql->buildSqlString($select);
     $rows = $adapter->query($query, $adapter::QUERY_MODE_EXECUTE);
     $usersRefer = [];
     $companyRefer = [];
     $employeeMapper = $this->getServiceLocator()->get('\\Hrm\\Model\\EmployeeMapper');
     if ($rows->count()) {
         foreach ($rows->toArray() as $row) {
             if (!isset($usersRefer[$row['created_by_id']])) {
                 $employee = new \Hrm\Model\Employee();
                 $employee->setOneofficeId($row['personnel_id']);
                 if ($employeeMapper->isExistedOneofficeId($employee) && $employee->getUserId()) {
                     $usersRefer[$row['created_by_id']] = $employee;
                 } else {
                     continue;
                 }
             }
         }
     }
     $categoryMapper = $this->getServiceLocator()->get('\\Document\\Model\\DocumentCategoryMapper');
     $documentMapper = $this->getServiceLocator()->get('\\Document\\Model\\DocumentMapper');
     $matchCategory = [];
     foreach ($usersRefer as $officeUserId => $employee) {
         $select = $sql->select(['d' => 'documents']);
         $select->where(['folder' => 'USER']);
         $select->where(['type' => 'FILE']);
         $select->where(['created_by_id' => $officeUserId]);
         $query = $sql->buildSqlString($select);
         $rows = $adapter->query($query, $adapter::QUERY_MODE_EXECUTE);
         if ($rows->count()) {
             foreach ($rows->toArray() as $row) {
                 //tìm kiếm danh mục
                 $categoryId = null;
                 if ($row['parent_id'] && !isset($matchCategory[$row['parent_id']])) {
                     $category = new \Document\Model\DocumentCategory();
                     $category->setOneofficeId($row['parent_id']);
                     if ($categoryMapper->isExistedOneofficeCode($category)) {
                         $matchCategory[$row['parent_id']] = $category->getId();
                     }
                 }
                 $document = new \Document\Model\Document();
                 $document->setCreatedById($employee->getUserId());
                 $document->setCompanyId($employee->getCompanyId());
                 if ($row['parent_id'] && isset($matchCategory[$row['parent_id']])) {
                     $document->setCategoryId($matchCategory[$row['parent_id']]);
                 }
                 $document->setType(\Document\Model\Document::TYPE_DOCUMENT);
                 $document->setOneofficeId($row['ID']);
                 $document->setOwnerType(\Document\Model\Document::OWNERTYPE_PERSONAL);
                 $document->setName($row['title']);
                 $document->setContent($row['desc']);
                 $document->setCreatedDateTime($row['date_created']);
                 if (!$documentMapper->isExisted($document)) {
                     $documentMapper->save($document);
                     echo 'Tạo mới document ' . $document->getId() . '<br/>';
                 }
             }
         }
     }
     echo 'done!';
     die;
 }