| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.io.File; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | |
| | | //1.查询出最大的台站id(只有机房下添加了文件才会生成机房id)和最大文件id |
| | | int stationIdMax=mapper.selectMaxId(); |
| | | int fileIdMax=infoMapper.selectMaxId(); |
| | | List list=new ArrayList(); |
| | | if(file.exists()){ |
| | | if(!filePath.contains(".xml")){ |
| | | return new Response().set(1,false,"台站下添加文件失败,文件不是指定的xml文件"); |
| | | } |
| | | if(file.isFile()){ |
| | | if(!filePath.contains(".xml")){ |
| | | return new Response().set(1,false,"台站下添加文件失败,文件不是指定的xml文件"); |
| | | } |
| | | //2.解析文件并补全文件id |
| | | FileInfo fileInfo=XmlFileOpreate.readXml(filePath); |
| | | fileInfo.setFileUrl(file.getPath()); |
| | | fileInfo.setFileName(file.getName()); |
| | | //4.将单文件的数据存入数据库 |
| | | insertFileInDataBase(stationName,stationIdMax,fileIdMax,fileInfo); |
| | | FileInfo returnFileInfo=insertFileInDataBase(stationName,stationIdMax,fileIdMax,fileInfo); |
| | | list.add(returnFileInfo); |
| | | }else{ |
| | | //3.如果是文件夹:获取文件夹下所有的文件 |
| | | List<File> allFile= FileOpreate.getAllFile(filePath); |
| | | //4.将文件路径下的所有文件解析并存入数据库 |
| | | insertAllFileInDataBase(stationName,stationIdMax,fileIdMax,allFile); |
| | | list=insertAllFileInDataBase(stationName,stationIdMax,fileIdMax,allFile); |
| | | } |
| | | }else{ |
| | | flag=false; |
| | | } |
| | | return new Response().set(1,flag,flag?"台站下添加文件成功":"台站下添加文件失败"); |
| | | return new Response().setII(1,flag,list,flag?"台站下添加文件成功":"台站下添加文件失败"); |
| | | } |
| | | //4.将文件路径下的所有文件解析并存入数据库 |
| | | private void insertAllFileInDataBase(String stationName, int stationIdMax, int fileIdMax, List<File> allFile) { |
| | | private List insertAllFileInDataBase(String stationName, int stationIdMax, int fileIdMax, List<File> allFile) { |
| | | List list=new ArrayList(); |
| | | if(allFile!=null&&allFile.size()>0){ |
| | | for (int i=0;i< allFile.size();i++){ |
| | | File file=allFile.get(i); |
| | | if(!file.getName().contains(".xml")){ |
| | | |
| | | continue; |
| | | } |
| | | //2.解析文件并补全文件id |
| | | FileInfo fileInfo=XmlFileOpreate.readXml(file.getPath()); |
| | | fileInfo.setFileUrl(file.getPath()); |
| | | fileInfo.setFileName(file.getName()); |
| | | //4.将单文件的数据存入数据库 |
| | | insertFileInDataBase(stationName,stationIdMax,fileIdMax+i,fileInfo); |
| | | FileInfo returnFileInfo=insertFileInDataBase(stationName,stationIdMax,fileIdMax+i,fileInfo); |
| | | list.add(returnFileInfo); |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | //4.将单文件的数据存入数据库 |
| | | private void insertFileInDataBase(String stationName,int stationIdMax,int fileIdMax, FileInfo fileInfo) { |
| | | private FileInfo insertFileInDataBase(String stationName,int stationIdMax,int fileIdMax, FileInfo fileInfo) { |
| | | int count=0; |
| | | int stationId=0; |
| | | //查询最大的电池组号 |
| | |
| | | mapper.update(null,uwrapper); |
| | | } |
| | | } |
| | | return fileInfo; |
| | | } |
| | | } |