Commit fb2ad3f6 authored by 史志龙's avatar 史志龙

道岔导入检查--shizhilong

parent 2bc30023
......@@ -70,6 +70,7 @@ public class RecordsMasterCheckController extends JeecgController<RecordsMasterC
private ICorrugationRecordService corrugationRecordService;
//********************************设备检查记录相关接口*************************************************************
/**
* 设备线路检查记录汇总-分页列表查询
*
......@@ -274,7 +275,34 @@ public class RecordsMasterCheckController extends JeecgController<RecordsMasterC
InputStream in = file.getInputStream();
//读取Excel中的数据
List<List<Object>> rowRecords = ExcelAnalysisUtils.getListByExcel(in);
Map<String, Object> map = ExcelAnalysisUtils.getListByExcel2(in);
List<List<Object>> rowRecords = (List<List<Object>>) map.get("result");
//校验导入数据的合法性
// List<Object> list1 = rowRecords.get(2);
// String str1 = list1.get(0).toString().trim();
// if (!str1.contains("道岔编号")) {
// return Result.error("导入模板错误,请重新导入!");
// }
// List<Object> list2 = rowRecords.get(3);
// String str2 = list2.get(0).toString().trim();
// if (!str2.contains("道岔号数")) {
// return Result.error("导入模板错误,请重新导入!");
// }
Integer num = 0;
for (int i = 0; i < rowRecords.size(); i++) {
List<Object> list = rowRecords.get(i);
String str = list.get(0).toString().trim();
if (str.contains("道岔编号")) {
num = num+1;
}
}
Integer listByExcelNum = (Integer) map.get("num");
if(listByExcelNum != num){
//释放资源
in.close();
return Result.error("导入模板内容错误,请重新导入");
}
//获取当前登录人信息
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String realname = user.getRealname();
......@@ -327,13 +355,13 @@ public class RecordsMasterCheckController extends JeecgController<RecordsMasterC
List<Object> flangeList = rowRecords.get(i + 2);
this.uploadFlange(recordsMasterTurnoutInfoList, flangeList, realname, id, switchCode, switchCodeNum);
} else if (str.equals("2.1")) {
this.uploadSwitchPlate(recordsMasterTurnoutInfoList, list, realname, id, "5",switchCode, switchCodeNum);
this.uploadSwitchPlate(recordsMasterTurnoutInfoList, list, realname, id, "5", switchCode, switchCodeNum);
} else if (str.equals("2.2")) {
this.uploadSwitchPlate(recordsMasterTurnoutInfoList, list, realname, id, "6",switchCode, switchCodeNum);
this.uploadSwitchPlate(recordsMasterTurnoutInfoList, list, realname, id, "6", switchCode, switchCodeNum);
} else if (str.equals("3.1")) {
this.uploadSwitchPlate(recordsMasterTurnoutInfoList, list, realname, id, "7",switchCode, switchCodeNum);
this.uploadSwitchPlate(recordsMasterTurnoutInfoList, list, realname, id, "7", switchCode, switchCodeNum);
} else if (str.equals("3.2")) {
this.uploadSwitchPlate(recordsMasterTurnoutInfoList, list, realname, id, "8",switchCode, switchCodeNum);
this.uploadSwitchPlate(recordsMasterTurnoutInfoList, list, realname, id, "8", switchCode, switchCodeNum);
} else {
if (i != rowRecords.size() - 1) {
continue;
......@@ -572,7 +600,7 @@ public class RecordsMasterCheckController extends JeecgController<RecordsMasterC
* @param realname
* @param id
*/
public void uploadSwitchPlate(List<RecordsMasterTurnoutInfo> recordsMasterTurnoutInfoList, List<Object> list, String realname, String id, String type,String switchCode, String switchCodeNum) {
public void uploadSwitchPlate(List<RecordsMasterTurnoutInfo> recordsMasterTurnoutInfoList, List<Object> list, String realname, String id, String type, String switchCode, String switchCodeNum) {
String str1 = list.get(1).toString().trim();
String[] n = str1.split("þ");
String s = n[0];
......
......@@ -3,9 +3,8 @@ package org.jeecg.modules.utils;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;
......@@ -59,6 +58,51 @@ public class ExcelAnalysisUtils {
return list;
}
/**
* @Description:获取IO流中的数据,组装成List<List<Object>>对象
*/
public static Map<String,Object> getListByExcel2(InputStream in) throws Exception {
Map<String, Object> map = new HashMap<>();
List<List<Object>> list;
//创建Excel工作薄
Workbook work = new XSSFWorkbook(in);
Sheet sheet; //页数
Row row; //行数
Cell cell; //列数
list = new ArrayList<>();
//遍历Excel中所有的sheet
for (int i = 0; i < work.getNumberOfSheets(); i++) {
sheet = work.getSheetAt(i);
if (sheet == null) {
continue;
}
//遍历当前sheet中的所有行
for (int j = sheet.getFirstRowNum(); j <= sheet.getLastRowNum(); j++) {
row = sheet.getRow(j);
if (row == null) {
continue;
}
//遍历所有的列
List<Object> li = new ArrayList<>();
for (int y = row.getFirstCellNum(); y < row.getLastCellNum(); y++) {
cell = row.getCell(y);
li.add(getValue(cell));
}
list.add(li);
}
}
map.put("result",list);
map.put("num",work.getNumberOfSheets());
return map;
}
/**
* 对表格中数值进行格式化 解决excel类型问题,获得数值
*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment