|
|
@ -8,6 +8,7 @@ using Newtonsoft.Json.Linq; |
|
|
|
using SqlSugar; |
|
|
|
using SqlSugar; |
|
|
|
using Tiobon.Core.Common; |
|
|
|
using Tiobon.Core.Common; |
|
|
|
using Tiobon.Core.Common.DB.Dapper; |
|
|
|
using Tiobon.Core.Common.DB.Dapper; |
|
|
|
|
|
|
|
using Tiobon.Core.Common.Helper; |
|
|
|
using Tiobon.Core.DataAccess; |
|
|
|
using Tiobon.Core.DataAccess; |
|
|
|
using Tiobon.Core.IServices; |
|
|
|
using Tiobon.Core.IServices; |
|
|
|
using Tiobon.Core.Model; |
|
|
|
using Tiobon.Core.Model; |
|
|
@ -1610,4 +1611,342 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon |
|
|
|
return new ServiceResult<QueryExportReturn>() { Success = true, Message = "查询成功", Data = result, }; |
|
|
|
return new ServiceResult<QueryExportReturn>() { Success = true, Message = "查询成功", Data = result, }; |
|
|
|
} |
|
|
|
} |
|
|
|
#endregion |
|
|
|
#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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region JM_TableColumnT1 |
|
|
|
|
|
|
|
sql = $@"DECLARE
|
|
|
|
|
|
|
|
@SQL NVARCHAR (MAX) = '', |
|
|
|
|
|
|
|
@FlowID INT = {param.jsonParam.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), |
|
|
|
|
|
|
|
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'), |
|
|
|
|
|
|
|
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, |
|
|
|
|
|
|
|
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 DT_TableDataT1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#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";
|
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "F_ESS_TrainRequestApply": |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
flowReturn.DT_TableDataT1 = await Db.Ado.GetDataTableAsync(sql); |
|
|
|
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new ServiceResult<FlowReturn>() { Success = true, Message = "查询成功", Data = flowReturn }; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#endregion |
|
|
|
} |
|
|
|
} |
|
|
|