工业测量
This commit is contained in:
		
							
								
								
									
										191
									
								
								src/main/java/com/xkrs/util/ExcelUploadUtil.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								src/main/java/com/xkrs/util/ExcelUploadUtil.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,191 @@ | ||||
| package com.xkrs.util; | ||||
|  | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
|  | ||||
| import java.io.File; | ||||
| import java.io.FileOutputStream; | ||||
| import java.io.IOException; | ||||
| import java.io.InputStream; | ||||
| import java.net.URL; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Date; | ||||
| import java.util.List; | ||||
| import java.util.UUID; | ||||
|  | ||||
| /** | ||||
|  * @author XinYi Song | ||||
|  */ | ||||
| public class ExcelUploadUtil { | ||||
|  | ||||
|     public static Logger log = LoggerFactory.getLogger(ExcelUploadUtil.class); | ||||
|  | ||||
|     /** | ||||
|      * 上传单张图片 | ||||
|      * @param fileExcel | ||||
|      * @return | ||||
|      * @throws IOException | ||||
|      */ | ||||
|     public static String memoryFile(MultipartFile fileExcel) throws IOException { | ||||
|         //String uploadPath = "http://139.199.98.175:2088/wfTaskImage/"; | ||||
|         String uploadPath = "http://192.168.2.9:2088/"; | ||||
|         //获取原始文件名 | ||||
|         String originalFilename = fileExcel.getOriginalFilename(); | ||||
|         if (originalFilename != null && !"".equals(originalFilename)) { | ||||
|             //找到 . 的位置 | ||||
|             int index = originalFilename.lastIndexOf("."); | ||||
|             //根据 . 的位置进行分割,拿到文件后缀名 | ||||
|             String suffix = originalFilename.substring(index); | ||||
|             //uuid生成新的文件名 | ||||
|             String newName = UUID.randomUUID().toString() + suffix; | ||||
|  | ||||
|             //将图片保存到本地/usr/etc/images/Folder | ||||
|             //File file = new File("E:/shoptest/"); | ||||
|             File file = new File("/home/sxy/server/industrial_measurement/excel/"); | ||||
|             if (!file.exists()) { | ||||
|                 file.mkdirs(); | ||||
|             } | ||||
|             //String path = "E:/shoptest/" + newName; | ||||
|             String path = "/home/sxy/server/industrial_measurement/excel/" + newName; | ||||
|             String uploadsImage = uploadPath + newName; | ||||
|             //实现上传 | ||||
|             fileExcel.transferTo(new File(path)); | ||||
|  | ||||
|  | ||||
|             return path; | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 以文件形式,批量上传图片 | ||||
|      * @param files | ||||
|      * @return | ||||
|      * @throws IOException | ||||
|      */ | ||||
|     /*public static List<FireTaskPhoto> uploadImage(MultipartFile[] files, String fireCode) throws IOException { | ||||
|         //String uploadPath = "http://139.199.98.175:2099/forestTaskImage/"; | ||||
|         String uploadPath = "http://118.24.27.47:2088/"; | ||||
|         String newName = ""; | ||||
|         String oldName = ""; | ||||
|         List<FireTaskPhoto> fireTaskPhotos = new ArrayList<>(); | ||||
|         for(MultipartFile file : files){ | ||||
|             //获取file图片名称 | ||||
|             oldName = file.getOriginalFilename(); | ||||
|             //找到 . 的位置 | ||||
|             int index = oldName.lastIndexOf("."); | ||||
|             //根据 . 的位置进行分割,拿到文件后缀名 | ||||
|             String suffix = oldName.substring(index); | ||||
|             //uuid生成新的文件名 | ||||
|             newName = UUID.randomUUID().toString() + suffix; | ||||
|             //将图片保存到本地/usr/etc/images/Folder | ||||
|             File file1 = new File("/home/sxy/server/fire_point/firePointImage/"); | ||||
|             //File file1 = new File("E:/file/work/image/"); | ||||
|             if (!file1.exists()) { | ||||
|                 file1.mkdirs(); | ||||
|             } | ||||
|             String path = "/home/sxy/server/fire_point/firePointImage/" + newName; | ||||
|             //String path = "E:/file/work/image/" + newName; | ||||
|             String uploadPaths = "/firePointImage/" + newName; | ||||
|             //实现上传 | ||||
|             file.transferTo(new File(path)); | ||||
|             FireTaskPhoto fireTaskPhoto = new FireTaskPhoto(); | ||||
|             fireTaskPhoto.setPhotoFireCode(fireCode); | ||||
|             fireTaskPhoto.setTaskPhoto(uploadPaths); | ||||
|  | ||||
|             fireTaskPhotos.add(fireTaskPhoto); | ||||
|         } | ||||
|         return fireTaskPhotos; | ||||
|     }*/ | ||||
|  | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 删除本地或服务器储存的图片 | ||||
|      * @param path | ||||
|      * @return | ||||
|      */ | ||||
|     public static String delFile(String path){ | ||||
|         String resultInfo = null; | ||||
|         int lastIndexOf = path.lastIndexOf("/"); | ||||
|         String imgPath = path.substring(lastIndexOf + 1,path.length()); | ||||
|         System.out.println(imgPath); | ||||
|         imgPath = "/usr/local/etc/images/" + imgPath; | ||||
| //        img_path = "/usr/etc/images/Folder/" + img_path; | ||||
|         File file = new File(imgPath); | ||||
|         if(file.exists()){ | ||||
|             if(file.delete()){ | ||||
|                 resultInfo = "删除成功!"; | ||||
|             }else { | ||||
|                 resultInfo = "删除失败!"; | ||||
|             } | ||||
|         }else { | ||||
|             resultInfo = "文件不存在"; | ||||
|         } | ||||
|         return resultInfo; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 通过图片路径解析 ,上传保存 | ||||
|      * @param listImgSrc | ||||
|      * @return | ||||
|      */ | ||||
|     public static List downloadImage(List<String> listImgSrc) { | ||||
|         try { | ||||
|             List list = new ArrayList(); | ||||
|             //开始时间 | ||||
|             Date beginDate = new Date(); | ||||
|             for (String url : listImgSrc) { | ||||
|                 //开始时间 | ||||
|                 Date beginDate2 = new Date(); | ||||
|                 String imageName = url.substring(url.lastIndexOf("/") + 1, url.length()); | ||||
|                 URL uri = new URL(url); | ||||
|                 InputStream in = uri.openStream(); | ||||
|                 //String pathUpload = "E:/img/" + imageName; | ||||
|                 String pathUpload = "/home/web/wf-fire-service/wfimage/" + imageName; | ||||
|                 FileOutputStream fo = new FileOutputStream(new File(pathUpload)); | ||||
|                 byte[] buf = new byte[1024]; | ||||
|                 int length = 0; | ||||
|                 log.info("-------开始下载:" + url); | ||||
|                 while ((length = in.read(buf, 0, buf.length)) != -1) { | ||||
|                     fo.write(buf, 0, length); | ||||
|                 } | ||||
|                 in.close(); | ||||
|                 fo.close(); | ||||
|                 list.add(imageName); | ||||
|                 log.info(imageName + "------下载完成"); | ||||
|                 //结束时间 | ||||
|                 Date overDate2 = new Date(); | ||||
|                 double time = overDate2.getTime() - beginDate2.getTime(); | ||||
|                 log.info("-----耗时:" + time / 1000 + "s"); | ||||
|             } | ||||
|             Date overDate = new Date(); | ||||
|             double time = overDate.getTime() - beginDate.getTime(); | ||||
|             log.info("======总耗时:" + time / 1000 + "s"); | ||||
|             return list; | ||||
|         } catch (Exception e) { | ||||
|             log.info("++++++下载失败"); | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 删除本地文件夹图片 | ||||
|      * @param url | ||||
|      */ | ||||
|     public static void deleteImage(String url){ | ||||
|         File file=new File(url); | ||||
|         //判断file是否是文件目录 若是返回TRUE | ||||
|         if (file.isDirectory()){ | ||||
|             //name存储file文件夹中的文件名 | ||||
|             String[] name =file.list(); | ||||
|             for (int i=0; i<name.length; i++){ | ||||
|                 //此时就可得到文件夹中的文件 | ||||
|                 File f=new File(url, name[i]); | ||||
|                 //删除文件 | ||||
|                 f.delete(); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										68
									
								
								src/main/java/com/xkrs/util/ExportExcel.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								src/main/java/com/xkrs/util/ExportExcel.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,68 @@ | ||||
| package com.xkrs.util; | ||||
|  | ||||
| import net.sf.jxls.transformer.XLSTransformer; | ||||
| import org.apache.poi.openxml4j.exceptions.InvalidFormatException; | ||||
| import java.io.*; | ||||
| import java.util.Map; | ||||
|  | ||||
| /** | ||||
|  * @Author: XinYi Song | ||||
|  * @Date: 2022/1/17 8:56 | ||||
|  */ | ||||
| public class ExportExcel { | ||||
|  | ||||
|     /** | ||||
|      * 最简单的填充 | ||||
|      * | ||||
|      * @since 2.1.1 | ||||
|      */ | ||||
|     /*public static String simpleFill(Map<String, String> map,String templateFileName) { | ||||
|  | ||||
|  | ||||
|         String s = System.currentTimeMillis() + ".xlsx"; | ||||
|         // 方案2 根据Map填充 | ||||
|         String fileName = "/usr/local/excel/" + s; | ||||
|         //String fileName = "E:\\shoptest\\" + s; | ||||
|         // 这里 会填充到第一个sheet, 然后文件流会自动关闭 | ||||
|  | ||||
|         ExcelWriterBuilder write = EasyExcel.write(fileName); | ||||
|  | ||||
|         ExcelWriterBuilder excelWriterBuilder = write.withTemplate(templateFileName); | ||||
|  | ||||
|         ExcelWriter build = excelWriterBuilder.build(); | ||||
|         WriteSheet writeSheet = EasyExcel.writerSheet().build(); | ||||
|  | ||||
|         build.fill(map,writeSheet); | ||||
|         build.finish(); | ||||
|  | ||||
|         //EasyExcel.write(fileName).withTemplate(templateFileName).sheet().doFill(map); | ||||
|         return "http://118.24.27.47:2088/excel/"+s; | ||||
|         //return "http://192.168.2.139/"+s; | ||||
|     }*/ | ||||
|  | ||||
|  | ||||
|     public static String exportToProveExcel(Map<String, String> dataMap, String srcFilePath) throws IOException, InvalidFormatException { | ||||
|         String s = System.currentTimeMillis() + ".xlsx"; | ||||
|         //String path = "E:/shop/"+s; | ||||
|         String path = "/home/sxy/server/industrial_measurement/excel/" + s; | ||||
|  | ||||
|         //  开始转换。利用  transformer 转到Excel | ||||
|         XLSTransformer transformer = new XLSTransformer(); | ||||
|         // 参数:srcFilePath:模板源文件    cMap:需要导出的数据   destFile.getAbsolutePath():下载的目标文件 | ||||
|         transformer.transformXLS(srcFilePath, dataMap, path); | ||||
|         //return "http://192.168.2.139/"+s; | ||||
|         return "http://118.24.27.47:2088/excel/"+s; | ||||
|     } | ||||
|  | ||||
|     /*public static void main(String[] args) throws IOException, InvalidFormatException { | ||||
|         // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 | ||||
|         String templateFileName = TestFileUtil.getPath() + "templates" + File.separator + "test.xlsx"; | ||||
|         Map<String, String> map = new HashMap<String, String>(); | ||||
|         map.put("name", "张三"); | ||||
|         map.put("sex", "男"); | ||||
|         //simpleFill(map,templateFileName); | ||||
|         HttpServletResponse response = null; | ||||
|         String s = exportToProveExcel(map); | ||||
|         System.out.println(s); | ||||
|     }*/ | ||||
| } | ||||
							
								
								
									
										48
									
								
								src/main/java/com/xkrs/util/Query.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								src/main/java/com/xkrs/util/Query.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| package com.xkrs.util; | ||||
|  | ||||
| import com.xkrs.dao.DataDictDao; | ||||
| import com.xkrs.model.entity.DataDict; | ||||
| import org.springframework.data.jpa.domain.Specification; | ||||
| import org.springframework.stereotype.Component; | ||||
| import org.springframework.web.bind.annotation.RequestParam; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import javax.persistence.criteria.CriteriaBuilder; | ||||
| import javax.persistence.criteria.CriteriaQuery; | ||||
| import javax.persistence.criteria.Predicate; | ||||
| import javax.persistence.criteria.Root; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * @Author: XinYi Song | ||||
|  * @Date: 2022/1/19 13:56 | ||||
|  */ | ||||
| @Component | ||||
| public class Query { | ||||
|  | ||||
|     @Resource | ||||
|     private DataDictDao dataDictDao; | ||||
|  | ||||
|     /** | ||||
|      * 动态多条件查询字典信息 | ||||
|      * @return | ||||
|      */ | ||||
|     public List<DataDict> selectDataDict(String dictChineseName,String dictEnglishName) { | ||||
|         Specification<DataDict> specification = new Specification<DataDict>() { | ||||
|             @Override | ||||
|             public Predicate toPredicate(Root<DataDict> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { | ||||
|                 List<Predicate> list = new ArrayList<>(); | ||||
|                 if(dictChineseName != null && !"".equals(dictChineseName)){ | ||||
|                     list.add(criteriaBuilder.equal(root.get("dictChineseName").as(String.class), dictChineseName)); | ||||
|                 } | ||||
|                 if(dictEnglishName != null && !"".equals(dictEnglishName)){ | ||||
|                     list.add(criteriaBuilder.equal(root.get("dictEnglishName").as(String.class), dictEnglishName)); | ||||
|                 } | ||||
|                 Predicate[] predicates = new Predicate[list.size()]; | ||||
|                 return criteriaBuilder.and(list.toArray(predicates)); | ||||
|             } | ||||
|         }; | ||||
|         return dataDictDao.findAll(specification); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										38
									
								
								src/main/java/com/xkrs/util/TestFileUtil.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/main/java/com/xkrs/util/TestFileUtil.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| package com.xkrs.util; | ||||
|  | ||||
| import java.io.File; | ||||
| import java.io.InputStream; | ||||
|  | ||||
| /** | ||||
|  * @Author: XinYi Song | ||||
|  * @Date: 2022/1/17 9:29 | ||||
|  */ | ||||
| public class TestFileUtil { | ||||
|     public static InputStream getResourcesFileInputStream(String fileName) { | ||||
|         return Thread.currentThread().getContextClassLoader().getResourceAsStream("" + fileName); | ||||
|     } | ||||
|  | ||||
|     public static String getPath() { | ||||
|         return TestFileUtil.class.getResource("/").getPath(); | ||||
|     } | ||||
|  | ||||
|     public static File createNewFile(String pathName) { | ||||
|         File file = new File(getPath() + pathName); | ||||
|         if (file.exists()) { | ||||
|             file.delete(); | ||||
|         } else { | ||||
|             if (!file.getParentFile().exists()) { | ||||
|                 file.getParentFile().mkdirs(); | ||||
|             } | ||||
|         } | ||||
|         return file; | ||||
|     } | ||||
|  | ||||
|     public static File readFile(String pathName) { | ||||
|         return new File(getPath() + pathName); | ||||
|     } | ||||
|  | ||||
|     public static File readUserHomeFile(String pathName) { | ||||
|         return new File(System.getProperty("user.home") + File.separator + pathName); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user