// 下载文件
 @Expose
 public String downloadFile(int id, String fname) throws IOException {
   String path = "/Fly_Flightrestrict/" + id + "/";
   if (!FileHelper.existFile(path, fname)) {
     Flightrestrict flightrestrict = flightrestrictDao.queryById(id);
     byte[] datablock = flightrestrict.getDatablock();
     FileHelper.createFile(path, fname, datablock);
   }
   return fname;
 }
 // 处理相关文件
 private void fileManager(Flightrestrict item) {
   String path = "/Fly_Flightrestrict/" + item.getId() + "/" + item.getFname();
   FileHelper.fileToData(path);
   if (FileHelper.bytes != 0) {
     item.setBytes(FileHelper.bytes);
     item.setDatablock(FileHelper.datablock); // 文件存储到数据库中
     FileHelper.bytes = 0;
     FileHelper.datablock = null;
   }
 }
 /**
  * 针对单个数据集操作 包括增删改
  *
  * @param details
  * @throws Exception
  */
 public void saveFlightrestrict(Collection<Flightrestrict> details) throws Exception {
   if (null != details && details.size() > 0) {
     for (Flightrestrict item : details) {
       EntityState state = EntityUtils.getState(item);
       if (state.equals(EntityState.NEW)) {
         int tempId = item.getId();
         fileManager(item);
         flightrestrictDao.saveData(item);
         FileHelper.changeFolderById(
             "/Fly_Flightrestrict/" + tempId,
             "/Fly_Flightrestrict/" + item.getId()); // 替换以临时ID命名的文件夹
       } else if (state.equals(EntityState.MODIFIED)) {
         fileManager(item);
         flightrestrictDao.updateData(item);
       } else if (state.equals(EntityState.DELETED)) {
         flightrestrictDao.deleteData(item);
         FileHelper.deleteFile("/Fly_Flightrestrict/" + item.getId()); // 删除相关文件
       } else if (state.equals(EntityState.NONE)) {
       }
     }
   }
 }