You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
215 lines
11 KiB
215 lines
11 KiB
using Newtonsoft.Json;
|
|
using NFine.Code;
|
|
using NFine.Data.Extensions;
|
|
using NFine.Domain._03_Entity.SystemManage;
|
|
using NFine.Domain.Entity.SystemManage;
|
|
using NFine.Domain.IRepository.SystemManage;
|
|
using NFine.Repository;
|
|
using NFine.Repository.SystemManage;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace NFine.Application.SystemManage
|
|
{
|
|
public class DataActionApp : RepositoryFactory<ModuleEntity>
|
|
{
|
|
public string DataActionSqlGet(string MenuID)
|
|
{
|
|
OperatorModel oo = NFine.Code.OperatorProvider.Provider.GetCurrent();
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string sqlstr = string.Empty;
|
|
try
|
|
{
|
|
string sql = @" select B.DataActionId from Sys_SRM_User A
|
|
INNER JOIN Sys_RoleDataPower B ON B.RoleId=A.F_RoleId
|
|
where F_Account='{0}' and F_Location in({1})";
|
|
sql = string.Format(sql, MUSER, WorkPoint.TrimEnd(','));
|
|
DataTable dt = SqlHelper.GetDataTableBySql(sql);
|
|
if (dt.Rows.Count == 0)
|
|
{
|
|
sqlstr = "";
|
|
}
|
|
else
|
|
{
|
|
string DataActionID = "";
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
DataActionID += "'" + dr["DataActionId"].ToString() + "',";
|
|
}
|
|
sql = @" SELECT CCaption 条件名称, CValueBegin 起始值,CValueEnd 结束值
|
|
from Sys_FormDataAction con
|
|
where con.ID in ({0}) AND con.SourceId='{1}'";
|
|
sql = string.Format(sql, DataActionID.TrimEnd(','), MenuID);
|
|
dt = SqlHelper.GetDataTableBySql(sql);
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
if (dr["起始值"].ToString() != "" && dr["结束值"].ToString() != "")
|
|
{
|
|
sqlstr += " and " + dr["条件名称"].ToString() + " >= '" + dr["起始值"].ToString() + @"'
|
|
and " + dr["条件名称"].ToString() + " <= '" + dr["结束值"].ToString() + "'";
|
|
}
|
|
else if (dr["起始值"].ToString() == "" && dr["结束值"].ToString() == "")
|
|
{
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
string wherestr = "";
|
|
if (dr["起始值"].ToString() != "")
|
|
{
|
|
if (dr["起始值"].ToString().Contains(','))
|
|
{
|
|
string[] strList = dr["起始值"].ToString().Split(',');
|
|
foreach (string str in strList)
|
|
{
|
|
wherestr += "'" + str + "',";
|
|
}
|
|
wherestr = wherestr.TrimEnd(',');
|
|
sqlstr += " and " + dr["条件名称"].ToString() + " IN (" + wherestr + ")";
|
|
}
|
|
else
|
|
{
|
|
sqlstr += " and " + dr["条件名称"].ToString() + " = '" + dr["起始值"].ToString() + "'";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (dr["结束值"].ToString().Contains(','))
|
|
{
|
|
string[] strList = dr["结束值"].ToString().Split(',');
|
|
foreach (string str in strList)
|
|
{
|
|
wherestr += "'" + str + "',";
|
|
}
|
|
wherestr = wherestr.TrimEnd(',');
|
|
sqlstr += " and " + dr["条件名称"].ToString() + " IN (" + wherestr + ")";
|
|
}
|
|
else
|
|
{
|
|
sqlstr += " and " + dr["条件名称"].ToString() + " = '" + dr["结束值"].ToString() + "'";
|
|
}
|
|
}
|
|
}
|
|
if (dr["起始值"].ToString().Contains("[AppConfig.WorkPointCode]") || dr["起始值"].ToString().Contains("[AppConfig.UserId]")
|
|
|| dr["起始值"].ToString().Contains("[AppConfig.UserCode]") || dr["起始值"].ToString().Contains("[AppConfig.UserName]")
|
|
|| dr["起始值"].ToString().Contains("[AppConfig.RoleCode]"))
|
|
{
|
|
sqlstr = sqlstr.Replace("[AppConfig.WorkPointCode]", oo.Location);
|
|
sqlstr = sqlstr.Replace("[AppConfig.UserId]", oo.UserId);
|
|
sqlstr = sqlstr.Replace("[AppConfig.UserCode]", oo.UserCode);
|
|
sqlstr = sqlstr.Replace("[AppConfig.UserName]", oo.UserName);
|
|
sqlstr = sqlstr.Replace("[AppConfig.RoleCode]", oo.RoleEnCode);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
return sqlstr;
|
|
}
|
|
|
|
public string DataActionSqlGet()
|
|
{
|
|
OperatorModel oo = NFine.Code.OperatorProvider.Provider.GetCurrent();
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string sqlstr = string.Empty;
|
|
try
|
|
{
|
|
string sql = @" select B.DataActionId from Sys_SRM_User A
|
|
INNER JOIN Sys_RoleDataPower B ON B.RoleId=A.F_RoleId
|
|
where F_Account='{0}' and F_Location='{1}'";
|
|
sql = string.Format(sql, MUSER, WorkPoint);
|
|
DataTable dt = SqlHelper.GetDataTableBySql(sql);
|
|
if (dt.Rows.Count == 0)
|
|
{
|
|
sqlstr = "";
|
|
}
|
|
else
|
|
{
|
|
string DataActionID = "";
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
DataActionID += "'" + dr["DataActionId"].ToString() + "',";
|
|
}
|
|
sql = @" SELECT CCaption 条件名称, CValueBegin 起始值,CValueEnd 结束值
|
|
from Sys_FormDataAction con
|
|
where con.ID in ({0})";
|
|
sql = string.Format(sql, DataActionID.TrimEnd(','));
|
|
dt = SqlHelper.GetDataTableBySql(sql);
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
if (dr["起始值"].ToString() != "" && dr["结束值"].ToString() != "")
|
|
{
|
|
sqlstr += " and " + dr["条件名称"].ToString() + " >= '" + dr["起始值"].ToString() + @"'
|
|
and " + dr["条件名称"].ToString() + " <= '" + dr["结束值"].ToString() + "'";
|
|
}
|
|
else if (dr["起始值"].ToString() == "" && dr["结束值"].ToString() == "")
|
|
{
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
string wherestr = "";
|
|
if (dr["起始值"].ToString() != "")
|
|
{
|
|
if (dr["起始值"].ToString().Contains(','))
|
|
{
|
|
string[] strList = dr["起始值"].ToString().Split(',');
|
|
foreach (string str in strList)
|
|
{
|
|
wherestr += "'" + str + "',";
|
|
}
|
|
wherestr = wherestr.TrimEnd(',');
|
|
sqlstr += " and " + dr["条件名称"].ToString() + " IN (" + wherestr + ")";
|
|
}
|
|
else
|
|
{
|
|
sqlstr += " and " + dr["条件名称"].ToString() + " = '" + dr["起始值"].ToString() + "'";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (dr["结束值"].ToString().Contains(','))
|
|
{
|
|
string[] strList = dr["结束值"].ToString().Split(',');
|
|
foreach (string str in strList)
|
|
{
|
|
wherestr += "'" + str + "',";
|
|
}
|
|
wherestr = wherestr.TrimEnd(',');
|
|
sqlstr += " and " + dr["条件名称"].ToString() + " IN (" + wherestr + ")";
|
|
}
|
|
else
|
|
{
|
|
sqlstr += " and " + dr["条件名称"].ToString() + " = '" + dr["结束值"].ToString() + "'";
|
|
}
|
|
}
|
|
}
|
|
if (dr["起始值"].ToString().Contains("[AppConfig.WorkPointCode]") || dr["起始值"].ToString().Contains("[AppConfig.UserId]")
|
|
|| dr["起始值"].ToString().Contains("[AppConfig.UserCode]") || dr["起始值"].ToString().Contains("[AppConfig.UserName]")
|
|
|| dr["起始值"].ToString().Contains("[AppConfig.RoleCode]"))
|
|
{
|
|
sqlstr = sqlstr.Replace("[AppConfig.WorkPointCode]", oo.Location);
|
|
sqlstr = sqlstr.Replace("[AppConfig.UserId]", oo.UserId);
|
|
sqlstr = sqlstr.Replace("[AppConfig.UserCode]", oo.UserCode);
|
|
sqlstr = sqlstr.Replace("[AppConfig.UserName]", oo.UserName);
|
|
sqlstr = sqlstr.Replace("[AppConfig.RoleCode]", oo.RoleEnCode);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
return sqlstr;
|
|
}
|
|
}
|
|
}
|