{ "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": "be2a7c85-71fb-4976-9af2-507b573c92d6", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "项目ID", "GUID": "5719fcb2-167f-46e2-a595-f2694094d3d4" }, "ColumnName": "项目ID" }, { "GUID": "4a1fe1bc-8729-4b6a-881f-bd2eb810527b", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "项目ID", "GUID": "14189ead-62a9-4601-a206-b4ce4e6c9b79", "RelationBinding": { "RelatedTable": "项目平行视图", "RelatedColumn": "ID", "DisplayColumn": "严格模式" } }, "ColumnName": "严格模式" }, { "GUID": "af5ce581-9c03-4823-a5f7-e60ba0f56d62", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "项目ID", "GUID": "589e85bb-a515-4946-bbba-0fd990283805", "RelationBinding": { "RelatedTable": "项目平行视图", "RelatedColumn": "ID", "DisplayColumn": "项目可分配工时" } }, "ColumnName": "项目可分配工时" }, { "GUID": "2f207def-1824-4e7e-9d3c-d85442d4ada5", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "任务名称", "GUID": "027d069e-aaad-494d-adfc-ce3116a4e006" }, "ColumnName": "任务名称" }, { "GUID": "a4e87092-f4a7-463a-bfd8-49784aee4291", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "总分配工时", "GUID": "6f70bc63-6e7f-4cdb-b495-564ead523b05" }, "ColumnName": "总分配工时" }, { "GUID": "f2e98909-a670-46b0-96d5-48fcbc7f404f", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "已分配工时", "GUID": "4a2a9325-8cad-4111-b6fd-0d9cfda9ed22" }, "ColumnName": "已分配工时" }, { "GUID": "f751f581-8165-4008-9483-6a81f235fb1f", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "父任务ID", "GUID": "d91016f5-5a46-4636-8dac-33b23d21f90a" }, "ColumnName": "父任务ID" }, { "GUID": "99d812f4-55d1-4297-b6f6-37ea4cf3097e", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "父任务ID", "GUID": "7fa493a6-7867-4a57-bc91-7c846e7a4b76", "RelationBinding": { "RelatedTable": "任务平行视图", "RelatedColumn": "ID", "DisplayColumn": "可分配工时" } }, "ColumnName": "父任务可分配工时" } ], "TopCount": "1" }, "ID": "7106ec79fbd74d16a4200f5775065b5a" }, { "$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": "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": "026c2ec7-65d0-4edf-b63f-f4811efbbbce" } ] }, { "$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": "a3983825d9f2443291e18e51a11fb868", "Comments": "如果没有父任务,则将项目可分配工时+任务当前的总分配工时 (相当于这个任务没有分)" } ], "ID": "e6a81e42-cfe2-4679-aedd-095c2e63bbd7" }, { "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "上级剩余工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.父任务可分配工时" }, "ID": "7178f06751f243fabad088261b05e67a", "Comments": "如果没有父任务,则将项目可分配工时+任务当前的总分配工时 (相当于这个任务没有分)" } ], "ID": "569ab419-0803-49c9-b7bd-e781ae76f27a" } ], "Comments": "严格模式下,根据是否有父任务来计算本次预算工时的上限" }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "预算工时上限", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=上级剩余工时+任务表.总分配工时" }, "ID": "8dffb4efb5bf4fac85b5b1e0b20a83f6", "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": "1013396d-e163-4e74-ba8b-802635b85aac" } ] } ], "ID": "09e64e05-f637-4227-a9cd-b0037d52dd86" } ] }, { "$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": "c97c73f6-9c2f-4287-bbaf-507466d52b51" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=新预算工时" } } ], "ParamNameToSaveNewRowValue": "新任务" }, { "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", "TableName": "项目动态", "UpdateType": "add", "ShowConfirm": false, "UpdateBindingValues": [ { "BindingInfo": { "TableName": "项目动态", "ColumnName": "项目ID", "GUID": "d7ffa3b0-6f55-478f-b1f9-bbf7d3a49549" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.项目ID" } }, { "BindingInfo": { "TableName": "项目动态", "ColumnName": "项目动态", "GUID": "a8e4db37-d2d2-4f37-a5f8-e9205b6c6c2c" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=\"调整了任务[\"&任务表.任务名称&\"]的预算工时\"" } }, { "BindingInfo": { "TableName": "项目动态", "ColumnName": "执行人", "GUID": "d7524510-f1ac-415a-bb26-50b182b3c50a" }, "Value": "%CurrentUser%" } ] } ] }, { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "0", "Message": "新增成功", "CustomReturns": [ { "ReturnPropertyName": "新工时", "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=新预算工时" } } ] } ] }, "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": "=任务表.总分配工时" } } ] } ] }, "FinallyCommandPart": { "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "项目统计", "TableValue": { "TableName": "View_项目统计信息", "TableValueType": 1, "BindingInfos": [ { "GUID": "e712cac8-db4c-4e49-bbf4-22db3754f7be", "BindingInfo": { "TableName": "View_项目统计信息", "ColumnName": "项目ID", "GUID": "e2c10b48-d276-43ff-92d3-6982554995d3", "RelationBinding": { "RelatedTable": "项目表", "RelatedColumn": "ID", "DisplayColumn": "严格模式" } }, "ColumnName": "严格模式" }, { "GUID": "0f378adc-4c2f-4583-9380-29ab9162a247", "BindingInfo": { "TableName": "View_项目统计信息", "ColumnName": "项目预算工时", "GUID": "df4b665e-bf05-415f-b1d6-44ef6268356f" }, "ColumnName": "项目预算工时" }, { "GUID": "365bbef0-0c71-4147-8ca1-6fae9781df36", "BindingInfo": { "TableName": "View_项目统计信息", "ColumnName": "已分配任务工时", "GUID": "e0b92957-2058-4acf-8f85-c8cb21e7751c" }, "ColumnName": "已分配任务工时" } ], "SqlCondition": { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "ColumnBindingInfo": { "TableName": "View_项目统计信息", "ColumnName": "项目ID", "GUID": "a21318d5-5050-4baa-a025-483041bba932" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务表.项目ID" } }, "TopCount": "1" }, "ID": "62875afcfcce4e3995ac1f427b544e8c" } ] } } ], "ReturnProperties": [ { "Name": "新工时" } ] }