{ "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 }, "TestData": "2" }, { "Name": "开始日期", "DataValidationInfo": { "IgnoreBlank": false }, "TestData": "2024-03-01" }, { "Name": "结束日期", "DataValidationInfo": { "IgnoreBlank": false }, "TestData": "2024-03-10" }, { "Name": "执行人", "DataValidationInfo": { "IgnoreBlank": false }, "TestData": "administrator" }, { "Name": "工时数", "DataValidationInfo": { "IgnoreBlank": false }, "TestData": "40" }, { "Name": "进展内容", "DataValidationInfo": {}, "TestData": "测试" }, { "Name": "指定时薪单价", "DataValidationInfo": {} } ], "InvokeTriggerTestData": { "UserName": "Administrator" } } ], "Commands": [ { "$type": "Forguncy.Model.CatchExceptionCommand, ServerDesignerCommon", "TryCommandPart": { "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "任务信息", "TableValue": { "TableName": "任务表", "TableValueType": 1, "BindingInfos": [ { "GUID": "77f9cb0d-8fcc-41a0-94de-19307751018f", "BindingInfo": { "TableName": "任务表", "ColumnName": "项目ID", "GUID": "1b1dfe53-8569-419b-9ac7-4bb4e54e5cb3" }, "ColumnName": "项目ID" }, { "GUID": "7ca24749-276d-49f1-9649-71869718982c", "BindingInfo": { "TableName": "任务表", "ColumnName": "任务名称", "GUID": "2f0ff2cf-b0cf-49ba-99c2-9b8636152c54" }, "ColumnName": "任务名称" }, { "GUID": "21fa0fd9-690e-4a7c-8928-6a935df1ef08", "BindingInfo": { "TableName": "任务表", "ColumnName": "任务预算工时", "GUID": "503e9dd2-fc8c-4426-a37f-c7d582c9577a" }, "ColumnName": "任务预算工时" }, { "GUID": "65be7a74-e004-437d-86cf-ad2dd54380b0", "BindingInfo": { "TableName": "任务表", "ColumnName": "任务状态", "GUID": "93ff9848-29c1-4cf6-a3cd-d33eb1d033c4" }, "ColumnName": "任务状态" }, { "GUID": "34bbb8c2-2e15-4b2b-bc53-daf981b7757e", "BindingInfo": { "TableName": "任务表", "ColumnName": "任务状态", "GUID": "da675aa2-3619-422b-817f-eed8c7c118c7", "RelationBinding": { "RelatedTable": "任务状态", "RelatedColumn": "状态码", "DisplayColumn": "任务状态" } }, "ColumnName": "任务状态文本" }, { "GUID": "fa7ff311-79ec-46ae-84a5-ba0ff58bee19", "BindingInfo": { "TableName": "任务表", "ColumnName": "项目ID", "GUID": "038a41fb-93fa-46f8-b259-87eb94cc28ad", "RelationBinding": { "RelatedTable": "项目表", "RelatedColumn": "ID", "DisplayColumn": "严格模式" } }, "ColumnName": "严格模式" }, { "GUID": "057de8af-5cf4-4f1c-b90e-771b7947019c", "BindingInfo": { "TableName": "任务表", "ColumnName": "项目ID", "GUID": "f4212e88-f2aa-4d8f-8ba8-b7c518505bb7", "RelationBinding": { "RelatedTable": "项目表", "RelatedColumn": "ID", "DisplayColumn": "项目预算工时" } }, "ColumnName": "项目预算工时" }, { "GUID": "6f278154-955f-4c1e-b665-1ed7a11133a4", "BindingInfo": { "TableName": "任务表", "ColumnName": "项目ID", "GUID": "31040160-fc88-459c-b67b-8621acbc0920", "RelationBinding": { "RelatedTable": "项目表", "RelatedColumn": "ID", "DisplayColumn": "项目预算费用" } }, "ColumnName": "项目预算费用" }, { "GUID": "1dae03a1-20c2-4acd-b0ef-eba768e2de31", "BindingInfo": { "TableName": "任务表", "ColumnName": "任务类型", "GUID": "f6fb60c7-0ba6-450b-9cda-28eb2412e296", "RelationBinding": { "RelatedTable": "任务类型", "RelatedColumn": "ID", "DisplayColumn": "提成系数" } }, "ColumnName": "提成系数" }, { "GUID": "214fd064-3d97-4409-b292-576dbd24c74c", "BindingInfo": { "TableName": "任务表", "ColumnName": "总计划工时", "GUID": "4bdf7858-40b1-495e-be0d-109aaaf4f69f" }, "ColumnName": "总计划工时" }, { "GUID": "3b3ff248-588b-4323-b133-b81cdebc9114", "BindingInfo": { "TableName": "任务表", "ColumnName": "总实际工时", "GUID": "8505a216-3aee-4056-affe-6c760e35c844" }, "ColumnName": "总实际工时" }, { "GUID": "56d11f70-4e28-4205-9327-08e180245352", "BindingInfo": { "TableName": "任务表", "ColumnName": "项目ID", "GUID": "b5020b4b-8e2e-4b31-a2ac-53ca31b14b8e", "RelationBinding": { "RelatedTable": "项目表", "RelatedColumn": "ID", "DisplayColumn": "工时分配方式" } }, "ColumnName": "工时分配方式" } ], "SqlCondition": { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "ColumnBindingInfo": { "TableName": "任务表", "ColumnName": "ID", "GUID": "6ffb7caa-1cd8-4373-b2bf-8a03556c1866" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务ID" } }, "NullFormulaValueQueryPolicy": 0, "TopCount": "1" }, "ID": "53e325bc9aa44df7b5955e76b3c9cef2" }, { "$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.RequestServerCommand, ServerDesignerCommon", "ServerCommandName": "计算报工数据", "Parameters": [ { "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", "ParamName": "任务ID", "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务ID" } }, { "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", "ParamName": "执行人", "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=执行人" } }, { "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", "ParamName": "工时数", "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=工时数" } }, { "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", "ParamName": "指定时薪单价", "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=指定时薪单价" } } ], "ResultErrorCodeTo": { "SerializeProperty": "code" }, "ResultMessageTo": { "SerializeProperty": "msg" }, "ReturnPropertiesTo": [ { "ResultPropertyName": "提交工时" }, { "ResultPropertyName": "核定工时", "ResultTo": { "SerializeProperty": "核定工时" } }, { "ResultPropertyName": "提成系数", "ResultTo": { "SerializeProperty": "提成系数" } }, { "ResultPropertyName": "计算时薪", "ResultTo": { "SerializeProperty": "计算时薪" } }, { "ResultPropertyName": "核定收益", "ResultTo": { "SerializeProperty": "核定收益" } }, { "ResultPropertyName": "时薪来源", "ResultTo": { "SerializeProperty": "时薪来源" } }, { "ResultPropertyName": "核定工时说明" } ], "RefreshAfterFinish": true, "CheckDataValidation": true }, { "$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": "=code" } }, "value": "0" }, "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "待分配工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=核定工时" }, "ID": "95bdb333544043e58a073976b4b579ab" }, { "$type": "Forguncy.Model.ServerTransactionCommand, ServerDesignerCommon", "CommandList": [ { "$type": "Forguncy.Model.LoopCommand, ServerDesignerCommon", "LoopInfo": { "$type": "Forguncy.Model.CountLoopInfo, ServerDesignerCommon", "LoopCount": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=分配天数" }, "LoopIndexParamName": "index", "LoopItemParamName": "Item" }, "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "当前日期", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=开始日期+(index-1)" }, "ID": "f7725b3448fe402eb5bc32aaa4d6b224" }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "统计工时", "TableValue": { "TableName": "View_任务工时统计", "TableValueType": 1, "BindingInfos": [ { "GUID": "a7a1a922-a3ad-49f7-93dc-b86b73212252", "BindingInfo": { "TableName": "View_任务工时统计", "ColumnName": "总计划工时", "GUID": "5a63c0a3-e5dd-4851-b197-856a144a9466" }, "ColumnName": "总计划工时" }, { "GUID": "f2f3a120-2e1f-4b4c-aea8-bf34d3bdaef9", "BindingInfo": { "TableName": "View_任务工时统计", "ColumnName": "总实际工时", "GUID": "21ea4bc4-f68e-446b-9760-413f048a32ea" }, "ColumnName": "总实际工时" } ], "SqlCondition": { "$type": "ForguncyDataAccess.RelationSqlCondition, ForguncyDataAccess", "SubConditions": [ { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "ColumnBindingInfo": { "TableName": "View_任务工时统计", "ColumnName": "任务ID", "GUID": "8d915019-2cfd-4c95-b3b3-158f9b202f35" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务ID" } }, { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "ColumnBindingInfo": { "TableName": "View_任务工时统计", "ColumnName": "执行人", "GUID": "14c58079-0d75-42a0-a3ba-8f35c3a578a1" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=执行人" } }, { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "ColumnBindingInfo": { "TableName": "View_任务工时统计", "ColumnName": "日期", "GUID": "abf612b1-a865-4aa4-afae-e47acfc79220" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=当前日期" } } ] } }, "ID": "1be412269af54be3bd653f7be7590390" }, { "$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": "=index" } }, "value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=分配天数" }, "compareType": 4 }, "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "计算本次分配工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ROUNDUP(核定工时/分配天数,1)" }, "ID": "ca981e56b58e4a889cce1e811fc89764" } ], "ID": "1fb661f5-5a47-4204-baae-4e8886a5ff30" }, { "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "计算本次分配工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ROUNDUP(待分配工时,1)" }, "ID": "5e88c98d260e4a2bacdc4d385f1855f1" } ], "ID": "cb4176e7-ea64-4fb1-a7fa-1c2b699a5f06" } ] }, { "$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": "24", "compareType": 5 }, "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": "2" }, "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "本次核定工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=IF(计算本次分配工时>(个人工时情况.总计划工时-个人工时情况.总实际工时),(个人工时情况.总计划工时-个人工时情况.总实际工时),计算本次分配工时)" }, "ID": "01501a2b7fbf48c5a85ab2382177039b" } ], "Comments": "如果是按天分配,则需要检测这一天的实际工时是否超出,", "ID": "2dde94c0-7330-42eb-89b8-b4b76be7c877" }, { "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "本次核定工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=计算本次分配工时" }, "ID": "9f4c8206193a47cfa79333c2dbb3d2a7" } ], "ID": "af728b18-95d1-450e-a5cd-be667bbfd00e" } ] }, { "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", "TableName": "任务工时表", "UpdateType": "add", "ShowConfirm": false, "UpdateBindingValues": [ { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "项目ID", "GUID": "ef3e72ab-2719-4a4b-9c5e-1022779f94c4" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务信息.项目ID" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "任务ID", "GUID": "2f0b6f3e-8c93-4d60-97ad-10162af5559f" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务ID" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "工时日期", "GUID": "6998850f-50af-4735-9060-f75e9024c849" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=当前日期" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "工时类型", "GUID": "182162e5-f28d-4b1c-b373-8920f4f22a43" }, "Value": "实际" }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "执行人", "GUID": "d4cd13c5-cfd1-4a21-a983-e46b993cfb87" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=执行人" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "执行内容", "GUID": "26d85a47-4c9a-4c76-b000-0fa84620efca" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=进展内容" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "工时", "GUID": "39c63dac-4155-4f4e-80e7-d5461dd5ff95" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=本次核定工时" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "上报工时", "GUID": "c6884584-fd8e-4fe8-8078-8b8c82c08754" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=计算本次分配工时" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "时薪单价", "GUID": "40e5c2e0-ff4d-4d0f-a8ca-bc85923ac8d4" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=计算时薪" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "提成系数", "GUID": "61b2b2ef-6a68-4c91-baa0-190818f161dd" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=提成系数" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "时薪来源", "GUID": "2f57acba-81cd-466c-b67d-f5c1900d5427" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=时薪来源" } } ] }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "待分配工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ROUNDUP(待分配工时-计算本次分配工时,1)" }, "ID": "d9e13b85ae5640d5972aeb4ea3180a34" } ], "ID": "8f35f553-c5e2-4deb-bb6a-5e27504c57ee" }, { "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "400", "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=\"数据不合理:报工会导致在\"&TEXT(当前日期,\"yyyy年mm月dd\")&\"的实际工时会超过24小时,请修改后重新提交!\"" } } ], "ID": "f6623b87-1f6f-4156-84bd-61bb75f24282" } ] } ] }, { "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", "TableName": "项目动态", "UpdateType": "add", "ShowConfirm": false, "UpdateBindingValues": [ { "BindingInfo": { "TableName": "项目动态", "ColumnName": "项目ID", "GUID": "d56ef504-b228-4a69-8150-9aa4ca29702d" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务信息.项目ID" } }, { "BindingInfo": { "TableName": "项目动态", "ColumnName": "项目动态", "GUID": "c1d71456-ff2c-49cc-8865-c5c6e33d4c91" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=执行人&\"在任务[\"&任务信息.任务名称&\"]中报工\"&工时数&\"小时\"" } }, { "BindingInfo": { "TableName": "项目动态", "ColumnName": "执行人", "GUID": "a37c71d3-42b6-4cd0-8b66-73fd55c2ffb5" }, "Value": "%CurrentUser%" } ] } ] }, { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "0", "Message": "报工成功" } ], "ID": "46cf7bda-de4d-4f0f-9318-f5636247e4aa" }, { "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=code" }, "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=msg" } } ], "ID": "cbfae901-7bbe-454e-8493-01d2bdebbcb5" } ] } ], "ID": "90c131c6-09dd-4dcc-bf85-52bfc5294d9d" }, { "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "400", "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=\"当前任务状态为[\"&任务信息.任务状态文本&\"],无法提交工时!\"" } } ], "ID": "a0920b31-09f4-4105-8104-54551219f8b0" } ] } ] }, "CatchCommandPart": { "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ExceptionCode" }, "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ExceptionMessage" } } ] } } ] }