Files
clue/ServerCommands/任务/任务发起流程前校验.json

501 lines
22 KiB
JSON

{
"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
}
}
]
}
],
"Commands": [
{
"$type": "Forguncy.Model.CatchExceptionCommand, ServerDesignerCommon",
"TryCommandPart": {
"CommandList": [
{
"$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon",
"ParameterName": "任务信息",
"TableValue": {
"TableName": "任务表",
"TableValueType": 1,
"BindingInfos": [
{
"GUID": "0c58d519-5722-4971-b425-4dd9cde10693",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "项目ID",
"GUID": "50961c18-f454-469e-ae8f-eb11862b1148"
},
"ColumnName": "项目ID"
},
{
"GUID": "c27895d0-8cfc-4b48-bf35-974a06bf7bda",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "父任务ID",
"GUID": "d043ddbd-c8a3-4a31-a47e-bcdac7551398"
},
"ColumnName": "父任务ID"
},
{
"GUID": "ba805a37-b202-475f-8213-572c32498c28",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "项目ID",
"GUID": "a6f8cca7-5575-4839-9365-ffebe1facca9",
"RelationBinding": {
"RelatedTable": "项目表",
"RelatedColumn": "ID",
"DisplayColumn": "ID",
"NextRelationBinding": {
"RelatedTable": "View_项目统计信息",
"RelatedColumn": "项目ID",
"DisplayColumn": "项目预算工时"
}
}
},
"ColumnName": "项目预算工时"
},
{
"GUID": "8f962fdb-572f-41f3-b839-82289968e80e",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "项目ID",
"GUID": "69975d40-afe9-4bc8-b156-b06f8e589350",
"RelationBinding": {
"RelatedTable": "项目表",
"RelatedColumn": "ID",
"DisplayColumn": "ID",
"NextRelationBinding": {
"RelatedTable": "View_项目统计信息",
"RelatedColumn": "项目ID",
"DisplayColumn": "已分配任务工时"
}
}
},
"ColumnName": "已分配任务工时"
},
{
"GUID": "b1571501-4565-433c-bd5a-dd2d15732b81",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "项目ID",
"GUID": "3256ecff-7321-48f2-9e3e-5aefeaac7b90",
"RelationBinding": {
"RelatedTable": "项目表",
"RelatedColumn": "ID",
"DisplayColumn": "项目经理"
}
},
"ColumnName": "项目经理"
},
{
"GUID": "04346963-ece3-4343-aa49-00a623085c56",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "项目ID",
"GUID": "3b610fae-f462-4d6d-ba6e-e6b24dfce8af",
"RelationBinding": {
"RelatedTable": "项目表",
"RelatedColumn": "ID",
"DisplayColumn": "工时分配方式"
}
},
"ColumnName": "工时分配方式"
},
{
"GUID": "8373b1a5-4f1d-4430-9e6e-48bafa5fc9f2",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "任务预算工时",
"GUID": "2d53d463-1d5c-4117-aa9a-796165ad9c89"
},
"ColumnName": "任务预算工时"
},
{
"GUID": "d510731a-043f-4ac8-87a5-d01b59525866",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "项目ID",
"GUID": "b688b437-4733-4102-9763-f9dee3d372cd",
"RelationBinding": {
"RelatedTable": "项目表",
"RelatedColumn": "ID",
"DisplayColumn": "严格模式"
}
},
"ColumnName": "严格模式"
},
{
"GUID": "7d9ce8af-1f30-408c-88b7-625e862d65a9",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "任务负责人",
"GUID": "3f7a6d55-8578-48be-b14a-ba4a6e17f266"
},
"ColumnName": "执行者"
},
{
"GUID": "8938b87e-a377-46f6-9c37-87274a3aaab1",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "任务类型",
"GUID": "050b2a2a-e802-4280-bc06-10d5e76c4e35"
},
"ColumnName": "任务类型"
},
{
"GUID": "b5514c64-6496-44d5-abdc-971db1e10b77",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "版本",
"GUID": "1fa6cc05-da37-4315-b822-951a8b751213"
},
"ColumnName": "版本"
},
{
"GUID": "eb4b96b1-7064-4679-b72d-bdf2268020db",
"BindingInfo": {
"TableName": "任务表",
"ColumnName": "任务状态",
"GUID": "8b3ea124-961b-4d9c-8342-d06a89709702"
},
"ColumnName": "任务状态"
}
],
"SqlCondition": {
"$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess",
"ColumnBindingInfo": {
"TableName": "任务表",
"ColumnName": "ID",
"GUID": "ae5a57e8-074d-401e-9d6b-c85747f92057"
},
"Value": {
"$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon",
"SerializeProperty": "=任务ID"
}
},
"NullFormulaValueQueryPolicy": 0,
"TopCount": "1"
},
"ID": "44a682b6e37b4e54bdb53729203bff36"
},
{
"$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": "%Null%"
},
"CommandList": [
{
"$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon",
"ErrorCode": "400",
"Message": "当前项目未指定项目经理,请指定后再试"
}
],
"ID": "bf2669ee-8268-4141-88c6-5092715f3072"
}
]
},
{
"$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": "%Null%"
},
"CommandList": [
{
"$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon",
"ErrorCode": "400",
"Message": "请指定任务执行者"
}
],
"ID": "d21c1a97-d872-4e1a-b06b-1b27436a87b2"
}
]
},
{
"$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": "%Null%"
},
"CommandList": [
{
"$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon",
"ErrorCode": "400",
"Message": "请指定任务类型"
}
],
"ID": "34d0d97a-62e1-45e9-a04e-41bfd5ed79a7"
}
]
},
{
"$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": "%Null%"
},
"CommandList": [
{
"$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon",
"ErrorCode": "400",
"Message": "请为任务指定版本"
}
],
"ID": "9d17a551-b606-4c60-ba11-052c43baa59f"
}
]
},
{
"$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": "=任务信息.父任务ID"
}
},
"value": "%Null%"
},
"CommandList": [
{
"$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon",
"ParameterName": "预算工时上限",
"ParameterValue": {
"$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon",
"SerializeProperty": "=任务信息.项目预算工时-任务信息.已分配任务工时"
},
"ID": "c115c6615384449597ebf4a85443befa"
},
{
"$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon",
"ParameterName": "层级",
"ParameterValue": "1",
"ID": "8f419b6c4a3f4fb5bcf81a653a34fefc"
}
],
"ID": "dde09040-6523-468d-912a-68841b21044b"
},
{
"CommandList": [
{
"$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon",
"ParameterName": "父任务",
"TableValue": {
"TableName": "任务平行视图",
"TableValueType": 1,
"BindingInfos": [
{
"GUID": "5d2a5ccc-6b93-49a8-b231-a1864b3f684c",
"BindingInfo": {
"TableName": "任务平行视图",
"ColumnName": "层级",
"GUID": "f77e0f2d-5a46-41ee-817e-8a25586086aa"
},
"ColumnName": "层级"
},
{
"GUID": "c22ed7dd-0caf-4173-92c6-bc83deba41f4",
"BindingInfo": {
"TableName": "任务平行视图",
"ColumnName": "任务预算工时",
"GUID": "69c38d9a-9a17-45e9-8265-7b383df92d76"
},
"ColumnName": "任务预算工时"
},
{
"GUID": "717b4db9-b7be-437d-a09c-3733dc19c3bf",
"BindingInfo": {
"TableName": "任务平行视图",
"ColumnName": "总计划工时",
"GUID": "85fd954d-c52d-494e-8e51-5b191456133c"
},
"ColumnName": "总计划工时"
}
],
"SqlCondition": {
"$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess",
"ColumnBindingInfo": {
"TableName": "任务平行视图",
"ColumnName": "ID",
"GUID": "1203dd82-1886-4972-bf84-daa88a6926bd"
},
"Value": {
"$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon",
"SerializeProperty": "=任务信息.父任务ID"
}
},
"NullFormulaValueQueryPolicy": 0,
"TopCount": "1"
},
"ID": "92012003801d4554a27aa6d1c1b5f7fe"
},
{
"$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon",
"ParameterName": "预算工时上限",
"ParameterValue": {
"$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon",
"SerializeProperty": "=父任务.任务预算工时-父任务.总计划工时"
},
"ID": "e8645f329ef5428084e2e9f931213182"
},
{
"$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon",
"ParameterName": "层级",
"ParameterValue": {
"$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon",
"SerializeProperty": "=父任务.层级+1"
},
"ID": "ac58e4cdd43c49fe9f9575e244e3479b"
}
],
"ID": "ba5b58f8-d131-4492-8c85-f0bdf00093ac"
}
],
"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": "=IF(任务信息.父任务ID>0,\"预算工时超标:父任务可支配计划工时不足,请修改后提交!\",\"预算工时超标:项目可只配计划工时不足,请修改后提交!\")"
}
}
],
"ID": "c2401842-ea6c-4e2c-b538-de78e6ccaf99"
}
]
}
],
"ID": "4b8fc3a1-7364-41e8-aca3-5492484a2ddb"
}
],
"Comments": "校验工时情况是否通过"
},
{
"$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon",
"ErrorCode": "0",
"Message": "任务校验通过"
}
]
},
"CatchCommandPart": {
"CommandList": [
{
"$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon",
"ErrorCode": {
"$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon",
"SerializeProperty": "=ExceptionCode"
},
"Message": {
"$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon",
"SerializeProperty": "=ExceptionMessage"
}
}
]
}
}
]
}