{"Message":"修改工时的逻辑,支持工时分配模式\r\n修改工时中心页面","MessageType":2,"Modules":[{"State":1,"Type":23,"Name":"TableView/子任务视图"},{"State":1,"Type":23,"Name":"TableView/View_任务工时统计"},{"State":1,"Type":23,"Name":"TableView/人员工时统计视图"},{"State":1,"Type":7,"Name":"Table/任务工时表"},{"State":1,"Type":23,"Name":"TableView/View_项目统计信息"},{"State":1,"Type":7,"Name":"Table/项目表"},{"State":1,"Type":1,"Name":"PCPage/修改报工"},{"State":1,"Type":1,"Name":"PCPage/新增报工"},{"State":1,"Type":1,"Name":"PCPage/工时详情"},{"State":1,"Type":1,"Name":"PCPage/FGC_维护中"},{"State":1,"Type":1,"Name":"PCPage/预算申请"},{"State":1,"Type":1,"Name":"PCPage/项目信息"},{"State":1,"Type":3,"Name":"MasterPCPage/FGC_母版页"},{"State":1,"Type":15,"Name":"ServerCommand/修改工时"},{"State":2,"Type":15,"Name":"ServerCommand/新增工时"},{"State":1,"Type":40,"Name":"Plugin"},{"State":1,"Type":15,"Name":"ServerCommand/同步项目参与人字段"},{"State":1,"Type":15,"Name":"ServerCommand/新增或修改项目"},{"State":1,"Type":1,"Name":"PCPage/反馈与建议"},{"State":1,"Type":23,"Name":"TableView/项目匿名视图"},{"State":2,"Type":1,"Name":"PCPage/工时报表"},{"State":1,"Type":18,"Name":"RdlReport/工时报表"},{"State":1,"Type":7,"Name":"Table/工时分配方式"},{"State":3,"Type":1,"Name":"PCPage/分配计划工时"},{"State":3,"Type":15,"Name":"ServerCommand/分配任务工时"},{"State":3,"Type":15,"Name":"ServerCommand/上报实际工时"},{"State":3,"Type":1,"Name":"PCPage/任务工时统计"},{"State":3,"Type":1,"Name":"PCPage/人员工时统计"},{"State":3,"Type":1,"Name":"PCPage/工时中心"}],"Version":"v1"}

This commit is contained in:
SHAMUSPC\NINGMEI
2024-03-30 23:27:01 +08:00
parent 0b94563e41
commit e404fba4a7
36 changed files with 5182 additions and 1400 deletions

View File

@@ -25,11 +25,12 @@
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"$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"
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"HasChangeColumnType": true
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
@@ -102,11 +103,12 @@
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"$type": "Forguncy.SaveLoad.UserBindingColumnSaveData, ServerDesignerCommon",
"DatabaseColumnType": "nvarchar",
"MaxLength": -1,
"Name": "FGC_Creator",
"ColumnType": "System.String, 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",
"HasChangeColumnType": true
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",

View File

