{ "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": "73cab051-4981-451d-8e25-12bfcb1b7d6f", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "项目ID", "GUID": "7fdb06e2-cdb4-4b14-96e5-b16a0dc7ebf8" }, "ColumnName": "项目ID" }, { "GUID": "a661203f-2a9a-425c-9a70-0bd2c108c0dd", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "任务名称", "GUID": "67c8366a-f017-4613-ab85-45f9735a09e9" }, "ColumnName": "任务名称" }, { "GUID": "4397f439-0ebf-4569-a805-e551990474ab", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "项目ID", "GUID": "7c382f44-2671-42e4-bcb6-54391d8ca5c1", "RelationBinding": { "RelatedTable": "项目平行视图", "RelatedColumn": "ID", "DisplayColumn": "严格模式" } }, "ColumnName": "严格模式" }, { "GUID": "67003c11-d82c-4a3d-938a-50483ce1dfe9", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "项目ID", "GUID": "e7579388-e204-4b20-80bb-252f08702dcb", "RelationBinding": { "RelatedTable": "项目平行视图", "RelatedColumn": "ID", "DisplayColumn": "工时分配方式" } }, "ColumnName": "工时分配方式" }, { "GUID": "414b51d3-0095-42b6-ba3d-0d6260b0a59a", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "任务状态", "GUID": "dbce198e-cb11-4ac9-96e3-d3747a2ca23b" }, "ColumnName": "任务状态" }, { "GUID": "cbc00a12-b92b-4d89-bf75-62a2d10c760e", "BindingInfo": { "TableName": "任务平行视图", "ColumnName": "任务状态", "GUID": "b316af2a-362c-4368-87f3-06a450cf885f", "RelationBinding": { "RelatedTable": "任务状态", "RelatedColumn": "状态码", "DisplayColumn": "任务状态" } }, "ColumnName": "任务状态文本" } ], "SqlCondition": { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "ColumnBindingInfo": { "TableName": "任务平行视图", "ColumnName": "ID", "GUID": "24d636d8-dc6e-4105-aad7-e3fcb17e77cb" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务ID" } }, "NullFormulaValueQueryPolicy": 0, "TopCount": "1" }, "ID": "3b8850e5b77640ff80ac3afe2028fda2" }, { "$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.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": "提交工时", "ResultTo": { "SerializeProperty": "提交工时" } }, { "ResultPropertyName": "核定工时", "ResultTo": { "SerializeProperty": "核定工时" } }, { "ResultPropertyName": "提成系数", "ResultTo": { "SerializeProperty": "提成系数" } }, { "ResultPropertyName": "计算时薪", "ResultTo": { "SerializeProperty": "计算时薪" } }, { "ResultPropertyName": "核定收益", "ResultTo": { "SerializeProperty": "核定收益" } }, { "ResultPropertyName": "时薪来源", "ResultTo": { "SerializeProperty": "时薪来源" } }, { "ResultPropertyName": "核定工时说明", "ResultTo": { "SerializeProperty": "工时核定说明" } } ], "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": "=DATEDIF(开始日期,结束日期,\"d\")+1" }, "ID": "9e168dd0c268433e9bcc733a6477cf2e" }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "待分配工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=核定工时" }, "ID": "c1be037a352d4956b4a3e8ec240b20fe" }, { "$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": "e3a8e9da07c247d2bf471c00cdd5dac9" }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "统计工时", "TableValue": { "TableName": "View_任务工时统计", "TableValueType": 1, "BindingInfos": [ { "GUID": "77edb895-c01f-4f57-9d1b-ebd22738e87a", "BindingInfo": { "TableName": "View_任务工时统计", "ColumnName": "总计划工时", "GUID": "5a63c0a3-e5dd-4851-b197-856a144a9466" }, "ColumnName": "总计划工时" }, { "GUID": "f84fce9c-f3ff-449d-825e-eb0da9a68372", "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": "11c2430cef2041938ec503c42a76bf4f" }, { "$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": "cff28432d5014558ac644801dc83bcd4" } ], "ID": "2314f0bf-605f-4995-9ad9-bfa5472c8bd8" }, { "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "计算本次分配工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ROUNDUP(待分配工时,1)" }, "ID": "51d76eb5504747bea615fccffb11a13d" } ], "ID": "17de5519-67a1-4f83-9cb1-449b7ad3bc88" } ] }, { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", "ConditionAndCommandPairList": [ { "Condition": { "$type": "ForguncyDataAccess.RelationSqlCondition, ForguncyDataAccess", "SubConditions": [ { "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", "param": { "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=统计工时.总实际工时+计算本次分配工时" } }, "value": "24", "compareType": 5 }, { "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", "param": { "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务信息.严格模式" } }, "value": "1", "compareType": 1 } ], "RelationType": 1 }, "CommandList": [ { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", "ConditionAndCommandPairList": [ { "Condition": { "$type": "ForguncyDataAccess.RelationSqlCondition, ForguncyDataAccess", "SubConditions": [ { "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", "param": { "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务信息.严格模式" } }, "value": "1" }, { "$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": "82d3168ea8de46269eb8cb8d04263bc9" } ], "Comments": "如果是按天分配,则需要检测这一天的实际工时是否超出,", "ID": "8e1f5f08-5161-44f0-8b85-769226d15d7e" }, { "CommandList": [ { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "本次核定工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=计算本次分配工时" }, "ID": "3b52a13937d84916b9d9d54635e2270c" } ], "ID": "01636c53-f2ca-4c1a-9cde-44a709781fef" } ] }, { "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", "TableName": "任务工时表", "UpdateType": "add", "ShowConfirm": false, "UpdateBindingValues": [ { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "项目ID", "GUID": "b769367b-ed5b-431e-b215-c1deeac30f51" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务信息.项目ID" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "任务ID", "GUID": "dec98623-67dd-4c81-a24e-2f15d7c2614c" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务ID" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "工时日期", "GUID": "e72f9c26-62b4-46de-8fa1-c4ee0a7ebf29" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=当前日期" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "工时类型", "GUID": "5af4b16e-fe30-495e-999d-9bf946ac7749" }, "Value": "实际" }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "执行人", "GUID": "f32490b1-8e5d-4595-b960-baa6887370d5" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=执行人" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "执行内容", "GUID": "8efab63a-5684-4be7-9daf-53ba1629eac8" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=进展内容" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "工时", "GUID": "12be422a-6063-40fc-a875-f8e01c176a33" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=本次核定工时" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "上报工时", "GUID": "cb8cb8d8-d865-493b-91b7-5cf4c4167d5d" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=计算本次分配工时" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "时薪单价", "GUID": "ba1bf86e-ef9d-4bd4-9a93-c96f83850200" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=计算时薪" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "提成系数", "GUID": "0c691d92-25a7-4381-a6d8-e85f04ee0041" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=提成系数" } }, { "BindingInfo": { "TableName": "任务工时表", "ColumnName": "时薪来源", "GUID": "dfc2ba05-a453-404a-9872-267524c707fa" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=时薪来源" } } ] }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "待分配工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ROUNDUP(待分配工时-计算本次分配工时,1)" }, "ID": "1109a11b52d24ce892de81be12b029ce" } ], "ID": "2ee034e5-adfe-4ea5-a165-1006467aa11c" }, { "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "400", "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=\"数据不合理:报工会导致在\"&TEXT(当前日期,\"yyyy年mm月dd\")&\"的实际工时会超过24小时,请修改后重新提交!\"" } } ], "ID": "65a446c2-48a7-469a-bf05-4e01cd229bd4" } ] } ] }, { "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", "TableName": "项目动态", "UpdateType": "add", "ShowConfirm": false, "UpdateBindingValues": [ { "BindingInfo": { "TableName": "项目动态", "ColumnName": "项目ID", "GUID": "dd6b9c66-2ace-4db3-829f-d2fccfd5de44" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务信息.项目ID" } }, { "BindingInfo": { "TableName": "项目动态", "ColumnName": "项目动态", "GUID": "4716c534-e2b0-46a3-91f1-7f6c0c2e2776" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=执行人&\"在任务[\"&任务信息.任务名称&\"]中报工\"&工时数&\"小时\"" } }, { "BindingInfo": { "TableName": "项目动态", "ColumnName": "执行人", "GUID": "db952fe7-2f9e-4ac5-9b95-f8c332427640" }, "Value": "%CurrentUser%" } ] } ] }, { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "0", "Message": "报工成功" } ], "ID": "a0f122c7-49b1-4d3d-b7b4-a93bd2f38872" }, { "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=code" }, "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=msg" } } ], "ID": "175ccd6e-ff57-4f9a-ab7e-a949afe20f49" } ] } ], "ID": "53d9c708-8fdd-409d-b551-a0306f4d4e3d" }, { "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "400", "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=\"当前任务状态为[\"&任务信息.任务状态文本&\"],无法提交工时!\"" } } ], "ID": "dd27d16b-7644-44b7-b966-37d14a2cf317" } ] } ] }, "CatchCommandPart": { "CommandList": [ { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ExceptionCode" }, "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ExceptionMessage" } } ] } } ] }