|
|
@@ -40,6 +40,8 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
import javax.validation.Valid;
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
import java.io.IOException;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
@@ -113,25 +115,24 @@ public class BasePersonnelLabourCapitalController {
|
|
|
}
|
|
|
@PostMapping("/import")
|
|
|
@ApiOperation(value = "导入")
|
|
|
- public RT<Boolean> importData(@Valid AddBasePersonnelLabourCapitalDto dto, @RequestParam("file") MultipartFile file) throws IOException {
|
|
|
- List<Map<Integer, Object>> excelDataList = EasyExcel.read(file.getInputStream()).sheet().headRowNumber(dto.getDataRow() - 1).doReadSync();
|
|
|
+ public RT<Boolean> importData(@Valid AddBasePersonnelLabourCapitalDto dto, @RequestParam("file") MultipartFile file) throws IOException, ParseException {
|
|
|
+ List<Map<Integer, Object>> excelDataList = EasyExcel.read(file.getInputStream()).sheet().headRowNumber(4 - 1).doReadSync();
|
|
|
//验证数据
|
|
|
|
|
|
- //默认数据
|
|
|
- dto.setDataRow(4);
|
|
|
- dto.setIdNumberColumn(1);
|
|
|
- dto.setIdTypeColumn(0);
|
|
|
- dto.setPersonnelNameColumn(3);
|
|
|
- dto.setJobNumberColumn(2);
|
|
|
- dto.setAmountToColumn(4);
|
|
|
-
|
|
|
//处理表头数据,目前只支持2行表头
|
|
|
List<BasePersonnelLabourCapitalTitle> titleList = initTitleList(excelDataList.get(0), excelDataList.get(1));
|
|
|
//读取表内容数据
|
|
|
List<BasePersonnelLabourCapitalData> dataList = initDataList(dto, excelDataList);
|
|
|
-
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
//构造数据
|
|
|
BasePersonnelLabourCapital basePersonnelLabourCapital = BeanUtil.toBean(dto, BasePersonnelLabourCapital.class);
|
|
|
+ basePersonnelLabourCapital.setDataRow(4);
|
|
|
+ basePersonnelLabourCapital.setPersonnelNameColumn(3);
|
|
|
+ basePersonnelLabourCapital.setAmountToColumn(4);
|
|
|
+ basePersonnelLabourCapital.setIdTypeColumn(0);
|
|
|
+ basePersonnelLabourCapital.setIdNumberColumn(1);
|
|
|
+ basePersonnelLabourCapital.setJobNumberColumn(2);
|
|
|
+ basePersonnelLabourCapital.setDateOfIssue(sdf.parse(dto.getDateOfIssue()));
|
|
|
//添加表头数据
|
|
|
basePersonnelLabourCapital.setBasePersonnelLabourCapitalTitleList(titleList);
|
|
|
basePersonnelLabourCapital.setBasePersonnelLabourCapitalDataList(dataList);
|
|
|
@@ -154,11 +155,11 @@ public class BasePersonnelLabourCapitalController {
|
|
|
}
|
|
|
Map<Integer, Object> datatMap = excelDataList.get(i);
|
|
|
BasePersonnelLabourCapitalData data = new BasePersonnelLabourCapitalData();
|
|
|
- data.setName(datatMap.get(dto.getPersonnelNameColumn()) == null?null:datatMap.get(dto.getPersonnelNameColumn()).toString());
|
|
|
- data.setIdNumber(datatMap.get(dto.getIdNumberColumn()) == null?null:datatMap.get(dto.getIdNumberColumn()).toString());
|
|
|
- data.setIdType(datatMap.get(dto.getIdTypeColumn()) == null?null:datatMap.get(dto.getIdTypeColumn()).toString());
|
|
|
- data.setAmountTo(datatMap.get(dto.getAmountToColumn()) == null?null:datatMap.get(dto.getAmountToColumn()).toString());
|
|
|
- data.setJobNumber(datatMap.get(dto.getJobNumberColumn()) == null?null:datatMap.get(dto.getJobNumberColumn()).toString());
|
|
|
+ data.setName(datatMap.get(3) == null?null:datatMap.get(3).toString());
|
|
|
+ data.setIdNumber(datatMap.get(1) == null?null:datatMap.get(1).toString());
|
|
|
+ data.setIdType(datatMap.get(0) == null?null:datatMap.get(0).toString());
|
|
|
+ data.setAmountTo(datatMap.get(4) == null?null:datatMap.get(4).toString());
|
|
|
+ data.setJobNumber(datatMap.get(2) == null?null:datatMap.get(2).toString());
|
|
|
data.setExtendJson(JsonUtil.toJsonString(datatMap));
|
|
|
resultList.add(data);
|
|
|
}
|