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.
5027 lines
241 KiB
5027 lines
241 KiB
using Microsoft.AspNetCore.Mvc;
|
|
using System.Text.RegularExpressions;
|
|
|
|
namespace Tiobon.Core.Services;
|
|
|
|
public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommonServices
|
|
{
|
|
IHttpContextAccessor _httpContextAccessor;
|
|
public ICaching _caching;
|
|
public CommonServices(IHttpContextAccessor httpContextAccessor, ICaching caching = null)
|
|
{
|
|
_httpContextAccessor = httpContextAccessor;
|
|
_caching = caching;
|
|
}
|
|
|
|
#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();
|
|
|
|
//SELECT NULL fnKeySeq,
|
|
// 'SetDefault' fnKey,
|
|
// [dbo].[FLangKeyToValue]('GHR_Common_000000',{2},'恢复默认') fnTitle,
|
|
// 'table' fnType,
|
|
// 'left' position,
|
|
// 'ghr-icon-setDefault' icon
|
|
//UNION ALL
|
|
|
|
|
|
//UNION ALL
|
|
// SELECT NULL fnKeySeq,
|
|
// 'DataSort' fnKey,
|
|
// 'GHR_Common_000045' fnTitle,
|
|
// 'table',
|
|
// 'left',
|
|
// 'ghr-data-sort'
|
|
|
|
#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,
|
|
'GridView' fnKey,
|
|
'GHR_Common_000067' fnTitle,
|
|
'table' fnType,
|
|
'right' position,
|
|
'ant-design:setting-outlined' icon
|
|
UNION ALL
|
|
SELECT 8 fnKeySeq,
|
|
'SetDefault' fnKey,
|
|
'恢复默认' fnTitle,
|
|
'table' fnType,
|
|
'left' position,
|
|
'ghr-icon-setDefault' icon
|
|
) 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 = await Db.Ado.SqlQueryAsync<Toolbar>(sql);
|
|
result.JM_PageControlT1.Toolbar = DbAccess.QueryList<Toolbar>(sql);
|
|
|
|
#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 fixed1,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 asc";
|
|
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 = result.JM_TableColumnT1.TableColumn.Where(x => x.field != "DetailYN" && x.field != "Muti").ToList();
|
|
result.JM_TableColumnT1.TableColumn.ForEach(x =>
|
|
{
|
|
if (x.fixed1.IsNotEmptyOrNull()) x.@fixed = x.fixed1.ObjToBool();
|
|
if (!string.IsNullOrWhiteSpace(x.searchOperator1))
|
|
x.searchOperator = JsonConvert.DeserializeObject<List<searchOperator>>(x.searchOperator1);
|
|
x.searchOperator1 = null;
|
|
|
|
if (x.multipleSearchValue == "true")
|
|
x.searchColumnDefaultValue = new List<string>();
|
|
if (x.isPrimaryKey == "false")
|
|
x.isPrimaryKey = null;
|
|
});
|
|
Db.Ado.CommitTran();
|
|
|
|
string sqlLang = @"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%' OR LangKey LIKE '{0}%')";
|
|
sqlLang = string.Format(sqlLang, param.menuName, App.User.ID, param.langId);
|
|
|
|
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 (!string.IsNullOrWhiteSpace(result.DT_Procedure.EditProcedure))
|
|
{
|
|
result.DT_Procedure.ImportExcel = result.DT_Procedure.EditProcedure.Replace("QueryForm", "ImportExcel");
|
|
result.DT_Procedure.DownExcelTemplate = result.DT_Procedure.EditProcedure.Replace("QueryForm", "DownExcelTemplate?menuName=" + param.menuName);
|
|
result.DT_Procedure.ExportExcel = result.DT_Procedure.EditProcedure.Replace("QueryForm", "ExportExcel");
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 特殊处理
|
|
var toolbar = new Toolbar();
|
|
var index = -1;
|
|
switch (param.menuName)
|
|
{
|
|
case "F_CertificationComparison":
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "预览",
|
|
fnType = "row",
|
|
icon = "ghr-preview",
|
|
position = "left"
|
|
});
|
|
break;
|
|
case "F_Training_CourseAndScene_Report":
|
|
{
|
|
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"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; toolbar.fnTitle = "分析"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD4YN"; }
|
|
break;
|
|
}
|
|
case "F_SurveyQuestionPool":
|
|
case "F_QuestionBank":
|
|
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"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD4YN"; }
|
|
break;
|
|
case "F_ExamPaperDraft":
|
|
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"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
|
|
index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "TBD1YN");
|
|
result.JM_PageControlT1.Toolbar.Insert(index + 1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD4YN",
|
|
fnTitle = "发布",
|
|
fnType = "table",
|
|
icon = "ghr-publish",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = "预览",
|
|
fnType = "row",
|
|
icon = "ghr-preview",
|
|
position = "left"
|
|
});
|
|
result.DT_Procedure.ExportExcel = "/api/Ghre_ExamPaper/ExportExcel/Draft";
|
|
|
|
break;
|
|
case "F_ExamPaperReleased":
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD7YN"; }
|
|
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD4YN",
|
|
fnTitle = "取消发布",
|
|
fnType = "table",
|
|
icon = "ghr-publish",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Insert(1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "停用",
|
|
fnType = "table",
|
|
icon = "ghr-icon-stop",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = "预览",
|
|
fnType = "row",
|
|
icon = "ghr-preview",
|
|
position = "left"
|
|
});
|
|
|
|
result.DT_Procedure.ExportExcel = "/api/Ghre_ExamPaper/ExportExcel/Released";
|
|
break;
|
|
case "F_ExamPaperDisabled":
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD4YN",
|
|
fnTitle = "启用",
|
|
fnType = "table",
|
|
icon = "ghr-icon-start",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = "预览",
|
|
fnType = "row",
|
|
icon = "ghr-preview",
|
|
position = "left"
|
|
});
|
|
result.DT_Procedure.ExportExcel = "/api/Ghre_ExamPaper/ExportExcel/Disabled";
|
|
break;
|
|
case "F_Training_CoursewWare":
|
|
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"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD4YN"; }
|
|
|
|
index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "TBD2YN");
|
|
result.JM_PageControlT1.Toolbar.Insert(index + 1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = await QueryLangValue("GHR_Common_000254", "下载"),
|
|
fnType = "row",
|
|
icon = "ghr-icon-download",
|
|
position = "left"
|
|
});
|
|
|
|
break;
|
|
|
|
case "F_Training_Course_Draft":
|
|
index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "NewYN");
|
|
result.JM_PageControlT1.Toolbar.Insert(index + 1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD4YN",
|
|
fnTitle = "发布",
|
|
fnType = "table",
|
|
icon = "ghr-publish",
|
|
position = "left"
|
|
});
|
|
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"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD5YN"; }
|
|
result.DT_Procedure.ExportExcel = "/api/Ghre_Course/ExportExcel/Draft";
|
|
break;
|
|
case "F_Training_Course_Released":
|
|
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD4YN",
|
|
fnTitle = "取消发布",
|
|
fnType = "table",
|
|
icon = "ghr-publish",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Insert(1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "停用",
|
|
fnType = "table",
|
|
icon = "ghr-icon-stop",
|
|
position = "left"
|
|
});
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD6YN"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD7YN"; }
|
|
result.DT_Procedure.ExportExcel = "/api/Ghre_Course/ExportExcel/Released";
|
|
|
|
break;
|
|
case "F_Training_Course_Disabled":
|
|
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "启用",
|
|
fnType = "table",
|
|
icon = "ghr-icon-stop",
|
|
position = "left"
|
|
});
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD6YN"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD7YN"; }
|
|
result.DT_Procedure.ExportExcel = "/api/Ghre_Course/ExportExcel/Disabled";
|
|
|
|
break;
|
|
|
|
//case "F_CourseClassification":
|
|
case "F_CourseScene":
|
|
index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "BatchUpdateYN");
|
|
if (index >= 0)
|
|
result.JM_PageControlT1.Toolbar.RemoveAt(index);
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD4YN",
|
|
fnTitle = "课程顺序",
|
|
fnType = "row",
|
|
icon = "ghr-drag",
|
|
position = "left"
|
|
});
|
|
break;
|
|
case "F_SchoolManage":
|
|
case "F_WorkLicenseManage":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "记录",
|
|
fnType = "row",
|
|
icon = "ghr-preview",
|
|
position = "left"
|
|
});
|
|
break;
|
|
case "F_OnlineExamScores":
|
|
result.DT_Procedure.QueryProcedure = dt.Rows[0]["QueryProcedure"].ToString();
|
|
result.DT_Procedure.QueryProcedure += "/" + param.jsonParam.MasterId;
|
|
result.DT_Procedure.ExportExcel += "/" + param.jsonParam.MasterId;
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
|
|
sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
|
|
FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
|
|
WHERE A.UserID = {App.User.ID}
|
|
AND A.IsEnable = 1
|
|
AND B.IsEnable = 1
|
|
AND B.RoleNo = 'TrainingExamScore'";
|
|
var toolbarRoles = DbAccess.QueryList<ToolbarRole>(sql);
|
|
if (toolbarRoles != null && toolbarRoles.Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD4YN",
|
|
fnTitle = "评分",
|
|
fnType = "row",
|
|
icon = "ghr-preview",
|
|
position = "left"
|
|
});
|
|
break;
|
|
case "F_CreditCheck":
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
break;
|
|
case "F_RequiredElectiveRules":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "结果",
|
|
fnType = "row",
|
|
icon = "ghr-preview",
|
|
position = "left"
|
|
});
|
|
break;
|
|
|
|
case "F_ESS_StudyRecord":
|
|
result.DT_Procedure.ExportExcel = "/api/Ghre_StudyRecord/ExportStaffExcel";
|
|
|
|
break;
|
|
|
|
case "F_Training_Demand_ToDo":
|
|
case "F_TeacherManageTemporary":
|
|
case "F_TeacherChangeTemporary":
|
|
case "F_ManReqMaintenTemporary":
|
|
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"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "TBD1YN");
|
|
result.JM_PageControlT1.Toolbar.Insert(index + 1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = await QueryLangValue("F_ManReqMaintenTemporary_TransferToConfirmed", param.langId, "转入待确认"),
|
|
fnType = "table",
|
|
icon = "ghr-icon-user-wait",
|
|
position = "left"
|
|
});
|
|
break;
|
|
case "F_Training_Demand_ToConfirm":
|
|
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"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = await QueryLangValue("F_Training_Demand_ToConfirm_Reject", param.langId, "拒绝"),
|
|
fnType = "table",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = await QueryLangValue("F_Training_Demand_ToConfirm_Agree", param.langId, "同意"),
|
|
fnType = "table",
|
|
icon = "ess-icon-approval",
|
|
position = "left"
|
|
});
|
|
break;
|
|
case "F_Training_Demand_ToEnable":
|
|
case "F_Training_Demand_Query":
|
|
case "F_Training_Demand_VoidQuery":
|
|
case "F_TeacherManage":
|
|
case "F_TeacherManageActive":
|
|
case "F_TeacherChangeManage":
|
|
case "F_TeacherChangeActive":
|
|
case "F_TeacherDisabled":
|
|
case "F_TeacherChangeDisabled":
|
|
case "F_ManReqMainten":
|
|
case "F_ManReqMaintenActive":
|
|
case "F_ManReqMaintenDisabled":
|
|
case "F_InterviewTranscripts":
|
|
case "F_RecommendRecordForm":
|
|
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"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
break;
|
|
case "F_ManReqMaintenWaitConfirm":
|
|
case "F_TeacherChangeWaitConfirm":
|
|
case "F_TeacherManageWaitConfirm":
|
|
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"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) { toolbar.fnKey = "TBD3YN"; }
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD7YN",
|
|
fnTitle = await QueryLangValue("F_Training_Demand_ToConfirm_Reject", param.langId, "拒绝"),
|
|
fnType = "table",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = await QueryLangValue("F_Training_Demand_ToConfirm_Agree", param.langId, "同意"),
|
|
fnType = "table",
|
|
icon = "ess-icon-approval",
|
|
position = "left"
|
|
});
|
|
break;
|
|
|
|
case "F_ResumeMaintenance_All":
|
|
|
|
sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
|
|
FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
|
|
WHERE A.UserID = {App.User.ID}
|
|
AND A.IsEnable = 1
|
|
AND B.IsEnable = 1
|
|
AND B.RoleNo LIKE 'RecruitResume%'";
|
|
toolbarRoles = DbAccess.QueryList<ToolbarRole>(sql);
|
|
if (toolbarRoles != null && toolbarRoles.Any())
|
|
{
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeRecommend").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0024", "推荐"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeRemind").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD11YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0001", "提醒"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeScheduleInterview").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD25YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0096", "安排面试"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD26YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0006", "转入待发offer"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeTag").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = await QueryLangValue("Table|Ghrh_Resume|Tag", "标签"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeRecycle").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD7YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0027", "回收"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeTalentPool").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD8YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0016", "加入人才库"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeBlacklist").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD9YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0018", "加入黑名单"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeDownLoad").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD10YN",
|
|
fnTitle = await QueryLangValue("GHR_Common_000254", "下载"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
}
|
|
break;
|
|
|
|
case "F_ResumeMaintenance_Process":
|
|
sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
|
|
FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
|
|
WHERE A.UserID = {App.User.ID}
|
|
AND A.IsEnable = 1
|
|
AND B.IsEnable = 1
|
|
AND B.RoleNo LIKE 'RecruitResume%'";
|
|
toolbarRoles = DbAccess.QueryList<ToolbarRole>(sql);
|
|
if (toolbarRoles != null && toolbarRoles.Any())
|
|
{
|
|
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeProcessRemind").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD12YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0001", "提醒"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeReScheduleInterview").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0095", "重新推荐"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeScheduleInterview").Any())
|
|
{
|
|
var name11 = await QueryLangValue("F_ResumeMaintenance_0096", "安排面试");
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD13YN",
|
|
fnTitle = name11,
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD14YN",
|
|
fnTitle = name11,
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD25YN",
|
|
fnTitle = name11,
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
}
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeApplyOffer").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD15YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0097", "发起录用审批"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD26YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0006", "转入待发offer"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD22YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0098", "评估"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeTag").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = await QueryLangValue("Table|Ghrh_Resume|Tag", "标签"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeRecycle").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD7YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0027", "回收"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeTalentPool").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD8YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0016", "加入人才库"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeBlacklist").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD9YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0018", "加入黑名单"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeDownLoad").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD10YN",
|
|
fnTitle = await QueryLangValue("GHR_Common_000254", "下载"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
}
|
|
break;
|
|
case "F_ResumeMaintenance_Hire"://录用
|
|
sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
|
|
FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
|
|
WHERE A.UserID = {App.User.ID}
|
|
AND A.IsEnable = 1
|
|
AND B.IsEnable = 1
|
|
AND B.RoleNo LIKE 'RecruitResume%'";
|
|
toolbarRoles = DbAccess.QueryList<ToolbarRole>(sql);
|
|
if (toolbarRoles != null && toolbarRoles.Any())
|
|
{
|
|
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeSendOffer").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD16YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0025", "发offer"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeOfferRemind").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD17YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0001", "提醒"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeOfferHasWork").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD18YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0207", "已报到"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeOfferNoWork").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD19YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0010", "未报到"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeOfferDownLoad").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD27YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0010", "F_ResumeMaintenance_0060"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeTag").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = await QueryLangValue("Table|Ghrh_Resume|Tag", "标签"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeRecycle").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD7YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0027", "回收"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeTalentPool").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD8YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0016", "加入人才库"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeBlacklist").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD9YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0018", "加入黑名单"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeDownLoad").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD10YN",
|
|
fnTitle = await QueryLangValue("GHR_Common_000254", "下载"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
}
|
|
break;
|
|
|
|
case "F_ResumeMaintenance_Talent_Pool"://人才库
|
|
sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
|
|
FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
|
|
WHERE A.UserID = {App.User.ID}
|
|
AND A.IsEnable = 1
|
|
AND B.IsEnable = 1
|
|
AND B.RoleNo LIKE 'RecruitResume%'";
|
|
toolbarRoles = DbAccess.QueryList<ToolbarRole>(sql);
|
|
if (toolbarRoles != null && toolbarRoles.Any())
|
|
{
|
|
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeRecommend").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0024", "推荐"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeTag").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = await QueryLangValue("Table|Ghrh_Resume|Tag", "标签"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeRecycle").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD7YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0027", "回收"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeBlacklist").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD9YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0018", "加入黑名单"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeDownLoad").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD10YN",
|
|
fnTitle = await QueryLangValue("GHR_Common_000254", "下载"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
}
|
|
break;
|
|
case "F_ResumeMaintenance_Recycled"://回收站
|
|
sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
|
|
FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
|
|
WHERE A.UserID = {App.User.ID}
|
|
AND A.IsEnable = 1
|
|
AND B.IsEnable = 1
|
|
AND B.RoleNo LIKE 'RecruitResume%'";
|
|
toolbarRoles = DbAccess.QueryList<ToolbarRole>(sql);
|
|
if (toolbarRoles != null && toolbarRoles.Any())
|
|
{
|
|
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeTag").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = await QueryLangValue("Table|Ghrh_Resume|Tag", "标签"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeTalentPool").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD8YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0016", "加入人才库"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeBlacklist").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD9YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0018", "加入黑名单"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeDownLoad").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD10YN",
|
|
fnTitle = await QueryLangValue("GHR_Common_000254", "下载"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
}
|
|
break;
|
|
case "F_ResumeMaintenance_Blacklist"://黑名单
|
|
sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
|
|
FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
|
|
WHERE A.UserID = {App.User.ID}
|
|
AND A.IsEnable = 1
|
|
AND B.IsEnable = 1
|
|
AND B.RoleNo LIKE 'RecruitResume%'";
|
|
toolbarRoles = DbAccess.QueryList<ToolbarRole>(sql);
|
|
if (toolbarRoles != null && toolbarRoles.Any())
|
|
{
|
|
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeTag").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = await QueryLangValue("Table|Ghrh_Resume|Tag", "标签"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeTalentPool").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD8YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0016", "加入人才库"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeRecycle").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD7YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0027", "回收"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeDownLoad").Any())
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD10YN",
|
|
fnTitle = await QueryLangValue("GHR_Common_000254", "下载"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
}
|
|
break;
|
|
case "F_ESS_Candidate"://
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD20YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0034", "约面"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD21YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0003", "不合适"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
break;
|
|
case "F_ESS_Interview"://
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD22YN",
|
|
fnTitle = await QueryLangValue("F_ResumeMaintenance_0098", "评估"),
|
|
fnType = "row",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
//sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
|
|
// FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
|
|
// WHERE A.UserID = {App.User.ID}
|
|
// AND A.IsEnable = 1
|
|
// AND B.IsEnable = 1
|
|
// AND B.RoleNo LIKE 'RecruitResume%'";
|
|
//toolbarRoles = DbAccess.QueryList<ToolbarRole>(sql);
|
|
//if (toolbarRoles != null && toolbarRoles.Any())
|
|
//{
|
|
// if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeESSChangeDate").Any())
|
|
// result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
// {
|
|
// display = true,
|
|
// fnKey = "TBD23YN",
|
|
// fnTitle = "改期",
|
|
// fnType = "row",
|
|
// icon = "ess-icon-reject",
|
|
// position = "left"
|
|
// });
|
|
// if (toolbarRoles.Where(x => x.RoleNo == "RecruitResumeESSCancel").Any())
|
|
// result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
// {
|
|
// display = true,
|
|
// fnKey = "TBD24YN",
|
|
// fnTitle = "取消",
|
|
// fnType = "row",
|
|
// icon = "ess-icon-reject",
|
|
// position = "left"
|
|
// });
|
|
//}
|
|
break;
|
|
case "F_OfferTemplate":
|
|
case "F_CreditRule":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
break;
|
|
case "F_AnnualManpower":
|
|
|
|
var config = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Year_Human_Start_Month").FirstAsync();
|
|
var startMonth = config != null ? config.ConfigValue.ObjToInt() : 1;
|
|
var months = new List<string>();
|
|
List<int> numbers = new();
|
|
for (int i = 1; i <= 12; i++)
|
|
{
|
|
if (i < 10)
|
|
months.Add("0" + i);
|
|
else
|
|
months.Add(i.ObjToString());
|
|
numbers.Add(i);
|
|
}
|
|
var curentYear = DateTime.Now.Year;
|
|
var curentMonth = DateTime.Now.Month;
|
|
// 指定要打头的数字
|
|
int startNumber = startMonth;
|
|
|
|
|
|
if (curentMonth < startMonth)
|
|
curentYear--;
|
|
// 创建一个新的列表用于存储重新排序后的结果
|
|
List<int> reorderedNumbers = new();
|
|
|
|
var sort = result.JM_TableColumnT1.TableColumn.Where(x => x.field == "M1").SingleOrDefault()?.SortNo ?? 5;
|
|
var name1 = await QueryLangValue("F_ResumeMaintenance_0216", "预算编制数");
|
|
result.JM_TableColumnT1.TableColumn?.ForEach(x =>
|
|
{
|
|
if (months.Where(o => o == x.label).Any())
|
|
x.GroupName = name1;
|
|
|
|
if (x.field == "Year")
|
|
x.searchColumnDefaultValue = curentYear;
|
|
});
|
|
|
|
// 找到指定数字的索引
|
|
int index1 = numbers.IndexOf(startNumber);
|
|
if (index1 != -1)
|
|
{
|
|
// 从指定数字开始,按照循环顺序添加数字
|
|
for (int i = 0; i < numbers.Count; i++)
|
|
{
|
|
int currentIndex = (index1 + i) % numbers.Count;
|
|
reorderedNumbers.Add(numbers[currentIndex]);
|
|
}
|
|
|
|
foreach (var num in reorderedNumbers)
|
|
{
|
|
result.JM_TableColumnT1.TableColumn?.ForEach(x =>
|
|
{
|
|
if (x.label.ObjToInt() == num)
|
|
{
|
|
x.SortNo = sort;
|
|
x.label = curentYear + "-" + x.label;
|
|
}
|
|
});
|
|
if (num == 12)
|
|
curentYear++;
|
|
sort++;
|
|
}
|
|
}
|
|
result.JM_TableColumnT1.TableColumn = result.JM_TableColumnT1.TableColumn.OrderBy(x => x.SortNo).ToList();
|
|
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
break;
|
|
|
|
case "F_InterviewRequestSummary":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
|
|
result.DT_Procedure.ExportExcel = "/api/Ghrh_HumanRequest/ExportSummaryExcel";
|
|
break;
|
|
case "F_InterviewHireList":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
|
|
result.DT_Procedure.ExportExcel = "/api/Ghrh_Resume/ExportHireExcel";
|
|
break;
|
|
case "F_InterviewCompleteStatistical":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
|
|
result.DT_Procedure.ExportExcel = "/api/Ghrh_HumanRequest/ExportCompleteExcel";
|
|
|
|
var name2 = await QueryLangValue("F_ResumeMaintenance_0226", "编制内");
|
|
var name3 = await QueryLangValue("F_ResumeMaintenance_0227", "编制外");
|
|
result.JM_TableColumnT1.TableColumn?.ForEach(x =>
|
|
{
|
|
if (x.label.Contains("编制内"))
|
|
{
|
|
x.GroupName = name2;
|
|
x.label = x.label.Replace("编制内", null);
|
|
}
|
|
|
|
if (x.label.Contains("编制外"))
|
|
{
|
|
x.GroupName = name3;
|
|
x.label = x.label.Replace("编制外", null);
|
|
}
|
|
});
|
|
result.JM_TableColumnT1.TableColumn = result.JM_TableColumnT1.TableColumn.OrderBy(x => x.SortNo).ToList();
|
|
|
|
break;
|
|
case "F_OpenCLassTemporary":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
|
|
index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "TBD1YN");
|
|
result.JM_PageControlT1.Toolbar.Insert(index + 1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "发布",
|
|
fnType = "table",
|
|
icon = "ghr-publish",
|
|
position = "left"
|
|
});
|
|
break;
|
|
case "F_OpenCLassPublish":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "TBD1YN");
|
|
result.JM_PageControlT1.Toolbar.Insert(index + 1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "开课",
|
|
fnType = "table",
|
|
icon = "ghr-icon-start",
|
|
position = "left"
|
|
}); result.JM_PageControlT1.Toolbar.Insert(index + 2, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = "取消发布",
|
|
fnType = "table",
|
|
icon = "ghr-clear",
|
|
position = "left"
|
|
});
|
|
break;
|
|
case "F_OpenCLassOpening":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
|
|
index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "TBD1YN");
|
|
result.JM_PageControlT1.Toolbar.Insert(index + 1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "结案",
|
|
fnType = "table",
|
|
icon = "ghr-icon-stop",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Insert(index + 2, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD6YN",
|
|
fnTitle = "取消开课",
|
|
fnType = "table",
|
|
icon = "ghr-clear",
|
|
position = "left"
|
|
});
|
|
break;
|
|
case "F_OpenCLassClose":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
|
|
index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "TBD1YN");
|
|
result.JM_PageControlT1.Toolbar.Insert(index + 1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "取消结案",
|
|
fnType = "table",
|
|
icon = "ghr-clear",
|
|
position = "left"
|
|
});
|
|
break;
|
|
case "F_StaffGroup":
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "人员",
|
|
fnType = "row",
|
|
icon = "ghr-preview",
|
|
position = "left"
|
|
});
|
|
break;
|
|
|
|
//case "F_TrainPlan_Temporary":
|
|
// sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
|
|
// FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
|
|
// WHERE A.UserID = {App.User.ID}
|
|
// AND A.IsEnable = 1
|
|
// AND B.IsEnable = 1
|
|
// AND B.RoleNo = 'F_TrainPlanTransferToConfirmed'";
|
|
// toolbarRoles = DbAccess.QueryList<ToolbarRole>(sql);
|
|
// if (toolbarRoles != null && toolbarRoles.Any())
|
|
// {
|
|
// index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "NewYN");
|
|
// result.JM_PageControlT1.Toolbar.Insert(index + 1, new Toolbar()
|
|
// {
|
|
// display = true,
|
|
// fnKey = "TBD5YN",
|
|
// fnTitle = await QueryLangValue("F_ManReqMaintenTemporary_TransferToConfirmed", param.langId, "转入待确认"),
|
|
// fnType = "table",
|
|
// icon = "ghr-icon-user-wait",
|
|
// position = "left"
|
|
// });
|
|
// }
|
|
// break;
|
|
//case "F_TrainPlan_WaitConfirm":
|
|
// result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
// {
|
|
// display = true,
|
|
// fnKey = "TBD7YN",
|
|
// fnTitle = await QueryLangValue("F_Training_Demand_ToConfirm_Reject", param.langId, "拒绝"),
|
|
// fnType = "table",
|
|
// icon = "ess-icon-reject",
|
|
// position = "left"
|
|
// });
|
|
// result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
// {
|
|
// display = true,
|
|
// fnKey = "TBD6YN",
|
|
// fnTitle = await QueryLangValue("F_Training_Demand_ToConfirm_Agree", param.langId, "同意"),
|
|
// fnType = "table",
|
|
// icon = "ess-icon-approval",
|
|
// position = "left"
|
|
// });
|
|
// break;
|
|
|
|
case "F_TrainPlan_Wait":
|
|
case "F_TrainPlan_Active":
|
|
case "F_TrainPlan_Disable":
|
|
case "F_TrainPlan_Temporary":
|
|
case "F_TrainPlan_WaitConfirm":
|
|
case "F_UshioTrainPlan_Wait":
|
|
case "F_UshioTrainPlan_Active":
|
|
case "F_UshioTrainPlan_Disable":
|
|
case "F_UshioTrainPlan_Temporary":
|
|
case "F_UshioTrainPlan_WaitConfirm":
|
|
|
|
config = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Year_Human_Start_Month").FirstAsync();
|
|
startMonth = config != null ? config.ConfigValue.ObjToInt() : 1;
|
|
months = new List<string>();
|
|
numbers = new();
|
|
for (int i = 1; i <= 12; i++)
|
|
{
|
|
if (i < 10)
|
|
months.Add("0" + i);
|
|
else
|
|
months.Add(i.ObjToString());
|
|
numbers.Add(i);
|
|
}
|
|
curentYear = DateTime.Now.Year;
|
|
curentMonth = DateTime.Now.Month;
|
|
// 指定要打头的数字
|
|
startNumber = startMonth;
|
|
|
|
|
|
if (curentMonth < startMonth)
|
|
curentYear--;
|
|
// 创建一个新的列表用于存储重新排序后的结果
|
|
reorderedNumbers = new();
|
|
|
|
sort = result.JM_TableColumnT1.TableColumn.Where(x => x.field == "M1").SingleOrDefault()?.SortNo ?? 5;
|
|
name1 = "计划年月";
|
|
result.JM_TableColumnT1.TableColumn?.ForEach(x =>
|
|
{
|
|
if (months.Where(o => o == x.label).Any())
|
|
x.GroupName = name1;
|
|
|
|
if (x.field == "Year")
|
|
x.searchColumnDefaultValue = curentYear;
|
|
});
|
|
|
|
// 找到指定数字的索引
|
|
index1 = numbers.IndexOf(startNumber);
|
|
if (index1 != -1)
|
|
{
|
|
// 从指定数字开始,按照循环顺序添加数字
|
|
for (int i = 0; i < numbers.Count; i++)
|
|
{
|
|
int currentIndex = (index1 + i) % numbers.Count;
|
|
reorderedNumbers.Add(numbers[currentIndex]);
|
|
}
|
|
|
|
foreach (var num in reorderedNumbers)
|
|
{
|
|
result.JM_TableColumnT1.TableColumn?.ForEach(x =>
|
|
{
|
|
if (x.label.ObjToInt() == num)
|
|
{
|
|
x.SortNo = sort;
|
|
x.label = curentYear + "-" + x.label;
|
|
}
|
|
});
|
|
if (num == 12)
|
|
curentYear++;
|
|
sort++;
|
|
}
|
|
}
|
|
result.JM_TableColumnT1.TableColumn = result.JM_TableColumnT1.TableColumn.OrderBy(x => x.SortNo).ToList();
|
|
|
|
if (param.menuName == "F_UshioTrainPlan_WaitConfirm" || param.menuName == "F_TrainPlan_WaitConfirm")
|
|
{
|
|
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBDDoReject",
|
|
fnTitle = await QueryLangValue("F_Training_Demand_ToConfirm_Reject", param.langId, "拒绝"),
|
|
fnType = "table",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBDDoAgree",
|
|
fnTitle = await QueryLangValue("F_Training_Demand_ToConfirm_Agree", param.langId, "同意"),
|
|
fnType = "table",
|
|
icon = "ess-icon-approval",
|
|
position = "left"
|
|
});
|
|
}
|
|
else if (param.menuName == "F_UshioTrainPlan_Temporary" || param.menuName == "F_TrainPlan_Temporary")
|
|
{
|
|
sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
|
|
FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
|
|
WHERE A.UserID = {App.User.ID}
|
|
AND A.IsEnable = 1
|
|
AND B.IsEnable = 1
|
|
AND B.RoleNo = 'F_TrainPlanTransferToConfirmed'";
|
|
toolbarRoles = DbAccess.QueryList<ToolbarRole>(sql);
|
|
if (toolbarRoles != null && toolbarRoles.Any())
|
|
{
|
|
index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "NewYN");
|
|
result.JM_PageControlT1.Toolbar.Insert(index + 1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBDToConfirm",
|
|
fnTitle = await QueryLangValue("F_ManReqMaintenTemporary_TransferToConfirmed", param.langId, "转入待确认"),
|
|
fnType = "table",
|
|
icon = "ghr-icon-user-wait",
|
|
position = "left"
|
|
});
|
|
}
|
|
}
|
|
break;
|
|
case "F_TrainSurvey_Publish":
|
|
case "F_TrainSurvey_Temporary":
|
|
case "F_TrainSurvey_Disable":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
|
|
break;
|
|
case "F_UshioTrainPlanReport":
|
|
|
|
config = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Year_Human_Start_Month").FirstAsync();
|
|
startMonth = config != null ? config.ConfigValue.ObjToInt() : 1;
|
|
months = new List<string>();
|
|
numbers = new();
|
|
for (int i = 1; i <= 12; i++)
|
|
{
|
|
if (i < 10)
|
|
months.Add("0" + i);
|
|
else
|
|
months.Add(i.ObjToString());
|
|
numbers.Add(i);
|
|
}
|
|
curentYear = DateTime.Now.Year;
|
|
curentMonth = DateTime.Now.Month;
|
|
// 指定要打头的数字
|
|
startNumber = startMonth;
|
|
|
|
|
|
if (curentMonth < startMonth)
|
|
curentYear--;
|
|
// 创建一个新的列表用于存储重新排序后的结果
|
|
reorderedNumbers = new();
|
|
|
|
sort = result.JM_TableColumnT1.TableColumn.Where(x => x.field == "M1_Count").SingleOrDefault()?.SortNo ?? 5;
|
|
name1 = "计划年月";
|
|
result.JM_TableColumnT1.TableColumn?.ForEach(x =>
|
|
{
|
|
|
|
for (int i = 1; i < 13; i++)
|
|
{
|
|
if (x.label.Contains(i.ObjToString()))
|
|
{
|
|
if (x.label == $"实际合计人天{i}" || x.label == $"进展率{i}")
|
|
{
|
|
x.label = x.label.Replace($"实际合计人天{i}", "实际合计人天");
|
|
x.label = x.label.Replace($"进展率{i}", "进展率");
|
|
|
|
}
|
|
x.GroupName = i + "月";
|
|
}
|
|
}
|
|
if (x.field == "Year")
|
|
x.searchColumnDefaultValue = curentYear;
|
|
});
|
|
|
|
// 找到指定数字的索引
|
|
index1 = numbers.IndexOf(startNumber);
|
|
if (index1 != -1)
|
|
{
|
|
// 从指定数字开始,按照循环顺序添加数字
|
|
for (int i = 0; i < numbers.Count; i++)
|
|
{
|
|
int currentIndex = (index1 + i) % numbers.Count;
|
|
reorderedNumbers.Add(numbers[currentIndex]);
|
|
}
|
|
|
|
foreach (var num in reorderedNumbers)
|
|
{
|
|
result.JM_TableColumnT1.TableColumn?.ForEach(x =>
|
|
{
|
|
if (x.label == "实际合计人天" && x.GroupName == num + "月")
|
|
x.SortNo = sort;
|
|
if (x.label == "进展率" && x.GroupName == num + "月")
|
|
x.SortNo = sort + 1;
|
|
|
|
});
|
|
if (num == 12)
|
|
curentYear++;
|
|
sort = sort + 2;
|
|
}
|
|
}
|
|
result.JM_TableColumnT1.TableColumn = result.JM_TableColumnT1.TableColumn.OrderBy(x => x.SortNo).ToList();
|
|
|
|
if (param.menuName == "F_UshioTrainPlan_WaitConfirm" || param.menuName == "F_TrainPlan_WaitConfirm")
|
|
{
|
|
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBDDoReject",
|
|
fnTitle = await QueryLangValue("F_Training_Demand_ToConfirm_Reject", param.langId, "拒绝"),
|
|
fnType = "table",
|
|
icon = "ess-icon-reject",
|
|
position = "left"
|
|
});
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBDDoAgree",
|
|
fnTitle = await QueryLangValue("F_Training_Demand_ToConfirm_Agree", param.langId, "同意"),
|
|
fnType = "table",
|
|
icon = "ess-icon-approval",
|
|
position = "left"
|
|
});
|
|
}
|
|
else if (param.menuName == "F_UshioTrainPlan_Temporary" || param.menuName == "F_TrainPlan_Temporary")
|
|
{
|
|
sql = $@"SELECT A.RoleId, B.RoleNo, B.RoleName
|
|
FROM Ghrs_UserRole A LEFT JOIN Ghrs_Role B ON A.RoleId = B.RoleId
|
|
WHERE A.UserID = {App.User.ID}
|
|
AND A.IsEnable = 1
|
|
AND B.IsEnable = 1
|
|
AND B.RoleNo = 'F_TrainPlanTransferToConfirmed'";
|
|
toolbarRoles = DbAccess.QueryList<ToolbarRole>(sql);
|
|
if (toolbarRoles != null && toolbarRoles.Any())
|
|
{
|
|
index = result.JM_PageControlT1.Toolbar.FindIndex(x => x.fnKey == "NewYN");
|
|
result.JM_PageControlT1.Toolbar.Insert(index + 1, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBDToConfirm",
|
|
fnTitle = await QueryLangValue("F_ManReqMaintenTemporary_TransferToConfirmed", param.langId, "转入待确认"),
|
|
fnType = "table",
|
|
icon = "ghr-icon-user-wait",
|
|
position = "left"
|
|
});
|
|
}
|
|
}
|
|
break;
|
|
|
|
case "F_TitleSkillMatrix":
|
|
|
|
var column = result.JM_TableColumnT1.TableColumn.Where(x => x.field == "Title_A01").SingleOrDefault();
|
|
sort = column.SortNo;
|
|
result.JM_TableColumnT1.TableColumn = result.JM_TableColumnT1.TableColumn.Where(x => x.field != "Title_A01").ToList();
|
|
var titles = await Db.Queryable<Ghra_Title>().OrderBy(x => x.SortNo).ToListAsync();
|
|
if (param.jsonParam1 != null)
|
|
foreach (JProperty jProperty in param.jsonParam1.Properties())
|
|
{
|
|
var name = jProperty.Name;
|
|
var value = jProperty.Value.ToString();
|
|
if (name == "page" || name == "pageSize")
|
|
continue;
|
|
if (value.IsNotEmptyOrNull())
|
|
{
|
|
var jsonParam = JsonHelper.JsonToObj<JsonParam>(value);
|
|
|
|
switch (name)
|
|
{
|
|
case "TitleId":
|
|
switch (jsonParam.operationKey)
|
|
{
|
|
case "Equal":
|
|
if (jsonParam.columnValue != null)
|
|
titles = titles.Where(x => x.TitleID == jsonParam.columnValue.ObjToInt()).ToList();
|
|
break;
|
|
case "NotEqual":
|
|
if (jsonParam.columnValue != null)
|
|
titles = titles.Where(x => x.TitleID != jsonParam.columnValue.ObjToInt()).ToList();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
index = 0;
|
|
titles.ForEach(x =>
|
|
{
|
|
var copyColumn = Mapper.Map(column).ToANew<TableColumn>();
|
|
copyColumn.field = "Title_" + x.TitleNo;
|
|
copyColumn.label = x.TitleName;
|
|
result.JM_TableColumnT1.TableColumn.Insert(index + sort, copyColumn);
|
|
index++;
|
|
});
|
|
break;
|
|
|
|
case "F_TrainingDemandStatistics_Year":
|
|
case "F_TrainingDemandStatistics_Month":
|
|
if (!string.IsNullOrWhiteSpace(result.DT_Procedure.EditProcedure))
|
|
result.DT_Procedure.ExportExcel = result.DT_Procedure.EditProcedure.Replace("QueryGroupForm", "ExportGroupExcel");
|
|
|
|
break;
|
|
case "F_PerformancePeriodType":
|
|
case "F_GhraStaffGroup":
|
|
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";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "DetailYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD3YN";
|
|
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
|
|
if (toolbar != null) toolbar.fnKey = "TBD4YN";
|
|
|
|
if (param.menuName == "F_GhraStaffGroup")
|
|
result.JM_PageControlT1.Toolbar.Add(new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD5YN",
|
|
fnTitle = "人员",
|
|
fnType = "row",
|
|
icon = "ghr-preview",
|
|
position = "left"
|
|
});
|
|
|
|
break;
|
|
case "F_PerformancePeriod":
|
|
result.JM_PageControlT1.Toolbar.Insert(0, new Toolbar()
|
|
{
|
|
display = true,
|
|
fnKey = "TBD1YN",
|
|
fnTitle = "考核期间展开",
|
|
fnType = "table",
|
|
icon = "ghr-batch-update",
|
|
position = "left"
|
|
});
|
|
break;
|
|
}
|
|
|
|
#endregion
|
|
|
|
result.DT_PageMutiMsg = await _caching.GetAsync<List<DT_PageMutiMsg>>(param.menuName + "_DT_PageMutiMsg");
|
|
|
|
#region 多语返回处理
|
|
if (param.menuName == "F_ResumeMaintenance_All" ||
|
|
param.menuName == "F_ResumeMaintenance_Process" ||
|
|
param.menuName == "F_ResumeMaintenance_Hire" ||
|
|
param.menuName == "F_ResumeMaintenance_Talent_Pool" ||
|
|
param.menuName == "F_ResumeMaintenance_Recycled" ||
|
|
param.menuName == "F_ResumeMaintenance_Blacklist" ||
|
|
param.menuName == "F_ESS_Candidate" ||
|
|
param.menuName == "F_ESS_Interview" ||
|
|
param.menuName == "F_ESS_Hire" ||
|
|
param.menuName == "F_ResumeMaintenance_Talent_Pool")
|
|
{
|
|
|
|
sqlLang = @"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 'F_ResumeMaintenance_%')";
|
|
sqlLang = string.Format(sqlLang, param.menuName, App.User.ID, param.langId);
|
|
}
|
|
#endregion
|
|
|
|
if (result.DT_PageMutiMsg is null)
|
|
{
|
|
result.DT_PageMutiMsg = Db.Ado.SqlQuery<DT_PageMutiMsg>(sqlLang);
|
|
await _caching.SetAsync(param.menuName + "_DT_PageMutiMsg", result.DT_PageMutiMsg, TimeSpan.FromMinutes(5));
|
|
}
|
|
|
|
return new ServiceResult<ModuleReturn>() { Success = true, Message = "查询成功", Data = result, };
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取模块信息
|
|
/// </summary>
|
|
/// <param name="param"></param>
|
|
/// <returns></returns>
|
|
public async Task<ServiceResult<ModuleESSReturn>> GetESSModuleInfoAsync([FromBody] ModuleParam param)
|
|
{
|
|
var result = new ModuleESSReturn();
|
|
|
|
var result1 = await GetModuleInfoAsync(param);
|
|
result.JM_PageControlT1 = result1.Data.JM_PageControlT1;
|
|
result.DT_TableColumnT1 = result1.Data.JM_TableColumnT1.TableColumn;
|
|
result.DT_PageMutiMsg = result1.Data.DT_PageMutiMsg;
|
|
result.DT_Procedure = result1.Data.DT_Procedure;
|
|
result.DT_TableDataSearchT1 = result.DT_TableColumnT1.ToList();
|
|
|
|
result.DT_TableDataSearchT1 = result.DT_TableDataSearchT1.OrderBy(x => x.searchColumnSeq).Where(x => x.searchable == true).ToList();
|
|
|
|
result.DT_TableDataSearchT1.ForEach(x =>
|
|
{
|
|
if (x.searchOperator != null && x.searchOperator.Where(o => o.@operator == "Range").Any())
|
|
x.IsRange = 1;
|
|
});
|
|
return new ServiceResult<ModuleESSReturn>() { Success = true, Message = "查询成功", Data = result, };
|
|
}
|
|
#endregion
|
|
|
|
#region 获取通用列表下拉
|
|
/// <summary>
|
|
/// 获取通用列表下拉
|
|
/// </summary>
|
|
/// <param name="type"></param>
|
|
/// <returns></returns>
|
|
public async Task<ServiceResult<CommonSelect>> GetSelectAsync(string type, string keyWords)
|
|
{
|
|
var result = new CommonSelect();
|
|
JArray TableColumn = new JArray();
|
|
JArray DT_TablePageInfoT1 = new JArray();
|
|
JArray DT_TableDataT1 = new JArray();
|
|
JObject searchItem = new JObject();
|
|
JObject item;
|
|
DataTable dt;
|
|
string sql;
|
|
switch (type)
|
|
{
|
|
case "Ghre_Course":
|
|
searchItem = new JObject
|
|
{
|
|
new JProperty("defaultHidden", true),
|
|
new JProperty("field","value"),
|
|
new JProperty("label","课程ID"),
|
|
};
|
|
TableColumn.Add(searchItem);
|
|
searchItem = new JObject
|
|
{
|
|
new JProperty("field","label"),
|
|
new JProperty("label","课程编号"),
|
|
};
|
|
TableColumn.Add(searchItem);
|
|
|
|
sql = "SELECT Id, CourseNo, CourseName FROM Ghre_Course WHERE IsEnable=1 AND Status='Released'";
|
|
if (!string.IsNullOrWhiteSpace(keyWords))
|
|
sql += $"AND ( CourseNo like '%{keyWords}%' or CourseName like '%{keyWords}%')";
|
|
dt = await Db.Ado.GetDataTableAsync(sql);
|
|
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
{
|
|
item = new JObject {
|
|
new JProperty("value",long.Parse(dt.Rows[i]["Id"].ToString())),
|
|
new JProperty("label",dt.Rows[i]["CourseNo"].ToString()+"-"+dt.Rows[i]["CourseName"].ToString())
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
}
|
|
|
|
item = new JObject
|
|
{
|
|
new JProperty("ListMax",100),
|
|
new JProperty("ListMin",10),
|
|
new JProperty("PageNum",1),
|
|
new JProperty("PageSize",99999),
|
|
new JProperty("TotalCount",dt.Rows.Count),
|
|
new JProperty("UIType","Auto")
|
|
};
|
|
DT_TablePageInfoT1.Add(item);
|
|
break;
|
|
case "Ghre_CourseScene":
|
|
searchItem = new JObject
|
|
{
|
|
new JProperty("defaultHidden", true),
|
|
new JProperty("field","value"),
|
|
new JProperty("label","场景ID"),
|
|
};
|
|
TableColumn.Add(searchItem);
|
|
searchItem = new JObject
|
|
{
|
|
new JProperty("field","label"),
|
|
new JProperty("label","场景"),
|
|
};
|
|
TableColumn.Add(searchItem);
|
|
|
|
sql = "SELECT Id, SceneNo, SceneName FROM Ghre_CourseScene WHERE IsEnable=1";
|
|
if (!string.IsNullOrWhiteSpace(keyWords))
|
|
sql += $"AND ( SceneNo like '%{keyWords}%' or SceneName like '%{keyWords}%')";
|
|
dt = await Db.Ado.GetDataTableAsync(sql);
|
|
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
{
|
|
item = new JObject
|
|
{
|
|
new JProperty("value",long.Parse(dt.Rows[i]["Id"].ToString())),
|
|
new JProperty("label",dt.Rows[i]["SceneNo"].ToString()+"-"+dt.Rows[i]["SceneName"].ToString())
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
}
|
|
|
|
item = new JObject
|
|
{
|
|
new JProperty("ListMax",100),
|
|
new JProperty("ListMin",10),
|
|
new JProperty("PageNum",1),
|
|
new JProperty("PageSize",99999),
|
|
new JProperty("TotalCount",dt.Rows.Count),
|
|
new JProperty("UIType","Auto")
|
|
};
|
|
DT_TablePageInfoT1.Add(item);
|
|
break;
|
|
case "ScoreMethod":
|
|
searchItem = new JObject {
|
|
new JProperty("defaultHidden", true),
|
|
new JProperty("field","value"),
|
|
new JProperty("label","value")
|
|
};
|
|
TableColumn.Add(searchItem);
|
|
searchItem = new JObject
|
|
{
|
|
new JProperty("field","label"),
|
|
new JProperty("label","label")
|
|
};
|
|
TableColumn.Add(searchItem);
|
|
item = new JObject {
|
|
new JProperty("value","Manual"),
|
|
new JProperty("label","人工评分")
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
item = new JObject {
|
|
new JProperty("value","System"),
|
|
new JProperty("label","系统评分")
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
|
|
item = new JObject
|
|
{
|
|
new JProperty("ListMax",100),
|
|
new JProperty("ListMin",10),
|
|
new JProperty("PageNum",1),
|
|
new JProperty("PageSize",99999),
|
|
new JProperty("TotalCount",2),
|
|
new JProperty("UIType","Auto")
|
|
};
|
|
DT_TablePageInfoT1.Add(item);
|
|
break;
|
|
case "DifficultyLevel":
|
|
searchItem = new JObject {
|
|
new JProperty("defaultHidden", true),
|
|
new JProperty("field","value"),
|
|
new JProperty("label","value")
|
|
};
|
|
TableColumn.Add(searchItem);
|
|
searchItem = new JObject {
|
|
new JProperty("field","label"),
|
|
new JProperty("label","label")
|
|
};
|
|
TableColumn.Add(searchItem);
|
|
item = new JObject {
|
|
new JProperty("value","Easy"),
|
|
new JProperty("label","简单")
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
item = new JObject {
|
|
new JProperty("value","Normal"),
|
|
new JProperty("label","普通")
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
item = new JObject {
|
|
new JProperty("value","Hard"),
|
|
new JProperty("label","困难")
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
|
|
item = new JObject {
|
|
new JProperty("ListMax",100),
|
|
new JProperty("ListMin",10),
|
|
new JProperty("PageNum",1),
|
|
new JProperty("PageSize",99999),
|
|
new JProperty("TotalCount",3),
|
|
new JProperty("UIType","Auto")
|
|
};
|
|
DT_TablePageInfoT1.Add(item);
|
|
break;
|
|
case "QuestionType":
|
|
searchItem = new JObject {
|
|
new JProperty("defaultHidden", true),
|
|
new JProperty("field","value"),
|
|
new JProperty("label","value")
|
|
};
|
|
TableColumn.Add(searchItem);
|
|
searchItem = new JObject {
|
|
new JProperty("field","label"),
|
|
new JProperty("label","label")
|
|
};
|
|
TableColumn.Add(searchItem);
|
|
item = new JObject {
|
|
new JProperty("value","Single"),
|
|
new JProperty("label","单选题")
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
item = new JObject {
|
|
new JProperty("value","Multiple"),
|
|
new JProperty("label","多选题")
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
item = new JObject {
|
|
new JProperty("value","TrueOrFalse"),
|
|
new JProperty("label","判断题")
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
item = new JObject {
|
|
new JProperty("value","Completion"),
|
|
new JProperty("label","填空题")
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
item = new JObject {
|
|
new JProperty("value","ShortAnswer"),
|
|
new JProperty("label","简答题")
|
|
};
|
|
DT_TableDataT1.Add(item);
|
|
|
|
item = new JObject {
|
|
new JProperty("ListMax",100),
|
|
new JProperty("ListMin",10),
|
|
new JProperty("PageNum",1),
|
|
new JProperty("PageSize",99999),
|
|
new JProperty("TotalCount",5),
|
|
new JProperty("UIType","Auto")
|
|
};
|
|
DT_TablePageInfoT1.Add(item);
|
|
break;
|
|
}
|
|
result.JM_TableColumnT1.TableColumn = TableColumn;
|
|
result.DT_TableDataT1 = DT_TableDataT1;
|
|
result.DT_TablePageInfoT1 = DT_TablePageInfoT1;
|
|
return new ServiceResult<CommonSelect>() { Success = true, Message = "查询成功", Data = result, };
|
|
}
|
|
#endregion
|
|
|
|
#region Excel导出
|
|
/// <summary>
|
|
/// Excel导出
|
|
/// </summary>
|
|
/// <param name="param"></param>
|
|
/// <returns></returns>
|
|
public async Task<ServiceResult<QueryExportReturn>> ExportExcelAsync(QueryExport param)
|
|
{
|
|
var result = new QueryExportReturn();
|
|
|
|
var tableNmae = string.Empty;
|
|
string sql = "select QueryProcedure, EditProcedure, IUDProcedure from Ghrs_Menu where MenuNo='{0}'";
|
|
sql = string.Format(sql, param.menuName);
|
|
var dt = await Db.Ado.GetDataTableAsync(sql);
|
|
if (dt.Rows.Count > 0)
|
|
{
|
|
string queryProcedure = dt.Rows[0]["QueryProcedure"].ToString();
|
|
|
|
string[] aaa = queryProcedure.Split('/');
|
|
tableNmae = aaa[1];
|
|
}
|
|
|
|
sql = $@"SELECT Row_Number ()
|
|
OVER (ORDER BY CONVERT (INT, rowNum), CONVERT (INT, colNum))
|
|
sortNum,
|
|
field,
|
|
[dbo].[FLangKeyToValue] (mkey, 1, label)
|
|
label,
|
|
dbo.FS_GetdataSourceBySet
|
|
(dataSource, APIDataSourceType, Ghrs_PageSettingEdit.APIDataSourceID)
|
|
dataSource,
|
|
required,
|
|
dataType,
|
|
CONVERT (NVARCHAR (1000), '')
|
|
commentText -- StaffWith
|
|
,
|
|
elementType
|
|
+ CASE WHEN multipleSelect = 'true' THEN '_multiple' ELSE '' END
|
|
elementType -- 增加多选判断
|
|
FROM Ghrs_PageSettingEdit
|
|
WHERE IsEnable = 1
|
|
AND elementType NOT IN ('FnKey', 'PageGroup')
|
|
AND pageNo = 'F_Training_Course'
|
|
--and editable = 'true'
|
|
AND defaultHidden ! = 'true'
|
|
AND elementType ! = 'FileUpload'
|
|
AND dataType ! = ''";
|
|
|
|
var columns = await Db.Ado.SqlQueryAsync<QueryExportColumn>(sql);
|
|
columns = columns.WhereIF(param.exportSet.ExFields.Any(), x => param.exportSet.ExFields.Contains(x.field)).ToList();
|
|
|
|
dt = await Db.Ado.GetDataTableAsync("SELECT * FROM " + tableNmae + " WHERE IsEnable=1");
|
|
|
|
// 获取所有列名
|
|
var dtColumns = dt.Columns;
|
|
|
|
var convertColumns = columns.Where(x => !string.IsNullOrEmpty(x.dataSource) && !string.IsNullOrEmpty(x.elementType)).ToList();
|
|
for (int i = 0; i < convertColumns.Count; i++)
|
|
{
|
|
dt.Columns.Add(convertColumns[i].field + "1", typeof(string));
|
|
//var values = dt.AsEnumerable().Select(row => row.Field<string>(column.field)).Distinct().ToList();
|
|
sql = $@"SELECT SelectSql from Ghrs_ListCommonSql WHERE ListCommonSqlNo=REPLACE('{convertColumns[i].dataSource}','CommonList_','') and IsEnable=1 ";
|
|
|
|
sql = await Db.Ado.GetScalarAsync(sql) as string;
|
|
sql = sql.Replace("{@KeyWords}", null);
|
|
var dtSelect = await Db.Ado.SqlQueryAsync<CommonSelectItem>(sql);
|
|
|
|
foreach (DataColumn column in dtColumns)
|
|
{
|
|
if (column.ColumnName == convertColumns[i].field)
|
|
for (int j = 0; j < dt.Rows.Count; j++)
|
|
dt.Rows[j][column.ColumnName + "1"] = dtSelect.FirstOrDefault(x => x.value == dt.Rows[j][column.ColumnName].ToString())?.label;
|
|
}
|
|
}
|
|
var fieldDescs = columns.ToDictionary(item => item.label, item => convertColumns.Any(x => x.field == item.field) ? item.field + "1" : item.field);
|
|
|
|
|
|
//var fileId = await ReportHelper.SendFile(dt, param.exportSet.TitleName, fieldDescs, null, null, null);
|
|
|
|
return new ServiceResult<QueryExportReturn>() { Success = true, Message = "查询成功", Data = result, };
|
|
}
|
|
#endregion
|
|
|
|
#region Excel数据导入
|
|
|
|
public async Task<ServiceResult<QueryExportReturn>> ImportExcelAsync(IFormFile file, string menuName, int langId, int userId)
|
|
{
|
|
var fid = SnowFlakeSingle.Instance.NextId();
|
|
var path = $"{$"{Environment.CurrentDirectory}{Path.DirectorySeparatorChar}wwwroot{Path.DirectorySeparatorChar}files{Path.DirectorySeparatorChar}upload{Path.DirectorySeparatorChar}{fid}{Path.DirectorySeparatorChar}"}";
|
|
if (!Directory.Exists(path))
|
|
Directory.CreateDirectory(path);
|
|
using (var stream = new FileStream(path + file.FileName, FileMode.Create))
|
|
{
|
|
await file.CopyToAsync(stream);
|
|
}
|
|
|
|
var result = new QueryExportReturn();
|
|
|
|
await ReportHelper.ExcelToDataTable(Db, path, menuName, langId, userId);
|
|
return new ServiceResult<QueryExportReturn>() { Success = true, Message = "查询成功", Data = result, };
|
|
}
|
|
#endregion
|
|
|
|
#region 获取流程信息
|
|
/// <summary>
|
|
/// 获取流程信息
|
|
/// </summary>
|
|
/// <param name="param"></param>
|
|
/// <returns></returns>
|
|
public async Task<ServiceResult<FlowReturn>> GetFlowInfoAsync(FlowParam param)
|
|
{
|
|
var flowReturn = new FlowReturn();
|
|
|
|
|
|
|
|
|
|
#region JM_PageFormT1
|
|
var sql = $@"DECLARE
|
|
@SQL NVARCHAR (MAX) = '',
|
|
@DoType NVARCHAR (MAX) = '{param.doType}'
|
|
|
|
BEGIN
|
|
SET @SQL =
|
|
[dbo].[Fs_UserMenuFnKeyPriv2] ({param.langId},
|
|
{param.userId},
|
|
'{param.menuName}',
|
|
9)
|
|
SET @SQL =
|
|
replace (@SQL,
|
|
'""layout"":""horizontal""',
|
|
'""layout"":""horizontal"",""FlowPageStyle"":""'
|
|
+ (SELECT isnull (FlowPageStyle, 'All')
|
|
FROM Ghrw_Flow
|
|
WHERE FlowID = {param.jsonParam.FlowID})
|
|
+ '""')
|
|
SET @SQL =
|
|
replace
|
|
(@SQL,
|
|
'<DoTypeTrueOrFalse>',
|
|
CASE WHEN @DoType = 'Query' THEN 'true' ELSE +'""false""' END)
|
|
|
|
EXECUTE (@SQL)
|
|
END";
|
|
var result = await Db.Ado.GetStringAsync(sql);
|
|
|
|
flowReturn.JM_PageFormT1.PageForm = JsonHelper.JsonToObj<List<PageForm>>(result);
|
|
#endregion
|
|
|
|
#region DT_PageMutiMsg
|
|
|
|
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);
|
|
flowReturn.DT_PageMutiMsg = await Db.Ado.SqlQueryAsync<DT_PageMutiMsg>(sql);
|
|
#endregion
|
|
|
|
#region JM_PageFormActionsT1
|
|
sql = $@"SELECT field fnKey, [dbo].[FLangKeyToValue] (mkey, {param.langId}, label) fnTitle, icon
|
|
FROM Ghrs_PageSettingEdit
|
|
WHERE IsEnable = 1
|
|
AND pageNo = '{param.menuName}'
|
|
AND elementType = 'FnKey'";
|
|
flowReturn.JM_PageFormActionsT1.Toolbar = await Db.Ado.SqlQueryAsync<Toolbar>(sql);
|
|
#endregion
|
|
|
|
var flowId = param.jsonParam.FlowID;
|
|
sql = $"SELECT FlowId FROM Ghrw_Flow where FlowNo='{param.menuName}'";
|
|
flowId = Convert.ToInt16(DbAccess.ExecuteScalar(sql));
|
|
#region JM_TableColumnT1
|
|
sql = $@"DECLARE
|
|
@SQL NVARCHAR (MAX) = '',
|
|
@FlowID INT = {flowId},
|
|
@DoType NVARCHAR (MAX) = '{param.doType}',
|
|
@SQL2 NVARCHAR (MAX) = '',
|
|
@JsonString NVARCHAR (MAX) = '',
|
|
@JsonString1 NVARCHAR (MAX) = '',
|
|
@JsonString2 NVARCHAR (MAX) = ''
|
|
|
|
BEGIN
|
|
IF OBJECT_ID ('tempdb.[dbo].[#TempInitUserPageEditColumn]') IS NOT NULL
|
|
DROP TABLE [dbo].[#TempInitUserPageEditColumn]
|
|
|
|
CREATE TABLE [dbo].[#TempInitUserPageEditColumn]
|
|
(
|
|
InitID INT IDENTITY (1,1),
|
|
field NVARCHAR (100),
|
|
label NVARCHAR (100),
|
|
required NVARCHAR (100),
|
|
editable NVARCHAR (100),
|
|
rowNum INT,
|
|
colNum INT,
|
|
elementType NVARCHAR (100),
|
|
dataSource NVARCHAR (100),
|
|
defaultHidden NVARCHAR (100),
|
|
isPrimaryKey NVARCHAR (100),
|
|
isSingleColumn INT,
|
|
dataType NVARCHAR (100),
|
|
columnWidth NVARCHAR (100),
|
|
dynamicShow INT,
|
|
PrivFlag INT,
|
|
multipleSelect NVARCHAR (100),
|
|
isFullWidth INT,
|
|
hasMarginLeft INT,
|
|
canBatchPageDisplay NVARCHAR (100)
|
|
)
|
|
|
|
INSERT INTO [#TempInitUserPageEditColumn]
|
|
SELECT pp.ColumnName field,
|
|
pp.ColumnLabel label,
|
|
iif (pp.IsRequired = 1, 'true', 'false') required,
|
|
iif
|
|
(pp.Editable = 1 AND isnull (kk.PrivFlag, 1) = 2,
|
|
'true',
|
|
'false') editable,
|
|
pp.SortNo rowNum,
|
|
1 colNum,
|
|
pp.ColumnType elementType,
|
|
CASE
|
|
WHEN pp.ColumnType = 'StaffSelect'
|
|
THEN
|
|
isnull (DataSourceType, 'StaffWithoutPriv')
|
|
WHEN pp.ColumnType = 'OrgTreeSelect'
|
|
THEN
|
|
isnull (DataSourceType, 'OrgTreeWithPriv')
|
|
ELSE
|
|
dbo.FS_GetdataSourceBySet
|
|
('', pp.DataSourceType, pp.DataSource)
|
|
END dataSource,
|
|
'false' defaultHidden,
|
|
'true' isPrimaryKey,
|
|
0 isSingleColumn,
|
|
pp.dataType,
|
|
pp.columnWidth,
|
|
pp.dynamicShow,
|
|
isnull (kk.PrivFlag, 1) PrivFlag, -- 申请页默认都是可以编辑的
|
|
iif (pp.IsMultipleSelect = 1, 'true', 'false'),
|
|
pp.isFullWidth, pp.hasMarginLeft,
|
|
iif (pp.IsBatchPageDisplay = 1, 'true', 'false')
|
|
FROM Ghrw_FlowPageDesign pp
|
|
LEFT JOIN Ghrw_FlowNodesColumnPriv kk
|
|
ON pp.FlowID = kk.FlowID
|
|
AND pp.FlowPageDesignId = kk.FlowPageDesignId
|
|
AND kk.IsEnable = 1
|
|
AND kk.NodeID = 'sid-start-node'
|
|
WHERE pp.FlowID = @FlowID
|
|
AND pp.IsEnable = 1
|
|
AND isnull (kk.PrivFlag, 1) ! = 0 -- 隐藏的栏位不显示
|
|
ORDER BY pp.SortNo
|
|
|
|
IF @DoType = 'Import'
|
|
BEGIN
|
|
SELECT Row_Number () OVER (ORDER BY rowNum, colNum) SortNum,
|
|
field,
|
|
label,
|
|
dataSource,
|
|
required,
|
|
dataType,
|
|
CONVERT (NVARCHAR (1000), '') commentText,
|
|
elementType
|
|
FROM [#TempInitUserPageEditColumn]
|
|
WHERE field ! = 'AttachmentIDs' AND dynamicShow ! = 0
|
|
|
|
RETURN
|
|
END
|
|
|
|
|
|
|
|
SET @JsonString1 =
|
|
(SELECT field,
|
|
label,
|
|
required,
|
|
editable,
|
|
rowNum,
|
|
colNum,
|
|
elementType,
|
|
dataSource,
|
|
defaultHidden,
|
|
isPrimaryKey,
|
|
isSingleColumn,
|
|
dataType,
|
|
CONVERT (INT, columnWidth) columnWidth,
|
|
dynamicShow,
|
|
multipleSelect,
|
|
isFullWidth,
|
|
hasMarginLeft,
|
|
canBatchPageDisplay
|
|
FROM [dbo].[#TempInitUserPageEditColumn]
|
|
FOR JSON PATH)
|
|
SET @JsonString1 =
|
|
replace
|
|
(replace (@JsonString1, '""true""', 'true'), '""false""', 'false')
|
|
SET @SQL = 'select ''' + @JsonString1 + ''' [#Json#TableColumn]'
|
|
EXEC sp_executesql @SQL
|
|
END";
|
|
|
|
result = await Db.Ado.GetStringAsync(sql);
|
|
|
|
flowReturn.JM_TableColumnT1.TableColumn = JsonHelper.JsonToObj<List<FlowTableColumn>>(result);
|
|
#endregion
|
|
|
|
#region 特殊处理
|
|
switch (param.menuName)
|
|
{
|
|
case "F_ESS_VN_BenefitApply":
|
|
sql = @$"DECLARE
|
|
@SQL NVARCHAR (MAX) = '',
|
|
@FlowID INT = {param.jsonParam.FlowID},
|
|
@langId INT = {param.langId},
|
|
@DoType NVARCHAR (MAX) = '{param.doType}',
|
|
@SQL2 NVARCHAR (MAX) = '',
|
|
@JsonString NVARCHAR (MAX) = '',
|
|
@JsonString1 NVARCHAR (MAX) = '',
|
|
@JsonString2 NVARCHAR (MAX) = '',
|
|
@ID INT = '{param.id}',
|
|
@userId INT = {param.userId}
|
|
|
|
BEGIN
|
|
IF @DoType IN ('Update', 'Copy') -- 读取修改
|
|
BEGIN
|
|
SELECT StaffID,
|
|
ApplyDate,
|
|
Reverse1,
|
|
BenefitType,
|
|
ConnectDate,
|
|
Family,
|
|
ToDoType,
|
|
WorkID,
|
|
JSON_QUERY
|
|
(
|
|
dbo.FS_GetTableAttachment
|
|
('Ghrz_VN_BenefitApply', BenefitID, @langId))
|
|
#Json#AttachmentIDs,
|
|
SortNo,
|
|
IsDefault,
|
|
RemarkSz,
|
|
BenefitID,
|
|
isnull
|
|
(
|
|
(SELECT CASE
|
|
WHEN @langId = 1 THEN UserName
|
|
ELSE UserEname
|
|
END
|
|
FROM Ghrs_User kk
|
|
WHERE kk.UserId = a.CreateBy),
|
|
'')
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000078', @langId, '于 ')
|
|
+ ' '
|
|
+ CONVERT (NVARCHAR (16), CreateTime, 121)
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000079', @langId, ' 创建')
|
|
CreateDataInfo,
|
|
isnull
|
|
(
|
|
(SELECT CASE
|
|
WHEN @langId = 1 THEN UserName
|
|
ELSE UserEname
|
|
END
|
|
FROM Ghrs_User kk
|
|
WHERE kk.UserId = a.UpdateBy),
|
|
'')
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000078', @langId, '于')
|
|
+ ' '
|
|
+ CONVERT (NVARCHAR (16), UpdateTime, 121)
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000080', @langId, ' 最后修改')
|
|
UpdateDataInfo
|
|
FROM Ghrz_VN_BenefitApply a
|
|
WHERE BenefitID = @ID
|
|
END
|
|
|
|
IF @DoType = 'Insert' -- 空白新增
|
|
BEGIN
|
|
SELECT (SELECT UserStaffID
|
|
FROM dbo.Ghrs_User
|
|
WHERE UserId = @userId) StaffID,
|
|
CONVERT (NVARCHAR (10), getdate (), 23) ApplyDate,
|
|
(SELECT DeptID
|
|
FROM dbo.Ghra_Staff
|
|
WHERE StaffID = (SELECT UserStaffID
|
|
FROM dbo.Ghrs_User
|
|
WHERE UserId = @userId)) Reverse1,
|
|
NULL BenefitType,
|
|
NULL ConnectDate,
|
|
NULL Family,
|
|
NULL ToDoType,
|
|
NULL WorkID,
|
|
NULL AttachmentIDs,
|
|
NULL SortNo,
|
|
0 IsDefault,
|
|
0 BenefitID,
|
|
'' RemarkSz
|
|
END
|
|
|
|
IF @DoType = 'ReApply' -- ReApply:重新发起
|
|
BEGIN
|
|
SELECT StaffID,
|
|
ApplyDate,
|
|
Reverse1,
|
|
BenefitType,
|
|
ConnectDate,
|
|
Family,
|
|
ToDoType,
|
|
NULL WorkID,
|
|
AttachmentIDs,
|
|
SortNo,
|
|
IsDefault,
|
|
0 BenefitID,
|
|
RemarkSz
|
|
FROM Ghrz_VN_BenefitApply
|
|
WHERE WorkID = @ID -- 根据流程单号读取
|
|
END
|
|
END";
|
|
flowReturn.DT_TableDataT1 = await Db.Ado.GetDataTableAsync(sql);
|
|
break;
|
|
case "F_ESS_TrainRequestApply":
|
|
sql = @$"DECLARE
|
|
@SQL NVARCHAR (MAX) = '',
|
|
@FlowID INT = {param.jsonParam.FlowID},
|
|
@langId INT = {param.langId},
|
|
@DoType NVARCHAR (MAX) = '{param.doType}',
|
|
@SQL2 NVARCHAR (MAX) = '',
|
|
@JsonString NVARCHAR (MAX) = '',
|
|
@JsonString1 NVARCHAR (MAX) = '',
|
|
@JsonString2 NVARCHAR (MAX) = '',
|
|
@ID INT = '{param.id}',
|
|
@userId INT = {param.userId}
|
|
|
|
BEGIN
|
|
IF @DoType IN ('Update', 'Copy') -- 读取修改
|
|
BEGIN
|
|
SELECT a.Id,
|
|
a.CreateBy,
|
|
a.CreateTime,
|
|
a.CreateProg,
|
|
a.CreateIP,
|
|
a.UpdateBy,
|
|
a.UpdateTime,
|
|
a.UpdateProg,
|
|
a.UpdateIP,
|
|
a.OperateLogID,
|
|
a.CourseSource,
|
|
a.RequestNo,
|
|
a.CourseName,
|
|
a.CourseId,
|
|
a.YearMonth,
|
|
a.RequestSource,
|
|
a.DeptId,
|
|
a.ApplicantId,
|
|
a.RequestNum,
|
|
a.TrainStaffId,
|
|
a.TrainClass,
|
|
a.TrainLevel,
|
|
a.InOrOut,
|
|
a.TeacherClass,
|
|
a.Reason,
|
|
a.PerCapitaBudget,
|
|
a.TotalBudget,
|
|
a.SponsorId,
|
|
a.Status,
|
|
a.RemarkSz,
|
|
a.IsDefault,
|
|
a.IsEnable,
|
|
a.WorkID,
|
|
a.WorkNo,
|
|
a.ToDoType,
|
|
a.BatchSID,
|
|
a.WorkState,
|
|
a.ShiftID,
|
|
a.ConfirmUserID,
|
|
a.ConfirmTime,
|
|
a.ConfirmComment,
|
|
a.Reverse1,
|
|
a.Reverse2,
|
|
a.Reverse3,
|
|
a.Reverse4,
|
|
a.Reverse5,
|
|
a.Reverse6,
|
|
a.Reverse7,
|
|
a.Reverse8,
|
|
a.Reverse9,
|
|
a.Reverse10,
|
|
a.ReverseI1,
|
|
a.ReverseI2,
|
|
isnull
|
|
(
|
|
(SELECT CASE
|
|
WHEN @langId = 1 THEN UserName
|
|
ELSE UserEname
|
|
END
|
|
FROM Ghrs_User kk
|
|
WHERE kk.UserId = a.CreateBy),
|
|
'')
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000078', @langId, '于 ')
|
|
+ ' '
|
|
+ CONVERT (NVARCHAR (16), CreateTime, 121)
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000079', @langId, ' 创建') CreateDataInfo,
|
|
isnull
|
|
(
|
|
(SELECT CASE
|
|
WHEN @langId = 1 THEN UserName
|
|
ELSE UserEname
|
|
END
|
|
FROM Ghrs_User kk
|
|
WHERE kk.UserId = a.UpdateBy),
|
|
'')
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000078', @langId, '于')
|
|
+ ' '
|
|
+ CONVERT (NVARCHAR (16), UpdateTime, 121)
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000080', @langId, ' 最后修改') UpdateDataInfo
|
|
FROM Ghre_Request a
|
|
WHERE a.Id = @ID
|
|
END
|
|
|
|
IF @DoType = 'Insert' -- 空白新增
|
|
BEGIN
|
|
SELECT (SELECT UserStaffID
|
|
FROM dbo.Ghrs_User
|
|
WHERE UserId = @userId) ApplicantId,
|
|
NULL CourseSource,
|
|
NULL RequestNo,
|
|
NULL CourseName,
|
|
NULL CourseId,
|
|
NULL YearMonth,
|
|
'Dept' RequestSource,
|
|
NULL DeptId,
|
|
NULL RequestNum,
|
|
NULL TrainStaffId,
|
|
NULL TrainClass,
|
|
NULL TrainLevel,
|
|
NULL InOrOut,
|
|
NULL TeacherClass,
|
|
NULL Reason,
|
|
NULL PerCapitaBudget,
|
|
NULL TotalBudget,
|
|
NULL SponsorId,
|
|
'Wait' Status,
|
|
0 IsDefault,
|
|
0 Id,
|
|
'' RemarkSz
|
|
END
|
|
|
|
IF @DoType = 'ReApply' -- ReApply:重新发起
|
|
BEGIN
|
|
SELECT Id,
|
|
CreateBy,
|
|
CreateTime,
|
|
CreateProg,
|
|
CreateIP,
|
|
UpdateBy,
|
|
UpdateTime,
|
|
UpdateProg,
|
|
UpdateIP,
|
|
OperateLogID,
|
|
CourseSource,
|
|
RequestNo,
|
|
CourseName,
|
|
CourseId,
|
|
YearMonth,
|
|
RequestSource,
|
|
DeptId,
|
|
ApplicantId,
|
|
RequestNum,
|
|
TrainStaffId,
|
|
TrainClass,
|
|
TrainLevel,
|
|
InOrOut,
|
|
TeacherClass,
|
|
Reason,
|
|
PerCapitaBudget,
|
|
TotalBudget,
|
|
SponsorId,
|
|
Status,
|
|
RemarkSz,
|
|
IsDefault,
|
|
IsEnable,
|
|
WorkID,
|
|
WorkNo,
|
|
ToDoType,
|
|
BatchSID,
|
|
WorkState,
|
|
ShiftID,
|
|
ConfirmUserID,
|
|
ConfirmTime,
|
|
ConfirmComment,
|
|
Reverse1,
|
|
Reverse2,
|
|
Reverse3,
|
|
Reverse4,
|
|
Reverse5,
|
|
Reverse6,
|
|
Reverse7,
|
|
Reverse8,
|
|
Reverse9,
|
|
Reverse10,
|
|
ReverseI1,
|
|
ReverseI2
|
|
FROM Ghre_Request
|
|
WHERE WorkID = @ID -- 根据流程单号读取
|
|
END
|
|
END";
|
|
flowReturn.DT_TableDataT1 = await Db.Ado.GetDataTableAsync(sql);
|
|
break;
|
|
case "F_ESS_TrainRequestPersonalApply":
|
|
sql = @$"DECLARE
|
|
@SQL NVARCHAR (MAX) = '',
|
|
@FlowID INT = {param.jsonParam.FlowID},
|
|
@langId INT = {param.langId},
|
|
@DoType NVARCHAR (MAX) = '{param.doType}',
|
|
@SQL2 NVARCHAR (MAX) = '',
|
|
@JsonString NVARCHAR (MAX) = '',
|
|
@JsonString1 NVARCHAR (MAX) = '',
|
|
@JsonString2 NVARCHAR (MAX) = '',
|
|
@ID INT = '{param.id}',
|
|
@userId INT = {param.userId}
|
|
|
|
BEGIN
|
|
IF @DoType IN ('Update', 'Copy') -- 读取修改
|
|
BEGIN
|
|
SELECT a.Id,
|
|
a.CreateBy,
|
|
a.CreateTime,
|
|
a.CreateProg,
|
|
a.CreateIP,
|
|
a.UpdateBy,
|
|
a.UpdateTime,
|
|
a.UpdateProg,
|
|
a.UpdateIP,
|
|
a.OperateLogID,
|
|
a.CourseSource,
|
|
a.RequestNo,
|
|
a.CourseName,
|
|
a.CourseId,
|
|
a.YearMonth,
|
|
a.RequestSource,
|
|
a.DeptId,
|
|
a.ApplicantId,
|
|
a.RequestNum,
|
|
a.TrainStaffId,
|
|
a.TrainClass,
|
|
a.TrainLevel,
|
|
a.InOrOut,
|
|
a.TeacherClass,
|
|
a.Reason,
|
|
a.PerCapitaBudget,
|
|
a.TotalBudget,
|
|
a.SponsorId,
|
|
a.Status,
|
|
a.RemarkSz,
|
|
a.IsDefault,
|
|
a.IsEnable,
|
|
a.WorkID,
|
|
a.WorkNo,
|
|
a.ToDoType,
|
|
a.BatchSID,
|
|
a.WorkState,
|
|
a.ShiftID,
|
|
a.ConfirmUserID,
|
|
a.ConfirmTime,
|
|
a.ConfirmComment,
|
|
a.Reverse1,
|
|
a.Reverse2,
|
|
a.Reverse3,
|
|
a.Reverse4,
|
|
a.Reverse5,
|
|
a.Reverse6,
|
|
a.Reverse7,
|
|
a.Reverse8,
|
|
a.Reverse9,
|
|
a.Reverse10,
|
|
a.ReverseI1,
|
|
a.ReverseI2,
|
|
isnull
|
|
(
|
|
(SELECT CASE
|
|
WHEN @langId = 1 THEN UserName
|
|
ELSE UserEname
|
|
END
|
|
FROM Ghrs_User kk
|
|
WHERE kk.UserId = a.CreateBy),
|
|
'')
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000078', @langId, '于 ')
|
|
+ ' '
|
|
+ CONVERT (NVARCHAR (16), CreateTime, 121)
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000079', @langId, ' 创建') CreateDataInfo,
|
|
isnull
|
|
(
|
|
(SELECT CASE
|
|
WHEN @langId = 1 THEN UserName
|
|
ELSE UserEname
|
|
END
|
|
FROM Ghrs_User kk
|
|
WHERE kk.UserId = a.UpdateBy),
|
|
'')
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000078', @langId, '于')
|
|
+ ' '
|
|
+ CONVERT (NVARCHAR (16), UpdateTime, 121)
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000080', @langId, ' 最后修改') UpdateDataInfo
|
|
FROM Ghre_Request a
|
|
WHERE a.Id = @ID
|
|
END
|
|
|
|
IF @DoType = 'Insert' -- 空白新增
|
|
BEGIN
|
|
SELECT (SELECT UserStaffID
|
|
FROM dbo.Ghrs_User
|
|
WHERE UserId = @userId) ApplicantId,
|
|
NULL CourseSource,
|
|
NULL RequestNo,
|
|
NULL CourseName,
|
|
NULL CourseId,
|
|
NULL YearMonth,
|
|
'Person' RequestSource,
|
|
(SELECT DeptID
|
|
FROM Ghra_Staff
|
|
WHERE StaffID = (SELECT UserStaffID
|
|
FROM dbo.Ghrs_User
|
|
WHERE UserId = @userId)) DeptId,
|
|
NULL RequestNum,
|
|
NULL TrainStaffId,
|
|
NULL TrainClass,
|
|
NULL TrainLevel,
|
|
NULL InOrOut,
|
|
NULL TeacherClass,
|
|
NULL Reason,
|
|
NULL PerCapitaBudget,
|
|
NULL TotalBudget,
|
|
NULL SponsorId,
|
|
'Wait' Status,
|
|
0 IsDefault,
|
|
0 Id,
|
|
'' RemarkSz
|
|
END
|
|
|
|
IF @DoType = 'ReApply' -- ReApply:重新发起
|
|
BEGIN
|
|
SELECT Id,
|
|
CreateBy,
|
|
CreateTime,
|
|
CreateProg,
|
|
CreateIP,
|
|
UpdateBy,
|
|
UpdateTime,
|
|
UpdateProg,
|
|
UpdateIP,
|
|
OperateLogID,
|
|
CourseSource,
|
|
RequestNo,
|
|
CourseName,
|
|
CourseId,
|
|
YearMonth,
|
|
RequestSource,
|
|
DeptId,
|
|
ApplicantId,
|
|
RequestNum,
|
|
TrainStaffId,
|
|
TrainClass,
|
|
TrainLevel,
|
|
InOrOut,
|
|
TeacherClass,
|
|
Reason,
|
|
PerCapitaBudget,
|
|
TotalBudget,
|
|
SponsorId,
|
|
Status,
|
|
RemarkSz,
|
|
IsDefault,
|
|
IsEnable,
|
|
WorkID,
|
|
WorkNo,
|
|
ToDoType,
|
|
BatchSID,
|
|
WorkState,
|
|
ShiftID,
|
|
ConfirmUserID,
|
|
ConfirmTime,
|
|
ConfirmComment,
|
|
Reverse1,
|
|
Reverse2,
|
|
Reverse3,
|
|
Reverse4,
|
|
Reverse5,
|
|
Reverse6,
|
|
Reverse7,
|
|
Reverse8,
|
|
Reverse9,
|
|
Reverse10,
|
|
ReverseI1,
|
|
ReverseI2
|
|
FROM Ghre_Request
|
|
WHERE WorkID = @ID -- 根据流程单号读取
|
|
END
|
|
END";
|
|
flowReturn.DT_TableDataT1 = await Db.Ado.GetDataTableAsync(sql);
|
|
break;
|
|
|
|
case "F_ESS_TrainTeacherApply":
|
|
sql = @$"DECLARE
|
|
@SQL NVARCHAR (MAX) = '',
|
|
@FlowID INT = {param.jsonParam.FlowID},
|
|
@langId INT = {param.langId},
|
|
@DoType NVARCHAR (MAX) = '{param.doType}',
|
|
@SQL2 NVARCHAR (MAX) = '',
|
|
@JsonString NVARCHAR (MAX) = '',
|
|
@JsonString1 NVARCHAR (MAX) = '',
|
|
@JsonString2 NVARCHAR (MAX) = '',
|
|
@ID INT = '{param.id}',
|
|
@userId INT = {param.userId}
|
|
|
|
BEGIN
|
|
IF @DoType IN ('Update', 'Copy') -- 读取修改
|
|
BEGIN
|
|
SELECT a.Id,
|
|
a.CreateBy,
|
|
a.CreateTime,
|
|
a.CreateProg,
|
|
a.CreateIP,
|
|
a.UpdateBy,
|
|
a.UpdateTime,
|
|
a.UpdateProg,
|
|
a.UpdateIP,
|
|
a.OperateLogID,
|
|
a.CourseSource,
|
|
a.RequestNo,
|
|
a.CourseName,
|
|
a.CourseId,
|
|
a.YearMonth,
|
|
a.RequestSource,
|
|
a.DeptId,
|
|
a.ApplicantId,
|
|
a.RequestNum,
|
|
a.TrainStaffId,
|
|
a.TrainClass,
|
|
a.TrainLevel,
|
|
a.InOrOut,
|
|
a.TeacherClass,
|
|
a.Reason,
|
|
a.PerCapitaBudget,
|
|
a.TotalBudget,
|
|
a.SponsorId,
|
|
a.Status,
|
|
a.RemarkSz,
|
|
a.IsDefault,
|
|
a.IsEnable,
|
|
a.WorkID,
|
|
a.WorkNo,
|
|
a.ToDoType,
|
|
a.BatchSID,
|
|
a.WorkState,
|
|
a.ShiftID,
|
|
a.ConfirmUserID,
|
|
a.ConfirmTime,
|
|
a.ConfirmComment,
|
|
a.AgreeUserId,
|
|
a.AgreeTime,
|
|
a.AgreeReason,
|
|
a.RefuseUserId,
|
|
a.RefuseTime,
|
|
a.RefuseReason,
|
|
a.Reverse1,
|
|
a.Reverse2,
|
|
a.Reverse3,
|
|
a.Reverse4,
|
|
a.Reverse5,
|
|
a.Reverse6,
|
|
a.Reverse7,
|
|
a.Reverse8,
|
|
a.Reverse9,
|
|
a.Reverse10,
|
|
a.ReverseI1,
|
|
a.ReverseI2,
|
|
isnull
|
|
(
|
|
(SELECT CASE
|
|
WHEN @langId = 1 THEN UserName
|
|
ELSE UserEname
|
|
END
|
|
FROM Ghrs_User kk
|
|
WHERE kk.UserId = a.CreateBy),
|
|
'')
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000078', @langId, '于 ')
|
|
+ ' '
|
|
+ CONVERT (NVARCHAR (16), CreateTime, 121)
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000079', @langId, ' 创建') CreateDataInfo,
|
|
isnull
|
|
(
|
|
(SELECT CASE
|
|
WHEN @langId = 1 THEN UserName
|
|
ELSE UserEname
|
|
END
|
|
FROM Ghrs_User kk
|
|
WHERE kk.UserId = a.UpdateBy),
|
|
'')
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000078', @langId, '于')
|
|
+ ' '
|
|
+ CONVERT (NVARCHAR (16), UpdateTime, 121)
|
|
+ ' '
|
|
+ [dbo].[FLangKeyToValue]
|
|
('GHR_Common_000080', @langId, ' 最后修改') UpdateDataInfo
|
|
FROM Ghre_Request a
|
|
WHERE a.Id = @ID
|
|
END
|
|
|
|
IF @DoType = 'Insert' -- 空白新增
|
|
BEGIN
|
|
SELECT (SELECT UserStaffID
|
|
FROM dbo.Ghrs_User
|
|
WHERE UserId = @userId) CreateBy,
|
|
NULL SchoolId,
|
|
(SELECT DeptID
|
|
FROM Ghra_Staff
|
|
WHERE StaffID = (SELECT UserStaffID
|
|
FROM dbo.Ghrs_User
|
|
WHERE UserId = @userId)) DeptID,
|
|
NULL StaffId,
|
|
NULL TeacherType,
|
|
NULL TeacherNo,
|
|
NULL TeacherName,
|
|
NULL PhotoUrl,
|
|
NULL Gender,
|
|
NULL Email,
|
|
NULL Mobile,
|
|
NULL TeacherLevel,
|
|
NULL Price,
|
|
NULL SkillPoints,
|
|
NULL ApplyReason,
|
|
'Wait' Status,
|
|
0 IsDefault,
|
|
0 Id,
|
|
NULL RemarkSz
|
|
END
|
|
|
|
IF @DoType = 'ReApply' -- ReApply:重新发起
|
|
BEGIN
|
|
SELECT Id,
|
|
CreateBy,
|
|
CreateTime,
|
|
CreateProg,
|
|
CreateIP,
|
|
UpdateBy,
|
|
UpdateTime,
|
|
UpdateProg,
|
|
UpdateIP,
|
|
OperateLogID,
|
|
SchoolId,
|
|
DeptID,
|
|
StaffId,
|
|
TeacherType,
|
|
TeacherNo,
|
|
TeacherName,
|
|
PhotoUrl,
|
|
Gender,
|
|
Email,
|
|
Mobile,
|
|
TeacherLevel,
|
|
Price,
|
|
SkillPoints,
|
|
RemarkSz,
|
|
IsDefault,
|
|
IsEnable,
|
|
WorkID,
|
|
WorkNo,
|
|
ToDoType,
|
|
BatchSID,
|
|
WorkState,
|
|
ShiftID,
|
|
ConfirmUserID,
|
|
ConfirmTime,
|
|
ConfirmComment,
|
|
AgreeUserId,
|
|
AgreeTime,
|
|
AgreeReason,
|
|
RefuseUserId,
|
|
RefuseTime,
|
|
RefuseReason,
|
|
Reverse1,
|
|
Reverse2,
|
|
Reverse3,
|
|
Reverse4,
|
|
Reverse5,
|
|
Reverse6,
|
|
Reverse7,
|
|
Reverse8,
|
|
Reverse9,
|
|
Reverse10,
|
|
ReverseI1,
|
|
ReverseI2,
|
|
Status,
|
|
ApplyReason
|
|
FROM Ghre_Teacher
|
|
WHERE WorkID = @ID -- 根据流程单号读取
|
|
END
|
|
END";
|
|
var data = await Db.Ado.SqlQueryAsync<Ghre_TeacherDto>(sql);
|
|
data.ForEach(x => x.TeacherAttachments = new List<Ghre_TeacherAttachmentDto>());
|
|
flowReturn.DT_TableDataT1 = data;
|
|
break;
|
|
|
|
case "F_ESS_TrainTeacherChangeApply":
|
|
//sql = @$"DECLARE
|
|
// @SQL NVARCHAR (MAX) = '',
|
|
// @FlowID INT = {param.jsonParam.FlowID},
|
|
// @langId INT = {param.langId},
|
|
// @DoType NVARCHAR (MAX) = '{param.doType}',
|
|
// @SQL2 NVARCHAR (MAX) = '',
|
|
// @JsonString NVARCHAR (MAX) = '',
|
|
// @JsonString1 NVARCHAR (MAX) = '',
|
|
// @JsonString2 NVARCHAR (MAX) = '',
|
|
// @ID INT = '{param.id}',
|
|
// @userId INT = {param.userId}
|
|
|
|
// ";
|
|
|
|
if (param.doType == "Insert")
|
|
{
|
|
var data1 = new List<Ghre_TeacherChangeDto>
|
|
{
|
|
new Ghre_TeacherChangeDto()
|
|
{
|
|
CreateBy = GetStaffId(),
|
|
Id = 0,
|
|
Status = "Wait"
|
|
}
|
|
};
|
|
data1.ForEach(x => x.TeacherAttachments = new List<Ghre_TeacherChangeAttachmentDto>());
|
|
flowReturn.DT_TableDataT1 = data1;
|
|
|
|
}
|
|
break;
|
|
case "F_ESS_RecruitYearManpowerApply":
|
|
if (param.doType == "Insert")
|
|
{
|
|
var config = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Year_Human_Start_Month").FirstAsync();
|
|
|
|
var startMonth = config != null ? config.ConfigValue.ObjToInt() : 1;
|
|
|
|
|
|
var data1 = new InsertGhrh_YearHumanApplyOrderInput()
|
|
{
|
|
StartMonth = startMonth,
|
|
};
|
|
|
|
#region 处理起始月
|
|
var months = new List<string>();
|
|
List<int> numbers = new();
|
|
for (int i = 1; i <= 12; i++)
|
|
{
|
|
if (i < 10)
|
|
months.Add("0" + i);
|
|
else
|
|
months.Add(i.ObjToString());
|
|
numbers.Add(i);
|
|
}
|
|
var curentYear = DateTime.Now.Year;
|
|
var curentMonth = DateTime.Now.Month;
|
|
// 指定要打头的数字
|
|
int startNumber = startMonth;
|
|
|
|
|
|
if (curentMonth < startMonth)
|
|
curentYear = -1;
|
|
|
|
data1.Year = curentYear;
|
|
var sort = flowReturn.JM_TableColumnT1.TableColumn.Where(x => x.field == "M1").SingleOrDefault()?.rowNum ?? 5;
|
|
// 创建一个新的列表用于存储重新排序后的结果
|
|
var name1 = await QueryLangValue("F_ResumeMaintenance_0216", "预算编制数");
|
|
List<int> reorderedNumbers = new();
|
|
flowReturn.JM_TableColumnT1.TableColumn?.ForEach(x =>
|
|
{
|
|
if (months.Where(o => o == x.label).Any())
|
|
x.GroupName = name1;
|
|
|
|
});
|
|
|
|
// 找到指定数字的索引
|
|
int index1 = numbers.IndexOf(startNumber);
|
|
if (index1 != -1)
|
|
{
|
|
// 从指定数字开始,按照循环顺序添加数字
|
|
for (int i = 0; i < numbers.Count; i++)
|
|
{
|
|
int currentIndex = (index1 + i) % numbers.Count;
|
|
reorderedNumbers.Add(numbers[currentIndex]);
|
|
}
|
|
|
|
foreach (var num in reorderedNumbers)
|
|
{
|
|
flowReturn.JM_TableColumnT1.TableColumn?.ForEach(x =>
|
|
{
|
|
if (x.label.ObjToInt() == num)
|
|
{
|
|
x.rowNum = sort;
|
|
x.label = curentYear + "-" + x.label;
|
|
}
|
|
});
|
|
if (num == 12)
|
|
curentYear++;
|
|
sort++;
|
|
}
|
|
}
|
|
flowReturn.JM_TableColumnT1.TableColumn = flowReturn.JM_TableColumnT1.TableColumn.OrderBy(x => x.rowNum).ToList();
|
|
#endregion
|
|
data1.Items.Add(new Ghrh_YearHumanSettings() { });
|
|
var list = new List<InsertGhrh_YearHumanApplyOrderInput>
|
|
{
|
|
data1
|
|
};
|
|
flowReturn.DT_TableDataT1 = list;
|
|
}
|
|
break;
|
|
case "F_ESS_RecruitManpowerRequestApply":
|
|
if (param.doType == "Insert")
|
|
{
|
|
flowReturn.DT_TableDataT1 = new List<InsertGhrh_HumanRequestInput>()
|
|
{
|
|
new InsertGhrh_HumanRequestInput()
|
|
{
|
|
}
|
|
};
|
|
}
|
|
break;
|
|
|
|
case "F_ESS_ExternalTrainApplyOrder_Boltone":
|
|
if (param.doType == "Insert")
|
|
{
|
|
flowReturn.DT_TableDataT1 = new List<InsertGhre_ExternalTrainApplyOrder_BoltoneInput>()
|
|
{
|
|
new InsertGhre_ExternalTrainApplyOrder_BoltoneInput()
|
|
{
|
|
ApplicantId = App.User.StaffId,
|
|
ApplicantDeptId = GetStaffDeptId(),
|
|
ApplicantTime = DateTime.Now
|
|
}
|
|
};
|
|
}
|
|
break;
|
|
|
|
case "F_ESS_TrainFeeApplyOrder_Boltone":
|
|
if (param.doType == "Insert")
|
|
{
|
|
flowReturn.DT_TableDataT1 = new List<InsertGhre_TrainFeeApplyOrder_BoltoneInput>()
|
|
{
|
|
new InsertGhre_TrainFeeApplyOrder_BoltoneInput()
|
|
{
|
|
ApplicantId = App.User.StaffId,
|
|
ApplicantDeptId = GetStaffDeptId(),
|
|
ApplicantTime = DateTime.Now
|
|
}
|
|
};
|
|
}
|
|
break;
|
|
}
|
|
|
|
#endregion
|
|
|
|
return new ServiceResult<FlowReturn>() { Success = true, Message = "查询成功", result = flowReturn };
|
|
}
|
|
#endregion
|
|
|
|
#region 流程提交处理
|
|
/// <summary>
|
|
/// 流程提交处理
|
|
/// </summary>
|
|
/// <param name="param"></param>
|
|
/// <returns></returns>
|
|
public async Task<ServiceResult> CommitFlowAsync(FlowCommitParam param)
|
|
{
|
|
var @InitmenuName = param.menuName;
|
|
int @FlowID = 0;
|
|
|
|
#region 写入日志
|
|
var sql = $@"DECLARE @return_value int;
|
|
|
|
DECLARE @OperateLogID bigint;
|
|
|
|
|
|
SET @OperateLogID = NULL;
|
|
|
|
EXEC @return_value = dbo.[PS_OperateLog]
|
|
@OpUserID = {param.userId},
|
|
@OpType = {param.doType},
|
|
@OpMenuNo = {param.menuName},
|
|
@OpTableName = {param.menuName},
|
|
@OpTableID = {param.id},
|
|
@OpDetailInfo = '{param.jsonParam.ToString()}',
|
|
@OperateLogID = @OperateLogID out;
|
|
|
|
SELECT @OperateLogID as N'@OperateLogID', @return_value as N'@Return Value';";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
#endregion
|
|
|
|
sql = $"SELECT FlowID FROM Ghrs_Menu b WHERE b.Menuno = '{param.menuName}' AND b.IsEnable = 1";
|
|
@FlowID = await Db.Ado.GetIntAsync(sql);
|
|
|
|
long id = 0;
|
|
|
|
switch (param.menuName)
|
|
{
|
|
case "F_ESS_TrainRequestPersonalApply":
|
|
case "F_ESS_TrainRequestApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
switch (param.doType)
|
|
{
|
|
case "Apply":
|
|
case "BatchApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
string json = param.jsonParam.ToString();
|
|
var dict = JsonHelper.JsonToObj<Ghre_Request>(json);
|
|
|
|
dict.SponsorId = GetStaffId();
|
|
dict.RequestNo = await GenerateContinuousSequence("Ghre_Request", "RequestNo", "R");
|
|
id = await Db.Insertable(dict).ExecuteReturnSnowflakeIdAsync();
|
|
|
|
#region 根据参数 处理数据默认状态
|
|
var config = await Db.Queryable<Ghre_Config>().FirstAsync(x => x.ConfigCode == "ESS_Request_Apply_Status");
|
|
if (config != null)
|
|
{
|
|
sql = $"UPDATE Ghre_Request SET Status='{config.ConfigValue}' WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
}
|
|
#endregion
|
|
|
|
sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghre_Request WHERE Id !='{id}'";
|
|
var id1 = await Db.Ado.GetLongAsync(sql);
|
|
sql = $"UPDATE Ghre_Request SET Id={id1} WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
|
|
id = id1;
|
|
#endregion
|
|
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
break;
|
|
case "F_ESS_TrainTeacherApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
switch (param.doType)
|
|
{
|
|
case "Apply":
|
|
case "BatchApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
string json = param.jsonParam.ToString();
|
|
var dict = JsonHelper.JsonToObj<Ghre_Teacher>(json);
|
|
var staffId = dict.StaffId;
|
|
|
|
var staff = await Db.Queryable<Ghra_Staff>().FirstAsync(x => x.StaffID == staffId);
|
|
if (staff != null)
|
|
{
|
|
dict.TeacherNo = staff.StaffNo;
|
|
dict.TeacherName = staff.StaffName;
|
|
}
|
|
|
|
if (await Db.Queryable<Ghre_Teacher>().AnyAsync(x => x.StaffId == staffId))
|
|
throw new Exception($"员工【{staff.StaffName}({staff.StaffNo})】已在讲师列表中!");
|
|
//dict.StaffId = GetStaffId();
|
|
|
|
id = await Db.Insertable(dict).ExecuteReturnSnowflakeIdAsync();
|
|
|
|
#region 根据参数 处理数据默认状态
|
|
var config = await Db.Queryable<Ghre_Config>().FirstAsync(x => x.ConfigCode == "ESS_Teacher_Apply_Status");
|
|
if (config != null)
|
|
{
|
|
sql = $"UPDATE Ghre_Teacher SET Status='{config.ConfigValue}' WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
}
|
|
#endregion
|
|
|
|
sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghre_Teacher WHERE Id !='{id}'";
|
|
var id1 = await Db.Ado.GetLongAsync(sql);
|
|
sql = $"UPDATE Ghre_Teacher SET Id={id1} WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
|
|
id = id1;
|
|
#endregion
|
|
|
|
#region 生成流程数据
|
|
sql = @$"DECLARE @return_value int;
|
|
|
|
DECLARE @ErrorMsg nvarchar(2000);
|
|
|
|
SET @ErrorMsg = NULL;
|
|
|
|
EXEC @return_value = dbo.[PT_GHR30_FlowApply]
|
|
@ID = {id},
|
|
@FlowID = {@FlowID},
|
|
@UserID = {param.userId},
|
|
@LangID = {param.langId},
|
|
@ErrorMsg = @ErrorMsg out;
|
|
|
|
SELECT @ErrorMsg as N'@ErrorMsg', @return_value as N'@Return Value';";
|
|
|
|
var message = await Db.Ado.GetStringAsync(sql);
|
|
|
|
if (message.IsNotEmptyOrNull())
|
|
return new ServiceResult() { Success = false, Message = message };
|
|
#endregion
|
|
|
|
sql = $"UPDATE Ghre_Teacher SET StaffId={staffId} WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
break;
|
|
case "F_ESS_TrainTeacherChangeApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
switch (param.doType)
|
|
{
|
|
case "Apply":
|
|
case "BatchApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
string json = param.jsonParam.ToString();
|
|
var dict = JsonHelper.JsonToObj<Ghre_TeacherChange>(json);
|
|
dict.SponsorId = GetStaffId();
|
|
dict.StaffId = GetStaffId();
|
|
|
|
id = await Db.Insertable(dict).ExecuteReturnSnowflakeIdAsync();
|
|
|
|
#region 根据参数 处理数据默认状态
|
|
var config = await Db.Queryable<Ghre_Config>().FirstAsync(x => x.ConfigCode == "ESS_Teacher_Change_Apply_Status");
|
|
if (config != null)
|
|
{
|
|
sql = $"UPDATE Ghre_TeacherChange SET Status='{config.ConfigValue}' WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
}
|
|
#endregion
|
|
|
|
sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghre_TeacherChange WHERE Id !='{id}'";
|
|
var id1 = await Db.Ado.GetLongAsync(sql);
|
|
sql = $"UPDATE Ghre_TeacherChange SET Id={id1} WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
|
|
id = id1;
|
|
#endregion
|
|
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
break;
|
|
|
|
case "F_ESS_RecruitYearManpowerApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
switch (param.doType)
|
|
{
|
|
case "Apply":
|
|
case "BatchApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
string json = param.jsonParam.ToString();
|
|
var dict = JsonHelper.JsonToObj<InsertGhrh_YearHumanApplyOrderInput>(json);
|
|
var dict1 = JsonHelper.JsonToObj<Ghrh_YearHumanApplyOrder>(json);
|
|
|
|
#region 校验数据是否重复
|
|
dict.Items.ForEach(x =>
|
|
{
|
|
x.Year = dict1.Year;
|
|
});
|
|
for (int i = 0; i < dict.Items.Count; i++)
|
|
{
|
|
var item = dict.Items[i];
|
|
if (item.DeptId.IsNullOrEmpty())
|
|
return ServiceResult.OprateFailed($"第{i + 1}行,部门不可为空");
|
|
if (item.TitleId.IsNullOrEmpty())
|
|
return ServiceResult.OprateFailed($"第{i + 1}行,岗位不可为空");
|
|
|
|
if (await Db.Queryable<Ghrh_YearHumanSettings>()
|
|
.WhereIF(item.GradeId.IsNotEmptyOrNull(), x => x.GradeId == item.GradeId)
|
|
.WhereIF(item.JobId.IsNotEmptyOrNull(), x => x.JobId == item.JobId)
|
|
.AnyAsync(x => x.Year == item.Year && x.DeptId == item.DeptId && x.TitleId == item.TitleId))
|
|
return ServiceResult.OprateFailed($" {item.Year}年度,已存在相同数据!");
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
dict1.ApplicantId = GetStaffId();
|
|
dict1.ApplicantTime = DateTime.Now;
|
|
id = await Db.Insertable(dict1).ExecuteReturnSnowflakeIdAsync();
|
|
|
|
sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghrh_YearHumanApplyOrder WHERE Id !='{id}'";
|
|
var id1 = await Db.Ado.GetLongAsync(sql);
|
|
sql = $"UPDATE Ghrh_YearHumanApplyOrder SET Id={id1} WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
|
|
id = id1;
|
|
|
|
dict.Items.ForEach(x =>
|
|
{
|
|
x.OrderId = id;
|
|
x.WorkState = 0;
|
|
x.Year = dict1.Year;
|
|
x.Id = SnowFlakeSingle.Instance.NextId();
|
|
});
|
|
await Db.Insertable(dict.Items).ExecuteCommandAsync();
|
|
|
|
#endregion
|
|
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
break;
|
|
case "F_ESS_RecruitManpowerRequestApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
switch (param.doType)
|
|
{
|
|
case "Apply":
|
|
case "BatchApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
string json = param.jsonParam.ToString();
|
|
var dict = JsonHelper.JsonToObj<Ghrh_HumanRequest>(json);
|
|
|
|
#region 根据参数 处理数据默认状态
|
|
var config = await Db.Queryable<Ghrh_Config>().FirstAsync(x => x.ConfigCode == "ESS_Human_Request_Apply_Status");
|
|
if (config != null)
|
|
dict.Status = config.ConfigValue;
|
|
else
|
|
dict.Status = "WaitConfirm";
|
|
#endregion
|
|
dict.ApplicantId = GetStaffId();
|
|
dict.RequestNo = await GenerateContinuousSequence("Ghrh_HumanRequest", "RequestNo", "R");
|
|
id = await Db.Insertable(dict).ExecuteReturnSnowflakeIdAsync();
|
|
|
|
sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghrh_HumanRequest WHERE Id !='{id}'";
|
|
var id1 = await Db.Ado.GetLongAsync(sql);
|
|
sql = $"UPDATE Ghrh_HumanRequest SET Id={id1} WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
|
|
id = id1;
|
|
#endregion
|
|
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
break;
|
|
case "F_ESS_RecruitOfferApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
switch (param.doType)
|
|
{
|
|
case "Apply":
|
|
case "BatchApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
string json = param.jsonParam.ToString();
|
|
var dict = JsonHelper.JsonToObj<Ghrh_OfferApplyOrder>(json);
|
|
//dict.RequestNo = await GenerateContinuousSequence("Ghrh_HumanRequest", "RequestNo", "R");
|
|
id = await Db.Insertable(dict).ExecuteReturnSnowflakeIdAsync();
|
|
|
|
sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghrh_OfferApplyOrder WHERE Id !='{id}'";
|
|
var id1 = await Db.Ado.GetLongAsync(sql);
|
|
sql = $"UPDATE Ghrh_OfferApplyOrder SET Id={id1} WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
|
|
id = id1;
|
|
#endregion
|
|
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
break;
|
|
|
|
case "F_ESS_ExternalTrainApplyOrder_Boltone": //外训申请_宝连通
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
switch (param.doType)
|
|
{
|
|
case "Apply":
|
|
case "BatchApply":
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
string json = param.jsonParam.ToString();
|
|
var dict = JsonHelper.JsonToObj<Ghre_ExternalTrainApplyOrder_Boltone>(json);
|
|
var dict1 = JsonHelper.JsonToObj<Ghre_ExternalTrainApplyOrder_BoltoneBase>(json);
|
|
//dict.RequestNo = await GenerateContinuousSequence("Ghrh_HumanRequest", "RequestNo", "R");
|
|
id = await Db.Insertable(dict).ExecuteReturnSnowflakeIdAsync();
|
|
|
|
sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghre_ExternalTrainApplyOrder_Boltone WHERE Id !='{id}' and len(Id) !=19";
|
|
var id1 = await Db.Ado.GetLongAsync(sql);
|
|
sql = $"UPDATE Ghre_ExternalTrainApplyOrder_Boltone SET Id={id1} WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
|
|
id = id1;
|
|
|
|
if (dict1.Attachments.Any())
|
|
{
|
|
var ids = dict1.Attachments.Select(x => x.AttachmentID).ToList();
|
|
await Db.Updateable<Ghre_Attachment>()
|
|
.SetColumns(it => new Ghre_Attachment()
|
|
{
|
|
TableName = "Ghre_ExternalTrainApplyOrder_Boltone",
|
|
TableKeyID = id.ObjToInt(),
|
|
Reverse1 = "Attachments"
|
|
})
|
|
.Where(it => ids.Contains(it.Id))
|
|
.ExecuteCommandAsync();
|
|
}
|
|
if (dict1.ContractAttachments.Any())
|
|
{
|
|
var ids = dict1.ContractAttachments.Select(x => x.AttachmentID).ToList();
|
|
await Db.Updateable<Ghre_Attachment>()
|
|
.SetColumns(it => new Ghre_Attachment()
|
|
{
|
|
TableName = "Ghre_ExternalTrainApplyOrder_Boltone",
|
|
TableKeyID = id.ObjToInt(),
|
|
Reverse1 = "ContractAttachments"
|
|
})
|
|
.Where(it => ids.Contains(it.Id))
|
|
.ExecuteCommandAsync();
|
|
}
|
|
|
|
if (dict1.ExternalAttachments.Any())
|
|
{
|
|
var ids = dict1.ExternalAttachments.Select(x => x.AttachmentID).ToList();
|
|
await Db.Updateable<Ghre_Attachment>()
|
|
.SetColumns(it => new Ghre_Attachment()
|
|
{
|
|
TableName = "Ghre_ExternalTrainApplyOrder_Boltone",
|
|
TableKeyID = id.ObjToInt(),
|
|
Reverse1 = "ExternalAttachments"
|
|
})
|
|
.Where(it => ids.Contains(it.Id))
|
|
.ExecuteCommandAsync();
|
|
}
|
|
#endregion
|
|
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
break;
|
|
|
|
case "F_ESS_TrainFeeApplyOrder_Boltone": //培训费用_宝连通
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
switch (param.doType)
|
|
{
|
|
case "Apply":
|
|
case "BatchApply":
|
|
|
|
|
|
#region 写入数据,并判断是否有错误
|
|
string json = param.jsonParam.ToString();
|
|
var dict = JsonHelper.JsonToObj<Ghre_TrainFeeApplyOrder_Boltone>(json);
|
|
var dict1 = JsonHelper.JsonToObj<Ghre_TrainFeeApplyOrder_BoltoneBase>(json);
|
|
//dict.RequestNo = await GenerateContinuousSequence("Ghrh_HumanRequest", "RequestNo", "R");
|
|
|
|
if (dict1.PlanIds != null && dict1.PlanIds.Any())
|
|
dict.PlanId = JsonHelper.ObjToJson(dict1.PlanIds);
|
|
id = await Db.Insertable(dict).ExecuteReturnSnowflakeIdAsync();
|
|
|
|
|
|
//var StaffUserId = await Db.Queryable<Ghrs_User>().Where(x => x.UserStaffID == dict.TeacherId).Select(x => x.UserId).FirstAsync();
|
|
//if (StaffUserId > 0)
|
|
// param.userId = StaffUserId;
|
|
|
|
sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghre_TrainFeeApplyOrder_Boltone WHERE Id !='{id}' and len(Id) !=19";
|
|
var id1 = await Db.Ado.GetLongAsync(sql);
|
|
sql = $"UPDATE Ghre_TrainFeeApplyOrder_Boltone SET Id={id1} WHERE Id ='{id}'";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
|
|
id = id1;
|
|
|
|
|
|
dict1.Details.ForEach(x =>
|
|
{
|
|
x.OrderId = id;
|
|
x.Id = SnowFlakeSingle.Instance.NextId();
|
|
});
|
|
await Db.Insertable(dict1.Details).ExecuteCommandAsync();
|
|
|
|
if (dict1.Attachments.Any())
|
|
{
|
|
var ids = dict1.Attachments.Select(x => x.AttachmentID).ToList();
|
|
await Db.Updateable<Ghre_Attachment>()
|
|
.SetColumns(it => new Ghre_Attachment()
|
|
{
|
|
TableName = "Ghre_TrainFeeApplyOrder_Boltone",
|
|
TableKeyID = id.ObjToInt(),
|
|
Reverse1 = "Attachments"
|
|
})
|
|
.Where(it => ids.Contains(it.Id))
|
|
.ExecuteCommandAsync();
|
|
}
|
|
|
|
#endregion
|
|
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
break;
|
|
}
|
|
|
|
if (param.menuName != "F_ESS_TrainTeacherApply")
|
|
{
|
|
|
|
#region 生成流程数据
|
|
sql = @$"DECLARE @return_value int;
|
|
|
|
DECLARE @ErrorMsg nvarchar(2000);
|
|
|
|
SET @ErrorMsg = NULL;
|
|
|
|
EXEC @return_value = dbo.[PT_GHR30_FlowApply]
|
|
@ID = {id},
|
|
@FlowID = {@FlowID},
|
|
@UserID = {param.userId},
|
|
@LangID = {param.langId},
|
|
@ErrorMsg = @ErrorMsg out;
|
|
|
|
SELECT @ErrorMsg as N'@ErrorMsg', @return_value as N'@Return Value';";
|
|
|
|
var message = await Db.Ado.GetStringAsync(sql);
|
|
|
|
if (message.IsNotEmptyOrNull())
|
|
return new ServiceResult() { Success = false, Message = message };
|
|
|
|
#endregion
|
|
}
|
|
|
|
return new ServiceResult() { Success = true, Message = "提交成功" };
|
|
}
|
|
#endregion
|
|
|
|
#region MyRegion
|
|
public int? GetStaffId()
|
|
{
|
|
int? StaffId = null;
|
|
string sql = $"SELECT UserStaffID FROM Ghrs_User WHERE UserId='{App.User.ID}'";
|
|
string StaffId1 = Convert.ToString(DbAccess.ExecuteScalar(sql));
|
|
if (!StaffId1.IsNull())
|
|
StaffId = Convert.ToInt32(StaffId1);
|
|
return StaffId;
|
|
}
|
|
public int? GetStaffDeptId()
|
|
{
|
|
int? StaffId = null;
|
|
string sql = $"SELECT DeptID FROM Ghra_Staff where StaffID='{App.User.StaffId}'";
|
|
string StaffId1 = Convert.ToString(DbAccess.ExecuteScalar(sql));
|
|
if (!StaffId1.IsNull())
|
|
StaffId = Convert.ToInt32(StaffId1);
|
|
return StaffId;
|
|
}
|
|
#endregion
|
|
|
|
#region 自动编号
|
|
/// <summary>
|
|
/// 自动编号
|
|
/// </summary>
|
|
/// <param name="tableCode">表名</param>
|
|
/// <param name="columnCode">栏位名</param>
|
|
/// <param name="prefixTemp">前缀</param>
|
|
/// <returns></returns>
|
|
public async Task<string> GenerateContinuousSequence(string tableCode, string columnCode, string prefixTemp, int length = 7, int tempLength = 6)
|
|
{
|
|
try
|
|
{
|
|
string result = string.Empty;
|
|
int sequence;
|
|
|
|
#region 查询
|
|
DbSelect dbSelect = new DbSelect(tableCode + " A", "A", null);
|
|
dbSelect.IsInitDefaultValue = false;
|
|
|
|
if (!string.IsNullOrEmpty(prefixTemp))
|
|
dbSelect.Select("MAX(SUBSTRING(A." + columnCode + "," + (prefixTemp.Length + 1).ToString() + "," + tempLength.ToString() + "))");
|
|
else
|
|
dbSelect.Select("MAX(A." + columnCode + ")");
|
|
//}
|
|
//dbSelect.Select("MAX(CONVERT(DECIMAL,SUBSTRING(A.ISSUE_NO," + (prefix.Length + dateString.Length + 1).ToString() + "," + tempLength.ToString() + ")))");
|
|
if (!string.IsNullOrEmpty(prefixTemp))
|
|
dbSelect.Where("SUBSTRING(A." + columnCode + ",1," + (prefixTemp.Length).ToString() + ")", " = ", prefixTemp);
|
|
dbSelect.Where("LEN(A." + columnCode + ")", "=", length);
|
|
string sql = dbSelect.GetSql();
|
|
//await Db.Ado.GetScalarAsync(sql)
|
|
string maxSequence = Convert.ToString(await Db.Ado.GetScalarAsync(sql));
|
|
#endregion
|
|
//tempLength = tempLength - dateString.Length;
|
|
if (string.IsNullOrEmpty(maxSequence))
|
|
result = prefixTemp + Convert.ToString(1).PadLeft(tempLength, '0');
|
|
else
|
|
{
|
|
if (!string.IsNullOrEmpty(prefixTemp))
|
|
{
|
|
if (int.TryParse(maxSequence, out sequence))
|
|
{
|
|
sequence += 1;
|
|
if (sequence.ToString().Length > tempLength)
|
|
throw new Exception("自动生成字串长度已经超过设定长度!");
|
|
}
|
|
else
|
|
throw new Exception("表中的数据无法进行自动编号,请联系软件开发商!");
|
|
result = prefixTemp + sequence.ToString().PadLeft(tempLength, '0');
|
|
}
|
|
else
|
|
{
|
|
if (int.TryParse(maxSequence, out sequence))
|
|
{
|
|
sequence += 1;
|
|
if (sequence.ToString().Length > length)
|
|
throw new Exception("自动生成字串长度已经超过设定长度!");
|
|
}
|
|
else
|
|
throw new Exception("表中的数据无法进行自动编号,请联系软件开发商!");
|
|
result = sequence.ToString().PadLeft(length, '0');
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
catch (Exception) { throw; }
|
|
}
|
|
#endregion
|
|
|
|
public async Task<Dictionary<string, object>> getPostCommonAES(JObject param)
|
|
{
|
|
try
|
|
{
|
|
string procName = "";
|
|
string _commonType = ""; // 类别
|
|
string userID = "";
|
|
bool hasUserIDPara = false;
|
|
string sqlCompanyKey = "SELECT CompanyKey FROM Ghro_company WHERE IsEnable=1";
|
|
DataTable dtCompanyKey = await Db.Ado.GetDataTableAsync(sqlCompanyKey);
|
|
string tokenKey = "Tiobon";
|
|
if (dtCompanyKey.Rows.Count > 0)
|
|
tokenKey = dtCompanyKey.Rows[0][0].ToString();
|
|
string token = "";
|
|
string menuName = ""; // 页面别
|
|
string exportSet = ""; // 导出配置
|
|
|
|
var dic = new Dictionary<string, object>();
|
|
string NewTokenstring = "";
|
|
var sortedObj = new JObject(param.Properties().OrderBy(p => (string)p.Name));
|
|
IEnumerable<JProperty> properties = sortedObj.Properties();
|
|
foreach (JProperty item in properties)
|
|
{
|
|
if (item.Name == "token")
|
|
{
|
|
token = item.Value.ToString();
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
if (item.Name.ToLower() == "timestamp")
|
|
{
|
|
NewTokenstring = NewTokenstring + tokenKey + item.Value.ToString();
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
NewTokenstring = NewTokenstring + item.Value.ToString();
|
|
}
|
|
}
|
|
if (item.Name == "procName")
|
|
{
|
|
procName = item.Value.ToString();
|
|
continue;
|
|
}
|
|
if (item.Name == "commonType")
|
|
{
|
|
_commonType = item.Value.ToString();
|
|
continue;
|
|
}
|
|
if (item.Name == "userId")
|
|
{
|
|
userID = item.Value.ToString();
|
|
hasUserIDPara = true;
|
|
}
|
|
if (item.Name == "menuName")
|
|
{
|
|
menuName = item.Value.ToString();
|
|
}
|
|
if (item.Name == "exportSet")
|
|
{
|
|
exportSet = item.Value.ToString();
|
|
}
|
|
|
|
string jokey = item.Name;
|
|
object joValue = item.Value;
|
|
|
|
dic.Add(jokey, joValue);
|
|
}
|
|
NewTokenstring = NewTokenstring.Replace("\r", "").Replace("\n", "").Replace(" ", "");
|
|
NewTokenstring = Regex.Replace(NewTokenstring, @"\s+", "");
|
|
//if (DBCommon.sha256(NewTokenstring).ToLower() != token.ToLower())
|
|
//{
|
|
// //throw new Exception("token验证错误->" + NewTokenstring + "->" + DBCommon.sha256(NewTokenstring).ToLower());
|
|
|
|
//}
|
|
if (hasUserIDPara && (userID == "0" || string.IsNullOrEmpty(userID)) && procName != "PT_GHR30_Login_IUD" && procName != "PT_GHR30_UserPasswordReset_IUD")
|
|
{
|
|
throw new Exception("页面已失效,请重新登陆");
|
|
}
|
|
DataSet ds = await Db.Ado.UseStoredProcedure().GetDataSetAllAsync(procName, dic);
|
|
// 导出Excel ExportExcel 直接下载 ExportExcel2 预下载
|
|
if (_commonType == "ExportExcel" || _commonType == "ExportExcel2")
|
|
{
|
|
}
|
|
|
|
// 此块为存储过程返回的信息 DT_ProcedureResult
|
|
DataTable DT_ProcedureResult = null;
|
|
DataTable dt = ds.Tables[0];
|
|
string strJson = "{";
|
|
int i = 1;
|
|
foreach (DataColumn dc in dt.Columns)
|
|
{
|
|
if (dt.Rows[0][dc.ColumnName].ToString() == "DT_ProcedureResult")
|
|
{
|
|
DT_ProcedureResult = ds.Tables[i];
|
|
}
|
|
else
|
|
{
|
|
strJson = strJson + "\"" + dt.Rows[0][dc.ColumnName].ToString() + "\":";
|
|
String json = JsonConvert.SerializeObject(ds.Tables[i]);
|
|
|
|
bool tableIsJson = false;
|
|
// 根据 table 的栏位名是否为 #Json#开头来判断,是否有Json对象
|
|
foreach (DataColumn dcDetail in ds.Tables[i].Columns)
|
|
{
|
|
if (dcDetail.ColumnName.StartsWith("#Json#"))
|
|
{
|
|
tableIsJson = true;
|
|
break;
|
|
}
|
|
}
|
|
if (tableIsJson)
|
|
{
|
|
dynamic dyn = JsonConvert.DeserializeObject(json);
|
|
// DT_TableDataT1
|
|
if (ds.Tables[i].Rows.Count == 1 && (!dt.Rows[0][dc.ColumnName].ToString().StartsWith("DT_TableData")))// 单行数据
|
|
{
|
|
var obj = dyn[0];
|
|
foreach (DataColumn dcDetail in ds.Tables[i].Columns)
|
|
{
|
|
if (dcDetail.ColumnName.StartsWith("#Json#"))
|
|
{
|
|
try
|
|
{
|
|
obj[dcDetail.ColumnName] = (JToken)JsonConvert.DeserializeObject((string)obj[dcDetail.ColumnName]);
|
|
}
|
|
catch { }
|
|
}
|
|
}
|
|
dyn = obj;
|
|
}
|
|
else
|
|
{
|
|
foreach (var obj in dyn) // 逐行逐列判断
|
|
{
|
|
foreach (DataColumn dcDetail in ds.Tables[i].Columns)
|
|
{
|
|
if (dcDetail.ColumnName.StartsWith("#Json#"))
|
|
{
|
|
try
|
|
{
|
|
obj[dcDetail.ColumnName] = (JToken)JsonConvert.DeserializeObject((string)obj[dcDetail.ColumnName]);
|
|
}
|
|
catch { }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
json = JsonConvert.SerializeObject(dyn);
|
|
json = json.Replace("#Json#", "");
|
|
}
|
|
strJson = strJson + json;
|
|
if (i < ds.Tables.Count - 1) // 第一个table定义 各表的内容
|
|
strJson = strJson + ",";
|
|
}
|
|
i = i + 1;
|
|
}
|
|
strJson = strJson + "}";
|
|
string isOK = "0";
|
|
string ErrorMsg = "";
|
|
string WarnMsg = "";
|
|
string SuccessMsg = "";
|
|
string type = "success";
|
|
string message = "";
|
|
if (DT_ProcedureResult.Rows.Count == 1)
|
|
{
|
|
isOK = DT_ProcedureResult.Rows[0]["IsOK"].ToString();
|
|
ErrorMsg = DT_ProcedureResult.Rows[0]["ErrorMsg"].ToString();
|
|
WarnMsg = DT_ProcedureResult.Rows[0]["WarnMsg"].ToString();
|
|
SuccessMsg = DT_ProcedureResult.Rows[0]["SuccessMsg"].ToString();
|
|
if (isOK == "0")
|
|
{
|
|
if (!string.IsNullOrEmpty(WarnMsg))
|
|
{
|
|
type = "warning";
|
|
message = WarnMsg;
|
|
}
|
|
else
|
|
{
|
|
type = "success";
|
|
message = SuccessMsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
type = "error";
|
|
message = ErrorMsg;
|
|
}
|
|
}
|
|
var data = new Dictionary<string, object>
|
|
{
|
|
{"result", JObject.Parse(strJson)},
|
|
{"message",message},
|
|
{"type",type},
|
|
{"code",int.Parse(isOK)}
|
|
};
|
|
foreach (DataColumn dcProcedureResult in DT_ProcedureResult.Columns)
|
|
{
|
|
if (dcProcedureResult.ColumnName != "IsOK" && dcProcedureResult.ColumnName != "ErrorMsg" &&
|
|
dcProcedureResult.ColumnName != "WarnMsg" && dcProcedureResult.ColumnName != "SuccessMsg")
|
|
data.Add(dcProcedureResult.ColumnName, DT_ProcedureResult.Rows[0][dcProcedureResult.ColumnName].ToString());
|
|
}
|
|
return data;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
var data = new Dictionary<string, object>
|
|
{
|
|
{"result", "{}"},
|
|
{"message",e.Message},
|
|
{"type","error"},
|
|
{"code",1}
|
|
};
|
|
return data;
|
|
}
|
|
}
|
|
|
|
public async Task<Dictionary<string, object>> getPostCommon(JObject param)
|
|
{
|
|
try
|
|
{
|
|
string procName = "";
|
|
string _commonType = ""; // 类别
|
|
string userID = "";
|
|
IEnumerable<JProperty> properties = param.Properties();
|
|
var dic = new Dictionary<string, object>();
|
|
foreach (JProperty item in properties)
|
|
{
|
|
if (item.Name == "procName")
|
|
{
|
|
procName = item.Value.ToString();
|
|
continue;
|
|
}
|
|
|
|
if (item.Name == "commonType")
|
|
{
|
|
_commonType = item.Value.ToString();
|
|
continue;
|
|
}
|
|
if (item.Name == "userId")
|
|
{
|
|
userID = item.Value.ToString();
|
|
}
|
|
|
|
string jokey = item.Name;
|
|
string joValue = item.Value.ToString();
|
|
dic.Add(jokey, joValue);
|
|
}
|
|
|
|
// procName = "PT_GHR30_Menu_GetWhere";
|
|
// DataTable dtResult = DataAccess.SelectDate("Demo", procName, spParaList);
|
|
// DataSet ds = GetProcedureDateSet("Demo", procName, "63", "1", "", "", "", "N", "", "1", "100", "3");
|
|
DataSet ds = await Db.Ado.UseStoredProcedure().GetDataSetAllAsync(procName, dic);
|
|
// 导出Excel ExportExcel 直接下载 ExportExcel2 预下载
|
|
|
|
// 此块为存储过程返回的信息 DT_ProcedureResult
|
|
DataTable DT_ProcedureResult = null;
|
|
DataTable dt = ds.Tables[0];
|
|
string strJson = "{";
|
|
int i = 1;
|
|
foreach (DataColumn dc in dt.Columns)
|
|
{
|
|
if (dt.Rows[0][dc.ColumnName].ToString() == "DT_ProcedureResult")
|
|
{
|
|
DT_ProcedureResult = ds.Tables[i];
|
|
}
|
|
else
|
|
{
|
|
strJson = strJson + "\"" + dt.Rows[0][dc.ColumnName].ToString() + "\":";
|
|
String json = JsonConvert.SerializeObject(ds.Tables[i]);
|
|
|
|
bool tableIsJson = false;
|
|
// 根据 table 的栏位名是否为 #Json#开头来判断,是否有Json对象
|
|
foreach (DataColumn dcDetail in ds.Tables[i].Columns)
|
|
{
|
|
if (dcDetail.ColumnName.StartsWith("#Json#"))
|
|
{
|
|
tableIsJson = true;
|
|
break;
|
|
}
|
|
}
|
|
if (tableIsJson)
|
|
{
|
|
dynamic dyn = JsonConvert.DeserializeObject(json);
|
|
// DT_TableDataT1
|
|
if (ds.Tables[i].Rows.Count == 1 && (!dt.Rows[0][dc.ColumnName].ToString().StartsWith("DT_TableData")))// 单行数据
|
|
{
|
|
var obj = dyn[0];
|
|
foreach (DataColumn dcDetail in ds.Tables[i].Columns)
|
|
{
|
|
if (dcDetail.ColumnName.StartsWith("#Json#"))
|
|
{
|
|
try
|
|
{
|
|
obj[dcDetail.ColumnName] = (JToken)JsonConvert.DeserializeObject((string)obj[dcDetail.ColumnName]);
|
|
}
|
|
catch
|
|
{ }
|
|
}
|
|
}
|
|
dyn = obj;
|
|
}
|
|
else
|
|
{
|
|
foreach (var obj in dyn) // 逐行逐列判断
|
|
{
|
|
foreach (DataColumn dcDetail in ds.Tables[i].Columns)
|
|
{
|
|
if (dcDetail.ColumnName.StartsWith("#Json#"))
|
|
{
|
|
try
|
|
{
|
|
obj[dcDetail.ColumnName] = (JToken)JsonConvert.DeserializeObject((string)obj[dcDetail.ColumnName]);
|
|
}
|
|
catch
|
|
{ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
json = JsonConvert.SerializeObject(dyn);
|
|
json = json.Replace("#Json#", "");
|
|
}
|
|
strJson = strJson + json;
|
|
if (i < ds.Tables.Count - 1) // 第一个table定义 各表的内容
|
|
strJson = strJson + ",";
|
|
}
|
|
i = i + 1;
|
|
}
|
|
strJson = strJson + "}";
|
|
string isOK = "0";
|
|
string ErrorMsg = "";
|
|
string WarnMsg = "";
|
|
string SuccessMsg = "";
|
|
string type = "success";
|
|
string message = "";
|
|
if (DT_ProcedureResult.Rows.Count == 1)
|
|
{
|
|
isOK = DT_ProcedureResult.Rows[0]["IsOK"].ToString();
|
|
ErrorMsg = DT_ProcedureResult.Rows[0]["ErrorMsg"].ToString();
|
|
WarnMsg = DT_ProcedureResult.Rows[0]["WarnMsg"].ToString();
|
|
SuccessMsg = DT_ProcedureResult.Rows[0]["SuccessMsg"].ToString();
|
|
if (isOK == "0")
|
|
{
|
|
if (!string.IsNullOrEmpty(WarnMsg))
|
|
{
|
|
type = "warning";
|
|
message = WarnMsg;
|
|
}
|
|
else
|
|
{
|
|
type = "success";
|
|
message = SuccessMsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
type = "error";
|
|
message = ErrorMsg;
|
|
}
|
|
/*
|
|
if (!string.IsNullOrEmpty(isOK))
|
|
{
|
|
type = "error";
|
|
message = ErrorMsg;
|
|
}
|
|
else if (!string.IsNullOrEmpty(WarnMsg))
|
|
{
|
|
type = "warning";
|
|
message = WarnMsg;
|
|
}
|
|
if (!string.IsNullOrEmpty(SuccessMsg))
|
|
{
|
|
type = "success";
|
|
message = SuccessMsg;
|
|
} */
|
|
}
|
|
var data = new Dictionary<string, object>
|
|
{
|
|
{"result", JObject.Parse(strJson)},
|
|
{"message",message},
|
|
{"type",type},
|
|
{"code",int.Parse(isOK)}
|
|
};
|
|
foreach (DataColumn dcProcedureResult in DT_ProcedureResult.Columns)
|
|
{
|
|
if (dcProcedureResult.ColumnName != "IsOK" && dcProcedureResult.ColumnName != "ErrorMsg" &&
|
|
dcProcedureResult.ColumnName != "WarnMsg" && dcProcedureResult.ColumnName != "SuccessMsg")
|
|
data.Add(dcProcedureResult.ColumnName, DT_ProcedureResult.Rows[0][dcProcedureResult.ColumnName].ToString());
|
|
}
|
|
return data;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
var data = new Dictionary<string, object>
|
|
{
|
|
{"result", "{}"},
|
|
{"message",e.Message},
|
|
{"type","error"},
|
|
{"code",1}
|
|
};
|
|
return data;
|
|
}
|
|
}
|
|
|
|
#region 获取多语
|
|
public async Task<string> QueryLangValue(string key, int? langId, string defaultValue)
|
|
{
|
|
string sql = $"select [dbo].[FLangKeyToValue]('{key}',{langId},null)";
|
|
string value = await Db.Ado.GetStringAsync(sql);
|
|
if (value.IsNullOrEmpty()) value = defaultValue;
|
|
return value;
|
|
}
|
|
public async Task<string> QueryLangValue(string key, string defaultValue)
|
|
{
|
|
return await QueryLangValue(key, App.User.GetLangId(), defaultValue);
|
|
}
|
|
#endregion
|
|
|
|
#region 自动清理log
|
|
public async Task AutoClearLog()
|
|
{
|
|
var list = new List<string>
|
|
{
|
|
"GlobalErrorLog",
|
|
"GlobalInformationLog",
|
|
"GlobalWarningLog",
|
|
"AuditSqlLog"
|
|
};
|
|
var dt = DateTime.Now.AddMonths(-3);
|
|
|
|
for (int i = 0; i < list.Count; i++)
|
|
{
|
|
var tableName = $"{list[i]}_{dt.Year}";
|
|
if (dt.Month < 10)
|
|
tableName += $"0{dt.Month}01";
|
|
else
|
|
tableName += $"{dt.Month}01";
|
|
|
|
var sql = @$"IF EXISTS
|
|
(SELECT 1
|
|
FROM sysobjects
|
|
WHERE id = object_id ('{tableName}') AND type = 'U')
|
|
DROP TABLE {tableName}";
|
|
await Db.Ado.ExecuteCommandAsync(sql);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
|