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.
 
 
 
Tiobon.Web.Core/Tiobon.Core.Services/CommonServices.cs

1035 lines
51 KiB

using System.Data;
using AgileObjects.AgileMapper;
using AgileObjects.AgileMapper.Extensions;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using SqlSugar;
using Tiobon.Core.Common;
using Tiobon.Core.Common.DB.Dapper;
using Tiobon.Core.IServices;
using Tiobon.Core.Model;
using Tiobon.Core.Model.Models;
using Tiobon.Core.Services.BASE;
namespace Tiobon.Core.Services;
public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommonServices
{
IHttpContextAccessor _httpContextAccessor;
ILogger<PayServices> _logger;
public CommonServices(ILogger<PayServices> logger, IHttpContextAccessor httpContextAccessor)
{
_logger = logger;
_httpContextAccessor = httpContextAccessor;
}
#region 获取菜单
/// <summary>
/// 获取菜单
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
public async Task<ServiceResult<MenuReturn>> GetMenuAsync([FromBody] MenuParam param)
{
var result = new MenuReturn();
string sql = "SELECT MenuID, MenuType FROM Ghrs_Menu WHERE IsEnable = 1 AND MenuNo = '{0}'";
sql = string.Format(sql, param.menuName);
DataTable dt = await DbAccess.GetDataTableAsync(sql);
int MenuID = 0;
string MenuType = string.Empty;
if (dt.Rows.Count > 0)
{
MenuID = int.Parse(dt.Rows[0]["MenuID"].ToString());
MenuType = dt.Rows[0]["MenuType"].ToString();
}
switch (MenuType)
{
case "MenuForm":
{
sql = @"SELECT MenuNo,
[dbo].[FLangKeyToValue] (MKey, {0}, MenuName) MenuName,
IconType,
MenuUrl,
[dbo].[FParaDetailNoToName] ('GHRPara',
'MenuGroupTitle',
MenuGroupTitle,
{0},
1) MenuGroupTitle
FROM Ghrs_Menu
WHERE ParentmenuID ='{1}'
AND IsEnable = 1
AND (SELECT count (1)
FROM Ghrs_UserRole
WHERE UserID = '{2}'
AND IsEnable = 1
AND dbo.Fs_GetMenuIsCheckByRole (RoleId, MenuID, '') > 0) >
0
ORDER BY SortNo";
sql = string.Format(sql, param.langId, MenuID, App.User.ID);
result.DT_SubMenu = await Db.Ado.SqlQueryAsync<DT_SubMenu>(sql);
sql = @"SELECT iif (MenuColDisplayType ! = 'Tile', 'Tab', 'Tile') MenuColType
FROM Ghrs_Menu
WHERE menuID = 120";
sql = string.Format(sql, MenuID);
result.DT_MenuColType = await Db.Ado.SqlQueryAsync<DT_MenuColType>(sql);
break;
}
default:
{
break;
}
}
return new ServiceResult<MenuReturn>() { Success = true, Message = "查询成功", Data = result, };
}
#endregion
#region 获取模块信息
/// <summary>
/// 获取模块信息
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
public async Task<ServiceResult<ModuleReturn>> GetModuleInfoAsync([FromBody] ModuleParam param)
{
var result = new ModuleReturn();
#region 定义页面的操作按钮
string sql = @"SELECT fnKey,
fnKeyValue,
[dbo].[FLangKeyToValue] (fnKeyValue, {2}, fnKeyValue) fnTitle,
fnType,
position,
icon,
'true' display
FROM (SELECT CASE
WHEN substring (fnKey, 3, 99) + 'YN' = 'NewYN' THEN 1
WHEN substring (fnKey, 3, 99) + 'YN' = 'ToExcelYN' THEN 2
WHEN substring (fnKey, 3, 99) + 'YN' = 'FromExcelYN' THEN 3
WHEN substring (fnKey, 3, 99) + 'YN' = 'BatchUpdateYN' THEN 4
WHEN substring (fnKey, 3, 99) + 'YN' = 'BatchDelYN' THEN 5
WHEN substring (fnKey, 3, 99) + 'YN' = 'LogYN' THEN 6
WHEN substring (fnKey, 3, 99) + 'YN' = 'ManualYN' THEN 7
WHEN substring (fnKey, 3, 99) + 'YN' = 'UpdateYN' THEN 2
WHEN substring (fnKey, 3, 99) + 'YN' = 'DelYN' THEN 4
WHEN substring (fnKey, 3, 99) + 'YN' = 'CopyYN' THEN 3
WHEN substring (fnKey, 3, 99) + 'YN' = 'DetailYN' THEN 1
ELSE 8
END fnKeySeq,
substring (fnKey, 3, 99) + 'YN' fnKey,
'Ghr_FnKey_' + fnKey fnKeyValue,
CASE
WHEN substring (fnKey, 3, 99) + 'YN' IN ('NewYN',
'ToExcelYN',
'FromExcelYN',
'BatchUpdateYN',
'BatchDelYN',
'RecycleYN',
'CancelRecycleYN',
'ManualYN',
'LogYN',
'BatchDelYN',
'BatchUpdateYN')
THEN
'table'
WHEN substring (fnKey, 3, 99) + 'YN' IN ('UpdateYN',
'DelYN',
'CopyYN',
'DetailYN')
THEN
'row'
WHEN substring (fnKey, 3, 99) + 'YN' IN ('QueryYN',
'AdvanceQueryYN',
'QuerySettingYN',
'')
THEN
'search'
ELSE
''
END fnType,
'left' position,
CASE substring (fnKey, 3, 99) + 'YN'
WHEN 'NewYN' THEN 'ghr-icon-add'
WHEN 'ToExcelYN' THEN 'ghr-file-export'
WHEN 'FromExcelYN' THEN 'ghr-file-import'
WHEN 'UpdateYN' THEN 'ghr-icon-edit'
WHEN 'BatchUpdateYN' THEN 'ghr-batch-update'
WHEN 'DelYN' THEN 'ghr-icon-trash'
WHEN 'BatchDelYN' THEN 'ghr-batch-del'
WHEN 'LogYN' THEN 'ghr-log'
WHEN 'ManualYN' THEN 'ghr-operation-manual'
WHEN 'CopyYN' THEN 'ghr-icon-copy'
WHEN 'DetailYN' THEN 'ghr-icon-eye-open'
ELSE ''
END icon
FROM (SELECT max (c.IsWaterMark) IsWaterMark,
max (c.IsPWDAgain) IsPWDAgain,
max (c.IsFromExcel) IsFromExcel,
max (c.IsToExcel) IsToExcel,
max (c.IsNew) IsNew,
max (c.IsDetail) IsDetail,
max (c.IsDel) IsDel,
max (c.IsDel) IsBatchDel,
max (c.IsUpdate) IsUpdate,
max (c.IsUpdate) IsBatchUpdate,
max (c.IsQuery) IsQuery,
max (c.IsPrint) IsPrint,
0 IsLog,
max (c.IsManual) IsManual,
max (c.IsCopy) IsCopy
FROM Ghrs_UserRole a, Ghrs_RoleMenu c, Ghrs_Menu d
WHERE a.IsEnable = 1
AND c.IsEnable = 1
AND d.IsEnable = 1
AND EXISTS
(SELECT 1
FROM Ghrs_Role kk
WHERE kk.roleid = a.roleid AND kk.IsEnable = 1)
AND a.UserID = '{1}'
AND a.RoleId = c.RoleID
AND c.MenuId = d.MenuId
AND d.MenuNo = '{0}') kk
UNPIVOT (fnKeyValue
FOR fnKey
IN (IsWaterMark,
IsPWDAgain,
IsFromExcel,
IsToExcel,
IsNew,
IsDetail,
IsUpdate,
IsDel,
IsQuery,
IsPrint,
IsLog,
IsManual,
IsCopy,
IsBatchUpdate,
IsBatchDel)) AS tt
WHERE fnKeyValue > 0
UNION ALL
SELECT NULL fnKeySeq,
'QuerySettingYN' fnKey,
'GHR_Common_000064' fnTitle,
'search' fnType,
'left' position,
NULL icon
UNION ALL
SELECT NULL fnKeySeq,
'LabelYN' fnKey,
'GHR_Common_000065' fnTitle,
NULL fnType,
NULL position,
NULL icon
UNION ALL
SELECT NULL fnKeySeq,
'MoreStyleYN' fnKey,
'GHR_Common_000066' fnTitle,
NULL fnType,
NULL position,
NULL icon
UNION ALL
SELECT NULL fnKeySeq,
'SetDefault' fnKey,
[dbo].[FLangKeyToValue]('GHR_Common_000000',{2},'恢复默认') fnTitle,
'table' fnType,
'left' position,
'ghr-icon-setDefault' icon
UNION ALL
SELECT NULL fnKeySeq,
'GridView' fnKey,
'GHR_Common_000067' fnTitle,
'table' fnType,
'right' position,
'ant-design:setting-outlined' icon
UNION ALL
SELECT NULL fnKeySeq,
'DataSort' fnKey,
'GHR_Common_000045' fnTitle,
'table',
'left',
'ghr-data-sort'
UNION ALL
SELECT NULL fnKeySeq,
'Muti' fnKey,
'GHR_Common_000062' fnTitle,
'row',
'left',
'ghr-icon-global') A
WHERE fnKey NOT IN
(SELECT b.field
FROM Ghrs_UserPageSettingQueryColumn a, Ghrs_PageSettingQuery b
WHERE a.PageSettingQueryId = b.PageSettingQueryId
AND a.UserID = '{1}'
AND b.PageNo = '{0}'
AND a.IsEnable = 1
AND b.IsEnable = 1
AND a.isHidden = 'true'
AND b.elementType = 'FnKey') order by fnKeySeq";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
result.JM_PageControlT1.Toolbar = DbAccess.QueryList<Toolbar>(sql);
if (param.menuName == "F_QuestionBank")
{
var toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "NewYN").FirstOrDefault();
if (toolbar != null) { toolbar.fnKey = "TBD1YN"; }
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "UpdateYN").FirstOrDefault();
if (toolbar != null) { toolbar.fnKey = "TBD2YN"; }
}
#endregion
#region 定义表格页面的栏位, 含 表格栏位, 常用查询栏位, 高级查询栏位,可编辑栏位
Db.Ado.BeginTran();
sql = @"IF OBJECT_ID('tempdb.[dbo].[#TmpInitPageSettingQuery]') IS NOT NULL DROP TABLE [dbo].[#TmpInitPageSettingQuery]
CREATE TABLE [dbo].[#TmpInitPageSettingQuery](pageColumnID int) alter TABLE [dbo].[#TmpInitPageSettingQuery]
add [elementType] [nvarchar](1000) , [field] [nvarchar](1000) ,[label] [nvarchar](1000) ,
[meky] [nvarchar](100) , [multipleSelect] [nvarchar](1000) , [dataType] [nvarchar](1000) ,
[required] [nvarchar](1000) , [palceholder] [nvarchar](1000) , [dataSourceType] [nvarchar](1000) ,
[dataSource] [nvarchar](1000) , [sortable] [nvarchar](1000) , [sortOrder] [nvarchar](1000) ,
[defaultHidden] [nvarchar](1000) ,[ConfigIsShow] [nvarchar](1000) , [filterable] [nvarchar](1000) , [width] int,
[align] [nvarchar](1000) , [fixed] [nvarchar](1000) ,
[editable] [nvarchar](1000) , [searchable] [nvarchar](1000) , [searchRequired] [nvarchar](1000) ,
[searchColumnSeq] int , [multipleSearchValue] [nvarchar](1000) , [maxTagCount] [nvarchar](1000) ,
[selfDefine] [nvarchar](2000) , [selectUI] [nvarchar](1000) , [isPrimaryKey] [nvarchar](1000) ,
isSorted nvarchar(10),isHidden nvarchar(10),isSearched nvarchar(10),sortNo int,
[searchOperator] nvarchar(max),searchColumnDefaultValue nvarchar(1000),AppColumnType nvarchar(100)";
int count = Db.Ado.ExecuteCommand(sql);
sql = @"SELECT count (1) UserHasSetting
FROM Ghrs_UserPageSettingQueryColumn a, Ghrs_PageSettingQuery b
WHERE b.PageNo = '{0}'
AND b.IsEnable = 1
AND b.field ! = 'Muti'
AND a.UserID = '{1}'
AND a.IsEnable = 1
AND a.PageSettingQueryId = b.PageSettingQueryId";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
int UserHasSetting = Db.Ado.GetInt(sql);
if (UserHasSetting == 0)
{
sql = @"INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT PageSettingQueryId,
elementType,
field,
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource, APIDataSourceType, Ghrs_PageSettingQuery.APIDataSourceID)
dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false'
isSorted,
'false'
isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = '' THEN 'false'
ELSE 'true'
END
isSearched,
SortNo,
searchCanOperator,
''
searchColumnDefaultValue,
''
AppColumnType
FROM Ghrs_PageSettingQuery
WHERE PageNo = '{0}'
AND elementType NOT IN ('PageGroup')
AND IsEnable = 1
ORDER BY SortNo";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
count = Db.Ado.ExecuteCommand(sql);
}
else
{
sql = @"INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT a.PageSettingQueryId,
elementType,
field,
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource, APIDataSourceType, b.APIDataSourceID)
dataSource,
sortable,
isnull (a.sortOrder, b.sortOrder),
defaultHidden,
ConfigIsShow,
filterable,
CASE
WHEN isnull (a.width, b.width) = '' THEN '100'
ELSE isnull (a.width, b.width)
END,
align,
a.fixed,
editable,
searchable,
searchRequired,
isnull (a.searchColumnSeq, b.searchColumnSeq),
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
a.isSorted
isSorted,
isnull (a.isHidden, 'false')
isHidden,
CASE
WHEN a.searchColumnSeq IS NULL OR a.searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END
isSearched,
a.SortNo,
b.searchCanOperator,
''
searchColumnDefaultValue,
''
AppColumnType
FROM Ghrs_UserPageSettingQueryColumn a, Ghrs_PageSettingQuery b
WHERE b.PageNo = '{0}'
AND b.IsEnable = 1
AND b.elementType NOT IN ('PageGroup')
AND a.UserID = '{1}'
AND a.IsEnable = 1
AND a.PageSettingQueryId = b.PageSettingQueryId
ORDER BY a.SortNo, b.SortNo
INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT PageSettingQueryId,
elementType,
field,
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource,
APIDataSourceType,
Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false' isSorted,
'false' isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END isSearched,
SortNo,
searchCanOperator,
'' searchColumnDefaultValue,
'' AppColumnType
FROM Ghrs_PageSettingQuery
WHERE PageNo = '{0}'
AND elementType NOT IN ('PageGroup')
AND IsEnable = 1
AND elementtype = 'FnKey'
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TmpInitPageSettingQuery] kk
WHERE kk.pageColumnID =
Ghrs_PageSettingQuery.PageSettingQueryId
AND kk.field = Ghrs_PageSettingQuery.field
AND kk.elementtype = Ghrs_PageSettingQuery.elementtype)
ORDER BY SortNo ";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
count = Db.Ado.ExecuteCommand(sql);
}
sql = @"
-- 多语言的栏位的特别更新
IF OBJECT_ID ('tempdb.[dbo].[#TempInitUserPageFnKey]') IS NOT NULL
BEGIN
INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT 0,
elementType,
field,
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource,
APIDataSourceType,
Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false' isSorted,
'false' isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END isSearched,
SortNo,
searchCanOperator,
'' searchColumnDefaultValue,
'' AppColumnType
FROM Ghrs_PageSettingQuery
WHERE field = 'Muti'
AND IsEnable = 1
AND elementtype = 'FnKey'
AND pageno = 'F_Dept'
AND EXISTS
(SELECT 1
FROM [dbo].[#TempInitUserPageFnKey]
WHERE fnKey = 'Muti')
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TmpInitPageSettingQuery] kk
WHERE kk.pageColumnID =
Ghrs_PageSettingQuery.PageSettingQueryId
AND kk.field = Ghrs_PageSettingQuery.field
AND kk.elementtype =
Ghrs_PageSettingQuery.elementtype)
ORDER BY SortNo
-- 明细按钮的宽度
INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT 0,
elementType,
'DetailYN',
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource,
APIDataSourceType,
Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false' isSorted,
'false' isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END isSearched,
SortNo,
searchCanOperator,
'' searchColumnDefaultValue,
'' AppColumnType
FROM Ghrs_PageSettingQuery
WHERE field = 'Muti'
AND IsEnable = 1
AND elementtype = 'FnKey'
AND pageno = 'F_Dept'
AND EXISTS
(SELECT 1
FROM [dbo].[#TempInitUserPageFnKey]
WHERE fnKey = 'DetailYN')
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TmpInitPageSettingQuery] kk
WHERE field = 'DetailYN' AND elementtype = 'FnKey')
ORDER BY SortNo
END
ELSE
BEGIN
INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT 0,
elementType,
field,
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource,
APIDataSourceType,
Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false' isSorted,
'false' isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END isSearched,
SortNo,
searchCanOperator,
'' searchColumnDefaultValue,
'' AppColumnType
FROM Ghrs_PageSettingQuery
WHERE field = 'Muti'
AND IsEnable = 1
AND elementtype = 'FnKey'
AND pageno = 'F_Dept'
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TmpInitPageSettingQuery] kk
WHERE kk.pageColumnID =
Ghrs_PageSettingQuery.PageSettingQueryId
AND kk.field = Ghrs_PageSettingQuery.field
AND kk.elementtype =
Ghrs_PageSettingQuery.elementtype)
ORDER BY SortNo
-- 明细按钮的宽度
INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT 0,
elementType,
'DetailYN',
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource,
APIDataSourceType,
Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false' isSorted,
'false' isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END isSearched,
SortNo,
searchCanOperator,
'' searchColumnDefaultValue,
'' AppColumnType
FROM Ghrs_PageSettingQuery
WHERE field = 'Muti'
AND IsEnable = 1
AND elementtype = 'FnKey'
AND pageno = 'F_Dept'
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TmpInitPageSettingQuery] kk
WHERE field = 'DetailYN' AND elementtype = 'FnKey')
ORDER BY SortNo
END
-- 更新可编辑
IF OBJECT_ID ('tempdb.[dbo].[#TempInitUserPageFnKey]') IS NOT NULL
BEGIN
UPDATE[dbo].[#TmpInitPageSettingQuery]
SET editable = 'false'
WHERE ( NOT EXISTS
(SELECT 1
FROM [dbo].[#TempInitUserPageFnKey]
WHERE fnKey = 'UpdateYN'
AND '{0}' NOT IN ('F_Staff~1',
'F_StaffToDo',
'F_StaffQuery',
'F_StaffChangeToDo',
'F_StaffChangeToEnable',
'F_StaffChangeQuery',
'F_SalaryChangeToDo',
'F_SalaryChange',
'F_SalaryChangeQuery'))
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TempInitUserPageFnKey]
WHERE fnKey = 'TBD2YN'
AND '{0}' IN
('F_Staff~1',
'F_StaffToDo',
'F_StaffQuery'))
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TempInitUserPageFnKey]
WHERE fnKey = 'TBD5YN'
AND '{0}' IN ('F_StaffChangeToDo',
'F_StaffChangeToEnable',
'F_StaffChangeQuery',
'F_SalaryChangeToDo',
'F_SalaryChange',
'F_SalaryChangeQuery')))
AND '{0}' NOT IN ('F_SchedulePeriodSetup')
END
-- 更新栏位说明(从多语言里面)
UPDATE[dbo].[#TmpInitPageSettingQuery]
SET label = [dbo].[FLangKeyToValue] (Meky, {2}, label);
UPDATE[dbo].[#TmpInitPageSettingQuery]
SET width = 50
WHERE elementType = 'FnKey' OR field = 'Muti';";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
count = Db.Ado.ExecuteCommand(sql);
sql = @"select pageColumnID,elementType, field,label,meky, multipleSelect, dataType,
required, palceholder, dataSourceType,dataSource, sortable, sortOrder,
defaultHidden, ConfigIsShow, filterable, width,align, fixed,editable, searchable,
searchRequired,searchColumnSeq, multipleSearchValue, maxTagCount,
selfDefine, selectUI, isPrimaryKey,isSorted,isHidden,isSearched,sortNo,
( select ParaDetailNo operator,
[dbo].[FLangKeyToValue](MKey,{2},ParaDetailName) operatorDesc,
SqlFunction operatorIcon
from Ghrs_ParaDetail where ParaMasterId=13 and IsEnable=1
and ParaDetailNo in (select Value from dbo.Fs1_GHR30_SplitString2(searchOperator,','))
order by (select positon from dbo.Fs1_GHR30_SplitString2(searchOperator,',')
where value= ParaDetailNo)
FOR JSON Path ) searchOperator1 ,
iif(ISJSON(searchColumnDefaultValue)=1,JSON_QUERY(searchColumnDefaultValue),null) searchColumnDefaultValue ,
AppColumnType
from [dbo].[#TmpInitPageSettingQuery]
order by sortno";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
var TableColumn = Db.Ado.SqlQuery<TableColumn1>(sql);
result.JM_TableColumnT1.TableColumn = Mapper.Map(TableColumn).ToANew<List<TableColumn>>();
result.JM_TableColumnT1.TableColumn.ForEach(x =>
{
if (!string.IsNullOrWhiteSpace(x.searchOperator1))
x.searchOperator = JsonConvert.DeserializeObject<List<searchOperator>>(x.searchOperator1);
x.searchOperator1 = null;
});
Db.Ado.CommitTran();
sql = @"SELECT Langkey field,
CASE {2}
WHEN 1 THEN isnull (Value01, LangValue)
WHEN 2 THEN isnull (Value02, LangValue)
WHEN 3 THEN isnull (Value03, LangValue)
WHEN 4 THEN isnull (Value04, LangValue)
WHEN 5 THEN isnull (Value05, LangValue)
WHEN 6 THEN isnull (Value06, LangValue)
WHEN 7 THEN isnull (Value07, LangValue)
WHEN 8 THEN isnull (Value08, LangValue)
WHEN 9 THEN isnull (Value09, LangValue)
WHEN 10 THEN isnull (Value10, LangValue)
END label
FROM Ghrs_LangKey
WHERE IsEnable = 1
AND (LangKey LIKE 'GHR_Page%' OR LangKey LIKE 'GHR_Common%')";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
result.DT_PageMutiMsg = Db.Ado.SqlQuery<DT_PageMutiMsg>(sql);
sql = "select QueryProcedure, EditProcedure, IUDProcedure from Ghrs_Menu where MenuNo='{0}'";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
DataTable dt = Db.Ado.GetDataTable(sql);
if (dt.Rows.Count > 0)
{
result.DT_Procedure.QueryProcedure = dt.Rows[0]["QueryProcedure"].ToString();
result.DT_Procedure.EditProcedure = dt.Rows[0]["EditProcedure"].ToString();
result.DT_Procedure.IUDProcedure = dt.Rows[0]["IUDProcedure"].ToString();
}
//if (UserHasSetting == 0)
//{
// sql = @"SELECT PageSettingQueryId,
// elementType,
// field,
// label,
// Meky,
// multipleSelect,
// dataType,
// required,
// palceholder,
// dataSourceType,
// dbo.FS_GetdataSourceBySet
// (dataSource, APIDataSourceType, Ghrs_PageSettingQuery.APIDataSourceID)
// dataSource,
// sortable,
// sortOrder,
// defaultHidden,
// ConfigIsShow,
// filterable,
// CASE WHEN width = '' THEN '100' ELSE width END width,
// align,
// fixed fixed1,
// editable,
// searchable,
// searchRequired,
// searchColumnSeq,
// multipleSearchValue,
// maxTagCount,
// selfDefine,
// selectUI,
// isPrimaryKey,
// 'false'
// isSorted,
// 'false'
// isHidden,
// CASE
// WHEN searchColumnSeq IS NULL OR searchColumnSeq = '' THEN 'false'
// ELSE 'true'
// END
// isSearched,
// SortNo,
// searchCanOperator,
// ''
// searchColumnDefaultValue,
// ''
// AppColumnType
// FROM Ghrs_PageSettingQuery
// WHERE PageNo = '{0}'
// AND elementType NOT IN ('PageGroup')
// AND IsEnable = 1
// ORDER BY SortNo";
// sql = string.Format(sql, param.menuName);
//}
//else
//{
// sql = @"SELECT a.PageSettingQueryId,
// elementType,
// field,
// label,
// Meky,
// multipleSelect,
// dataType,
// required,
// palceholder,
// dataSourceType,
// dbo.FS_GetdataSourceBySet
// (dataSource, APIDataSourceType, b.APIDataSourceID)
// dataSource,
// sortable,
// isnull (a.sortOrder, b.sortOrder),
// defaultHidden,
// ConfigIsShow,
// filterable,
// CASE
// WHEN isnull (a.width, b.width) = '' THEN '100'
// ELSE isnull (a.width, b.width)
// END width,
// align,
// a.fixed fixed1,
// editable,
// searchable,
// searchRequired,
// isnull (a.searchColumnSeq, b.searchColumnSeq) searchColumnSeq,
// multipleSearchValue,
// maxTagCount,
// selfDefine,
// selectUI,
// isPrimaryKey,
// a.isSorted
// isSorted,
// isnull (a.isHidden, 'false')
// isHidden,
// CASE
// WHEN a.searchColumnSeq IS NULL OR a.searchColumnSeq = ''
// THEN
// 'false'
// ELSE
// 'true'
// END
// isSearched,
// a.SortNo,
// b.searchCanOperator,
// ''
// searchColumnDefaultValue,
// ''
// AppColumnType
// FROM Ghrs_UserPageSettingQueryColumn a, Ghrs_PageSettingQuery b
// WHERE b.PageNo = '{0}'
// AND b.IsEnable = 1
// AND b.elementType NOT IN ('PageGroup')
// AND a.UserID = '{1}'
// AND a.IsEnable = 1
// AND a.PageSettingQueryId = b.PageSettingQueryId
// ORDER BY a.SortNo, b.SortNo";
// sql = string.Format(sql, param.menuName, App.User.ID);
// sql = @"SELECT PageSettingQueryId,
// elementType,
// field,
// label,
// Meky,
// multipleSelect,
// dataType,
// required,
// palceholder,
// dataSourceType,
// dbo.FS_GetdataSourceBySet
// (dataSource, APIDataSourceType, Ghrs_PageSettingQuery.APIDataSourceID)
// dataSource,
// sortable,
// sortOrder,
// defaultHidden,
// ConfigIsShow,
// filterable,
// CASE WHEN width = '' THEN '100' ELSE width END width,
// align,
// fixed fixed1,
// editable,
// searchable,
// searchRequired,
// searchColumnSeq,
// multipleSearchValue,
// maxTagCount,
// selfDefine,
// selectUI,
// isPrimaryKey,
// 'false'
// isSorted,
// 'false'
// isHidden,
// CASE
// WHEN searchColumnSeq IS NULL OR searchColumnSeq = '' THEN 'false'
// ELSE 'true'
// END
// isSearched,
// SortNo,
// searchCanOperator,
// ''
// searchColumnDefaultValue,
// ''
// AppColumnType
// FROM Ghrs_PageSettingQuery
// WHERE PageNo = '{0}'
// AND elementType NOT IN ('PageGroup')
// AND IsEnable = 1
// AND elementtype = 'FnKey' ORDER BY SortNo";
// sql = string.Format(sql, param.menuName );
//}
//result.JM_TableColumnT1 = DbAccess.QueryList<JM_TableColumnT1>(sql);
#endregion
return new ServiceResult<ModuleReturn>() { Success = true, Message = "查询成功", Data = result, };
}
#endregion
}