{ "Name": "任务平行视图", "Columns": [ { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "Required": true, "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "ID", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "项目ID", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "任务名称", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.UserBindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "任务负责人", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", "HasChangeColumnType": true }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "datetime", "MaxLength": -1, "Name": "开始时间", "ColumnType": "System.DateTime, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "datetime", "MaxLength": -1, "Name": "结束时间", "ColumnType": "System.DateTime, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "任务类型", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "版本", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "任务说明", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "备注", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "父任务ID", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "任务状态", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "分组ID", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "关联资源", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "FGC_Creator", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "datetime", "MaxLength": -1, "Name": "FGC_CreateDate", "ColumnType": "System.DateTime, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "FGC_LastModifier", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "datetime", "MaxLength": -1, "Name": "FGC_LastModifyDate", "ColumnType": "System.DateTime, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "float", "MaxLength": -1, "Name": "任务预算工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "层级", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "前置任务", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "工期", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "次序", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bit", "MaxLength": -1, "Name": "里程碑", "ColumnType": "System.Boolean, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "float", "MaxLength": -1, "Name": "进度", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "功能名称", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "bigint", "MaxLength": -1, "Name": "收集反馈", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "功能描述", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "流程实例ID", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "float", "MaxLength": -1, "Name": "总分配工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "Required": true, "DatabaseColumnType": "float", "MaxLength": -1, "Name": "已分配工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "float", "MaxLength": -1, "Name": "可分配工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "Required": true, "DatabaseColumnType": "float", "MaxLength": -1, "Name": "总核定工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "float", "MaxLength": -1, "Name": "可核定工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "Required": true, "DatabaseColumnType": "float", "MaxLength": -1, "Name": "实际工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "任务成员", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon", "BindingInfo": { "TableName": "View_任务工时统计", "ColumnName": "计划工时", "GUID": "4caad800-23cc-4bf4-a9c4-abb668214b2c" }, "AggregateFunction": 4, "DataColumnName": "计划工时", "DetailTableName": "View_任务工时统计", "Name": "成员计划工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon", "BindingInfo": { "TableName": "View_任务工时统计", "ColumnName": "实际工时", "GUID": "ab5476e4-7d41-450c-afad-7136051b66ae" }, "AggregateFunction": 4, "DataColumnName": "实际工时", "DetailTableName": "View_任务工时统计", "Name": "成员实际工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon", "BindingInfo": { "TableName": "任务成员表", "ColumnName": "ID", "GUID": "e962e125-89fa-438b-bacc-fc332e0f6417" }, "AggregateFunction": 1, "DataColumnName": "ID", "DetailTableName": "任务成员表", "Name": "成员数量", "ColumnType": "System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon", "BindingInfo": { "TableName": "View_任务工时统计", "ColumnName": "剩余工时", "GUID": "e8092ca2-2f94-44fd-aaa1-3658abce02e6" }, "AggregateFunction": 4, "DataColumnName": "剩余工时", "DetailTableName": "View_任务工时统计", "Name": "成员剩余工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon", "Formula": "[已分配工时]&\"/\"&[总分配工时]", "Name": "已分配工时_总分配工时", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon", "Formula": "[总核定工时]&\"/\"&[已分配工时]", "Name": "总核定工时_已分配工时", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" } ], "ExternalDatabaseInfo": { "DataBaseType": "6db454c0-531c-4395-9122-921a18942902", "AllowModifySchema": true, "ConnectionId": "业务表", "SourceTableName": "任务平行视图", "SourceTableSchema": "dbo", "CreateViewSql": "WITH [任务递归CTE] AS (-- CTE to gather all tasks and their child tasks\r\n\tSELECT\r\n\t\tt.ID,\r\n\t\tt.[父任务ID],\r\n\t\tt.[任务预算工时],\r\n\t\tCAST ( t.ID AS VARCHAR ( MAX ) ) AS TaskPath,\r\n\t\t0 AS Depth \r\n\tFROM\r\n\t\t任务表 t \r\n\tWHERE\r\n\t\tt.[父任务ID] IS NULL UNION ALL\r\n\tSELECT\r\n\t\tt.ID,\r\n\t\tt.[父任务ID],\r\n\t\tt.任务预算工时,\r\n\t\tCAST ( cte.TaskPath + '->' + CAST ( t.ID AS VARCHAR ( 50 ) ) AS VARCHAR ( MAX ) ) AS TaskPath,\r\n\t\tcte.Depth + 1 AS Depth \r\n\tFROM\r\n\t\t任务表 t\r\n\t\tINNER JOIN [任务递归CTE] cte ON t.[父任务ID] = cte.ID \r\n\t),\r\n\t汇总工时 AS (-- Gather plan hours and actual hours from 任务工时表\r\n\tSELECT\r\n\t\t[任务ID],\r\n\t\tSUM ( CASE WHEN 工时类型 = '计划' THEN 工时 ELSE 0 END ) AS 计划工时汇总,\r\n\t\tSUM ( CASE WHEN 工时类型 = '实际' THEN 工时 ELSE 0 END ) AS 核定工时汇总,\r\n\t\tSUM ( CASE WHEN 工时类型 = '实际' THEN 上报工时 ELSE 0 END ) AS 实际工时汇总 \r\n\tFROM\r\n\t\t任务工时表 \r\n\tGROUP BY\r\n\t\t[任务ID] \r\n\t),\r\n\t任务汇总 AS (-- Sum up task hours with recursive sum of child tasks\r\n\tSELECT\r\n\t\tcte.ID,\r\n\t\tISNULL( SUM ( c.任务预算工时 ), 0 ) AS 子任务分配工时 \r\n\tFROM\r\n\t\t[任务递归CTE] cte\r\n\t\tLEFT JOIN 任务表 c ON c.[父任务ID] = cte.ID \r\n\tGROUP BY\r\n\t\tcte.ID \r\n\t),\r\n\t任务成员 AS ( \r\n\tSELECT \r\n\t[任务ID],\r\n\tSTRING_AGG ([任务成员],',') AS 任务成员,\r\n\tcount(*) AS [成员数量] \r\n\tFROM [任务成员表] \r\n\tGROUP BY [任务ID] \r\n\t)\r\n\t -- Final view definition\r\nSELECT\r\n\tt.*,\r\n\tt.任务预算工时 AS 总分配工时,\r\n\tISNULL( 汇总.计划工时汇总, 0 ) + ISNULL( 任务汇总.子任务分配工时, 0 ) AS 已分配工时,\r\n\tt.任务预算工时 - ( ISNULL( 汇总.计划工时汇总, 0 ) + ISNULL( 任务汇总.子任务分配工时, 0 ) ) AS 可分配工时,\r\n\tISNULL( 汇总.核定工时汇总, 0 ) AS 总核定工时,\r\n\t( t.任务预算工时 - ( ISNULL( 汇总.计划工时汇总, 0 ) + ISNULL( 任务汇总.子任务分配工时, 0 ) ) ) - ISNULL( 汇总.核定工时汇总, 0 ) AS 可核定工时,\r\n\tISNULL( 汇总.实际工时汇总, 0 ) AS 实际工时,\r\n\t成员.[成员数量],\r\n\t成员.[任务成员]\r\nFROM\r\n\t任务表 t\r\n\tLEFT JOIN 汇总工时 汇总 ON t.ID = 汇总.[任务ID]\r\n\tLEFT JOIN 任务汇总 任务汇总 ON t.ID = 任务汇总.ID\r\n\tLEFT JOIN 任务成员 成员 ON t.ID = 成员.[任务ID];", "ViewInfo": { "ViewName": "任务平行视图", "QueryColumns": [ "ID" ] } }, "Relations": [ { "PrimaryTable": "项目平行视图", "PrimaryColumn": "ID", "ForeignTable": "任务平行视图", "ForeignColumn": "项目ID", "IsDetailTableRelation": true }, { "PrimaryTable": "任务平行视图", "PrimaryColumn": "ID", "ForeignTable": "任务平行视图", "ForeignColumn": "父任务ID", "IsDetailTableRelation": true }, { "PrimaryTable": "任务类型", "PrimaryColumn": "ID", "ForeignTable": "任务平行视图", "ForeignColumn": "任务类型", "IsDetailTableRelation": true }, { "PrimaryTable": "项目任务分组", "PrimaryColumn": "ID", "ForeignTable": "任务平行视图", "ForeignColumn": "分组ID", "IsDetailTableRelation": true }, { "PrimaryTable": "项目版本", "PrimaryColumn": "ID", "ForeignTable": "任务平行视图", "ForeignColumn": "版本", "IsDetailTableRelation": true }, { "PrimaryTable": "任务状态", "PrimaryColumn": "状态码", "ForeignTable": "任务平行视图", "ForeignColumn": "任务状态", "IsDetailTableRelation": true }, { "PrimaryTable": "ACT_HI_PROCINST_View", "PrimaryColumn": "ID_", "ForeignTable": "任务平行视图", "ForeignColumn": "流程实例ID", "IsDetailTableRelation": true } ], "Indexes": [] }