{"Message":"新增任务管理页面","MessageType":2,"Modules":[{"State":1,"Type":1,"Name":"PCPage/任务-任务信息"},{"State":1,"Type":3,"Name":"MasterPCPage/FGC_母版页"},{"State":1,"Type":23,"Name":"TableView/任务平行视图"},{"State":4,"Type":1,"Name":"PCPage/任务管理"},{"State":3,"Type":6,"Name":"Pages/任务"}],"Version":"v1"}
This commit is contained in:
@@ -228,7 +228,8 @@
|
||||
"结束时间": 5,
|
||||
"进度": 5,
|
||||
"里程碑": 5,
|
||||
"项目ID": 5
|
||||
"项目ID": 5,
|
||||
"逾期状态": 5
|
||||
},
|
||||
"subTableOperations": {
|
||||
"View_任务工时统计": 5,
|
||||
@@ -298,7 +299,8 @@
|
||||
"结束时间": 5,
|
||||
"进度": 5,
|
||||
"里程碑": 5,
|
||||
"项目ID": 5
|
||||
"项目ID": 5,
|
||||
"逾期状态": 5
|
||||
},
|
||||
"subTableOperations": {
|
||||
"View_任务工时统计": 5,
|
||||
@@ -368,7 +370,8 @@
|
||||
"结束时间": 5,
|
||||
"进度": 5,
|
||||
"里程碑": 5,
|
||||
"项目ID": 5
|
||||
"项目ID": 5,
|
||||
"逾期状态": 5
|
||||
},
|
||||
"subTableOperations": {
|
||||
"View_任务工时统计": 5,
|
||||
@@ -749,6 +752,18 @@
|
||||
"DataColumnName": "ID",
|
||||
"Name": "子任务数",
|
||||
"ColumnType": "System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
|
||||
},
|
||||
{
|
||||
"$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon",
|
||||
"Formula": "IF(NOW()>[结束时间],\"已逾期\",\"正常\")",
|
||||
"Name": "逾期状态",
|
||||
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
|
||||
},
|
||||
{
|
||||
"$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon",
|
||||
"Formula": "IF(ISBLANK([开始时间]),\"\",YEAR([开始时间])&\"/\"&MONTH([开始时间])&\"/\"&DAY([开始时间]))&\"~\"&IF(ISBLANK([结束时间]),\"\",YEAR([结束时间])&\"/\"&MONTH([结束时间])&\"/\"&DAY([结束时间]))",
|
||||
"Name": "日期范围",
|
||||
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
|
||||
}
|
||||
],
|
||||
"ExternalDatabaseInfo": {
|
||||
@@ -757,7 +772,7 @@
|
||||
"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\r\n\t\t\r\n\t\tUNION 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 AND c.[任务状态]>=1\r\n\tGROUP BY\r\n\t\tcte.ID \r\n\t),\r\n\t子任务核定工时汇总 AS (\r\n SELECT\r\n cte.ID,\r\n ISNULL(SUM(汇总.核定工时汇总), 0) AS 子任务核定工时汇总\r\n FROM\r\n [任务递归CTE] cte\r\n LEFT JOIN 任务表 c ON c.[父任务ID] = cte.ID\r\n LEFT JOIN 汇总工时 汇总 ON c.ID = 汇总.[任务ID]\r\n GROUP BY\r\n cte.ID\r\n),\r\n子任务实际工时汇总 AS (\r\n SELECT\r\n cte.ID,\r\n ISNULL(SUM(汇总.实际工时汇总), 0) AS 子任务实际工时汇总\r\n FROM\r\n [任务递归CTE] cte\r\n LEFT JOIN 任务表 c ON c.[父任务ID] = cte.ID\r\n LEFT JOIN 汇总工时 汇总 ON c.ID = 汇总.[任务ID]\r\n GROUP BY\r\n cte.ID\r\n),\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-- Final view definition\r\nSELECT\r\n t.*,\r\n t.任务预算工时 AS 总分配工时,\r\n ISNULL(汇总.计划工时汇总, 0) + ISNULL(任务汇总.子任务分配工时, 0) AS 已分配工时,\r\n\t\tISNULL(汇总.计划工时汇总, 0) AS 本任务已分配工时,\r\n\t\tISNULL(任务汇总.子任务分配工时, 0) AS 子任务已分配工时,\r\n t.任务预算工时 - (ISNULL(汇总.计划工时汇总, 0) + ISNULL(任务汇总.子任务分配工时, 0)) AS 可分配工时,\r\n ISNULL(汇总.核定工时汇总, 0) + ISNULL(子任务核定工时汇总.子任务核定工时汇总, 0) AS 总核定工时,\r\n\t\tISNULL(汇总.核定工时汇总, 0) AS 本任务核定工时,\r\n\t\tISNULL(子任务核定工时汇总.子任务核定工时汇总, 0) AS 子任务核定工时,\r\n (t.任务预算工时 - (ISNULL(汇总.核定工时汇总, 0) + ISNULL(子任务核定工时汇总.子任务核定工时汇总, 0))) AS 可核定工时,\r\n\t\tISNULL(汇总.计划工时汇总, 0) - ISNULL(汇总.核定工时汇总, 0) AS 本任务可核定工时,\r\n\t\tISNULL(任务汇总.子任务分配工时, 0) - ISNULL(子任务核定工时汇总.子任务核定工时汇总, 0) AS 子任务可核定工时,\r\n ISNULL(汇总.实际工时汇总, 0) + ISNULL(子任务实际工时汇总.子任务实际工时汇总, 0) AS 实际工时,\r\n\t\tISNULL(汇总.实际工时汇总, 0) AS 本任务实际工时,\r\n\t\tISNULL(子任务实际工时汇总.子任务实际工时汇总, 0) AS 子任务实际工时,\r\n 成员.[成员数量],\r\n 成员.[任务成员]\r\nFROM\r\n 任务表 t\r\n LEFT JOIN 汇总工时 汇总 ON t.ID = 汇总.[任务ID]\r\n LEFT JOIN 任务汇总 任务汇总 ON t.ID = 任务汇总.ID\r\n LEFT JOIN 子任务核定工时汇总 子任务核定工时汇总 ON t.ID = 子任务核定工时汇总.ID\r\n LEFT JOIN 子任务实际工时汇总 子任务实际工时汇总 ON t.ID = 子任务实际工时汇总.ID\r\n LEFT JOIN 任务成员 成员 ON t.ID = 成员.[任务ID];",
|
||||
"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\r\n\t\t\r\n\t\tUNION 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 AND c.[任务状态]>=1\r\n\tGROUP BY\r\n\t\tcte.ID \r\n\t),\r\n\t子任务核定工时汇总 AS (\r\n SELECT\r\n cte.ID,\r\n ISNULL(SUM(汇总.核定工时汇总), 0) AS 子任务核定工时汇总\r\n FROM\r\n [任务递归CTE] cte\r\n LEFT JOIN 任务表 c ON c.[父任务ID] = cte.ID\r\n LEFT JOIN 汇总工时 汇总 ON c.ID = 汇总.[任务ID]\r\n GROUP BY\r\n cte.ID\r\n),\r\n子任务实际工时汇总 AS (\r\n SELECT\r\n cte.ID,\r\n ISNULL(SUM(汇总.实际工时汇总), 0) AS 子任务实际工时汇总\r\n FROM\r\n [任务递归CTE] cte\r\n LEFT JOIN 任务表 c ON c.[父任务ID] = cte.ID\r\n LEFT JOIN 汇总工时 汇总 ON c.ID = 汇总.[任务ID]\r\n GROUP BY\r\n cte.ID\r\n),\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-- Final view definition\r\nSELECT\r\n t.*,\r\n (CASE WHEN t.[任务状态]>=1 THEN t.任务预算工时 ELSE 0 END )AS 总分配工时,\r\n ISNULL(汇总.计划工时汇总, 0) + ISNULL(任务汇总.子任务分配工时, 0) AS 已分配工时,\r\n\t\tISNULL(汇总.计划工时汇总, 0) AS 本任务已分配工时,\r\n\t\tISNULL(任务汇总.子任务分配工时, 0) AS 子任务已分配工时,\r\n t.任务预算工时 - (ISNULL(汇总.计划工时汇总, 0) + ISNULL(任务汇总.子任务分配工时, 0)) AS 可分配工时,\r\n ISNULL(汇总.核定工时汇总, 0) + ISNULL(子任务核定工时汇总.子任务核定工时汇总, 0) AS 总核定工时,\r\n\t\tISNULL(汇总.核定工时汇总, 0) AS 本任务核定工时,\r\n\t\tISNULL(子任务核定工时汇总.子任务核定工时汇总, 0) AS 子任务核定工时,\r\n (t.任务预算工时 - (ISNULL(汇总.核定工时汇总, 0) + ISNULL(子任务核定工时汇总.子任务核定工时汇总, 0))) AS 可核定工时,\r\n\t\tISNULL(汇总.计划工时汇总, 0) - ISNULL(汇总.核定工时汇总, 0) AS 本任务可核定工时,\r\n\t\tISNULL(任务汇总.子任务分配工时, 0) - ISNULL(子任务核定工时汇总.子任务核定工时汇总, 0) AS 子任务可核定工时,\r\n ISNULL(汇总.实际工时汇总, 0) + ISNULL(子任务实际工时汇总.子任务实际工时汇总, 0) AS 实际工时,\r\n\t\tISNULL(汇总.实际工时汇总, 0) AS 本任务实际工时,\r\n\t\tISNULL(子任务实际工时汇总.子任务实际工时汇总, 0) AS 子任务实际工时,\r\n 成员.[成员数量],\r\n 成员.[任务成员]\r\nFROM\r\n 任务表 t\r\n LEFT JOIN 汇总工时 汇总 ON t.ID = 汇总.[任务ID]\r\n LEFT JOIN 任务汇总 任务汇总 ON t.ID = 任务汇总.ID\r\n LEFT JOIN 子任务核定工时汇总 子任务核定工时汇总 ON t.ID = 子任务核定工时汇总.ID\r\n LEFT JOIN 子任务实际工时汇总 子任务实际工时汇总 ON t.ID = 子任务实际工时汇总.ID\r\n LEFT JOIN 任务成员 成员 ON t.ID = 成员.[任务ID];",
|
||||
"ViewInfo": {
|
||||
"ViewName": "任务平行视图",
|
||||
"QueryColumns": [
|
||||
|
||||
Reference in New Issue
Block a user