{ "Name": "View_项目统计信息", "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": "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": "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", "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", "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", "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", "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", "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", "Required": true, "DatabaseColumnType": "int", "MaxLength": -1, "Name": "项目成员数", "ColumnType": "System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "int", "MaxLength": -1, "Name": "总任务数量", "ColumnType": "System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "int", "MaxLength": -1, "Name": "已完成任务数", "ColumnType": "System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "int", "MaxLength": -1, "Name": "未完成任务数", "ColumnType": "System.Int32, 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.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": "IF([总任务数量]=0,0,[已完成任务数]/[总任务数量])", "Name": "任务完成进度", "ColumnType": "System.Int32, 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" }, { "$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": "IF([总任务数量]=0,0,INT([已完成任务数]/[总任务数量]*100))", "Name": "任务完成比例", "ColumnType": "System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon", "Formula": "IF([项目预算工时]=0,0,INT([总实际工时]/[项目预算工时]*100))", "Name": "工时消耗比例", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon", "Formula": "IF([项目预算费用]=0,0,INT([总成本]/[项目预算费用]*100))", "Name": "预算消耗比例", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon", "Formula": "IF([总计划工时]=0,0,INT([总实际工时]/[总计划工时]*100))", "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": "IF([总实际工时]=0,0,IF([总实际工时]=0,0,ROUND([总成本]/[总实际工时],0)))", "Name": "平均时薪", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" } ], "ExternalDatabaseInfo": { "DataBaseType": "6db454c0-531c-4395-9122-921a18942902", "AllowModifySchema": true, "ConnectionId": "业务表", "SourceTableName": "View_项目统计信息", "SourceTableSchema": "dbo", "CreateViewSql": "-- 预先处理子查询,建立临时表 \r\nWITH cy AS (\r\n SELECT\r\n [项目ID],\r\n COUNT(DISTINCT [项目成员]) AS [项目成员数]\r\n FROM\r\n [项目成员表]\r\n GROUP BY\r\n [项目ID]\r\n), c1 AS (\r\n SELECT\r\n p.[ID] AS [项目ID],\r\n p.[项目名称] AS [项目标题],\r\n p.[项目预算工时],\r\n p.[项目预算费用],\r\n p.[项目状态],\r\n ISNULL(SUM(t.计算提成), 0) AS [总成本],\r\n ISNULL(SUM(t.计划工时), 0) AS [总计划工时],\r\n ISNULL(SUM(t.上报工时), 0) AS [总上报工时],\r\n ISNULL(SUM(t.实际工时), 0) AS [总实际工时],\r\n ISNULL(cy.[项目成员数], 0) AS [项目成员数],\r\n COUNT(t.ID) AS [总任务数量]\r\n FROM\r\n [dbo].[项目表] p\r\n LEFT JOIN [View_任务工时统计] t ON p.ID = t.[项目ID]\r\n LEFT JOIN cy ON p.ID = cy.[项目ID]\r\n GROUP BY\r\n p.[ID],\r\n p.[项目名称],\r\n p.[项目预算工时],\r\n p.[项目预算费用],\r\n p.[项目状态],\r\n cy.[项目成员数]\r\n)\r\n\r\nSELECT\r\n c1.[项目ID],\r\n c1.[项目标题],\r\n c1.[项目预算工时],\r\n c1.[项目预算费用],\r\n c1.[项目状态],\r\n c1.[总成本],\r\n c1.[总计划工时],\r\n c1.[总上报工时],\r\n c1.[总实际工时],\r\n c1.[项目成员数],\r\n c1.[总任务数量],\r\n SUM(\r\n CASE\r\n WHEN task.[任务状态] = 3 THEN 1\r\n ELSE 0\r\n END\r\n ) AS [已完成任务数],\r\n SUM(\r\n CASE\r\n WHEN ISNULL(task.[任务状态], 0) < 3 THEN 1\r\n ELSE 0\r\n END\r\n ) AS [未完成任务数],\r\n SUM(ISNULL(task.任务预算工时, 0)) AS [已分配任务工时]\r\nFROM c1\r\nLEFT JOIN [任务表] task ON c1.[项目ID] = task.[项目ID] AND task.[任务状态] > 1\r\nGROUP BY\r\n c1.[项目ID],\r\n c1.[项目标题],\r\n c1.[项目预算工时],\r\n c1.[项目预算费用],\r\n c1.[项目状态],\r\n c1.[总成本],\r\n c1.[总计划工时],\r\n c1.[总上报工时],\r\n c1.[总实际工时],\r\n c1.[项目成员数],\r\n c1.[总任务数量]", "ViewInfo": { "ViewName": "View_项目统计信息", "IsUpdatable": true, "QueryColumns": [ "项目ID" ] } }, "Relations": [ { "PrimaryTable": "项目表", "PrimaryColumn": "ID", "ForeignTable": "View_项目统计信息", "ForeignColumn": "项目ID", "IsDetailTableRelation": false } ], "Indexes": [] }