{"Message":"1","MessageType":2,"Modules":[{"State":1,"Type":23,"Name":"TableView/任务平行视图"},{"State":1,"Type":1,"Name":"PCPage/任务列表"},{"State":1,"Type":40,"Name":"Plugin"}],"Version":"v1"}

This commit is contained in:
cuckooent
2024-09-20 12:56:08 +08:00
parent c4260d6b48
commit 02119813b9
5 changed files with 82 additions and 151 deletions

View File

@@ -9,27 +9,7 @@
"isExternal": true,
"detailTables": [
{
"subTableName": "任务平行视图",
"subColumnName": "父任务ID",
"relatedColumnName": "ID"
},
{
"subTableName": "任务成员视图",
"subColumnName": "任务ID",
"relatedColumnName": "ID"
},
{
"subTableName": "任务成员表",
"subColumnName": "任务ID",
"relatedColumnName": "ID"
},
{
"subTableName": "任务进展",
"subColumnName": "任务ID",
"relatedColumnName": "ID"
},
{
"subTableName": "任务评论表",
"subTableName": "任务工时表",
"subColumnName": "任务ID",
"relatedColumnName": "ID"
},
@@ -39,13 +19,28 @@
"relatedColumnName": "ID"
},
{
"subTableName": "任务工时表",
"subTableName": "需求反馈登记表",
"subColumnName": "关联任务",
"relatedColumnName": "ID"
},
{
"subTableName": "任务成员表",
"subColumnName": "任务ID",
"relatedColumnName": "ID"
},
{
"subTableName": "需求反馈登记表",
"subColumnName": "关联任务",
"subTableName": "任务平行视图",
"subColumnName": "父任务ID",
"relatedColumnName": "ID"
},
{
"subTableName": "任务评论表",
"subColumnName": "任务ID",
"relatedColumnName": "ID"
},
{
"subTableName": "任务成员视图",
"subColumnName": "任务ID",
"relatedColumnName": "ID"
}
]
@@ -114,20 +109,6 @@
},
"Value": "%CurrentUser.UserName%"
},
{
"$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess",
"ColumnBindingInfo": {
"TableName": "任务平行视图",
"ColumnName": "项目ID",
"GUID": "e8cbf68a-86d8-4cfd-89bc-00ce385c40b2",
"RelationBinding": {
"RelatedTable": "项目平行视图",
"RelatedColumn": "ID",
"DisplayColumn": "项目经理"
}
},
"Value": "%CurrentUser.UserName%"
},
{
"$type": "ForguncyDataAccess.TextCESqlCondition, ForguncyDataAccess",
"CompareType": 6,
@@ -157,6 +138,20 @@
},
"Value": "%CurrentUser.UserName%"
},
{
"$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess",
"ColumnBindingInfo": {
"TableName": "任务平行视图",
"ColumnName": "项目ID",
"GUID": "e8cbf68a-86d8-4cfd-89bc-00ce385c40b2",
"RelationBinding": {
"RelatedTable": "项目平行视图",
"RelatedColumn": "ID",
"DisplayColumn": "项目经理"
}
},
"Value": "%CurrentUser.UserName%"
},
{
"$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess",
"ColumnBindingInfo": {
@@ -613,7 +608,7 @@
"DatabaseColumnType": "float",
"MaxLength": -1,
"Name": "总分配工时",
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
@@ -667,7 +662,7 @@
"DatabaseColumnType": "int",
"MaxLength": -1,
"Name": "成员数量",
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
"ColumnType": "System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
@@ -675,7 +670,7 @@
"DatabaseColumnType": "nvarchar",
"MaxLength": -1,
"Name": "任务成员",
"ColumnType": "System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon",
@@ -726,7 +721,7 @@
"ConnectionId": "业务表",
"SourceTableName": "任务平行视图",
"SourceTableSchema": "dbo",
"CreateViewSql": "WITH 任务汇总 AS ( \r\n SELECT \r\n t.[ID] AS 任务ID, \r\n t.[父任务ID], \r\n SUM(CASE WHEN w.[工时类型] = '计划' THEN w.[工时] ELSE 0 END) AS 计划工时汇总, \r\n SUM(CASE WHEN w.[工时类型] = '实际' THEN w.[工时] ELSE 0 END) AS 核定工时汇总, \r\n SUM(CASE WHEN w.[工时类型] = '实际' THEN w.[上报工时] ELSE 0 END) AS 实际工时汇总, \r\n SUM(CASE WHEN w.[工时类型] = '实际' THEN w.[时薪单价] * w.[提成系数] * w.[工时] ELSE 0 END) AS 收益汇总 \r\n FROM \r\n [dbo].[任务表] t \r\n LEFT JOIN \r\n [dbo].[任务工时表] w ON t.[ID] = w.[任务ID] \r\n GROUP BY \r\n t.[ID], t.[父任务ID] \r\n), 子任务预算 AS ( \r\n SELECT \r\n t.[父任务ID] AS 任务ID, \r\n SUM(t.[任务预算工时]) AS 子任务预算工时 \r\n FROM \r\n [dbo].[任务表] t \r\n WHERE \r\n t.[父任务ID] IS NOT NULL \r\n GROUP BY \r\n t.[父任务ID] \r\n), 成员统计 AS ( \r\n SELECT \r\n t.[任务ID], \r\n COUNT(DISTINCT t.[任务成员]) AS 成员数量, \r\n STUFF(( \r\n SELECT DISTINCT ',' + tm.[任务成员] \r\n FROM [dbo].[任务成员表] tm \r\n WHERE tm.[任务ID] = t.[任务ID] \r\n FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS 任务成员 \r\nFROM \r\n [dbo].[任务成员表] t \r\nGROUP BY \r\n t.[任务ID]\r\n) \r\nSELECT \r\n t.*, \r\n CASE WHEN t.[任务状态] >= 1 THEN t.[任务预算工时] ELSE 0 END AS 总分配工时, \r\n CASE WHEN p.[工时分配方式] = 3 THEN ISNULL(w.[核定工时汇总], 0) ELSE ISNULL(w.[计划工时汇总], 0) END + ISNULL(c.[子任务预算工时], 0) AS 本任务已分配工时, \r\n CASE \r\n WHEN p.[工时分配方式] = 3 \r\n THEN CASE \r\n WHEN t.[任务预算工时] - ISNULL(w.[核定工时汇总], 0) - ISNULL(c.[子任务预算工时], 0) < 0 THEN 0 \r\n ELSE t.[任务预算工时] - ISNULL(w.[核定工时汇总], 0) - ISNULL(c.[子任务预算工时], 0) \r\n END \r\n ELSE CASE \r\n WHEN t.[任务预算工时] - ISNULL(w.[计划工时汇总], 0) - ISNULL(c.[子任务预算工时], 0) < 0 THEN 0 \r\n ELSE t.[任务预算工时] - ISNULL(w.[计划工时汇总], 0) - ISNULL(c.[子任务预算工时], 0) \r\n END \r\n END AS 可分配工时, \r\n ISNULL(w.[核定工时汇总], 0) AS 本任务核定工时, \r\n CASE \r\n WHEN p.[工时分配方式] = 3 \r\n THEN CASE \r\n WHEN t.[任务预算工时] - ISNULL(c.[子任务预算工时], 0) - ISNULL(w.[核定工时汇总], 0) < 0 THEN 0 \r\n ELSE t.[任务预算工时] - ISNULL(c.[子任务预算工时], 0) - ISNULL(w.[核定工时汇总], 0) \r\n END \r\n ELSE CASE \r\n WHEN t.[任务预算工时] - ISNULL(c.[子任务预算工时], 0) - ISNULL(w.[计划工时汇总], 0) < 0 THEN 0 \r\n ELSE t.[任务预算工时] - ISNULL(c.[子任务预算工时], 0) - ISNULL(w.[计划工时汇总], 0) \r\n END \r\n END AS 本任务可核定工时, \r\n ISNULL(w.[实际工时汇总], 0) AS 本任务实际工时, \r\n ISNULL(w.[收益汇总], 0) AS 已消耗成本, \r\n ISNULL(m.[成员数量], 0) AS 成员数量, \r\n ISNULL(m.[任务成员], '') AS 任务成员 \r\nFROM \r\n [dbo].[任务表] t \r\nLEFT JOIN \r\n 任务汇总 w ON t.[ID] = w.[任务ID] \r\nLEFT JOIN \r\n 子任务预算 c ON t.[ID] = c.[任务ID] \r\nLEFT JOIN \r\n [dbo].[项目表] p ON t.[项目ID] = p.[ID] \r\nLEFT JOIN \r\n 成员统计 m ON t.[ID] = m.[任务ID];",
"CreateViewSql": "WITH 任务汇总 AS ( \r\n SELECT \r\n t.[ID] AS 任务ID, \r\n t.[父任务ID], \r\n SUM(CASE WHEN w.[工时类型] = '计划' THEN w.[工时] ELSE 0 END) AS 计划工时汇总, \r\n SUM(CASE WHEN w.[工时类型] = '实际' THEN w.[工时] ELSE 0 END) AS 核定工时汇总, \r\n SUM(CASE WHEN w.[工时类型] = '实际' THEN w.[上报工时] ELSE 0 END) AS 实际工时汇总, \r\n SUM(CASE WHEN w.[工时类型] = '实际' THEN w.[时薪单价] * w.[提成系数] * w.[工时] ELSE 0 END) AS 收益汇总 \r\n FROM \r\n [dbo].[任务表] t \r\n LEFT JOIN \r\n [dbo].[任务工时表] w ON t.[ID] = w.[任务ID] \r\n GROUP BY \r\n t.[ID], t.[父任务ID] \r\n), 子任务预算 AS ( \r\n SELECT \r\n t.[父任务ID] AS 任务ID, \r\n SUM(t.[任务预算工时]) AS 子任务预算工时 \r\n FROM \r\n [dbo].[任务表] t \r\n WHERE \r\n t.[父任务ID] IS NOT NULL \r\n GROUP BY \r\n t.[父任务ID] \r\n), 成员统计 AS ( \r\n SELECT \r\n t.[任务ID], \r\n COUNT(DISTINCT t.[任务成员]) AS 成员数量, \r\n STUFF(( \r\n SELECT DISTINCT ',' + tm.[任务成员] \r\n FROM [dbo].[任务成员表] tm \r\n WHERE tm.[任务ID] = t.[任务ID] \r\n FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS 任务成员 \r\nFROM \r\n [dbo].[任务成员表] t \r\nGROUP BY \r\n t.[任务ID]\r\n) \r\nSELECT \r\n t.*, \r\n CASE WHEN t.[任务状态] >= 1 THEN CAST(t.[任务预算工时] as FLOAT ) ELSE 0 END AS 总分配工时, \r\n CASE WHEN p.[工时分配方式] = 3 THEN ISNULL(w.[核定工时汇总], 0) ELSE ISNULL(w.[计划工时汇总], 0) END + ISNULL(c.[子任务预算工时], 0) AS 本任务已分配工时, \r\n CASE \r\n WHEN p.[工时分配方式] = 3 \r\n THEN CASE \r\n WHEN t.[任务预算工时] - ISNULL(w.[核定工时汇总], 0) - ISNULL(c.[子任务预算工时], 0) < 0 THEN 0 \r\n ELSE t.[任务预算工时] - ISNULL(w.[核定工时汇总], 0) - ISNULL(c.[子任务预算工时], 0) \r\n END \r\n ELSE CASE \r\n WHEN t.[任务预算工时] - ISNULL(w.[计划工时汇总], 0) - ISNULL(c.[子任务预算工时], 0) < 0 THEN 0 \r\n ELSE t.[任务预算工时] - ISNULL(w.[计划工时汇总], 0) - ISNULL(c.[子任务预算工时], 0) \r\n END \r\n END AS 可分配工时, \r\n ISNULL(w.[核定工时汇总], 0) AS 本任务核定工时, \r\n CASE \r\n WHEN p.[工时分配方式] = 3 \r\n THEN CASE \r\n WHEN t.[任务预算工时] - ISNULL(c.[子任务预算工时], 0) - ISNULL(w.[核定工时汇总], 0) < 0 THEN 0 \r\n ELSE t.[任务预算工时] - ISNULL(c.[子任务预算工时], 0) - ISNULL(w.[核定工时汇总], 0) \r\n END \r\n ELSE CASE \r\n WHEN t.[任务预算工时] - ISNULL(c.[子任务预算工时], 0) - ISNULL(w.[计划工时汇总], 0) < 0 THEN 0 \r\n ELSE t.[任务预算工时] - ISNULL(c.[子任务预算工时], 0) - ISNULL(w.[计划工时汇总], 0) \r\n END \r\n END AS 本任务可核定工时, \r\n ISNULL(w.[实际工时汇总], 0) AS 本任务实际工时, \r\n ISNULL(w.[收益汇总], 0) AS 已消耗成本, \r\n ISNULL(m.[成员数量], 0) AS 成员数量, \r\n ISNULL(m.[任务成员], '') AS 任务成员 \r\nFROM \r\n [dbo].[任务表] t \r\nLEFT JOIN \r\n 任务汇总 w ON t.[ID] = w.[任务ID] \r\nLEFT JOIN \r\n 子任务预算 c ON t.[ID] = c.[任务ID] \r\nLEFT JOIN \r\n [dbo].[项目表] p ON t.[项目ID] = p.[ID] \r\nLEFT JOIN \r\n 成员统计 m ON t.[ID] = m.[任务ID];",
"ViewInfo": {
"ViewName": "任务平行视图",
"QueryColumns": [