whycrzg
2021-02-03 f628be11a131a262855908b7815c3027d6bafb4c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package com.fgkj.controller;
 
import com.fgkj.dto.BattInf;
import com.fgkj.dto.ServiceModel;
import com.fgkj.fbo.CsvData;
import com.fgkj.fbo.FboData;
import com.fgkj.fbo.FboDataInf;
import com.fgkj.fbo.IdcData;
import com.fgkj.mapper.impl.BattInfMapper;
import com.fgkj.services.FileService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
 
import javax.annotation.Resource;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
 
@RequestMapping("fileUpload")
@RestController
@Api(tags = "fileUpload接口")
public class FileUploadController {
 
    @Resource
    private FileService service;
 
    @Resource
    private BattInfMapper battInfMapper;
 
    // private String result;
    // private File[] file;
    // private InputStream inputStream;
    // // 提交过来的file的名字
    // private String[] fileFileName;
    // // 提交过来的file的MIME类型
    // private String[] fileContentType;
    // private int battgroupid;
 
    //上传fbo/idc文件
    @PostMapping("uploadFboFile")
    @ApiOperation(notes = "TODO ",value="上传fbo/idc文件")
    public List UploadFboFile(@RequestParam File[] file, @RequestParam String[] fileFileName,
                                      @RequestParam int battgroupid) throws FileNotFoundException {
        //String path = ServletActionContext.getRequest().getRealPath("/upload");
        FboDataInf data_inf;
        ServiceModel model;
        List list=new ArrayList();
        try {
            for(int i=0;i<file.length;i++){
                File f=file[i];
                ArrayList<FboData> al_fbo_data = new ArrayList<FboData>();
                data_inf = new FboDataInf();
                if(fileFileName[i].toUpperCase().endsWith(".FBO")) {
                    FboData.checkFboFile(f, data_inf, al_fbo_data);
                } else if (fileFileName[i].toUpperCase().endsWith(".IDC")) {
                    IdcData.checkIdcFile(f, data_inf, al_fbo_data);
                }     
                model=service.addBattDataToTable(battgroupid, fileFileName[i], data_inf, al_fbo_data.size());
                list.add(model);
            }        
            
            //System.out.println(result);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return list;
    }
 
    //上传内阻电导数据
    public List UploadResFile(@RequestParam File[] file,@RequestParam String[] fileFileName,
                                      @RequestParam int battgroupid){
        //System.out.println(battgroupid);        
        CsvData res_dat;
        ServiceModel model;
        List list=new ArrayList();
        try {
            for(int i=0;i<file.length;i++){
                File f=file[i];
                ArrayList<FboData> al_fbo_data = new ArrayList<FboData>();
                res_dat = new CsvData();
                if(fileFileName[i].toUpperCase().endsWith(".CSV")) {
                     res_dat.checkCsvFile(f);
                 } else if (fileFileName[i].toUpperCase().endsWith(".FGXLS")) {
                     battgroupid = 0;
                     res_dat.checkFgxlsFile(f);
                     if((null != res_dat.m_BattGroupNameFull) 
                             && (res_dat.m_BattGroupNameFull.length() > 0)) {
                         //System.out.println(res_dat);
                         BattInf batt=new BattInf();
                         batt.setBattGroupName(res_dat.m_BattGroupNameFull);
                         battgroupid=battInfMapper.serchByName(batt);
                     }
                 }else if(fileFileName[i].toUpperCase().endsWith(".XML")){
                     res_dat.checkXmlFile(f);
                 }    
                model=service.addResDataToTable(battgroupid, fileFileName[i], res_dat);
                list.add(model);
            }        
            
            //System.out.println(result);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return list;
    }
 
}