fix: 导入零部件字段改为字典Id

This commit is contained in:
2023-09-28 15:59:45 +08:00
parent 50e382f6ef
commit c11ae21265
@@ -13,8 +13,10 @@ import com.jero.modules.laws.standard.service.ILawsTreeNodeService;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysDepartService;
import com.jero.modules.system.service.ISysDictItemService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.tag.entity.LawsTag;
import com.jero.modules.tag.enums.FieldShowTypeEnum;
@@ -58,7 +60,9 @@ public class ImportUtil {
@Resource
private IOSSFileService ossFileService;
@Resource
private ISysDictItemService sysDictItemService;
public List<String> allColumnValid(Cell cell, LawsTag tag, int i, int j, Map<String, Object> parameterMap, Map<String, File> fileMap) {
List<String> errMsgList = new ArrayList<>();
@@ -300,14 +304,14 @@ public class ImportUtil {
// 零部件转换
public String convertPartId(String cellValue) {
String[] valueList = cellValue.split("");
Map<String, DictModel> sexDictModelMap =
sysBaseAPI.getDictItems("Part Name").stream()
.collect(Collectors.toMap(DictModel::getText, d -> d));
List<String> valueList = Arrays.asList(cellValue.split(""));
LambdaQueryWrapper<SysDictItem> sysDictItemLambdaQueryWrapper = new LambdaQueryWrapper<>();
sysDictItemLambdaQueryWrapper.in(SysDictItem::getItemText, valueList);
Map<String, String> idMap = sysDictItemService.list(sysDictItemLambdaQueryWrapper).stream()
.collect(Collectors.toMap(SysDictItem::getItemText, SysDictItem::getId));
StringBuilder result = new StringBuilder();
for (String value : valueList) {
result.append(sexDictModelMap.get(value).getValue()).append(",");
result.append(idMap.get(value)).append(",");
}
// 去除掉最后的逗号
return result.substring(0, result.length() - 1);
@@ -401,11 +405,11 @@ public class ImportUtil {
// 零部件
public boolean partValid(String cellValue) {
String[] valueList = cellValue.split("");
List<DictModel> educationDictModelList = sysBaseAPI.getDictItems("Part Name");
Map<String, DictModel> sexDictModelMap = educationDictModelList.stream()
List<DictModel> partDictModelList = sysBaseAPI.getDictItems("Part Name");
Map<String, DictModel> partDictModelMap = partDictModelList.stream()
.collect(Collectors.toMap(DictModel::getText, d -> d));
for (String value : valueList) {
if (sexDictModelMap.get(value) == null) {
if (!partDictModelMap.containsKey(value)) {
return false;
}
}