List<String> notStandardDictData ;
List<String> importDictData;
List<String> standardDictData;
StringBuffer failureMsg = new StringBuffer();
importDictData= detailList.stream().map(TnMdMaraTemp::getMeins).collect(Collectors.toList());
notStandardDictData = checkNotStandDictData(importDictData,null,"tn_job_mara_base_unit");
if(!CollectionUtils.isEmpty(notStandardDictData)){
String message = notStandardDictData.stream().collect(Collectors.joining(",", "",";"));
return failureMsg.append("存在非法计量单位值:").append(message).toString();
}
private List<String> checkNotStandDictData(List<String> checkList,List<String> standardList,String dictType){
List<String> newList = checkList.stream().distinct().collect(Collectors.toList());
List<String> result = newList.stream().filter(item -> (StringUtils.isNotEmpty(item) && item.length()>0)).collect(Collectors.toList());
if(CollectionUtils.isEmpty(standardList) && StringUtils.isNotEmpty(dictType)){
List<SysDictData> meinStandData = dictTypeService.selectDictDataByType(dictType);
standardList = meinStandData.stream().map(SysDictData::getDictValue).collect(Collectors.toList());
List<String> finalStandardList = standardList;
return result.stream().filter(item -> !finalStandardList.contains(item)).collect(Collectors.toList());
}else {
List<String> finalStandardList1 = standardList;
return result.stream().filter(item -> !finalStandardList1.contains(item)).collect(Collectors.toList());
}
}