Commit 1906be4a by jianshuqin

优化:组件功能

parent c39909d2
...@@ -8,11 +8,11 @@ ...@@ -8,11 +8,11 @@
/// <summary> /// <summary>
/// 字段名称 /// 字段名称
/// </summary> /// </summary>
public object Value { get; set; } public object value { get; set; }
/// <summary> /// <summary>
/// 操作 /// 操作
/// </summary> /// </summary>
public string Display { get; set; } public string display { get; set; }
} }
} }
\ No newline at end of file
...@@ -56,12 +56,19 @@ namespace Bailun.DC.Services.Component ...@@ -56,12 +56,19 @@ namespace Bailun.DC.Services.Component
var paramIndex = entity.value.IndexOf("@"); var paramIndex = entity.value.IndexOf("@");
if (paramIndex >= 0) if (paramIndex >= 0)
{ {
foreach (Match item in Regex.Matches(entity.value.Substring(paramIndex), @"^@\w+[^\w]*")) foreach (Match item in Regex.Matches(entity.value.Substring(paramIndex), @"@\w+[^\w]*"))
{ {
string paramName = item.Value.Substring(1, Regex.Match(item.Value.Substring(1), @"[^\w]*$").Index); string paramName = item.Value.Substring(1, Regex.Match(item.Value.Substring(1), @"[^\w]*$").Index);
if (!sqlparam.ParameterNames.Contains(paramName)) if (!sqlparam.ParameterNames.Contains(paramName))
{ {
sqlparam.Add(paramName, null); if (entity.value.Substring(0, paramIndex + item.Index).TrimEnd().EndsWith("in", StringComparison.OrdinalIgnoreCase))
{
sqlparam.Add(paramName, new string[] { "" });
}
else
{
sqlparam.Add(paramName, null);
}
} }
} }
} }
......
...@@ -684,23 +684,17 @@ namespace Bailun.DC.Services.Component ...@@ -684,23 +684,17 @@ namespace Bailun.DC.Services.Component
sqlparam.Add($"@{fieldFilter.Field}", fieldFilter.Value); sqlparam.Add($"@{fieldFilter.Field}", fieldFilter.Value);
} }
//其他操作符 //其他操作符
else if (!fieldFilter.Operator.ToUpper().Equals("IN"))
{
sql.Append($"{sp}@{fieldFilter.Field}{sp2} ");
sqlparam.Add($"@{fieldFilter.Field}", fieldFilter.Value);
}
//IN
else else
{ {
sql.Append("( "); sql.Append($"{sp}@{fieldFilter.Field}{sp2} ");
string[] fieldValues = fieldFilter.Value.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); if (!fieldFilter.Operator.ToUpper().Equals("IN"))
for (int i = 0; i < fieldValues.Length; i++) {
sqlparam.Add($"@{fieldFilter.Field}", fieldFilter.Value);
}
else
{ {
sql.Append($"{sp}@{fieldFilter.Field + i.ToString()}{sp2}, "); sqlparam.Add($"@{fieldFilter.Field}", fieldFilter.Value.Split(",", StringSplitOptions.RemoveEmptyEntries));
sqlparam.Add($"@{fieldFilter.Field}{i}", fieldValues[i]);
} }
sql.Length -= 2;
sql.Append(" ) ");
} }
} }
} }
...@@ -809,12 +803,19 @@ namespace Bailun.DC.Services.Component ...@@ -809,12 +803,19 @@ namespace Bailun.DC.Services.Component
var paramIndex = entity.DataValue.IndexOf("@"); var paramIndex = entity.DataValue.IndexOf("@");
if (paramIndex >= 0) if (paramIndex >= 0)
{ {
foreach (Match item in Regex.Matches(entity.DataValue.Substring(paramIndex), @"^@\w+[^\w]*")) foreach (Match item in Regex.Matches(entity.DataValue.Substring(paramIndex), @"@\w+[^\w]*"))
{ {
string paramName = item.Value.Substring(1, Regex.Match(item.Value.Substring(1), @"[^\w]*$").Index); string paramName = item.Value.Substring(1, Regex.Match(item.Value.Substring(1), @"[^\w]*$").Index);
if (!sqlparam.ParameterNames.Contains(paramName)) if (!sqlparam.ParameterNames.Contains(paramName))
{ {
setSql += $"SET @{paramName} = null;"; if (entity.DataValue.Substring(0, paramIndex + item.Index).TrimEnd().EndsWith("in", StringComparison.OrdinalIgnoreCase))
{
sqlparam.Add(paramName, new string[] { "" });
}
else
{
sqlparam.Add(paramName, null);
}
} }
} }
} }
......
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
if (parentItem && parentItem.value) { if (parentItem && parentItem.value) {
params[item.parentProp] = parentItem.value; params[item.parentProp] = parentItem.value;
} else { } else {
params[item.parentProp] = null; delete params[item.parentProp];
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment