{"Message":"更新统计绑定数据","MessageType":2,"Modules":[{"State":1,"Type":7,"Name":"Table/FGC_订单记录","ExclusiveType":0},{"State":1,"Type":7,"Name":"Table/FGC_订单明细表","ExclusiveType":0},{"State":1,"Type":7,"Name":"Table/FGC_商品表","ExclusiveType":0},{"State":1,"Type":23,"Name":"TableView/用户信息视图","ExclusiveType":0},{"State":1,"Type":23,"Name":"TableView/用户组织关系视图","ExclusiveType":0},{"State":1,"Type":23,"Name":"TableView/用户角色关系视图","ExclusiveType":0},{"State":1,"Type":23,"Name":"TableView/组织信息视图","ExclusiveType":0},{"State":1,"Type":23,"Name":"TableView/组织级别视图","ExclusiveType":0},{"State":1,"Type":23,"Name":"TableView/角色信息视图","ExclusiveType":0},{"State":1,"Type":23,"Name":"TableView/角色分类关系视图","ExclusiveType":0},{"State":1,"Type":23,"Name":"TableView/角色拥有权限视图","ExclusiveType":0},{"State":1,"Type":23,"Name":"TableView/角色组织关系视图","ExclusiveType":0},{"State":1,"Type":7,"Name":"Table/message_test","ExclusiveType":0},{"State":1,"Type":1,"Name":"PCPage/项目标题"},{"State":1,"Type":1,"Name":"PCPage/任务列表"},{"State":1,"Type":1,"Name":"PCPage/项目概况-关键数据"},{"State":1,"Type":1,"Name":"PCPage/任务-基本信息"},{"State":1,"Type":1,"Name":"PCPage/任务-工时"},{"State":1,"Type":3,"Name":"MasterPCPage/FGC_母版页"},{"State":1,"Type":12,"Name":"CustomLibrary"},{"State":1,"Type":26,"Name":"Upload"},{"State":1,"Type":23,"Name":"TableView/项目平行视图"},{"State":1,"Type":23,"Name":"TableView/任务平行视图"},{"State":1,"Type":31,"Name":"UserControlPage/任务统计信息"},{"State":1,"Type":15,"Name":"ServerCommand/生成项目封面"},{"State":1,"Type":1,"Name":"PCPage/TODO-FULL"},{"State":1,"Type":1,"Name":"PCPage/设置时间"},{"State":3,"Type":20,"Name":"ServerCommands/TODO"},{"State":3,"Type":15,"Name":"ServerCommand/取TODO数量"}],"Version":"v1"}
This commit is contained in:
@@ -726,6 +726,14 @@
|
||||
"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": "int",
|
||||
@@ -754,7 +762,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon",
|
||||
"Formula": "=IF([任务类型]=3,[本任务可核定工时],[可分配工时])",
|
||||
"Formula": "=IF([任务类型]<>3,[本任务可核定工时],[可分配工时])",
|
||||
"Name": "动态可核定工时",
|
||||
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
|
||||
},
|
||||
@@ -789,7 +797,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 (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];",
|
||||
"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\t\tSUM (CASE WHEN 工时类型 = '实际' THEN [时薪单价]*[提成系数]*[工时] ELSE 0 END) AS 收益汇总\r\n\t \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\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