|  | @@ -2,27 +2,18 @@ package com.mooctest.crowd.domain.controller;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import com.google.gson.Gson;
 | 
	
		
			
				|  |  |  import com.mooctest.crowd.domain.domainobject.*;
 | 
	
		
			
				|  |  | -import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
 | 
	
		
			
				|  |  |  import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
 | 
	
		
			
				|  |  |  import com.mooctest.crowd.domain.repository.UserRepo;
 | 
	
		
			
				|  |  | -import com.mooctest.crowd.domain.util.Converter;
 | 
	
		
			
				|  |  | -import com.mooctest.crowd.domain.util.FileUtil;
 | 
	
		
			
				|  |  | -import org.apache.poi.hssf.usermodel.HSSFCell;
 | 
	
		
			
				|  |  | -import org.apache.poi.hssf.usermodel.HSSFRow;
 | 
	
		
			
				|  |  | -import org.apache.poi.hssf.usermodel.HSSFSheet;
 | 
	
		
			
				|  |  | -import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.web.bind.annotation.PathVariable;
 | 
	
		
			
				|  |  |  import org.springframework.web.bind.annotation.RequestMapping;
 | 
	
		
			
				|  |  |  import org.springframework.web.bind.annotation.RequestMethod;
 | 
	
		
			
				|  |  |  import org.springframework.web.bind.annotation.RestController;
 | 
	
		
			
				|  |  | -import org.springframework.web.multipart.MultipartFile;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import java.io.FileNotFoundException;
 | 
	
		
			
				|  |  | -import java.io.IOException;
 | 
	
		
			
				|  |  |  import java.sql.Timestamp;
 | 
	
		
			
				|  |  | -import java.text.DecimalFormat;
 | 
	
		
			
				|  |  | -import java.util.*;
 | 
	
		
			
				|  |  | +import java.util.ArrayList;
 | 
	
		
			
				|  |  | +import java.util.Date;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  |  import java.util.regex.Matcher;
 | 
	
		
			
				|  |  |  import java.util.regex.Pattern;
 | 
	
		
			
				|  |  |  import java.util.regex.PatternSyntaxException;
 | 
	
	
		
			
				|  | @@ -155,7 +146,7 @@ public class CrowdTestProjectController {
 | 
	
		
			
				|  |  |          Gson gson = new Gson();
 | 
	
		
			
				|  |  |          crowdTestProjectModify = gson.fromJson(gson.toJson(crowdTestProject), CrowdTestProject.class);
 | 
	
		
			
				|  |  |          crowdTestProjectModify.setLinkMan(linkMan);
 | 
	
		
			
				|  |  | -        CrowdTestProject updateCrowdTestProject = crowdTestProject.updateCrowdTestProject(crowdTestProject, crowdTestProjectModify);
 | 
	
		
			
				|  |  | +        CrowdTestProject updateCrowdTestProject = crowdTestProject.updateCrowdTestProject(crowdTestProjectModify);
 | 
	
		
			
				|  |  |          crowdTestProjectRepo.saveCrowdTestProject(updateCrowdTestProject);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -174,7 +165,7 @@ public class CrowdTestProjectController {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          crowdTestTaskModify.setName(taskName);
 | 
	
		
			
				|  |  | -        CrowdTestProject updateCrowdTestProject = crowdTestProject.updateCrowdTestTask(crowdTestProject, crowdTestTaskCode, crowdTestTaskModify);
 | 
	
		
			
				|  |  | +        CrowdTestProject updateCrowdTestProject = crowdTestProject.updateCrowdTestTask(crowdTestTaskCode, crowdTestTaskModify);
 | 
	
		
			
				|  |  |          crowdTestProjectRepo.saveCrowdTestProject(updateCrowdTestProject);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -194,7 +185,7 @@ public class CrowdTestProjectController {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          crowdTestReportModify.setName(reportName);
 | 
	
		
			
				|  |  | -        CrowdTestProject updateCrowdTestProject = crowdTestProject.updateCrowdTestReport(crowdTestProject, crowdTestTaskCode, crowdTestReportCode, crowdTestReportModify);
 | 
	
		
			
				|  |  | +        CrowdTestProject updateCrowdTestProject = crowdTestProject.updateCrowdTestReport(crowdTestTaskCode, crowdTestReportCode, crowdTestReportModify);
 | 
	
		
			
				|  |  |          crowdTestProjectRepo.saveCrowdTestProject(updateCrowdTestProject);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -464,22 +455,22 @@ public class CrowdTestProjectController {
 | 
	
		
			
				|  |  |       * @param file
 | 
	
		
			
				|  |  |       * @return
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    @RequestMapping(value = "projectListImportByExcel", method = RequestMethod.POST)
 | 
	
		
			
				|  |  | -    public String projectListImportByExcel(MultipartFile file){
 | 
	
		
			
				|  |  | -        //解析excel
 | 
	
		
			
				|  |  | -        List<CrowdTestProjectPO> crowdTestProjectPOList = FileUtil.importExcel(file,0,1,CrowdTestProjectPO.class);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        for(int i = 0; i < crowdTestProjectPOList.size(); i++){
 | 
	
		
			
				|  |  | -            CrowdTestProject crowdTestProject = Converter.convert(CrowdTestProject.class, crowdTestProjectPOList.get(i));
 | 
	
		
			
				|  |  | -            CrowdTestProject crowdTestProjectResult = crowdTestProject.generateDefaultTaskAndReportData();
 | 
	
		
			
				|  |  | -            //TODO 保存数据库
 | 
	
		
			
				|  |  | -            crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        System.out.println("共导入数据【"+crowdTestProjectPOList.size()+"】行");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        return "success";
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +//    @RequestMapping(value = "projectListImportByExcel", method = RequestMethod.POST)
 | 
	
		
			
				|  |  | +//    public String projectListImportByExcel(MultipartFile file){
 | 
	
		
			
				|  |  | +//        //解析excel
 | 
	
		
			
				|  |  | +//        List<CrowdTestProjectPO> crowdTestProjectPOList = FileUtil.importExcel(file,0,1,CrowdTestProjectPO.class);
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        for(int i = 0; i < crowdTestProjectPOList.size(); i++){
 | 
	
		
			
				|  |  | +//            CrowdTestProject crowdTestProject = Converter.convert(CrowdTestProject.class, crowdTestProjectPOList.get(i));
 | 
	
		
			
				|  |  | +//            CrowdTestProject crowdTestProjectResult = crowdTestProject.generateDefaultTaskAndReportData();
 | 
	
		
			
				|  |  | +//            //TODO 保存数据库
 | 
	
		
			
				|  |  | +//            crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//        System.out.println("共导入数据【"+crowdTestProjectPOList.size()+"】行");
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        return "success";
 | 
	
		
			
				|  |  | +//    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -487,170 +478,170 @@ public class CrowdTestProjectController {
 | 
	
		
			
				|  |  |       * @param file
 | 
	
		
			
				|  |  |       * @return
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    @RequestMapping(value = "projectImportByExcel", method = RequestMethod.POST)
 | 
	
		
			
				|  |  | -    public String projectImportByExcel(MultipartFile file) {
 | 
	
		
			
				|  |  | -        List<String> logList = new ArrayList<>();
 | 
	
		
			
				|  |  | -        List<Map<Integer,Object>> recordList = new ArrayList<>();
 | 
	
		
			
				|  |  | -        HSSFWorkbook workbook=null;
 | 
	
		
			
				|  |  | -        try {
 | 
	
		
			
				|  |  | -            workbook = new HSSFWorkbook(file.getInputStream());
 | 
	
		
			
				|  |  | -        } catch (FileNotFoundException e) {
 | 
	
		
			
				|  |  | -            e.printStackTrace();
 | 
	
		
			
				|  |  | -        } catch (IOException e) {
 | 
	
		
			
				|  |  | -            e.printStackTrace();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        //获取指定标签页
 | 
	
		
			
				|  |  | -        HSSFSheet sheet = workbook.getSheetAt(0);
 | 
	
		
			
				|  |  | -        if(sheet==null){
 | 
	
		
			
				|  |  | -            throw new RuntimeException("标签页不存在!");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        //总行数
 | 
	
		
			
				|  |  | -        int rows = sheet.getPhysicalNumberOfRows();
 | 
	
		
			
				|  |  | -        if (rows < 2) {
 | 
	
		
			
				|  |  | -            throw new RuntimeException(file.getName()+" 内容为空,请重新编辑!");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        //不为空的单元格数  ,第一行是标题列
 | 
	
		
			
				|  |  | -        HSSFRow keyRow = sheet.getRow(0);
 | 
	
		
			
				|  |  | -        int cellNumber = keyRow.getPhysicalNumberOfCells();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        //循环遍历,第一行是标题,所以从 1 开始遍历(0表示第一行,1表示第二行)
 | 
	
		
			
				|  |  | -        for (int r = 1; r < rows; r++) {
 | 
	
		
			
				|  |  | -            Map<Integer,Object> record = new LinkedHashMap<Integer,Object>();//使用HashMap的话,存进去的顺序与取出来的顺序是不一致的,此处需要使用LinkedHashMap
 | 
	
		
			
				|  |  | -            HSSFRow row = sheet.getRow(r);
 | 
	
		
			
				|  |  | -            if(row == null){
 | 
	
		
			
				|  |  | -                logList.add("表中存在错误的单元格,请把与内容无关的单元格置空");
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            for (int c = 0; c < cellNumber; c++){ //共cellNumber列
 | 
	
		
			
				|  |  | -                HSSFCell cell = row.getCell(c);
 | 
	
		
			
				|  |  | -                String cellValue = "";
 | 
	
		
			
				|  |  | -                DecimalFormat df = new DecimalFormat("#");
 | 
	
		
			
				|  |  | -                //如果单元格不为空
 | 
	
		
			
				|  |  | -                if (cell != null) {
 | 
	
		
			
				|  |  | -                    if(c == 1){
 | 
	
		
			
				|  |  | -                        String platform =cell.getRichStringCellValue().getString().trim();
 | 
	
		
			
				|  |  | -                        if(platform.length() == 0){
 | 
	
		
			
				|  |  | -                            logList.add("第"+(r+1)+"行第"+(c+1)+"列数据为空");
 | 
	
		
			
				|  |  | -                        }else{
 | 
	
		
			
				|  |  | -                            if(!isPlatform(platform)){
 | 
	
		
			
				|  |  | -                                logList.add("第"+(r+1)+"行第"+(c+1)+"列数据不符合要求");
 | 
	
		
			
				|  |  | -                            }else{
 | 
	
		
			
				|  |  | -                                String platformSave = "[" + platform + "]";
 | 
	
		
			
				|  |  | -                                record.put(c,platformSave);
 | 
	
		
			
				|  |  | -                                continue;
 | 
	
		
			
				|  |  | -                            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                    if(c == 4){
 | 
	
		
			
				|  |  | -                        String type =cell.getRichStringCellValue().getString().trim();
 | 
	
		
			
				|  |  | -                        if(type.length() == 0){
 | 
	
		
			
				|  |  | -                            logList.add("第"+(r+1)+"行第"+(c+1)+"列数据为空");
 | 
	
		
			
				|  |  | -                        }else{
 | 
	
		
			
				|  |  | -                            if(!isType(type)){
 | 
	
		
			
				|  |  | -                                logList.add("第"+(r+1)+"行第"+(c+1)+"列数据不符合要求");
 | 
	
		
			
				|  |  | -                            }else{
 | 
	
		
			
				|  |  | -                                String typeSave = "[" + type + "]";
 | 
	
		
			
				|  |  | -                                record.put(c,typeSave);
 | 
	
		
			
				|  |  | -                                continue;
 | 
	
		
			
				|  |  | -                            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                    if(c == 3){
 | 
	
		
			
				|  |  | -                        String phone = cell.getRichStringCellValue().getString().trim();
 | 
	
		
			
				|  |  | -                        if(!isRightPhone(phone)){
 | 
	
		
			
				|  |  | -                            logList.add("第"+(r+1)+"行第"+(c+1)+"列手机号格式不正确");
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                    switch (cell.getCellType()) {
 | 
	
		
			
				|  |  | -                        case HSSFCell.CELL_TYPE_STRING:
 | 
	
		
			
				|  |  | -                            cellValue =cell.getRichStringCellValue().getString().trim();
 | 
	
		
			
				|  |  | -                            if(cellValue.indexOf(" ") != -1){
 | 
	
		
			
				|  |  | -                                logList.add("第"+(r+1)+"行第"+(c+1)+"列数据中存在空格");
 | 
	
		
			
				|  |  | -                            }
 | 
	
		
			
				|  |  | -                            break;
 | 
	
		
			
				|  |  | -                        case HSSFCell.CELL_TYPE_NUMERIC:
 | 
	
		
			
				|  |  | -                            cellValue =df.format(cell.getNumericCellValue());
 | 
	
		
			
				|  |  | -                            break;
 | 
	
		
			
				|  |  | -                        case HSSFCell.CELL_TYPE_BOOLEAN:
 | 
	
		
			
				|  |  | -                            cellValue =String.valueOf(cell.getBooleanCellValue()).trim();
 | 
	
		
			
				|  |  | -                            break;
 | 
	
		
			
				|  |  | -                        case HSSFCell.CELL_TYPE_FORMULA:
 | 
	
		
			
				|  |  | -                            cellValue =cell.getCellFormula();
 | 
	
		
			
				|  |  | -                            break;
 | 
	
		
			
				|  |  | -                        case HSSFCell.CELL_TYPE_BLANK:
 | 
	
		
			
				|  |  | -                            logList.add("第"+(r+1)+"行第"+(c+1)+"列数据为空");
 | 
	
		
			
				|  |  | -                            break;
 | 
	
		
			
				|  |  | -                        default:
 | 
	
		
			
				|  |  | -                            cellValue = "";
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -                }else{
 | 
	
		
			
				|  |  | -                    logList.add("第"+(r+1)+"行第"+(c+1)+"列为空");
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                record.put(c,cellValue);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            recordList.add(record);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -//        System.out.println("logList.toString() " + logList.toString());
 | 
	
		
			
				|  |  | -        System.out.println("recordList.toString()  " + recordList.toString());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        if(logList.size() != 0){
 | 
	
		
			
				|  |  | -            String mes = "表格中存在问题,导入失败!";
 | 
	
		
			
				|  |  | -            return mes + logList.toString();
 | 
	
		
			
				|  |  | -        }else{
 | 
	
		
			
				|  |  | -            List<CrowdTestProjectPO> crowdTestProjectPOList = new ArrayList<>();
 | 
	
		
			
				|  |  | -            CrowdTestProjectPO crowdTestProjectPO = new CrowdTestProjectPO();
 | 
	
		
			
				|  |  | -            for(Map<Integer,Object> map : recordList){
 | 
	
		
			
				|  |  | -                crowdTestProjectPO.setName(map.get(0).toString());
 | 
	
		
			
				|  |  | -                crowdTestProjectPO.setPlatform(map.get(1).toString());
 | 
	
		
			
				|  |  | -                crowdTestProjectPO.setLinkMan(map.get(2).toString());
 | 
	
		
			
				|  |  | -                crowdTestProjectPO.setLinkManMobile(map.get(3).toString());
 | 
	
		
			
				|  |  | -                crowdTestProjectPO.setType(map.get(4).toString());
 | 
	
		
			
				|  |  | -                crowdTestProjectPO.setDescription(map.get(5).toString());
 | 
	
		
			
				|  |  | -                crowdTestProjectPOList.add(crowdTestProjectPO);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            for(int i = 0; i < crowdTestProjectPOList.size(); i++){
 | 
	
		
			
				|  |  | -                CrowdTestProject crowdTestProject = Converter.convert(CrowdTestProject.class, crowdTestProjectPOList.get(i));
 | 
	
		
			
				|  |  | -                CrowdTestProject crowdTestProjectResult = crowdTestProject.generateDefaultTaskAndReportData();
 | 
	
		
			
				|  |  | -                //TODO 保存数据库
 | 
	
		
			
				|  |  | -//                crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            return "SUCCESS";
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +//    @RequestMapping(value = "projectImportByExcel", method = RequestMethod.POST)
 | 
	
		
			
				|  |  | +//    public String projectImportByExcel(MultipartFile file) {
 | 
	
		
			
				|  |  | +//        List<String> logList = new ArrayList<>();
 | 
	
		
			
				|  |  | +//        List<Map<Integer,Object>> recordList = new ArrayList<>();
 | 
	
		
			
				|  |  | +//        HSSFWorkbook workbook=null;
 | 
	
		
			
				|  |  | +//        try {
 | 
	
		
			
				|  |  | +//            workbook = new HSSFWorkbook(file.getInputStream());
 | 
	
		
			
				|  |  | +//        } catch (FileNotFoundException e) {
 | 
	
		
			
				|  |  | +//            e.printStackTrace();
 | 
	
		
			
				|  |  | +//        } catch (IOException e) {
 | 
	
		
			
				|  |  | +//            e.printStackTrace();
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        //获取指定标签页
 | 
	
		
			
				|  |  | +//        HSSFSheet sheet = workbook.getSheetAt(0);
 | 
	
		
			
				|  |  | +//        if(sheet==null){
 | 
	
		
			
				|  |  | +//            throw new RuntimeException("标签页不存在!");
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        //总行数
 | 
	
		
			
				|  |  | +//        int rows = sheet.getPhysicalNumberOfRows();
 | 
	
		
			
				|  |  | +//        if (rows < 2) {
 | 
	
		
			
				|  |  | +//            throw new RuntimeException(file.getName()+" 内容为空,请重新编辑!");
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        //不为空的单元格数  ,第一行是标题列
 | 
	
		
			
				|  |  | +//        HSSFRow keyRow = sheet.getRow(0);
 | 
	
		
			
				|  |  | +//        int cellNumber = keyRow.getPhysicalNumberOfCells();
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        //循环遍历,第一行是标题,所以从 1 开始遍历(0表示第一行,1表示第二行)
 | 
	
		
			
				|  |  | +//        for (int r = 1; r < rows; r++) {
 | 
	
		
			
				|  |  | +//            Map<Integer,Object> record = new LinkedHashMap<Integer,Object>();//使用HashMap的话,存进去的顺序与取出来的顺序是不一致的,此处需要使用LinkedHashMap
 | 
	
		
			
				|  |  | +//            HSSFRow row = sheet.getRow(r);
 | 
	
		
			
				|  |  | +//            if(row == null){
 | 
	
		
			
				|  |  | +//                logList.add("表中存在错误的单元格,请把与内容无关的单元格置空");
 | 
	
		
			
				|  |  | +//                break;
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//            for (int c = 0; c < cellNumber; c++){ //共cellNumber列
 | 
	
		
			
				|  |  | +//                HSSFCell cell = row.getCell(c);
 | 
	
		
			
				|  |  | +//                String cellValue = "";
 | 
	
		
			
				|  |  | +//                DecimalFormat df = new DecimalFormat("#");
 | 
	
		
			
				|  |  | +//                //如果单元格不为空
 | 
	
		
			
				|  |  | +//                if (cell != null) {
 | 
	
		
			
				|  |  | +//                    if(c == 1){
 | 
	
		
			
				|  |  | +//                        String platform =cell.getRichStringCellValue().getString().trim();
 | 
	
		
			
				|  |  | +//                        if(platform.length() == 0){
 | 
	
		
			
				|  |  | +//                            logList.add("第"+(r+1)+"行第"+(c+1)+"列数据为空");
 | 
	
		
			
				|  |  | +//                        }else{
 | 
	
		
			
				|  |  | +//                            if(!isPlatform(platform)){
 | 
	
		
			
				|  |  | +//                                logList.add("第"+(r+1)+"行第"+(c+1)+"列数据不符合要求");
 | 
	
		
			
				|  |  | +//                            }else{
 | 
	
		
			
				|  |  | +//                                String platformSave = "[" + platform + "]";
 | 
	
		
			
				|  |  | +//                                record.put(c,platformSave);
 | 
	
		
			
				|  |  | +//                                continue;
 | 
	
		
			
				|  |  | +//                            }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//                        }
 | 
	
		
			
				|  |  | +//                    }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//                    if(c == 4){
 | 
	
		
			
				|  |  | +//                        String type =cell.getRichStringCellValue().getString().trim();
 | 
	
		
			
				|  |  | +//                        if(type.length() == 0){
 | 
	
		
			
				|  |  | +//                            logList.add("第"+(r+1)+"行第"+(c+1)+"列数据为空");
 | 
	
		
			
				|  |  | +//                        }else{
 | 
	
		
			
				|  |  | +//                            if(!isType(type)){
 | 
	
		
			
				|  |  | +//                                logList.add("第"+(r+1)+"行第"+(c+1)+"列数据不符合要求");
 | 
	
		
			
				|  |  | +//                            }else{
 | 
	
		
			
				|  |  | +//                                String typeSave = "[" + type + "]";
 | 
	
		
			
				|  |  | +//                                record.put(c,typeSave);
 | 
	
		
			
				|  |  | +//                                continue;
 | 
	
		
			
				|  |  | +//                            }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//                        }
 | 
	
		
			
				|  |  | +//                    }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//                    if(c == 3){
 | 
	
		
			
				|  |  | +//                        String phone = cell.getRichStringCellValue().getString().trim();
 | 
	
		
			
				|  |  | +//                        if(!isRightPhone(phone)){
 | 
	
		
			
				|  |  | +//                            logList.add("第"+(r+1)+"行第"+(c+1)+"列手机号格式不正确");
 | 
	
		
			
				|  |  | +//                        }
 | 
	
		
			
				|  |  | +//                    }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//                    switch (cell.getCellType()) {
 | 
	
		
			
				|  |  | +//                        case HSSFCell.CELL_TYPE_STRING:
 | 
	
		
			
				|  |  | +//                            cellValue =cell.getRichStringCellValue().getString().trim();
 | 
	
		
			
				|  |  | +//                            if(cellValue.indexOf(" ") != -1){
 | 
	
		
			
				|  |  | +//                                logList.add("第"+(r+1)+"行第"+(c+1)+"列数据中存在空格");
 | 
	
		
			
				|  |  | +//                            }
 | 
	
		
			
				|  |  | +//                            break;
 | 
	
		
			
				|  |  | +//                        case HSSFCell.CELL_TYPE_NUMERIC:
 | 
	
		
			
				|  |  | +//                            cellValue =df.format(cell.getNumericCellValue());
 | 
	
		
			
				|  |  | +//                            break;
 | 
	
		
			
				|  |  | +//                        case HSSFCell.CELL_TYPE_BOOLEAN:
 | 
	
		
			
				|  |  | +//                            cellValue =String.valueOf(cell.getBooleanCellValue()).trim();
 | 
	
		
			
				|  |  | +//                            break;
 | 
	
		
			
				|  |  | +//                        case HSSFCell.CELL_TYPE_FORMULA:
 | 
	
		
			
				|  |  | +//                            cellValue =cell.getCellFormula();
 | 
	
		
			
				|  |  | +//                            break;
 | 
	
		
			
				|  |  | +//                        case HSSFCell.CELL_TYPE_BLANK:
 | 
	
		
			
				|  |  | +//                            logList.add("第"+(r+1)+"行第"+(c+1)+"列数据为空");
 | 
	
		
			
				|  |  | +//                            break;
 | 
	
		
			
				|  |  | +//                        default:
 | 
	
		
			
				|  |  | +//                            cellValue = "";
 | 
	
		
			
				|  |  | +//                    }
 | 
	
		
			
				|  |  | +//                }else{
 | 
	
		
			
				|  |  | +//                    logList.add("第"+(r+1)+"行第"+(c+1)+"列为空");
 | 
	
		
			
				|  |  | +//                }
 | 
	
		
			
				|  |  | +//                record.put(c,cellValue);
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//            recordList.add(record);
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +////        System.out.println("logList.toString() " + logList.toString());
 | 
	
		
			
				|  |  | +//        System.out.println("recordList.toString()  " + recordList.toString());
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        if(logList.size() != 0){
 | 
	
		
			
				|  |  | +//            String mes = "表格中存在问题,导入失败!";
 | 
	
		
			
				|  |  | +//            return mes + logList.toString();
 | 
	
		
			
				|  |  | +//        }else{
 | 
	
		
			
				|  |  | +//            List<CrowdTestProjectPO> crowdTestProjectPOList = new ArrayList<>();
 | 
	
		
			
				|  |  | +//            CrowdTestProjectPO crowdTestProjectPO = new CrowdTestProjectPO();
 | 
	
		
			
				|  |  | +//            for(Map<Integer,Object> map : recordList){
 | 
	
		
			
				|  |  | +//                crowdTestProjectPO.setName(map.get(0).toString());
 | 
	
		
			
				|  |  | +//                crowdTestProjectPO.setPlatform(map.get(1).toString());
 | 
	
		
			
				|  |  | +//                crowdTestProjectPO.setLinkMan(map.get(2).toString());
 | 
	
		
			
				|  |  | +//                crowdTestProjectPO.setLinkManMobile(map.get(3).toString());
 | 
	
		
			
				|  |  | +//                crowdTestProjectPO.setType(map.get(4).toString());
 | 
	
		
			
				|  |  | +//                crowdTestProjectPO.setDescription(map.get(5).toString());
 | 
	
		
			
				|  |  | +//                crowdTestProjectPOList.add(crowdTestProjectPO);
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//            for(int i = 0; i < crowdTestProjectPOList.size(); i++){
 | 
	
		
			
				|  |  | +//                CrowdTestProject crowdTestProject = Converter.convert(CrowdTestProject.class, crowdTestProjectPOList.get(i));
 | 
	
		
			
				|  |  | +//                CrowdTestProject crowdTestProjectResult = crowdTestProject.generateDefaultTaskAndReportData();
 | 
	
		
			
				|  |  | +//                //TODO 保存数据库
 | 
	
		
			
				|  |  | +////                crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//            return "SUCCESS";
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 通过表单向数据库中导入众包项目文件,并补全项目中任务和报告的数据
 | 
	
		
			
				|  |  |       * @return
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    @RequestMapping(value = "projectListImportByForm", method = RequestMethod.GET)
 | 
	
		
			
				|  |  | -    public String projectListImportByForm(){
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        //数据准备
 | 
	
		
			
				|  |  | -        CrowdTestProject crowdTestProject = new CrowdTestProject();
 | 
	
		
			
				|  |  | -        crowdTestProject.setName("百度APP");
 | 
	
		
			
				|  |  | -        crowdTestProject.setPlatform("[1,2]");
 | 
	
		
			
				|  |  | -        crowdTestProject.setLinkMan("薛晓波");
 | 
	
		
			
				|  |  | -        crowdTestProject.setLinkManMobile("13567908766");
 | 
	
		
			
				|  |  | -        crowdTestProject.setType("[1]");
 | 
	
		
			
				|  |  | -        crowdTestProject.setDescription("测试项目中存在的bug");
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        //具体操作
 | 
	
		
			
				|  |  | -        CrowdTestProject crowdTestProjectResult = crowdTestProject.generateDefaultTaskAndReportData();
 | 
	
		
			
				|  |  | -        //TODO 保存数据库
 | 
	
		
			
				|  |  | -        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
 | 
	
		
			
				|  |  | -        return "success";
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +//    @RequestMapping(value = "projectListImportByForm", method = RequestMethod.GET)
 | 
	
		
			
				|  |  | +//    public String projectListImportByForm(){
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        //数据准备
 | 
	
		
			
				|  |  | +//        CrowdTestProject crowdTestProject = new CrowdTestProject();
 | 
	
		
			
				|  |  | +//        crowdTestProject.setName("百度APP");
 | 
	
		
			
				|  |  | +//        crowdTestProject.setPlatform("[1,2]");
 | 
	
		
			
				|  |  | +//        crowdTestProject.setLinkMan("薛晓波");
 | 
	
		
			
				|  |  | +//        crowdTestProject.setLinkManMobile("13567908766");
 | 
	
		
			
				|  |  | +//        crowdTestProject.setType("[1]");
 | 
	
		
			
				|  |  | +//        crowdTestProject.setDescription("测试项目中存在的bug");
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        //具体操作
 | 
	
		
			
				|  |  | +//        CrowdTestProject crowdTestProjectResult = crowdTestProject.generateDefaultTaskAndReportData();
 | 
	
		
			
				|  |  | +//        //TODO 保存数据库
 | 
	
		
			
				|  |  | +//        crowdTestProjectRepo.saveCrowdTestProject(crowdTestProjectResult);
 | 
	
		
			
				|  |  | +//        return "success";
 | 
	
		
			
				|  |  | +//    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 |