fix:79098

This commit is contained in:
梁琦涛
2023-12-11 15:17:49 +08:00
parent 8474c22961
commit 23ec27618d
@@ -1952,15 +1952,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
selectCondition.append(sql).append(")"); selectCondition.append(sql).append(")");
parameterMap.remove(FieldCommon.BIDDING_COMMITTEE); parameterMap.remove(FieldCommon.BIDDING_COMMITTEE);
} }
// 主起草人
getSysUserSql(parameterMap, tableName, selectCondition, FieldCommon.MAIN_DRAFTING_USER);
// 主起草部门负责人
getSysUserSql(parameterMap, tableName, selectCondition, FieldCommon.MAIN_DRAFTING_UNIT_RESPONSIBLE_PERSON);
// 标准推进人
getSysUserSql(parameterMap, tableName, selectCondition, FieldCommon.STANDARD_PROMOTER);
// 责任部门负责人
getSysUserSql(parameterMap, tableName, selectCondition, FieldCommon.RESPONSIBLE_DEPARTMENT_USER);
if (idSearch) { if (idSearch) {
String idSql = idSet.stream() String idSql = idSet.stream()
@@ -1987,7 +1978,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
} }
// 如果value不为null和"",则拼接查询条件 // 如果value不为null和"",则拼接查询条件
if (StringUtils.isNotBlank(value)) { if (StringUtils.isNotBlank(value)) {
jointSelectCondition(fieldList, selectCondition, key, value); jointSelectCondition(fieldList, selectCondition, key, value, tableName);
} }
} }
@@ -2027,10 +2018,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
return selectCondition.toString(); return selectCondition.toString();
} }
private void getSysUserSql(Map<String, Object> parameterMap, String tableName, StringBuilder selectCondition, String field) { private void getSysUserSql(String tableName, StringBuilder selectCondition, String key, String value) {
String mainDraftingUser = (String) parameterMap.get(field); if (CharSequenceUtil.isNotBlank(value)) {
if (CharSequenceUtil.isNotBlank(mainDraftingUser)) { List<String> strData = Arrays.asList(value.split(","));
List<String> strData = Arrays.asList(mainDraftingUser.split(","));
StringBuilder str = new StringBuilder(); StringBuilder str = new StringBuilder();
for (int i = 0; i < strData.size(); i++) { for (int i = 0; i < strData.size(); i++) {
str.append("realname").append(" like '%").append(strData.get(i)).append("%' "); str.append("realname").append(" like '%").append(strData.get(i)).append("%' ");
@@ -2038,10 +2028,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
str.append(" and "); str.append(" and ");
} }
} }
String sql = "and exists (select id from sys_user where " + tableName + "." + field + " = id" + String sql = "and exists (select id from sys_user where " + tableName + "." + key + " = id" +
" and del_flag = 0 and " + str + ")"; " and del_flag = 0 and " + str + ")";
selectCondition.append(sql); selectCondition.append(sql);
parameterMap.remove(field);
} }
} }
@@ -2106,7 +2095,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
* @Date: 2023/8/25 10:58 * @Date: 2023/8/25 10:58
* @Description: 拼接查询条件 * @Description: 拼接查询条件
**/ **/
private void jointSelectCondition(List<LawsTag> fieldList, StringBuilder selectCondition, String key, String value) { private void jointSelectCondition(List<LawsTag> fieldList, StringBuilder selectCondition, String key, String value, String tableName) {
for (LawsTag lawsTag : fieldList) { for (LawsTag lawsTag : fieldList) {
String dbFieldName = lawsTag.getDbFieldName(); String dbFieldName = lawsTag.getDbFieldName();
if (Objects.equals(key, dbFieldName)) { if (Objects.equals(key, dbFieldName)) {
@@ -2119,7 +2108,12 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
manyOption(selectCondition, key, value); manyOption(selectCondition, key, value);
} else if (FieldCommon.TYPE_SIMPLE_OPTION.contains(fieldShowType)) { } else if (FieldCommon.TYPE_SIMPLE_OPTION.contains(fieldShowType)) {
// 单选 // 单选
simpleOption(selectCondition, key, value); // 单选用户弹框
if(Objects.equals(LawsFieldTypeEnum.USER_SINGLE.getValue(),fieldShowType)){
getSysUserSql(tableName,selectCondition, key, value);
}else{
simpleOption(selectCondition, key, value);
}
} else if (LawsFieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) { } else if (LawsFieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
// 单日期查询 // 单日期查询
processDateSingleTypeCondition(selectCondition, key, value); processDateSingleTypeCondition(selectCondition, key, value);