Browse Source

Merge branch 'qtz3' of SH-Arbitrate/Arbitrate-Backend into dev

qtz 2 years ago
parent
commit
da39527ffb

+ 1
- 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java View File

168
      * @param id        案件申请id
168
      * @param id        案件申请id
169
      * @return
169
      * @return
170
      */
170
      */
171
-    @PostMapping("/upload")
171
+    @PostMapping("/uploadZipFile")
172
     public AjaxResult uploadZipFile(@RequestParam("file") MultipartFile file, Long id) {
172
     public AjaxResult uploadZipFile(@RequestParam("file") MultipartFile file, Long id) {
173
         String username = this.getUsername();
173
         String username = this.getUsername();
174
         Long userId = this.getUserId();
174
         Long userId = this.getUserId();

+ 42
- 36
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java View File

272
         if (file.isEmpty()) {
272
         if (file.isEmpty()) {
273
             return AjaxResult.error("请选择要上传的文件");
273
             return AjaxResult.error("请选择要上传的文件");
274
         }
274
         }
275
-//        String targetPath =  "/home/ruoyi/uploadPath/upload/unzipFile";
276
-//        String targetPath =  "F:\\testZip\\unzipFile";
277
-        String targetPath =  "F:\\testZip\\unzipFile";
275
+        String targetPath =  "/home/ruoyi/uploadPath/upload/unzipFile";
276
+//        String targetPath =  "F:\\testZip\\uploadPath\\upload\\upload1\\unzipFile";
278
         File zipFile = null;
277
         File zipFile = null;
279
         InputStream ins = null;
278
         InputStream ins = null;
280
         try {
279
         try {
289
 
288
 
290
         //得到解压缩的所有文件
289
         //得到解压缩的所有文件
291
         String zipName = file.getOriginalFilename();
290
         String zipName = file.getOriginalFilename();
292
-        String zipPath = "F:\\testZip\\unzipFile\\"+zipName;
293
-//        String zipPath =  "/home/ruoyi/uploadPath/upload/unzipFile"+zipName;
291
+        String subzipName = zipName.substring(0,zipName.indexOf(".zip"));
292
+//        String zipPath = "F:\\testZip\\uploadPath\\upload\\upload1\\unzipFile\\"+subzipName;
293
+        String zipPath =  "/home/ruoyi/uploadPath/upload/unzipFile/"+subzipName;
294
+
294
         File dirUnzipPath = new File(zipPath);
295
         File dirUnzipPath = new File(zipPath);
295
         List<File> allFiles = new ArrayList<>();
296
         List<File> allFiles = new ArrayList<>();
296
         List<String> allFilestr = new ArrayList<>();
297
         List<String> allFilestr = new ArrayList<>();
306
         if(allFilestr!=null&&allFilestr.size()>0){
307
         if(allFilestr!=null&&allFilestr.size()>0){
307
             for (String filestr : allFilestr) {
308
             for (String filestr : allFilestr) {
308
                 List<Integer> allindex = new ArrayList<>();
309
                 List<Integer> allindex = new ArrayList<>();
309
-                int indexKey = filestr.indexOf("\\");
310
+//                int indexKey = filestr.indexOf("\\");
311
+                int indexKey = filestr.indexOf("/");
312
+//                System.out.println("filestr:------------"+filestr);
310
                 allindex.add(indexKey);
313
                 allindex.add(indexKey);
311
                 while (indexKey != -1) {
314
                 while (indexKey != -1) {
312
-                    indexKey = filestr.indexOf("\\", indexKey + 1);
315
+//                    indexKey = filestr.indexOf("\\", indexKey + 1);
316
+                    indexKey = filestr.indexOf("/", indexKey + 1);
313
                     allindex.add(indexKey);
317
                     allindex.add(indexKey);
314
                 }
318
                 }
319
+
315
                 if(allindex!=null&&allindex.size()>0){
320
                 if(allindex!=null&&allindex.size()>0){
316
-                    String substrOne = filestr.substring(allindex.get(2)+1,allindex.get(3));
321
+                    String substrOne = filestr.substring(allindex.get(6)+1,allindex.get(7));
317
                     Integer series = null;
322
                     Integer series = null;
318
-                    for (int i = 0; i < allindex.size()-2; i++) {
319
-                        String substr = filestr.substring(allindex.get(i+2)+1,allindex.get(i+3));
323
+                    for (int i = 0; i < allindex.size()-7; i++) {
324
+                        String substr = filestr.substring(allindex.get(i+5)+1,allindex.get(i+6));
320
                         series = i + 1;
325
                         series = i + 1;
321
-
322
                         if(series==1){
326
                         if(series==1){
323
-
324
                             //查询这个级数的目录是否存在,若不存在,则新建这个目录
327
                             //查询这个级数的目录是否存在,若不存在,则新建这个目录
325
                             CaseEvidenceDirectory caseEvidenceDirectoryselect = new CaseEvidenceDirectory();
328
                             CaseEvidenceDirectory caseEvidenceDirectoryselect = new CaseEvidenceDirectory();
326
                             caseEvidenceDirectoryselect.setCaseId(id);
329
                             caseEvidenceDirectoryselect.setCaseId(id);
327
-                            caseEvidenceDirectoryselect.setEvidenceName(filestr.substring(allindex.get(i+2)+1,allindex.get(i+3)));
330
+                            caseEvidenceDirectoryselect.setEvidenceName(filestr.substring(allindex.get(i+5)+1,allindex.get(i+6)));
328
                             caseEvidenceDirectoryselect.setSeries(series);
331
                             caseEvidenceDirectoryselect.setSeries(series);
329
                             List<CaseEvidenceDirectory>  caseEvidenceDirectorys = caseEvidenceDirectoryMapper.selectList(caseEvidenceDirectoryselect);
332
                             List<CaseEvidenceDirectory>  caseEvidenceDirectorys = caseEvidenceDirectoryMapper.selectList(caseEvidenceDirectoryselect);
330
                             if(caseEvidenceDirectorys!=null&&caseEvidenceDirectorys.size()>0){
333
                             if(caseEvidenceDirectorys!=null&&caseEvidenceDirectorys.size()>0){
333
                                 CaseEvidenceDirectory caseEvidenceDirectory = new CaseEvidenceDirectory();
336
                                 CaseEvidenceDirectory caseEvidenceDirectory = new CaseEvidenceDirectory();
334
                                 caseEvidenceDirectory.setEvidenceName(substr);
337
                                 caseEvidenceDirectory.setEvidenceName(substr);
335
                                 caseEvidenceDirectory.setSeries(series);
338
                                 caseEvidenceDirectory.setSeries(series);
336
-
337
                                 caseEvidenceDirectory.setCaseId(id);
339
                                 caseEvidenceDirectory.setCaseId(id);
338
                                 caseEvidenceDirectory.setCreateBy(username);
340
                                 caseEvidenceDirectory.setCreateBy(username);
339
                                 caseEvidenceDirectory.setCreateTime(new Date());
341
                                 caseEvidenceDirectory.setCreateTime(new Date());
340
-
341
                                 caseEvidenceDirectoryMapper.save(caseEvidenceDirectory);
342
                                 caseEvidenceDirectoryMapper.save(caseEvidenceDirectory);
342
-
343
                             }
343
                             }
344
                         }else {
344
                         }else {
345
                             //查询这个级数的目录是否存在,若不存在,则新建这个目录
345
                             //查询这个级数的目录是否存在,若不存在,则新建这个目录
346
                             CaseEvidenceDirectory directoryselect = new CaseEvidenceDirectory();
346
                             CaseEvidenceDirectory directoryselect = new CaseEvidenceDirectory();
347
                             directoryselect.setCaseId(id);
347
                             directoryselect.setCaseId(id);
348
-                            directoryselect.setEvidenceName(filestr.substring(allindex.get(i+2)+1,allindex.get(i+3)));
348
+                            directoryselect.setEvidenceName(filestr.substring(allindex.get(i+5)+1,allindex.get(i+6)));
349
                             directoryselect.setSeries(series);
349
                             directoryselect.setSeries(series);
350
                             List<CaseEvidenceDirectory>  evidenceDirectorys = caseEvidenceDirectoryMapper.selectList(directoryselect);
350
                             List<CaseEvidenceDirectory>  evidenceDirectorys = caseEvidenceDirectoryMapper.selectList(directoryselect);
351
                             if(evidenceDirectorys!=null&&evidenceDirectorys.size()>0){
351
                             if(evidenceDirectorys!=null&&evidenceDirectorys.size()>0){
354
                                 Long parentId = null;
354
                                 Long parentId = null;
355
                                 CaseEvidenceDirectory caseEvidenceDirectoryselect = new CaseEvidenceDirectory();
355
                                 CaseEvidenceDirectory caseEvidenceDirectoryselect = new CaseEvidenceDirectory();
356
                                 caseEvidenceDirectoryselect.setCaseId(id);
356
                                 caseEvidenceDirectoryselect.setCaseId(id);
357
-                                caseEvidenceDirectoryselect.setEvidenceName(filestr.substring(allindex.get(i+1)+1,allindex.get(i+2)));
357
+                                caseEvidenceDirectoryselect.setEvidenceName(filestr.substring(allindex.get(i+4)+1,allindex.get(i+5)));
358
                                 caseEvidenceDirectoryselect.setSeries(series-1);
358
                                 caseEvidenceDirectoryselect.setSeries(series-1);
359
                                 List<CaseEvidenceDirectory>  caseEvidenceDirectorys = caseEvidenceDirectoryMapper.selectList(caseEvidenceDirectoryselect);
359
                                 List<CaseEvidenceDirectory>  caseEvidenceDirectorys = caseEvidenceDirectoryMapper.selectList(caseEvidenceDirectoryselect);
360
                                 if(caseEvidenceDirectorys!=null&&caseEvidenceDirectorys.size()>0){
360
                                 if(caseEvidenceDirectorys!=null&&caseEvidenceDirectorys.size()>0){
367
                                 caseEvidenceDirectory.setCreateBy(username);
367
                                 caseEvidenceDirectory.setCreateBy(username);
368
                                 caseEvidenceDirectory.setCreateTime(new Date());
368
                                 caseEvidenceDirectory.setCreateTime(new Date());
369
                                 caseEvidenceDirectory.setCaseId(id);
369
                                 caseEvidenceDirectory.setCaseId(id);
370
-
371
                                 caseEvidenceDirectory.setParentId(parentId);
370
                                 caseEvidenceDirectory.setParentId(parentId);
372
-
373
                                 caseEvidenceDirectoryMapper.save(caseEvidenceDirectory);
371
                                 caseEvidenceDirectoryMapper.save(caseEvidenceDirectory);
374
-
375
                             }
372
                             }
376
 
373
 
377
                         }
374
                         }
378
                     }
375
                     }
379
 
376
 
380
                     //得到最后1级的目录,即文件
377
                     //得到最后1级的目录,即文件
381
-                    int lastIndex = allindex.size()-2;
378
+                    int lastIndex = allindex.get(7);
382
                     String substrfile = filestr.substring(lastIndex+1);
379
                     String substrfile = filestr.substring(lastIndex+1);
383
-
384
                     //保存到附件表
380
                     //保存到附件表
385
                     LocalDate now = LocalDate.now();
381
                     LocalDate now = LocalDate.now();
386
                     String year = Integer.toString(now.getYear());
382
                     String year = Integer.toString(now.getYear());
387
                     String month = String.format("%02d", now.getMonthValue());
383
                     String month = String.format("%02d", now.getMonthValue());
388
                     String day = String.format("%02d", now.getDayOfMonth());
384
                     String day = String.format("%02d", now.getDayOfMonth());
389
-//                    String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
390
-                    String saveFolderPath = "D:/data/" + year + "/" + month + "/" + day;
385
+                    String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
386
+//                    String saveFolderPath = "D:/data/" + year + "/" + month + "/" + day;
391
                     String fileName = UUID.randomUUID().toString().replace("-", "")+ "_"  + substrfile;
387
                     String fileName = UUID.randomUUID().toString().replace("-", "")+ "_"  + substrfile;
392
                     String resultFilePath = saveFolderPath + "/" + fileName;
388
                     String resultFilePath = saveFolderPath + "/" + fileName;
393
-
394
                     try {
389
                     try {
390
+                        File resultFilePathFile  = new File(resultFilePath);
391
+                        File parentFilePathFile = resultFilePathFile.getParentFile();
392
+                        if (!parentFilePathFile.exists()) {
393
+                            parentFilePathFile.mkdirs();
394
+                        }
395
+                        if (!resultFilePathFile.exists()) {
396
+                            resultFilePathFile.createNewFile();
397
+                        }
398
+
395
                         FileInputStream fis = new FileInputStream(new File(filestr));
399
                         FileInputStream fis = new FileInputStream(new File(filestr));
396
-                        FileOutputStream fos = new FileOutputStream(new File(resultFilePath));
397
-                        byte b[] = new byte[1024];
400
+                        FileOutputStream fos = new FileOutputStream(resultFilePathFile);
401
+                        byte[] btyeBuf = new byte[1024];
398
                         int len=0;
402
                         int len=0;
399
-                        while((len=fis.read(b))!=-1){
400
-                            fos.write(b);
403
+                        while((len=fis.read(btyeBuf))!=-1){
404
+                            fos.write(btyeBuf,0,len);
401
                         }
405
                         }
406
+                        fis.close();
407
+                        fos.close();
402
 
408
 
403
                     } catch (IOException e) {
409
                     } catch (IOException e) {
404
                         AjaxResult.error("文件解压异常",e);
410
                         AjaxResult.error("文件解压异常",e);
405
                     }
411
                     }
406
 
412
 
413
+                    String substrTwo = filestr.substring(allindex.get(6)+1,allindex.get(7));
407
                     Integer annexType = null;
414
                     Integer annexType = null;
408
-                    if("申请书".equals(substrOne)){
415
+                    if("申请书".equals(substrTwo)){
409
                         annexType = 1;
416
                         annexType = 1;
410
-                    }else if("证据材料".equals(substrOne)){
417
+                    }else if("证据材料".equals(substrTwo)){
411
                         annexType = 2;
418
                         annexType = 2;
412
                     }
419
                     }
413
                     String savePath = "/home/ruoyi/uploadPath/upload";
420
                     String savePath = "/home/ruoyi/uploadPath/upload";
420
                             .annexType(annexType)
427
                             .annexType(annexType)
421
                             .build();
428
                             .build();
422
                     int i = caseAttachMapper.save(caseAttach);
429
                     int i = caseAttachMapper.save(caseAttach);
423
-
424
                     Integer annexId = caseAttach.getAnnexId();
430
                     Integer annexId = caseAttach.getAnnexId();
425
 
431
 
426
                     //保存到目录表
432
                     //保存到目录表
427
                     Long parentId = null;
433
                     Long parentId = null;
428
                     CaseEvidenceDirectory caseEvidenceDirectoryselect = new CaseEvidenceDirectory();
434
                     CaseEvidenceDirectory caseEvidenceDirectoryselect = new CaseEvidenceDirectory();
429
                     caseEvidenceDirectoryselect.setCaseId(id);
435
                     caseEvidenceDirectoryselect.setCaseId(id);
430
-                    caseEvidenceDirectoryselect.setEvidenceName(filestr.substring(allindex.get(lastIndex)+1,allindex.get(lastIndex+1)));
431
-                    caseEvidenceDirectoryselect.setSeries(series-1);
436
+                    caseEvidenceDirectoryselect.setEvidenceName(filestr.substring(allindex.get(6)+1,allindex.get(7)));
437
+                    caseEvidenceDirectoryselect.setSeries(series);
432
                     List<CaseEvidenceDirectory>  caseEvidenceDirectorys = caseEvidenceDirectoryMapper.selectList(caseEvidenceDirectoryselect);
438
                     List<CaseEvidenceDirectory>  caseEvidenceDirectorys = caseEvidenceDirectoryMapper.selectList(caseEvidenceDirectoryselect);
433
                     if(caseEvidenceDirectorys!=null&&caseEvidenceDirectorys.size()>0){
439
                     if(caseEvidenceDirectorys!=null&&caseEvidenceDirectorys.size()>0){
434
                         parentId = caseEvidenceDirectorys.get(0).getId();
440
                         parentId = caseEvidenceDirectorys.get(0).getId();
436
 
442
 
437
                     CaseEvidenceDirectory caseEvidenceDirectory = new CaseEvidenceDirectory();
443
                     CaseEvidenceDirectory caseEvidenceDirectory = new CaseEvidenceDirectory();
438
                     caseEvidenceDirectory.setEvidenceName(substrfile);
444
                     caseEvidenceDirectory.setEvidenceName(substrfile);
439
-                    caseEvidenceDirectory.setSeries(series);
445
+                    caseEvidenceDirectory.setSeries(series+1);
440
                     caseEvidenceDirectory.setCreateBy(username);
446
                     caseEvidenceDirectory.setCreateBy(username);
441
                     caseEvidenceDirectory.setCreateTime(new Date());
447
                     caseEvidenceDirectory.setCreateTime(new Date());
442
                     caseEvidenceDirectory.setAnnexId(annexId);
448
                     caseEvidenceDirectory.setAnnexId(annexId);