必选修规则 厂区/员工/部门/岗位/课程/厂区 新增多选查询

master
xiaochanghai 11 months ago
parent d2e25cf1ac
commit f37485e8f9
  1. 56
      Tiobon.Core.Services/BASE/BaseServices.cs
  2. 53
      Tiobon.Core.Services/Ghre/Ghre_StudyRuleServices.cs

@ -762,61 +762,7 @@ public class BaseServices<TEntity, TEntityDto, TInsertDto, TEditDto> : IBaseServ
if (name == "page" || name == "pageSize" || !properties.Any(x => x.Name == name)) if (name == "page" || name == "pageSize" || !properties.Any(x => x.Name == name))
continue; continue;
if (!string.IsNullOrWhiteSpace(value)) if (!string.IsNullOrWhiteSpace(value))
{ conditions = DealConditions(conditions, name, value);
var jsonParam = JsonHelper.JsonToObj<JsonParam>(value);
switch (jsonParam.operationKey)
{
case "Include":
conditions += $" AND {name} LIKE '%{jsonParam.columnValue}%'";
break;
case "NotInclude":
conditions += $" AND {name} NOT LIKE '%{jsonParam.columnValue}%'";
break;
case "IsNull":
conditions += $" AND {name} IS NULL";
break;
case "NotNull":
conditions += $" AND {name} IS NOT NULL";
break;
case "Equal":
conditions += $" AND {name} ='{jsonParam.columnValue}'";
break;
case "NotEqual":
conditions += $" AND {name} !='{jsonParam.columnValue}'";
break;
case "GreaterOrEqual"://大于等于
conditions += $" AND {name} >='{jsonParam.columnValue}'";
break;
case "Greater"://大于
conditions += $" AND {name} >'{jsonParam.columnValue}'";
break;
case "LessOrEqual"://小于等于
conditions += $" AND {name} <='{jsonParam.columnValue}'";
break;
case "Less"://小于
conditions += $" AND {name} <'{jsonParam.columnValue}'";
break;
case "EqualAny"://
if (jsonParam.columnValue != null)
{
var ids = JsonHelper.JsonToObj<List<string>>(jsonParam.columnValue.ToString());
conditions += $" AND {name} IN ({string.Join(",", ids.Select(id => "'" + id + "'"))})";
}
break;
case "NotEqualAny"://
if (jsonParam.columnValue != null)
{
var ids = JsonHelper.JsonToObj<List<string>>(jsonParam.columnValue.ToString());
conditions += $" AND {name} NOT IN ({string.Join(",", ids.Select(id => "'" + id + "'"))})";
}
break;
default:
break;
}
}
} }
sql += conditions; sql += conditions;

@ -67,53 +67,32 @@ public class Ghre_StudyRuleServices : BaseServices<Ghre_StudyRule, Ghre_StudyRul
var value = jProperty.Value.ToString(); var value = jProperty.Value.ToString();
if (name == "page" || name == "pageSize") if (name == "page" || name == "pageSize")
continue; continue;
//if (name == "Date") if (name == "StaffId")
//{
// var jsonParam = JsonConvert.DeserializeObject<JsonParam1>(value);
// conditions += $" AND (Date BETWEEN '{jsonParam.columnValue[0]}' AND '{jsonParam.columnValue[1]}')";
// continue;
//}
if (!string.IsNullOrWhiteSpace(value))
{ {
var jsonParam = JsonConvert.DeserializeObject<JsonParam>(value);
var jsonParam = JsonHelper.JsonToObj<JsonParam>(value);
var ids1 = JsonHelper.JsonToObj<List<string>>(jsonParam.columnValue.ToString());
if (ids1 is null)
continue;
string sql1 = $"SELECT DISTINCT B.Id from Ghre_StudyRuleStaff A join Ghre_StudyRule B ON A.StudyRuleId = B.ID WHERE B.IsEnable=1 AND A.StaffId IN ({string.Join(",", ids1.Select(id => "'" + id + "'"))})";
ids1 = await Db.Ado.SqlQueryAsync<string>(sql1);
switch (jsonParam.operationKey) switch (jsonParam.operationKey)
{ {
case "Include": case "EqualAny"://
conditions += $" AND {name} LIKE '%{jsonParam.columnValue}%'"; conditions += $" AND Id IN ({string.Join(",", ids1.Select(id => "'" + id + "'"))})";
break;
case "NotInclude":
conditions += $" AND {name} NOT LIKE '%{jsonParam.columnValue}%'";
break;
case "IsNull":
conditions += $" AND {name} IS NULL";
break;
case "NotNull":
conditions += $" AND {name} IS NOT NULL";
break;
case "Equal":
conditions += $" AND {name} ='{jsonParam.columnValue}'";
break;
case "NotEqual":
conditions += $" AND {name} !='{jsonParam.columnValue}'";
break; break;
case "GreaterOrEqual"://大于等于 case "NotEqualAny"://
conditions += $" AND {name} >='{jsonParam.columnValue}'"; conditions += $" AND Id NOT IN ({string.Join(",", ids1.Select(id => "'" + id + "'"))})";
break;
case "Greater"://大于
conditions += $" AND {name} >'{jsonParam.columnValue}'";
break;
case "LessOrEqual"://小于等于
conditions += $" AND {name} <='{jsonParam.columnValue}'";
break;
case "Less"://小于
conditions += $" AND {name} <'{jsonParam.columnValue}'";
break; break;
default: default:
break; break;
} }
continue;
} }
if (!string.IsNullOrWhiteSpace(value))
conditions = DealConditions(conditions, name, value);
} }
sql += conditions; sql += conditions;

Loading…
Cancel
Save