fix: 78107
测试导入-从列表上选择数据导出,在重新导入系统,导入成功了。没有校验标准编号的唯一性
This commit is contained in:
+2
-14
@@ -1473,22 +1473,10 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
|||||||
headerList.remove(headerList.size() - 1);
|
headerList.remove(headerList.size() - 1);
|
||||||
headerList.add(inspectContentTag);
|
headerList.add(inspectContentTag);
|
||||||
}
|
}
|
||||||
// 从数据行开始遍历
|
// 获取错误信息
|
||||||
for (int i = 3; i < sheet.getPhysicalNumberOfRows(); i++) {
|
errMsgList = importUtil.validExcelData(sheet, headerList, fileMap, insertDataList);
|
||||||
Map<String, Object> parameterMap = new HashMap<>();
|
|
||||||
for (int j = 0; j < headerList.size(); j++) {
|
|
||||||
// 获取当前单元格
|
|
||||||
Cell cell = sheet.getRow(i).getCell(j);
|
|
||||||
// 获取当前单元格内容对应的字段
|
|
||||||
LawsTag tag = headerList.get(j);
|
|
||||||
// 调用导入工具类的校验方法
|
|
||||||
errMsgList.addAll(importUtil.allColumnValid(cell, tag, i, j, parameterMap, fileMap));
|
|
||||||
}
|
|
||||||
insertDataList.add(parameterMap);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return errMsgList;
|
return errMsgList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -10,7 +10,13 @@ import com.jero.common.system.vo.DictModel;
|
|||||||
import com.jero.common.util.CommonUtils;
|
import com.jero.common.util.CommonUtils;
|
||||||
import com.jero.common.util.oConvertUtils;
|
import com.jero.common.util.oConvertUtils;
|
||||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||||
|
import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
|
||||||
|
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||||
|
import com.jero.modules.laws.standard.entity.LawsOverseasStandard;
|
||||||
import com.jero.modules.laws.standard.entity.LawsTreeNode;
|
import com.jero.modules.laws.standard.entity.LawsTreeNode;
|
||||||
|
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
|
||||||
|
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||||
|
import com.jero.modules.laws.standard.service.ILawsOverseasStandardService;
|
||||||
import com.jero.modules.laws.standard.service.ILawsTreeNodeService;
|
import com.jero.modules.laws.standard.service.ILawsTreeNodeService;
|
||||||
import com.jero.modules.oss.entity.OSSFile;
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
import com.jero.modules.oss.service.IOSSFileService;
|
import com.jero.modules.oss.service.IOSSFileService;
|
||||||
@@ -25,6 +31,7 @@ import com.jero.modules.tag.enums.FieldShowTypeEnum;
|
|||||||
import com.jero.modules.tag.enums.TableNameEnum;
|
import com.jero.modules.tag.enums.TableNameEnum;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.poi.ss.usermodel.*;
|
import org.apache.poi.ss.usermodel.*;
|
||||||
|
import org.apache.poi.ss.util.CellReference;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.mock.web.MockMultipartFile;
|
import org.springframework.mock.web.MockMultipartFile;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -65,172 +72,225 @@ public class ImportUtil {
|
|||||||
@Resource
|
@Resource
|
||||||
private ISysDictItemService sysDictItemService;
|
private ISysDictItemService sysDictItemService;
|
||||||
|
|
||||||
public List<String> allColumnValid(Cell cell, LawsTag tag, int i, int j, Map<String, Object> parameterMap, Map<String, File> fileMap) {
|
@Resource
|
||||||
|
private ILawsEnterpriseStandardService lawsEnterpriseStandardService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ILawsDomesticStandardService lawsDomeStandardService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ILawsOverseasStandardService overseasStandardService;
|
||||||
|
|
||||||
|
|
||||||
|
public List<String> validExcelData(Sheet sheet, List<LawsTag> headerList, Map<String, File> fileMap, List<Map<String, Object>> insertDataList) {
|
||||||
List<String> errMsgList = new ArrayList<>();
|
List<String> errMsgList = new ArrayList<>();
|
||||||
// 必填验证
|
|
||||||
if (YesOrNoEnum.YES.getValue().equals(tag.getFieldMustInput())) {
|
|
||||||
if (!this.mustInputValid(cell)) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列" + tag.getDbFieldTxt() + "为必填");
|
|
||||||
errMsgList.add("第" + (i) + "行第" + (j + 1) + "列" + tag.getDbFieldTxt() + "为必填");
|
|
||||||
return errMsgList;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 获取当前单元格内容
|
|
||||||
if (cell == null) {
|
|
||||||
return errMsgList;
|
|
||||||
}
|
|
||||||
String cellValue = cell.toString().trim();
|
|
||||||
|
|
||||||
// 企标编号校验
|
// 从数据行开始遍历
|
||||||
if (FieldCommon.STANDARD_NUMBER.equals(tag.getDbFieldName())) {
|
for (int i = 3; i < sheet.getPhysicalNumberOfRows(); i++) {
|
||||||
if (TableNameEnum.ENTERPRISE_STANDARDS.getValue().equals(tag.getIsModel())) {
|
int line = i + 1;
|
||||||
// 使用正则表达式进行基础的格式验证
|
StringBuilder errMsg = new StringBuilder("第" + line + "行");
|
||||||
if (!cellValue.matches("^[A-Z]{1,2}/[A-Z]{2} [1-9A-HJ-Z]\\d{4}-\\d{4}$")) {
|
Map<String, Object> parameterMap = new HashMap<>();
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列输入的" + tag.getDbFieldTxt() + "格式不正确");
|
for (int j = 0; j < headerList.size(); j++) {
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列输入的" + tag.getDbFieldTxt() + "格式不正确");
|
String row = CellReference.convertNumToColString(j);
|
||||||
} else {
|
// 获取当前单元格
|
||||||
// 拆分成两部分,前半部分和后半部分
|
Cell cell = sheet.getRow(i).getCell(j);
|
||||||
String[] mainParts = cellValue.split(" ");
|
// 获取当前单元格内容对应的字段
|
||||||
String firstPart = mainParts[0];
|
LawsTag tag = headerList.get(j);
|
||||||
String secondPart = mainParts[1];
|
|
||||||
|
|
||||||
// 拆分前半部分获取企业标准代号和企业名称代号
|
// 必填验证
|
||||||
String[] firstPartElements = firstPart.split("/");
|
if (YesOrNoEnum.YES.getValue().equals(tag.getFieldMustInput())) {
|
||||||
String enterpriseStandardCode = firstPartElements[0];
|
if (!this.mustInputValid(cell)) {
|
||||||
String enterpriseNameCode = firstPartElements[1];
|
log.error("第" + row + "列" + tag.getDbFieldTxt() + "为必填 ");
|
||||||
|
errMsg.append("第").append(i).append("行第").append(row).append("列").append(tag.getDbFieldTxt()).append("为必填 ");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 获取当前单元格内容
|
||||||
|
if (cell == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String cellValue = cell.toString().trim();
|
||||||
|
|
||||||
// 拆分后半部分获取标准类别代号,顺序号和年代号
|
// 企标编号校验
|
||||||
String[] secondPartElements = secondPart.split("-");
|
if (FieldCommon.STANDARD_NUMBER.equals(tag.getDbFieldName())) {
|
||||||
String categoryAndSequence = secondPartElements[0];
|
if (TableNameEnum.ENTERPRISE_STANDARDS.getValue().equals(tag.getIsModel())) {
|
||||||
String yearCode = secondPartElements[1];
|
// 使用正则表达式进行基础的格式验证
|
||||||
|
if (!cellValue.matches("^[A-Z]{1,2}/[A-Z]{2} [1-9A-HJ-Z]\\d{4}-\\d{4}$")) {
|
||||||
|
log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "格式不正确 ");
|
||||||
|
errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("格式不正确 ");
|
||||||
|
} else {
|
||||||
|
// 拆分成两部分,前半部分和后半部分
|
||||||
|
String[] mainParts = cellValue.split(" ");
|
||||||
|
String firstPart = mainParts[0];
|
||||||
|
String secondPart = mainParts[1];
|
||||||
|
|
||||||
// 从标准类别代号和顺序号字符串中分离出标准类别代号和顺序号
|
// 拆分前半部分获取企业标准代号和企业名称代号
|
||||||
String categoryCode = categoryAndSequence.substring(0, 1);
|
String[] firstPartElements = firstPart.split("/");
|
||||||
|
String enterpriseStandardCode = firstPartElements[0];
|
||||||
|
String enterpriseNameCode = firstPartElements[1];
|
||||||
|
|
||||||
// 转成字典值并存入
|
// 拆分后半部分获取标准类别代号,顺序号和年代号
|
||||||
parameterMap.put(FieldCommon.ENTERPRISE_STANDARD_CODE, this.convertDictValue("enterprise_standard_code", enterpriseStandardCode));
|
String[] secondPartElements = secondPart.split("-");
|
||||||
parameterMap.put(FieldCommon.ENTERPRISE_NAME_CODE, this.convertDictValue("enterprise_name_code", enterpriseNameCode));
|
String categoryAndSequence = secondPartElements[0];
|
||||||
parameterMap.put(FieldCommon.STANDARD_CATEGORY_CODE, this.convertDictValue("standard_category_code", categoryCode));
|
String yearCode = secondPartElements[1];
|
||||||
parameterMap.put(FieldCommon.YEAR_NUMBER, yearCode);
|
|
||||||
|
// 从标准类别代号和顺序号字符串中分离出标准类别代号和顺序号
|
||||||
|
String categoryCode = categoryAndSequence.substring(0, 1);
|
||||||
|
|
||||||
|
// 转成字典值并存入
|
||||||
|
parameterMap.put(FieldCommon.ENTERPRISE_STANDARD_CODE, this.convertDictValue("enterprise_standard_code", enterpriseStandardCode));
|
||||||
|
parameterMap.put(FieldCommon.ENTERPRISE_NAME_CODE, this.convertDictValue("enterprise_name_code", enterpriseNameCode));
|
||||||
|
parameterMap.put(FieldCommon.STANDARD_CATEGORY_CODE, this.convertDictValue("standard_category_code", categoryCode));
|
||||||
|
parameterMap.put(FieldCommon.YEAR_NUMBER, yearCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 校验编号唯一性
|
||||||
|
if (TableNameEnum.ENTERPRISE_STANDARDS.getValue().equals(tag.getIsModel())) {
|
||||||
|
LawsEnterpriseStandard lawsEnterpriseStandard = lawsEnterpriseStandardService.queryByStandardNumber(cellValue);
|
||||||
|
if (lawsEnterpriseStandard != null) {
|
||||||
|
log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "已存在 ");
|
||||||
|
errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("已存在 ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (TableNameEnum.DOMESTIC_REGULATIONS.getValue().equals(tag.getIsModel())) {
|
||||||
|
QueryWrapper<LawsDomesticStandard> domesticStandardQueryWrapper = new QueryWrapper<>();
|
||||||
|
domesticStandardQueryWrapper.eq(FieldCommon.STANDARD_NUMBER, cellValue);
|
||||||
|
LawsDomesticStandard lawsDomesticStandard = lawsDomeStandardService.getOne(domesticStandardQueryWrapper);
|
||||||
|
if (lawsDomesticStandard != null) {
|
||||||
|
log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "已存在 ");
|
||||||
|
errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("已存在 ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (TableNameEnum.FOREIGN_REGULATIONS.getValue().equals(tag.getIsModel())) {
|
||||||
|
QueryWrapper<LawsOverseasStandard> foreignStandardQueryWrapper = new QueryWrapper<>();
|
||||||
|
foreignStandardQueryWrapper.eq(FieldCommon.STANDARD_NUMBER, cellValue);
|
||||||
|
LawsOverseasStandard lawsOverseasStandard = overseasStandardService.getOne(foreignStandardQueryWrapper);
|
||||||
|
if (lawsOverseasStandard != null) {
|
||||||
|
log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "已存在 ");
|
||||||
|
errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("已存在 ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 单选时间
|
||||||
|
if (FieldShowTypeEnum.SINGLE_DATE_PICKER.getValue().equals(tag.getFieldShowType())) {
|
||||||
|
Date date = cell.getDateCellValue();
|
||||||
|
// 创建一个SimpleDateFormat对象,并指定所需的格式
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
// 使用SimpleDateFormat对象的format方法将Date对象转换为字符串
|
||||||
|
cellValue = sdf.format(date);
|
||||||
|
}
|
||||||
|
// 字段长度校验
|
||||||
|
if (FieldShowTypeEnum.TEXT_BOX.getValue().equals(tag.getFieldShowType())) {
|
||||||
|
if (cellValue.length() > 50) {
|
||||||
|
log.error("第" + row + "列输入的" + tag.getDbFieldTxt() + "超过50字 ");
|
||||||
|
errMsg.append("第").append(row).append("列输入的").append(tag.getDbFieldTxt()).append("超过50字 ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (FieldShowTypeEnum.MULTI_TEXT.getValue().equals(tag.getFieldShowType())) {
|
||||||
|
if (cellValue.length() > 500) {
|
||||||
|
log.error("第" + row + "列字段" + tag.getDbFieldTxt() + "超过500字 ");
|
||||||
|
errMsg.append("第").append(row).append("列字段").append(tag.getDbFieldTxt()).append("超过500字 ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 下拉单选
|
||||||
|
if (FieldShowTypeEnum.DROPDOWN_SINGLE_SELECT.getValue().equals(tag.getFieldShowType()) ||
|
||||||
|
FieldShowTypeEnum.DROPDOWN_MULTI_SELECT.getValue().equals(tag.getFieldShowType())) {
|
||||||
|
if (!this.dictValid(tag.getDictField(), cellValue)) {
|
||||||
|
log.error("第" + row + "列选项" + tag.getDbFieldTxt() + "填写错误 ");
|
||||||
|
errMsg.append("第").append(row).append("列选项").append(tag.getDbFieldTxt()).append("填写错误 ");
|
||||||
|
} else {
|
||||||
|
// 转为value
|
||||||
|
cellValue = this.convertDictValue(tag.getDictField(), cellValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 单选组织机构
|
||||||
|
if (FieldShowTypeEnum.SINGLE_ORGANIZATION_DIALOG.getValue().equals(tag.getFieldShowType())) {
|
||||||
|
if (!this.singleOrgValid(cellValue)) {
|
||||||
|
log.error("第" + row + "列选项" + tag.getDbFieldTxt() + "填写错误 ");
|
||||||
|
errMsg.append("第").append(row).append("列选项").append(tag.getDbFieldTxt()).append("填写错误 ");
|
||||||
|
} else {
|
||||||
|
// 转为id
|
||||||
|
cellValue = this.convertSingleOrgId(cellValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 单选人员
|
||||||
|
if (FieldShowTypeEnum.SINGLE_USER_DIALOG.getValue().equals(tag.getFieldShowType())) {
|
||||||
|
if (!this.singleUserValid(cellValue)) {
|
||||||
|
log.error("第" + row + "列选项" + tag.getDbFieldTxt() + "填写错误 ");
|
||||||
|
errMsg.append("第").append(row).append("列选项").append(tag.getDbFieldTxt()).append("填写错误 ");
|
||||||
|
} else {
|
||||||
|
// 转为id
|
||||||
|
cellValue = this.convertSingleUserId(cellValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 多选组织机构
|
||||||
|
if (FieldShowTypeEnum.MULTI_ORGANIZATION_DIALOG.getValue().equals(tag.getFieldShowType())) {
|
||||||
|
if (!this.multiOrgValid(cellValue)) {
|
||||||
|
log.error("第" + row + "列选项" + tag.getDbFieldTxt() + "填写错误 ");
|
||||||
|
errMsg.append("第").append(row).append("列选项").append(tag.getDbFieldTxt()).append("填写错误 ");
|
||||||
|
} else {
|
||||||
|
// 转为id
|
||||||
|
cellValue = this.convertMultiOrgId(cellValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 零部件
|
||||||
|
if (tag.getDbFieldName().equals("part_name") && StrUtil.isNotBlank(cellValue)) {
|
||||||
|
if (!this.partValid(cellValue)) {
|
||||||
|
log.error("第" + row + "列选项" + tag.getDbFieldTxt() + "填写错误 ");
|
||||||
|
errMsg.append("第").append(row).append("列选项").append(tag.getDbFieldTxt()).append("填写错误 ");
|
||||||
|
} else {
|
||||||
|
// 转为id
|
||||||
|
cellValue = this.convertPartId(cellValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 体系
|
||||||
|
if (FieldCommon.STANDARD_SYSTEM.equals(tag.getDbFieldName())) {
|
||||||
|
if (!this.standardSystemValid(cellValue)) {
|
||||||
|
log.error("第" + row + "列选项" + tag.getDbFieldTxt() + "填写错误 ");
|
||||||
|
errMsg.append("第").append(row).append("列选项").append(tag.getDbFieldTxt()).append("填写错误 ");
|
||||||
|
} else {
|
||||||
|
// 转为id
|
||||||
|
cellValue = this.convertStandardSystem(cellValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 文件
|
||||||
|
if (FieldShowTypeEnum.FILE_UPLOAD.getValue().equals(tag.getFieldShowType())) {
|
||||||
|
if (!this.fileValid(cellValue, fileMap)) {
|
||||||
|
log.error("第" + row + "列选项" + tag.getDbFieldTxt() + "填写错误 ");
|
||||||
|
errMsg.append("第").append(row).append("列选项").append(tag.getDbFieldTxt()).append("填写错误 ");
|
||||||
|
} else {
|
||||||
|
// 转为id
|
||||||
|
cellValue = this.convertFileIds(cellValue, fileMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 多选时间
|
||||||
|
if (FieldShowTypeEnum.MULTI_DATE_PICKER.getValue().equals(tag.getFieldShowType())) {
|
||||||
|
if (!this.multiDateValid(cellValue)) {
|
||||||
|
log.error("第" + row + "列选项" + tag.getDbFieldTxt() + "填写错误 ");
|
||||||
|
errMsg.append("第").append(row).append("列选项").append(tag.getDbFieldTxt()).append("填写错误 ");
|
||||||
|
} else {
|
||||||
|
// 转为id
|
||||||
|
cellValue = this.multiDateConvert(cellValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将转好的值加入Map
|
||||||
|
parameterMap.put(tag.getDbFieldName(), cellValue);
|
||||||
|
// 企标稽查内容文件导入
|
||||||
|
if (FieldShowTypeEnum.INSPECT_CONTENT_FILE_UPLOAD.getValue().equals(tag.getFieldShowType())) {
|
||||||
|
if (!this.inspectContentFileValid(cellValue, fileMap)) {
|
||||||
|
log.error("第" + row + "列选项" + tag.getDbFieldTxt() + "填写错误 ");
|
||||||
|
errMsg.append("第").append(row).append("列选项").append(tag.getDbFieldTxt()).append("填写错误 ");
|
||||||
|
} else {
|
||||||
|
// 转为List
|
||||||
|
// 将转好的值加入Map
|
||||||
|
parameterMap.put(tag.getDbFieldName(), this.convertInspectContentFile(cellValue, fileMap));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
errMsgList.add(errMsg.toString());
|
||||||
// 单选时间
|
insertDataList.add(parameterMap);
|
||||||
if (FieldShowTypeEnum.SINGLE_DATE_PICKER.getValue().equals(tag.getFieldShowType())) {
|
|
||||||
Date date = cell.getDateCellValue();
|
|
||||||
// 创建一个SimpleDateFormat对象,并指定所需的格式
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
||||||
// 使用SimpleDateFormat对象的format方法将Date对象转换为字符串
|
|
||||||
cellValue = sdf.format(date);
|
|
||||||
}
|
|
||||||
// 字段长度校验
|
|
||||||
if (FieldShowTypeEnum.TEXT_BOX.getValue().equals(tag.getFieldShowType())) {
|
|
||||||
if (cellValue.length() > 50) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列输入的" + tag.getDbFieldTxt() + "超过50字");
|
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列输入的" + tag.getDbFieldTxt() + "超过50字");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (FieldShowTypeEnum.MULTI_TEXT.getValue().equals(tag.getFieldShowType())) {
|
|
||||||
if (cellValue.length() > 500) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列字段" + tag.getDbFieldTxt() + "超过500字");
|
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列字段" + tag.getDbFieldTxt() + "超过500字");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 下拉单选
|
|
||||||
if (FieldShowTypeEnum.DROPDOWN_SINGLE_SELECT.getValue().equals(tag.getFieldShowType()) ||
|
|
||||||
FieldShowTypeEnum.DROPDOWN_MULTI_SELECT.getValue().equals(tag.getFieldShowType())) {
|
|
||||||
if (!this.dictValid(tag.getDictField(), cellValue)) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
} else {
|
|
||||||
// 转为value
|
|
||||||
cellValue = this.convertDictValue(tag.getDictField(), cellValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 单选组织机构
|
|
||||||
if (FieldShowTypeEnum.SINGLE_ORGANIZATION_DIALOG.getValue().equals(tag.getFieldShowType())) {
|
|
||||||
if (!this.singleOrgValid(cellValue)) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
} else {
|
|
||||||
// 转为id
|
|
||||||
cellValue = this.convertSingleOrgId(cellValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 单选人员
|
|
||||||
if (FieldShowTypeEnum.SINGLE_USER_DIALOG.getValue().equals(tag.getFieldShowType())) {
|
|
||||||
if (!this.singleUserValid(cellValue)) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
} else {
|
|
||||||
// 转为id
|
|
||||||
cellValue = this.convertSingleUserId(cellValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 多选组织机构
|
|
||||||
if (FieldShowTypeEnum.MULTI_ORGANIZATION_DIALOG.getValue().equals(tag.getFieldShowType())) {
|
|
||||||
if (!this.multiOrgValid(cellValue)) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
} else {
|
|
||||||
// 转为id
|
|
||||||
cellValue = this.convertMultiOrgId(cellValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 零部件
|
|
||||||
if (tag.getDbFieldName().equals("part_name") && StrUtil.isNotBlank(cellValue)) {
|
|
||||||
if (!this.partValid(cellValue)) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
} else {
|
|
||||||
// 转为id
|
|
||||||
cellValue = this.convertPartId(cellValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 体系
|
|
||||||
if (FieldCommon.STANDARD_SYSTEM.equals(tag.getDbFieldName())) {
|
|
||||||
if (!this.standardSystemValid(cellValue)) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
} else {
|
|
||||||
// 转为id
|
|
||||||
cellValue = this.convertStandardSystem(cellValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 文件
|
|
||||||
if (FieldShowTypeEnum.FILE_UPLOAD.getValue().equals(tag.getFieldShowType())) {
|
|
||||||
if (!this.fileValid(cellValue, fileMap)) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
} else {
|
|
||||||
// 转为id
|
|
||||||
cellValue = this.convertFileIds(cellValue, fileMap);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 多选时间
|
|
||||||
if (FieldShowTypeEnum.MULTI_DATE_PICKER.getValue().equals(tag.getFieldShowType())) {
|
|
||||||
if (!this.multiDateValid(cellValue)) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
} else {
|
|
||||||
// 转为id
|
|
||||||
cellValue = this.multiDateConvert(cellValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 将转好的值加入Map
|
|
||||||
parameterMap.put(tag.getDbFieldName(), cellValue);
|
|
||||||
// 企标稽查内容文件导入
|
|
||||||
if (FieldShowTypeEnum.INSPECT_CONTENT_FILE_UPLOAD.getValue().equals(tag.getFieldShowType())) {
|
|
||||||
if (!this.inspectContentFileValid(cellValue, fileMap)) {
|
|
||||||
log.error("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
errMsgList.add("第" + (i + 1) + "行第" + (j + 1) + "列选项" + tag.getDbFieldTxt() + "填写错误");
|
|
||||||
} else {
|
|
||||||
// 转为List
|
|
||||||
// 将转好的值加入Map
|
|
||||||
parameterMap.put(tag.getDbFieldName(), this.convertInspectContentFile(cellValue, fileMap));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return errMsgList;
|
return errMsgList;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user