@@ -22,7 +22,7 @@
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"DatabaseColumnType": "nvarchar",
"MaxLength": -1,
"Name": "文本",
"Name": "描述",
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{

View File

@@ -17,11 +17,12 @@
"ColumnType": "System.DateTime, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"$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"
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"HasChangeColumnType": true
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
@@ -37,13 +38,6 @@
"Name": "任务ID",
"ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"DatabaseColumnType": "varchar",
"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",
@@ -74,9 +68,17 @@
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"Required": true,
"DatabaseColumnType": "float",
"MaxLength": -1,
"Name": "核定工时",
"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"
},
{
@@ -113,6 +115,48 @@
"DataColumnName": "实际工时",
"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": "c347ddb5-2b7d-48c8-a908-d219274fe3a1"
},
"AggregateFunction": 4,
"DataColumnName": "剩余工时",
"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,IF([计划工时]=0,100,ROUND([实际工时]/[计划工时]*100,0)))",
"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": "e01ff216-bd5f-4aa2-b8fa-0498890790d1"
},
"AggregateFunction": 4,
"DataColumnName": "上报工时",
"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": "635d4f7b-c81f-4609-91fb-6ba1156ab317"
},
"AggregateFunction": 4,
"DataColumnName": "计算提成",
"Name": "总计算提成",
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
}
],
"ExternalDatabaseInfo": {
@@ -120,7 +164,7 @@
"ConnectionId": "业务表",
"SourceTableName": "View_任务工时统计",
"SourceTableSchema": "dbo",
"CreateViewSql": "WITH c1 as (\r\n\tSELECT\r\n\t t.[ID],\r\n\t\t[项目ID],\r\n\t\tp.[工时核定方式],\r\n\t\t[任务ID],\r\n\t\t[执行人],\r\n\t\t[工时日期],\r\n\t\t[时薪单价],\r\n\t\t[提成系数],\r\n\t\t[请款单ID],\r\n\t\tROUND(SUM(CASE WHEN [工时类型] = '计划' THEN ISNULL([工时],0) ELSE 0 END),1) AS [计划工时],\r\n\t\tROUND(SUM(CASE WHEN [工时类型] = '实际' THEN ISNULL([工时],0) ELSE 0 END),1) AS [实际工时],\r\n\t\t(CASE p.[工时核定方式]\r\n\t\tWHEN '计划' THEN ROUND(SUM(CASE WHEN [工时类型] = '计划' THEN ISNULL([工时],0) ELSE 0 END),1)\r\n\t\tELSE ROUND(SUM(CASE WHEN [工时类型] = '实际' THEN ISNULL([工时],0) ELSE 0 END),1) \r\n\t\tEND) as 核定工时\r\n\tFROM \r\n\t\t[dbo].[任务工时表] t\r\n\tLEFT JOIN [项目表] p ON t.项目ID = p.ID\r\n\tGROUP BY \r\n\t t.[ID],\r\n\t\t[项目ID],\r\n\t\tp.[工时核定方式],\r\n\t\t[工时核定方式],\r\n\t\t[任务ID],\r\n\t\t[执行人],\r\n\t\t[工时日期],\r\n\t\t[时薪单价],\r\n\t\t[提成系数],\r\n\t\t[请款单ID]\r\n)\r\n\r\nSELECT\r\n c1.[ID],\r\n [工时日期] as 日期,\r\n\t\t[执行人],\r\n [项目ID],\r\n [任务ID],\r\n [工时核定方式],\r\n [时薪单价],\r\n [提成系数],\r\n [计划工时],\r\n [实际工时],\r\n [核定工时],\r\n ([核定工时] * [时薪单价] * [提成系数]) as 计算提成,\r\n\t\tc1.[请款单ID],\r\n\t\tqk.[状态] as 请款状态\r\nFROM c1\r\n LEFT JOIN [收益请款单表] qk ON c1.请款单ID = qk.ID;",
"CreateViewSql": "WITH c1 as (\r\n\tSELECT\r\n\t t.[ID],\r\n\t\t[项目ID],\r\n\t\t[任务ID],\r\n\t\t[执行人],\r\n\t\t[工时日期],\r\n\t\t[时薪单价],\r\n\t\t[提成系数],\r\n\t\t[请款单ID],\r\n\t\tISNULL([上报工时],0) AS 上报工时,\r\n\t\tROUND(SUM(CASE WHEN [工时类型] = '计划' THEN ISNULL([工时],0) ELSE 0 END),1) AS [计划工时],\r\n\t\tROUND(SUM(CASE WHEN [工时类型] = '实际' THEN ISNULL([工时],0) ELSE 0 END),1) AS [实际工时]\r\n\r\n\tFROM \r\n\t\t[dbo].[任务工时表] t\r\n\tLEFT JOIN [项目表] p ON t.项目ID = p.ID\r\n\tGROUP BY \r\n\t t.[ID],\r\n\t\t[项目ID],\r\n\t\t[任务ID],\r\n\t\t[执行人],\r\n\t\t[工时日期],\r\n\t\t[时薪单价],\r\n\t\t[提成系数],\r\n\t\t[请款单ID],\r\n\t\t[上报工时]\r\n)\r\n\r\nSELECT\r\n c1.[ID],\r\n [工时日期] as 日期,\r\n\t\t[执行人],\r\n [项目ID],\r\n [任务ID],\r\n [时薪单价],\r\n [提成系数],\r\n [计划工时],\r\n [实际工时],\r\n\t\t[上报工时],\r\n\t\t[计划工时]-[实际工时] as 剩余工时,\r\n ([实际工时]*[时薪单价] * [提成系数]) as 计算提成,\r\n\t\tc1.[请款单ID],\r\n\t\tqk.[状态] as 请款状态\r\nFROM c1\r\n LEFT JOIN [收益请款单表] qk ON c1.请款单ID = qk.ID;",
"ViewInfo": {
"ViewName": "View_任务工时统计",
"IsUpdatable": true,
@@ -144,13 +188,6 @@
"ForeignColumn": "项目ID",
"IsDetailTableRelation": true
},
{
"PrimaryTable": "用户信息视图",
"PrimaryColumn": "用户名",
"ForeignTable": "View_任务工时统计",
"ForeignColumn": "执行人",
"IsDetailTableRelation": true
},
{
"PrimaryTable": "收益请款单表",
"PrimaryColumn": "ID",

View File

@@ -2,11 +2,12 @@
"Name": "人员工时统计视图",
"Columns": [
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"$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"
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"HasChangeColumnType": true
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
@@ -29,6 +30,20 @@
"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": "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",
@@ -40,12 +55,12 @@
"$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon",
"BindingInfo": {
"TableName": "人员工时统计视图",
"ColumnName": "计算提成",
"GUID": "8c991d43-f8f7-44d0-a5b7-7f1096bc1a6c"
"ColumnName": "计划工时",
"GUID": "91e283d6-9945-4929-9f4c-a86dd36b00d8"
},
"AggregateFunction": 4,
"DataColumnName": "计算提成",
"Name": "总提成",
"DataColumnName": "计划工时",
"Name": "总计划工时",
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
@@ -53,12 +68,48 @@
"BindingInfo": {
"TableName": "人员工时统计视图",
"ColumnName": "实际工时",
"GUID": "a8bbb6b5-ef8a-407f-af3f-546f749918a1"
"GUID": "114c527c-7ea2-4f6d-817b-309e1744e426"
},
"AggregateFunction": 4,
"DataColumnName": "实际工时",
"Name": "总实际工时",
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon",
"BindingInfo": {
"TableName": "人员工时统计视图",
"ColumnName": "上报工时",
"GUID": "91e3eb69-cf12-4e72-9187-5efa17e411c8"
},
"AggregateFunction": 4,
"DataColumnName": "上报工时",
"Name": "总上报工时",
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon",
"BindingInfo": {
"TableName": "人员工时统计视图",
"ColumnName": "剩余工时",
"GUID": "6c47fb4f-9e81-43e6-89f4-f9876c3b82dd"
},
"AggregateFunction": 4,
"DataColumnName": "剩余工时",
"Name": "总剩余工时",
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon",
"BindingInfo": {
"TableName": "人员工时统计视图",
"ColumnName": "计算提成",
"GUID": "40e93639-f407-4945-8f49-da398870d97b"
},
"AggregateFunction": 4,
"DataColumnName": "计算提成",
"Name": "总计算提成",
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
}
],
"ExternalDatabaseInfo": {
@@ -66,7 +117,7 @@
"ConnectionId": "业务表",
"SourceTableName": "人员工时统计视图",
"SourceTableSchema": "dbo",
"CreateViewSql": "SELECT\r\n[执行人],\r\nCAST([日期] as date) 日期,\r\n[计划工时],\r\n[实际工时],\r\n[计算提成]\r\nFROM [View_任务工时统计] t",
"CreateViewSql": "SELECT\r\n[执行人],\r\nCAST([日期] as date) 日期,\r\nSUM([计划工时]) AS 计划工时,\r\nSUM([实际工时]) AS 实际工时,\r\nSUM([上报工时]) AS 上报工时,\r\nSUM([剩余工时]) AS 剩余工时,\r\nSUM([计算提成]) AS 计算提成\r\nFROM [View_任务工时统计] t\r\nGROUP BY\r\n[执行人],\r\n[日期]",
"ViewInfo": {
"ViewName": "人员工时统计视图",
"IsUpdatable": true,

View File

@@ -65,6 +65,14 @@
"DatabaseColumnType": "float",
"MaxLength": -1,
"Name": "工时",
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"Comment": "实际核定的工时\r\n"
},
{
"$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"
},
{

View File

@@ -32,18 +32,16 @@
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"Required": true,
"DatabaseColumnType": "float",
"DatabaseColumnType": "bigint",
"MaxLength": -1,
"Name": "总计划工时",
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
"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": "总实际工时",
"Name": "已分配任务工时",
"ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
@@ -57,6 +55,29 @@
{
"$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",
"DatabaseColumnType": "int",
"MaxLength": -1,
"Name": "项目成员数",
@@ -64,7 +85,6 @@
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"Required": true,
"DatabaseColumnType": "int",
"MaxLength": -1,
"Name": "总任务数量",
@@ -72,7 +92,6 @@
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"Required": true,
"DatabaseColumnType": "int",
"MaxLength": -1,
"Name": "已完成任务数",
@@ -80,19 +99,11 @@
},
{
"$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": "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": "[已完成任务数]&\"/\"&[总任务数量]",
@@ -152,6 +163,12 @@
"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": {
@@ -159,7 +176,7 @@
"ConnectionId": "业务表",
"SourceTableName": "View_项目统计信息",
"SourceTableSchema": "dbo",
"CreateViewSql": "SELECT\r\n p.[ID] AS [项目ID],\r\n p.[项目名称] AS [项目标题],\r\n p.[项目预算工时],\r\n p.[项目预算费用],\r\n ISNULL(计划工时.总计划工时, 0) AS [总计划工时],\r\n ISNULL(实际工时.总实际工时, 0) AS [总实际工时],\r\n ISNULL(总成本.总成本, 0) AS [总成本],\r\n ISNULL(项目成员.成员数量, 0) AS [项目成员数],\r\n ISNULL(任务统计.总任务数量, 0) AS [总任务数量],\r\n ISNULL(已完成任务.已完成任务数, 0) AS [已完成任务数],\r\n ISNULL(未完成任务.未完成任务数, 0) AS [未完成任务数],\r\n\t\tSUM(ISNULL(task.任务预算工时, 0)) as 已分配任务工时\r\nFROM\r\n [dbo].[项目表] p\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n SUM(工时) AS 总计划工时\r\n FROM\r\n [dbo].[任务工时表]\r\n WHERE\r\n 工时类型 = '计划'\r\n GROUP BY\r\n 项目ID\r\n) 计划工时 ON p.ID = 计划工时.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n SUM(工时) AS 总实际工时\r\n FROM\r\n [dbo].[任务工时表]\r\n WHERE\r\n 工时类型 = '实际'\r\n GROUP BY\r\n 项目ID\r\n) 实际工时 ON p.ID = 实际工时.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n SUM(工时 * 时薪单价 * 提成系数) AS 总成本\r\n FROM\r\n [dbo].[任务工时表]\r\n GROUP BY\r\n 项目ID\r\n) 总成本 ON p.ID = 总成本.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n COUNT(DISTINCT 执行人) AS 成员数量\r\n FROM\r\n [dbo].[任务工时表]\r\n GROUP BY\r\n 项目ID\r\n) 项目成员 ON p.ID = 项目成员.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n COUNT(ID) AS 总任务数量\r\n FROM\r\n [dbo].[任务表]\r\n GROUP BY\r\n 项目ID\r\n) 任务统计 ON p.ID = 任务统计.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n COUNT(ID) AS 已完成任务数\r\n FROM\r\n [dbo].[任务表]\r\n WHERE\r\n 任务状态 = 2\r\n GROUP BY\r\n 项目ID\r\n) 已完成任务 ON p.ID = 已完成任务.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n COUNT(ID) AS 未完成任务数\r\n FROM\r\n [dbo].[任务表]\r\n WHERE\r\n 任务状态 < 2\r\n GROUP BY\r\n 项目ID\r\n) 未完成任务 ON p.ID = 未完成任务.项目ID\r\nLEFT JOIN [任务表] task ON p.ID = task.[项目ID]\r\nGROUP BY \r\np.[ID],\r\np.[项目名称],\r\np.[项目预算工时],\r\np.[项目预算费用],\r\n计划工时.总计划工时,\r\n实际工时.总实际工时,\r\n总成本.总成本,\r\n项目成员.成员数量,\r\n任务统计.总任务数量,\r\n已完成任务.已完成任务数,\r\n未完成任务.未完成任务数;",
"CreateViewSql": "SELECT\r\n p.[ID] AS [项目ID],\r\n p.[项目名称] AS [项目标题],\r\n p.[项目预算工时],\r\n\t\tp.[项目预算费用],\r\n\t\tp.[项目状态],\r\n\t\tSUM(ISNULL(task.任务预算工时, 0)) AS [已分配任务工时],\r\n\t\tISNULL(SUM(t.计算提成), 0) AS [总成本],\r\n ISNULL(SUM(t.计划工时), 0) AS [总计划工时],\r\n\t\tISNULL(SUM(t.上报工时), 0) AS [总上报工时],\r\n ISNULL(SUM(t.实际工时), 0) AS [总实际工时],\r\n\t\tCOUNT(DISTINCT t.执行人) AS [项目成员数],\r\n\t\tCOUNT(t.ID) AS [总任务数量],\r\n\t\tSUM(CASE WHEN task.[任务状态] = 2 THEN 1 ELSE 0 END) AS [已完成任务数],\r\n\t\tSUM(CASE WHEN ISNULL(task.[任务状态], 0) < 2 THEN 1 ELSE 0 END) AS [未完成任务数]\r\n\r\nFROM [dbo].[项目表] p\r\nLEFT JOIN [View_任务工时统计] t ON p.ID = t.[项目ID]\r\nLEFT JOIN [任务表] task ON p.ID = task.[项目ID]\r\nGROUP BY \r\np.[ID],\r\np.[项目名称],\r\np.[项目预算工时],\r\np.[项目预算费用],\r\np.[项目状态];",
"ViewInfo": {
"ViewName": "View_项目统计信息",
"IsUpdatable": true,

View File

@@ -25,11 +25,12 @@
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"$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"
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e",
"HasChangeColumnType": true
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",

View File

@@ -195,8 +195,7 @@
"公开": 5,
"删除": 5,
"参与人": 5,
"参与人统计": 5,
"工时核定方式": 5,
"项目代号": 5,
"开启反馈收集": 5,
"开始及完成时间": 5,
"所属客户": 5,
@@ -218,7 +217,8 @@
"项目预算费用": 5,
"预算方案": 5,
"已分配计划工时": 5,
"工时分配方式": 5
"工时分配方式": 5,
"参与人列表": 5
},
"subTableOperations": {
"View_任务工时统计": 5,
@@ -254,8 +254,7 @@
"公开": 5,
"删除": 5,
"参与人": 5,
"参与人统计": 5,
"工时核定方式": 5,
"项目代号": 5,
"开启反馈收集": 5,
"开始及完成时间": 5,
"所属客户": 5,
@@ -277,7 +276,8 @@
"项目预算费用": 5,
"预算方案": 5,
"已分配计划工时": 5,
"工时分配方式": 5
"工时分配方式": 5,
"参与人列表": 5
},
"subTableOperations": {
"View_任务工时统计": 5,
@@ -313,8 +313,7 @@
"公开": 5,
"删除": 5,
"参与人": 5,
"参与人统计": 5,
"工时核定方式": 5,
"项目代号": 5,
"开启反馈收集": 5,
"开始及完成时间": 5,
"所属客户": 5,
@@ -336,7 +335,8 @@
"项目预算费用": 5,
"预算方案": 5,
"已分配计划工时": 5,
"工时分配方式": 5
"工时分配方式": 5,
"参与人列表": 5
},
"subTableOperations": {
"View_任务工时统计": 5,
@@ -382,6 +382,13 @@
"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": "nvarchar",
@@ -427,14 +434,7 @@
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"DefaultValue": "计划",
"DatabaseColumnType": "varchar",
"MaxLength": -1,
"Name": "工时核定方式",
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{
"$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon",
"DefaultValue": 0,
"DatabaseColumnType": "int",
"MaxLength": -1,
"Name": "工时分配方式",
@@ -561,12 +561,12 @@
"BindingInfo": {
"TableName": "任务成员表",
"ColumnName": "参与人",
"GUID": "fb963241-2e30-49e8-b1d2-2499f0acc6f7"
"GUID": "ba426353-557c-4893-9daf-8991f6d87b25"
},
"AggregateFunction": 5,
"DataColumnName": "参与人",
"DetailTableName": "任务成员表",
"Name": "参与人统计",
"Name": "参与人列表",
"ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"
},
{