bug51153修改

This commit is contained in:
liyawei
2022-04-24 14:38:21 +08:00
parent 5666119fb8
commit bc5f9e61dc
5 changed files with 64 additions and 0 deletions
@@ -80,6 +80,8 @@ public interface BussDocumentLibraryEOMapper extends BaseMapper<BussDocumentLibr
List<Map<String,Object>> getListBySerialNumber(@Param("serialNumbers") String serialNumbers);
List<String> getListBySerialNumberFuzzy(@Param("serialNumber") String serialNumber);
List<Map<String,Object>> selectMapsAll(@Param("ids") String ids);
@@ -61,6 +61,11 @@
</if>
</select>
<select id="getListBySerialNumberFuzzy" resultType="java.lang.String">
select id from buss_document_library
where serial_number like concat(concat('%',#{serialNumber}),'%')
</select>
<!--分页-->
<select id="selectMapsAll" resultType="java.util.LinkedHashMap">
select * from buss_document_library
@@ -196,4 +196,6 @@ public interface IBussDocumentLibraryEOService extends IService<BussDocumentLibr
List<Map<String,Object>> queryListByIds(String ids);
List<Map<String, Object>> getListBySerialNumber(String serialNumbers);
List<String> getListBySerialNumberFuzzy(String serialNumber);
}
@@ -4346,6 +4346,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
return bussDocumentLibraryEOMapper.getListBySerialNumber(serialNumbers);
}
@Override
public List<String> getListBySerialNumberFuzzy(String serialNumber) {
return bussDocumentLibraryEOMapper.getListBySerialNumberFuzzy(serialNumber);
}
/**
* 验证字符串是不是id
*
@@ -715,6 +715,56 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
} else if (FieldTypeEnum.TEXT_NUMBER.getValue().equals(fieldType)) {
Double value = Double.valueOf(entry.getValue().toString());
conditionSb.append(" and sar_file_split_items." + key + " =" + value);
} else if (FieldTypeEnum.PERSON.getValue().equals(fieldType)) {
String value = (String) entry.getValue();
if(value.contains("%")){
value = value.replace("%", "/%");
}
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(SysUser::getUsername, value);
queryWrapper.eq(SysUser::getDelFlag, 0);
List<SysUser> sysUserList = sysUserService.list(queryWrapper);
if (CollectionUtil.isNotEmpty(sysUserList)) {
List<String> userIdList = sysUserList.stream().map(SysUser::getId).collect(Collectors.toList());
StringBuilder valueSb = new StringBuilder();
StringBuilder condition = new StringBuilder();
for (String valueTemp : userIdList) {
valueSb.append("'" + valueTemp + "',");
condition.append(" or sar_file_split_items." + key + " like concat(concat('%','" + valueTemp + "'),'%')");
}
condition.append(")");
String substring = valueSb.substring(0, valueSb.length() - 1);
conditionSb.append(" and (sar_file_split_items." + key + " in(" + substring + ")" + condition.toString());
} else {
conditionSb.append(" and sar_file_split_items." + key + " like concat(concat('%','" + value + "'),'%')");
}
} else if (FieldTypeEnum.STANDARD.getValue().equals(fieldType)) {
String value = (String) entry.getValue();
if(value.contains("%")){
value = value.replace("%", "/%");
}
List<String> idList = documentLibraryEOService.getListBySerialNumberFuzzy(value);
if (CollectionUtil.isNotEmpty(idList)) {
StringBuilder valueSb = new StringBuilder();
StringBuilder condition = new StringBuilder();
for (String valueTemp : idList) {
valueSb.append("'" + valueTemp + "',");
condition.append(" or sar_file_split_items." + key + " like concat(concat('%','" + valueTemp + "'),'%')");
}
condition.append(")");
String substring = valueSb.substring(0, valueSb.length() - 1);
conditionSb.append(" and (sar_file_split_items." + key + " in(" + substring + ")" + condition.toString());
} else {
conditionSb.append(" and sar_file_split_items." + key + " like concat(concat('%','" + value + "'),'%')");
}
} else {
// 文本框,多日期
String value = (String) entry.getValue();
if(value.contains("%")){
value = value.replace("%", "/%");
}
conditionSb.append(" and sar_file_split_items." + key + " like concat(concat('%','" + value + "'),'%')");
}
}
}