@Override
  public List<FrmArchivo> ingresarArchivos(ArrayList<MultipartFile> file) throws Exception {

    FileImpl fileImpl = new FileImpl(file);
    ArrayList<CFile> files = fileImpl.getFiles();

    List<FrmArchivo> listAll = new ArrayList<FrmArchivo>();
    List<FrmArchivo> listAllMime = frmArchivoRepository.listAllMime(fileImpl.getMime());

    if (listAllMime != null) listAll = listAllMime;

    String ruta = frmTablasService.listByTablcodi("archruta").getTablvast();
    File dir = new File(ruta + (new Date().getYear() + 1900) + "\\" + (new Date().getMonth() + 1));
    if (!dir.exists()) dir.mkdirs();

    for (CFile obj : files)
      if (!verificarArchivo(obj.getMd5(), listAllMime)) {
        FrmArchivo archivo = createArchivo(dir.getPath(), obj);

        archivo = frmArchivoRepository.insert(archivo);

        listAll.add(archivo);

        uploadFileServer(dir, obj);
      }

    return listAll;
  }
  @Override
  @RolesAllowed({"ADMINISTRATOR_ADMINISTRATOR", "APP_FRMARCHIVO__ALL", "APP_FRMARCHIVO__READ"})
  public String list(Long id) {
    FrmArchivo listAll = frmArchivoRepository.list(id);

    Map<String, Object> result = new HashMap<String, Object>();
    result.put("data", listAll);
    result.put("count", this.getCount());

    return gson.toJson(result);
  }
  @Override
  @RolesAllowed({"ADMINISTRATOR_ADMINISTRATOR", "APP_FRMARCHIVO__ALL", "APP_FRMARCHIVO__READ"})
  public String listAll(int pageSize, int page) {

    int limit = pageSize * page;
    int init = limit - pageSize;

    List<FrmArchivo> listAll = frmArchivoRepository.listAll(init, limit);

    Map<String, Object> result = new HashMap<String, Object>();
    result.put("data", listAll);
    result.put("count", this.getCount());

    return gson.toJson(result);
  }
 @Override
 @RolesAllowed({"ADMINISTRATOR_ADMINISTRATOR", "APP_FRMARCHIVO__ALL", "APP_FRMARCHIVO__CREATE"})
 public String insert(FrmArchivo frmarchivo) {
   return gson.toJson(frmArchivoRepository.insert(frmarchivo));
 }
 @Override
 @RolesAllowed({"ADMINISTRATOR_ADMINISTRATOR", "APP_FRMARCHIVO__ALL", "APP_FRMARCHIVO__DELETE"})
 public void delete(FrmArchivo frmarchivo) {
   frmArchivoRepository.delete(frmarchivo);
 }
  @Override
  public int getCount() {

    return frmArchivoRepository.getCount();
  }