{ "Name": "修改任务预算工时", "Enabled": true, "Triggers": [ { "$type": "Forguncy.SaveLoad.PostRequestTriggerSaveData, ServerDesignerCommon", "Permission": { "PermissionData": { "$type": "Forguncy.RbacPermission.Core.Impl.ServerCommand.ServerCommandPermissionData, Forguncy.RbacPermission.Core", "permissionResource": { "$type": "Forguncy.RbacPermission.Core.Impl.ServerCommand.ServerCommandPermissionResource, Forguncy.RbacPermission.Core" }, "permissionBindings": [ { "$type": "Forguncy.RbacPermission.Core.Impl.ServerCommand.ServerCommandPermissionBinding, Forguncy.RbacPermission.Core", "roleNames": [ "FGC_LoginUser" ] } ] } }, "Parameters": [ { "Name": "任务ID", "DataValidationInfo": { "IgnoreBlank": false } }, { "Name": "新预算工时", "DataValidationInfo": { "IgnoreBlank": false } } ] } ], "Commands": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "任务表", "TableValue": { "TableName": "任务平行视图", "TableValueType": 1, "BindingInfos": [ { "GUID": "b9ee34b0-b76f-4ecb-a0e0-bc3a24e589c5", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "项目ID", "GUID": "5719fcb2-167f-46e2-a595-f2694094d3d4" }, "ColumnName": "项目ID" }, { "GUID": "2e38bb15-1dc0-4221-a2b9-399d84f00531", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "项目ID", "GUID": "14189ead-62a9-4601-a206-b4ce4e6c9b79", "RelationBinding": { "RelatedTable": "项目平行视图", "RelatedColumn": "ID", "DisplayColumn": "严格模式" } }, "ColumnName": "严格模式" }, { "GUID": "43e2d99c-006d-4e5e-bc5d-7ec7fbda938b", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "项目ID", "GUID": "4e99fa55-723f-48b8-955c-5595ae187aa6", "RelationBinding": { "RelatedTable": "项目平行视图", "RelatedColumn": "ID", "DisplayColumn": "项目预算工时" } }, "ColumnName": "项目预算工时" }, { "GUID": "a6d6dc3b-f9d0-4421-b9a8-c8f557b71c9e", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "项目ID", "GUID": "1366e55d-d61b-46c8-af9e-7fc4cb7a53bf", "RelationBinding": { "RelatedTable": "项目平行视图", "RelatedColumn": "ID", "DisplayColumn": "项目已分配工时" } }, "ColumnName": "项目已分配工时" }, { "GUID": "8f906232-daed-4a71-9ff4-15786904a426", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "项目ID", "GUID": "196e858f-ae77-4c8b-b383-8990780d75b3", "RelationBinding": { "RelatedTable": "项目平行视图", "RelatedColumn": "ID", "DisplayColumn": "工时分配方式" } }, "ColumnName": "工时分配方式" }, { "GUID": "b7652979-9cf5-4943-952f-fae0eca71db0", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "任务名称", "GUID": "027d069e-aaad-494d-adfc-ce3116a4e006" }, "ColumnName": "任务名称" }, { "GUID": "872240e2-14b2-49f1-a89a-bec8299aaf58", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "总分配工时", "GUID": "6f70bc63-6e7f-4cdb-b495-564ead523b05" }, "ColumnName": "总分配工时" }, { "GUID": "d72031fa-cfe0-4ce4-9fd4-d75ea7a57351", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "本任务已分配工时", "GUID": "d3388389-b3f8-4b02-b675-8bb298f55b11" }, "ColumnName": "已分配工时" }, { "GUID": "1f1524a0-28c5-4402-a3ff-41b117486c29", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "父任务ID", "GUID": "d91016f5-5a46-4636-8dac-33b23d21f90a" }, "ColumnName": "父任务ID" }, { "GUID": "be3538d1-cb12-4ef6-bce8-d9076006f6bd", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "父任务ID", "GUID": "982feecb-8da9-46e9-99a4-0e7a4e599de3", "RelationBinding": { "RelatedTable": "任务平行视图", "RelatedColumn": "ID", "DisplayColumn": "可分配工时" } }, "ColumnName": "父任务可分配工时" }, { "GUID": "589fe568-2a34-46be-88b3-e89f55219484", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "本任务已分配工时", "GUID": "d0b307f8-9206-4597-a5cf-4ecb4e3c27ea" }, "ColumnName": "本任务已分配工时" } ], "SqlCondition": { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "ColumnBindingInfo": { "TableName": "任务平行视图", "ColumnName": "ID", "GUID": "8ed8daac-ea2a-4392-86e2-4c91c582a7b1" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务ID" } }, "TopCount": "1" }, "ID": "7043d65b6350454e8ac3355a6eb4258b" }, { "$type": "Forguncy.Model.CatchExceptionCommand, ServerDesignerCommon", "TryCommandPart": { "CommandList": [ { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", "ConditionAndCommandPairList": [ { "Condition": { "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", "param": { "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.工时分配方式" } }, "value": "4", "compareType": 1 }, "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "项目可分配工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.项目预算工时-任务表.项目已分配工时" }, "ID": "21e229bfb2074ecf90faf763e18d1362" }, { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", "ConditionAndCommandPairList": [ { "Condition": { "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", "param": { "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.严格模式" } }, "value": "1" }, "CommandList": [ { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", "ConditionAndCommandPairList": [ { "Condition": { "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", "param": { "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=新预算工时" } }, "value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.本任务已分配工时" }, "compareType": 4 }, "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "400", "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=\"任务已被分配消耗\"&任务表.本任务已分配工时&\"小时,修改后工时,不可低于此值。\"" }, "CustomReturns": [ { "ReturnPropertyName": "新工时", "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.总分配工时" } } ] } ], "ID": "24e26484-43c6-496e-b2c4-262d8c255522" } ] }, { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", "ConditionAndCommandPairList": [ { "Condition": { "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", "param": { "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.父任务ID" } }, "value": "%Null%" }, "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "上级剩余工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=项目可分配工时" }, "ID": "dc415d50f13c4b6d910deebb8f01c7c3", "Comments": "如果没有父任务,则将项目可分配工时+任务当前的总分配工时 (相当于这个任务没有分)" } ], "ID": "aa0767f1-539d-4ba8-b598-21d062a4125f" }, { "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "上级剩余工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.父任务可分配工时" }, "ID": "2e69cbc7c4ef4ea889efb06c58f96f73", "Comments": "如果没有父任务,则将项目可分配工时+任务当前的总分配工时 (相当于这个任务没有分)" } ], "ID": "07720cb1-7ade-4b59-acf9-e775ebb5fd02" } ], "Comments": "严格模式下,根据是否有父任务来计算本次预算工时的上限" }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "预算工时上限", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=上级剩余工时+任务表.总分配工时" }, "ID": "1272d321f1664c3b9ff24c5dcedb5d2e", "Comments": "上级任务剩余可用的工时+当前任务的总工时,相当于没有分给它" }, { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", "ConditionAndCommandPairList": [ { "Condition": { "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", "param": { "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=预算工时上限" } }, "value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=新预算工时" }, "compareType": 4 }, "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "400", "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=\"任务工时超标,无法修改,当前任务最大上线为:\"&预算工时上限&\"小时\"" }, "CustomReturns": [ { "ReturnPropertyName": "新工时" } ] } ], "ID": "b737ac17-7078-4f00-afa5-e6c47a394acb" } ] } ], "ID": "ed579832-5cc6-4c3d-8da3-a71d2ad0028b" } ] }, { "$type": "Forguncy.Model.ServerTransactionCommand, ServerDesignerCommon", "CommandList": [ { "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", "TableName": "任务表", "ShowConfirm": false, "RowsToUpdate": 1, "RowsToUpdateCondition": { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "ColumnBindingInfo": { "TableName": "任务表", "ColumnName": "ID", "GUID": "36cde956-3506-4020-942d-ca6bb7016a8e" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务ID" } }, "UpdateBindingValues": [ { "BindingInfo": { "TableName": "任务表", "ColumnName": "任务预算工时", "GUID": "87d0d5c7-6093-4548-8f03-96d4714af78b" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=新预算工时" } } ], "ParamNameToSaveNewRowValue": "新任务" }, { "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", "TableName": "项目动态", "UpdateType": "add", "ShowConfirm": false, "UpdateBindingValues": [ { "BindingInfo": { "TableName": "项目动态", "ColumnName": "项目ID", "GUID": "a7f11788-fea7-42d5-ab7f-08951caac10d" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.项目ID" } }, { "BindingInfo": { "TableName": "项目动态", "ColumnName": "项目动态", "GUID": "9a11cf94-9003-44cc-9892-b6f6f4b742d7" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=\"调整了任务[\"&任务表.任务名称&\"]的预算工时,\"&任务表.项目预算工时&\"=>\"&新预算工时" } }, { "BindingInfo": { "TableName": "项目动态", "ColumnName": "执行人", "GUID": "bb8391d0-6a9e-41dd-9614-9a5f314764a8" }, "Value": "%CurrentUser%" }, { "BindingInfo": { "TableName": "项目动态", "ColumnName": "类型", "GUID": "f58c2d07-52b3-45bc-b5cc-2bf4a43ebdc0" }, "Value": "5" } ] } ] }, { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "0", "Message": "新增成功", "CustomReturns": [ { "ReturnPropertyName": "新工时", "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=新预算工时" } } ] } ], "ID": "482a836d-9b9a-4437-9fdb-a9e2faeaef82" }, { "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "0", "Message": "项目已设置为“不分配”工时模式,无法修改!", "CustomReturns": [ { "ReturnPropertyName": "新工时", "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.总分配工时" } } ] } ], "ID": "10d9c7bc-60a7-41ab-8e19-b3189c2772c6" } ] } ] }, "CatchCommandPart": { "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ExceptionCode" }, "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ExceptionMessage" }, "CustomReturns": [ { "ReturnPropertyName": "新工时", "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.总分配工时" } } ] } ] } } ], "ReturnProperties": [ { "Name": "新工时" } ] }