From e404fba4a74fa9ad691450c7a46ac035570201f5 Mon Sep 17 00:00:00 2001 From: "SHAMUSPC\\NINGMEI" Date: Sat, 30 Mar 2024 23:27:01 +0800 Subject: [PATCH] =?UTF-8?q?{"Message":"=E4=BF=AE=E6=94=B9=E5=B7=A5?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E9=80=BB=E8=BE=91=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=B7=A5=E6=97=B6=E5=88=86=E9=85=8D=E6=A8=A1=E5=BC=8F\r\n?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=A5=E6=97=B6=E4=B8=AD=E5=BF=83=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2","MessageType":2,"Modules":[{"State":1,"Type":23,"Nam?= =?UTF-8?q?e":"TableView/=E5=AD=90=E4=BB=BB=E5=8A=A1=E8=A7=86=E5=9B=BE"},{?= =?UTF-8?q?"State":1,"Type":23,"Name":"TableView/View=5F=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=B7=A5=E6=97=B6=E7=BB=9F=E8=AE=A1"},{"State":1,"Type":23,"Na?= =?UTF-8?q?me":"TableView/=E4=BA=BA=E5=91=98=E5=B7=A5=E6=97=B6=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E8=A7=86=E5=9B=BE"},{"State":1,"Type":7,"Name":"Table?= =?UTF-8?q?/=E4=BB=BB=E5=8A=A1=E5=B7=A5=E6=97=B6=E8=A1=A8"},{"State":1,"Ty?= =?UTF-8?q?pe":23,"Name":"TableView/View=5F=E9=A1=B9=E7=9B=AE=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E4=BF=A1=E6=81=AF"},{"State":1,"Type":7,"Name":"Table?= =?UTF-8?q?/=E9=A1=B9=E7=9B=AE=E8=A1=A8"},{"State":1,"Type":1,"Name":"PCPa?= =?UTF-8?q?ge/=E4=BF=AE=E6=94=B9=E6=8A=A5=E5=B7=A5"},{"State":1,"Type":1,"?= =?UTF-8?q?Name":"PCPage/=E6=96=B0=E5=A2=9E=E6=8A=A5=E5=B7=A5"},{"State":1?= =?UTF-8?q?,"Type":1,"Name":"PCPage/=E5=B7=A5=E6=97=B6=E8=AF=A6=E6=83=85"}?= =?UTF-8?q?,{"State":1,"Type":1,"Name":"PCPage/FGC=5F=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E4=B8=AD"},{"State":1,"Type":1,"Name":"PCPage/=E9=A2=84?= =?UTF-8?q?=E7=AE=97=E7=94=B3=E8=AF=B7"},{"State":1,"Type":1,"Name":"PCPag?= =?UTF-8?q?e/=E9=A1=B9=E7=9B=AE=E4=BF=A1=E6=81=AF"},{"State":1,"Type":3,"N?= =?UTF-8?q?ame":"MasterPCPage/FGC=5F=E6=AF=8D=E7=89=88=E9=A1=B5"},{"State"?= =?UTF-8?q?:1,"Type":15,"Name":"ServerCommand/=E4=BF=AE=E6=94=B9=E5=B7=A5?= =?UTF-8?q?=E6=97=B6"},{"State":2,"Type":15,"Name":"ServerCommand/?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B7=A5=E6=97=B6"},{"State":1,"Type":40,"Na?= =?UTF-8?q?me":"Plugin"},{"State":1,"Type":15,"Name":"ServerCommand/?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E9=A1=B9=E7=9B=AE=E5=8F=82=E4=B8=8E=E4=BA=BA?= =?UTF-8?q?=E5=AD=97=E6=AE=B5"},{"State":1,"Type":15,"Name":"ServerCommand?= =?UTF-8?q?/=E6=96=B0=E5=A2=9E=E6=88=96=E4=BF=AE=E6=94=B9=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE"},{"State":1,"Type":1,"Name":"PCPage/=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E4=B8=8E=E5=BB=BA=E8=AE=AE"},{"State":1,"Type":23,"Na?= =?UTF-8?q?me":"TableView/=E9=A1=B9=E7=9B=AE=E5=8C=BF=E5=90=8D=E8=A7=86?= =?UTF-8?q?=E5=9B=BE"},{"State":2,"Type":1,"Name":"PCPage/=E5=B7=A5?= =?UTF-8?q?=E6=97=B6=E6=8A=A5=E8=A1=A8"},{"State":1,"Type":18,"Name":"RdlR?= =?UTF-8?q?eport/=E5=B7=A5=E6=97=B6=E6=8A=A5=E8=A1=A8"},{"State":1,"Type":?= =?UTF-8?q?7,"Name":"Table/=E5=B7=A5=E6=97=B6=E5=88=86=E9=85=8D=E6=96=B9?= =?UTF-8?q?=E5=BC=8F"},{"State":3,"Type":1,"Name":"PCPage/=E5=88=86?= =?UTF-8?q?=E9=85=8D=E8=AE=A1=E5=88=92=E5=B7=A5=E6=97=B6"},{"State":3,"Typ?= =?UTF-8?q?e":15,"Name":"ServerCommand/=E5=88=86=E9=85=8D=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=B7=A5=E6=97=B6"},{"State":3,"Type":15,"Name":"Serv?= =?UTF-8?q?erCommand/=E4=B8=8A=E6=8A=A5=E5=AE=9E=E9=99=85=E5=B7=A5?= =?UTF-8?q?=E6=97=B6"},{"State":3,"Type":1,"Name":"PCPage/=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=B7=A5=E6=97=B6=E7=BB=9F=E8=AE=A1"},{"State":3,"Typ?= =?UTF-8?q?e":1,"Name":"PCPage/=E4=BA=BA=E5=91=98=E5=B7=A5=E6=97=B6?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1"},{"State":3,"Type":1,"Name":"PCPage/?= =?UTF-8?q?=E5=B7=A5=E6=97=B6=E4=B8=AD=E5=BF=83"}],"Version":"v1"}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .collaboration | 325 +---- Pages/31a709cea02e45ad83bb92336a6d829.json | 16 +- Pages/任务/工时/修改报工.json | 16 +- Pages/任务/工时/分配计划工时.json | 1144 +++++++++++++++ Pages/任务/工时/分配计划工时.rd | 18 + Pages/任务/工时/新增报工.json | 56 +- Pages/任务/工时详情.json | 76 +- Pages/内建页面/FGC_维护中.json | 14 +- Pages/内建页面/FGC_维护中.rd | 12 +- Pages/工时/人员工时统计.json | 528 +++++++ Pages/工时/人员工时统计.rd | 5 + Pages/工时/任务工时统计.json | 642 +++++++++ Pages/工时/任务工时统计.rd | 5 + Pages/工时/工时报表.json | 119 -- Pages/工时/工时报表.rd | 5 - Pages/项目/项目反馈/反馈与建议.json | 320 +++- Pages/项目/项目首页/项目配置/项目信息.json | 229 ++- Pages/项目/项目首页/项目配置/项目信息.rd | 3 +- Pages/项目/项目首页/预算申请/预算申请.json | 160 +- Pages/项目/项目首页/预算申请/预算申请.rd | 4 + Plugin/可交互的页面容器(iFrame)-8_0_0_0.zip | Bin 44528 -> 0 bytes Reports/工时报表.json | 24 +- Reports/工时报表.rdlx | 2 +- .../工时/{新增工时.json => 上报实际工时.json} | 1281 +++++++++-------- ServerCommands/工时/修改工时.json | 226 ++- ServerCommands/工时/分配任务工时.json | 949 ++++++++++++ ServerCommands/项目/同步项目参与人字段.json | 2 +- ServerCommands/项目/新增或修改项目.json | 147 +- Tables/任务/子任务视图.json | 10 +- Tables/字典表/工时分配方式.json | 2 +- Tables/工时/View_任务工时统计.json | 73 +- Tables/工时/人员工时统计视图.json | 67 +- Tables/工时/任务工时表.json | 8 + Tables/项目/View_项目统计信息.json | 51 +- Tables/项目/项目匿名视图.json | 5 +- Tables/项目/项目表.json | 38 +- 36 files changed, 5182 insertions(+), 1400 deletions(-) create mode 100644 Pages/任务/工时/分配计划工时.json create mode 100644 Pages/任务/工时/分配计划工时.rd create mode 100644 Pages/工时/人员工时统计.json create mode 100644 Pages/工时/人员工时统计.rd create mode 100644 Pages/工时/任务工时统计.json create mode 100644 Pages/工时/任务工时统计.rd delete mode 100644 Pages/工时/工时报表.json delete mode 100644 Pages/工时/工时报表.rd delete mode 100644 Plugin/可交互的页面容器(iFrame)-8_0_0_0.zip rename ServerCommands/工时/{新增工时.json => 上报实际工时.json} (58%) create mode 100644 ServerCommands/工时/分配任务工时.json diff --git a/.collaboration b/.collaboration index 0b75994b..e0e8d482 100644 --- a/.collaboration +++ b/.collaboration @@ -21,16 +21,7 @@ }, { "ModuleName": "TableView/子任务视图", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T22:21:02.969339+08:00", - "ModuleType": 23, - "ToRemoveFiles": [ - "Tables\\任务\\子任务视图.json" - ] + "ModuleType": 23 }, { "ModuleName": "Tables/字典表", @@ -70,42 +61,15 @@ }, { "ModuleName": "TableView/View_任务工时统计", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T21:38:11.6464195+08:00", - "ModuleType": 23, - "ToRemoveFiles": [ - "Tables\\工时\\View_任务工时统计.json" - ] + "ModuleType": 23 }, { "ModuleName": "TableView/人员工时统计视图", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T22:20:32.8118636+08:00", - "ModuleType": 23, - "ToRemoveFiles": [ - "Tables\\工时\\人员工时统计视图.json" - ] + "ModuleType": 23 }, { "ModuleName": "Table/任务工时表", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T21:54:50.4806925+08:00", - "ModuleType": 7, - "ToRemoveFiles": [ - "Tables\\工时\\任务工时表.json" - ] + "ModuleType": 7 }, { "ModuleName": "Tables/流程表文件夹", @@ -182,16 +146,7 @@ }, { "ModuleName": "TableView/View_项目统计信息", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T22:17:08.8321036+08:00", - "ModuleType": 23, - "ToRemoveFiles": [ - "Tables\\项目\\View_项目统计信息.json" - ] + "ModuleType": 23 }, { "ModuleName": "Table/项目任务分组", @@ -215,16 +170,7 @@ }, { "ModuleName": "Table/项目表", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T22:21:32.5661571+08:00", - "ModuleType": 7, - "ToRemoveFiles": [ - "Tables\\项目\\项目表.json" - ] + "ModuleType": 7 }, { "ModuleName": "Table/项目预算变动表", @@ -240,31 +186,11 @@ }, { "ModuleName": "PCPage/修改报工", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T21:14:26.1004938+08:00", - "ModuleType": 1, - "ToRemoveFiles": [ - "Pages\\任务\\工时\\修改报工.json", - "Pages\\任务\\工时\\修改报工.rd" - ] + "ModuleType": 1 }, { "ModuleName": "PCPage/新增报工", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T21:04:58.7867319+08:00", - "ModuleType": 1, - "ToRemoveFiles": [ - "Pages\\任务\\工时\\新增报工.json", - "Pages\\任务\\工时\\新增报工.rd" - ] + "ModuleType": 1 }, { "ModuleName": "PCPage/任务-任务信息", @@ -308,19 +234,7 @@ }, { "ModuleName": "PCPage/工时详情", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T21:11:44.4255903+08:00", - "ModuleType": 1, - "ToRemoveFiles": [ - "Pages\\任务\\工时详情.json", - "Pages\\任务\\工时详情.rd", - "Pages\\31a709cea02e45ad83bb92336a6d829.json", - "Pages\\31a709cea02e45ad83bb92336a6d829.rd" - ] + "ModuleType": 1 }, { "ModuleName": "PCPage/新增任务", @@ -436,17 +350,7 @@ }, { "ModuleName": "PCPage/FGC_维护中", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T22:55:44.7560804+08:00", - "ModuleType": 1, - "ToRemoveFiles": [ - "Pages\\内建页面\\FGC_维护中.json", - "Pages\\内建页面\\FGC_维护中.rd" - ] + "ModuleType": 1 }, { "ModuleName": "PCPage/FGC_邮件订阅", @@ -586,17 +490,7 @@ }, { "ModuleName": "PCPage/预算申请", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T23:01:45.7452949+08:00", - "ModuleType": 1, - "ToRemoveFiles": [ - "Pages\\项目\\项目首页\\预算申请\\预算申请.json", - "Pages\\项目\\项目首页\\预算申请\\预算申请.rd" - ] + "ModuleType": 1 }, { "ModuleName": "PCPage/预算申请审批", @@ -604,17 +498,7 @@ }, { "ModuleName": "PCPage/项目信息", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T22:45:22.3901836+08:00", - "ModuleType": 1, - "ToRemoveFiles": [ - "Pages\\项目\\项目首页\\项目配置\\项目信息.json", - "Pages\\项目\\项目首页\\项目配置\\项目信息.rd" - ] + "ModuleType": 1 }, { "ModuleName": "PCPage/项目列表", @@ -642,17 +526,7 @@ }, { "ModuleName": "MasterPCPage/FGC_母版页", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T23:25:26.8169277+08:00", - "ModuleType": 3, - "ToRemoveFiles": [ - "MasterPages\\FGC_母版页.json", - "MasterPages\\FGC_母版页.rd" - ] + "ModuleType": 3 }, { "ModuleName": "UserControlPage/工时记录列表", @@ -680,34 +554,12 @@ }, { "ModuleName": "ServerCommand/修改工时", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T21:04:58.7867505+08:00", - "ModuleType": 15, - "ToRemoveFiles": [ - "ServerCommands\\工时\\修改工时.json" - ] + "ModuleType": 15 }, { "ModuleName": "ServerCommand/删除任务成员所有工时", "ModuleType": 15 }, - { - "ModuleName": "ServerCommand/新增工时", - "State": 2, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T21:04:58.786388+08:00", - "ModuleType": 15, - "ToRemoveFiles": [ - "ServerCommands\\工时\\新增工时.json" - ] - }, { "ModuleName": "ServerCommands/项目", "ModuleType": 20 @@ -938,36 +790,7 @@ }, { "ModuleName": "Plugin", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T23:26:43.1774075+08:00", - "ModuleType": 40, - "ToRemoveFiles": [ - "Plugin\\Echarts图表-10_0_0_0.zip", - "Plugin\\Editormd-6_0_102_0.zip", - "Plugin\\JSON数据源-10_0_0_0.zip", - "Plugin\\Microsoft SQL Server-10_0_0_0.zip", - "Plugin\\Notiflix-9_0_103_0(1).zip", - "Plugin\\PC组件包-ElementPlus-10_0_0_0.zip", - "Plugin\\Tiny富文本编辑器-10_0_0_0.zip", - "Plugin\\加载动画-10_0_0_0.zip", - "Plugin\\可交互的页面容器(iFrame)-8_0_0_0.zip", - "Plugin\\增强关闭页面-9_0_6.zip", - "Plugin\\复制到剪贴板-7_0_3_0.zip", - "Plugin\\客户端缓存操作工具库-8_0_0_0.zip", - "Plugin\\富文本编辑器-10_0_0_0.zip", - "Plugin\\对象与集合操作工具-8_0_0_0(1).zip", - "Plugin\\支持预览的附件上传-10_0_0_0.zip", - "Plugin\\甘特图-10_0_0_0.zip", - "Plugin\\用户管理命令 V2-10_0_0_0.zip", - "Plugin\\自定义菜单类型和树类型-10_0_0_0.zip", - "Plugin\\表格数据传递命令-10_0_0_0.zip", - "Plugin\\设置当前行命令-10_0_0_0.zip", - "Plugin\\设置焦点命令-10_0_0_0.zip" - ] + "ModuleType": 40 }, { "ModuleName": "PublishSetting", @@ -1071,29 +894,11 @@ }, { "ModuleName": "ServerCommand/同步项目参与人字段", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T22:21:32.5662337+08:00", - "ModuleType": 15, - "ToRemoveFiles": [ - "ServerCommands\\项目\\同步项目参与人字段.json" - ] + "ModuleType": 15 }, { "ModuleName": "ServerCommand/新增或修改项目", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T22:45:22.3897482+08:00", - "ModuleType": 15, - "ToRemoveFiles": [ - "ServerCommands\\项目\\新增或修改项目.json" - ] + "ModuleType": 15 }, { "ModuleName": "Table/任务评论表", @@ -1201,17 +1006,7 @@ }, { "ModuleName": "PCPage/反馈与建议", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T22:53:43.3716329+08:00", - "ModuleType": 1, - "ToRemoveFiles": [ - "Pages\\项目\\项目反馈\\反馈与建议.json", - "Pages\\项目\\项目反馈\\反馈与建议.rd" - ] + "ModuleType": 1 }, { "ModuleName": "Image/O1CN019ydWkT1WNumjyWmm0_!!6000000002777-0-tps-4000-912.jpg", @@ -1255,16 +1050,7 @@ }, { "ModuleName": "TableView/项目匿名视图", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T23:05:12.8553784+08:00", - "ModuleType": 23, - "ToRemoveFiles": [ - "Tables\\项目\\项目匿名视图.json" - ] + "ModuleType": 23 }, { "ModuleName": "ServerCommandPrivate/后端新增项目反馈", @@ -1389,33 +1175,9 @@ "ModuleName": "Pages/工时", "ModuleType": 6 }, - { - "ModuleName": "PCPage/工时报表", - "State": 2, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T23:25:26.8167619+08:00", - "ModuleType": 1, - "ToRemoveFiles": [ - "Pages\\工时\\工时报表.json", - "Pages\\工时\\工时报表.rd" - ] - }, { "ModuleName": "RdlReport/工时报表", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T23:07:33.8135154+08:00", - "ModuleType": 18, - "ToRemoveFiles": [ - "Reports\\工时报表.json", - "Reports\\工时报表.rdlx" - ] + "ModuleType": 18 }, { "ModuleName": "Pages/财务", @@ -1611,75 +1373,30 @@ }, { "ModuleName": "Table/工时分配方式", - "State": 1, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T22:48:45.9710349+08:00", - "ModuleType": 7, - "ToRemoveFiles": [ - "Tables\\字典表\\工时分配方式.json" - ] + "ModuleType": 7 }, { "ModuleName": "PCPage/分配计划工时", - "State": 3, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T20:50:57.7434443+08:00", "ModuleType": 1 }, { "ModuleName": "ServerCommand/分配任务工时", - "State": 3, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T20:52:52.8634056+08:00", "ModuleType": 15 }, { "ModuleName": "ServerCommand/上报实际工时", - "State": 3, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T21:04:58.7863951+08:00", "ModuleType": 15 }, { "ModuleName": "PCPage/任务工时统计", - "State": 3, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T23:16:04.0101329+08:00", "ModuleType": 1 }, { "ModuleName": "PCPage/人员工时统计", - "State": 3, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T23:22:21.9495534+08:00", "ModuleType": 1 }, { "ModuleName": "PCPage/工时中心", - "State": 3, - "LockedBy": { - "UserName": "SHAMUSPC\\NINGMEI", - "Email": "phoben@qq.com" - }, - "LockDateTime": "2024-03-30T23:25:26.8167765+08:00", "ModuleType": 1 } ] \ No newline at end of file diff --git a/Pages/31a709cea02e45ad83bb92336a6d829.json b/Pages/31a709cea02e45ad83bb92336a6d829.json index 101645a8..9f3185dc 100644 --- a/Pages/31a709cea02e45ad83bb92336a6d829.json +++ b/Pages/31a709cea02e45ad83bb92336a6d829.json @@ -224,7 +224,7 @@ } } ], - "ID": "97ffcf71-25ed-43ac-98d8-4eacc9b71d4f" + "ID": "57a04e30-d838-4457-91d9-a7585b2df9b3" }, { "CommandList": [ @@ -239,12 +239,12 @@ "BtnText": "知道了" } ], - "ID": "2db53b47-aa70-401b-b176-4e27d66c2cab" + "ID": "70e6b3db-d465-44e3-9767-f0be7349780d" } ] } ], - "ID": "dbba27fd-e3be-4f80-a092-92c01b9db35e" + "ID": "49979aae-b0d9-4d5c-bf60-0a932e5b3550" } ] } @@ -366,7 +366,7 @@ "value": "编辑" }, "CommandList": [], - "ID": "6474e55b-2f70-4062-a3b0-25a5fb1bdfc7" + "ID": "25b0a13a-1459-48f6-9da6-570dd9123ca6" }, { "Condition": { @@ -420,17 +420,17 @@ } } ], - "ID": "0220b96c-bec6-4904-9a60-c82a059b2f71" + "ID": "81ffdaaf-0740-46a1-8ba1-e1d4dedeac65" } ] } ], - "ID": "19473a9b-35f0-47e2-8091-7f51e69fff34" + "ID": "8d28cf13-efc5-45ef-b526-feb1751079e9" } ] } ], - "ID": "0de2c5f2-90c3-4ad0-b486-5efc82a68ce2" + "ID": "af0181c4-ebc1-476d-a1d3-57cb475640b9" } ] } @@ -550,4 +550,4 @@ "PaperSize": {}, "Margin": {} } -}//pTFRu188vbF/PSjXE9NtXZuVl5owf+yTeJoMNKakTkYgaKRMRQPPVsZuJh23GD74d7tK/mWvslOKFdlrmvVRcaqIdPr1l5hyGeO0ffD2bp5NfIsATy/mx2AVBbxc1S7TQ8zwUVQEwYBjLFNB9Iz8YhZ95zcIEVJJf50J/BdyWfFVjrbXsQOKTDuG5ZetZxuipWqjzh6zhdIIzgF5LPF5H58EzIVSTzTYgxi+vbHptjTIrrbb/AqWRJCeJ8k2Ba0t7vLazk8yLDjQpYU44+ffjvBaDc6x7ExAobCx+acPN5vKFsvrxNz0gxsir9zEQONC0yBju9odTXwJqrGbw5s3QNvEUBTFBPp0vgS3ilxujDeIHKLy37muiPPOu160EQw6JwnmnyxruSwpTG7kLnY9KJ2cbs1DMCkK0780Ynb1hJchn2kQ/Nix2u1l0vzxo0aX4gpYDqu5psGuui0bY8yxoqT5x8Kgp9DlaERzKrcpqqTz/QTLDRTLImxOzx20+R5kCmSPAPmWPsbgYvvjtt27p2uVAtqA09Ktn88jnja8+4L4i+4j59P/iM5yMXCYy4iz/6HwzeZ2DshLuZtbnwTuEc4BEREWTwWe9EgFhtmqRymOeK3Ds0ZO1IspUh1cybvHzJgO+jZSAyjRZOcN7BJkQyayp9LSOVqBdMpVxwm0AmJCI5iFIQU5t9wbVK/Hy/0qF7yujJ/ioGKXG+NajVPP7tnyCAuvFp91pldgbeDbQqC7fCd12mZtiPIrFzlq7PuP4jLhhfatuj1SGJ/wHnQ/pvhNKD23nnCKG7s6fIKHYIHkQF1OxQSof3/cyxb3BlPFOkd74N0dMoqpXbcwUfAn5nU2oDwkDFQpo1iYJc0JzxDCFmtw12NX8JR/8xPAnHjK3F9fIaZjW7LdbdhcVkYe4g==|920 \ No newline at end of file +}//SAh6W8TIZeYpAuOK8efH1aSzsWlDK588O5iOAWcnbsn5GevTs7Q1fb8Xqdwqa4vcBWex1rFlnP9jOplhGQOqJ51NQHNhIJEmvrinYKnCjntYn0pwOGSkJ4AwNtMhHpgf9EDBQgNMc3Ay6g/vOIkZcyKgmkJdhv2SCJ7jkhZ5/hxH+jDzF4By+5rcAx3ePiJv8Mzwl7pGeb03TSZepQHCBeD9VxWa1ea2F/i8DK/dv3QU+7ApkYjtwAh/QxI5FQ1uKDAV0OaGOnXmBwSxGDpgEqHFtdImJgWdiFVdcXAXgvPph6QNQw0dywoHq6JsQLEcAVk2r11eMpKqebWbkeWtQNgYoBlB2ScOqzOf78zbYBHNmfszs7xNEBRZLJUtsOv0i1qoNK4NoLxtyvWrSzG2El8MAlPxRjAFhnfnMTQKcgTTOoMG5zrw7lAKBHVAIu04UaAhZVVc4mnBOz3krMiT9gUSYIopGdYXZdEdJs5IZsEDGon1SbgBRssYm+T1ZMBzsTK+/ZjDa3sSI6EKn0HmyCacJbdfVykqOPMbUW9NvCQKikpZm5oQ9iIsK6L614Hs8BHbRraGy7lRU5K6mAQoYlRxrX5qA5gGIv+vy/rzpMvTeUttJ6J9B5WbVsgHGsjo+KEiUIEQbD+FxpUjbVgjMMmkC/o//xmoitleTfmOck4yUe+SpTm2OC+F0+l/jbcgNGur8eXOz6MRCYW3S3/a/AIS2vt/VCI+KctiO5jwCjzPNBpMvGFq7UIp5prqelOpg4z6HbuCqB3dsKLInAAqdWToPBlV4d6pD5nYFYnUX3rSUhGWlZpl94cLweCiQaU1iAw31SYcV3+8TbbMbM1hk+UmMHs+o1WPLtXU24rxyOfWsZ7ehQ54DjqE9YiDYVDUCnYlP4aXJU1C5u5uol9RkA==|920 \ No newline at end of file diff --git a/Pages/任务/工时/修改报工.json b/Pages/任务/工时/修改报工.json index 46bf414d..3faf1137 100644 --- a/Pages/任务/工时/修改报工.json +++ b/Pages/任务/工时/修改报工.json @@ -201,7 +201,7 @@ "Values": { "1,1": "工时执行者", "1,10": "执行时间", - "5,1": "实际工时数", + "5,1": "工时数", "9,1": "任务时薪", "13,1": "工作进展", "20,1": "取消", @@ -563,7 +563,7 @@ "ReloadData": true } ], - "ID": "73b5b0ab-2b6c-47c3-ad1e-473e25e3b230" + "ID": "eead3c6f-13d5-4006-a34e-da44f3993867" }, { "CommandList": [ @@ -578,7 +578,7 @@ "BtnText": "知道了" } ], - "ID": "5197d6e2-88cf-48df-974c-47aef06a6c70" + "ID": "e990dc04-0449-4a61-8f61-8a49749a224a" } ] } @@ -877,7 +877,7 @@ ] } ], - "ID": "838cc4e1-b8f5-4184-aed6-065b7e418d69" + "ID": "e8d59345-60cc-4458-be55-cd68a661aeb2" }, { "CommandList": [ @@ -894,7 +894,7 @@ ] } ], - "ID": "0f043355-9fcf-46c2-9454-d730f07ccaf3" + "ID": "044e8362-aff2-4612-9ec2-2bc6bad4d4e9" } ] }, @@ -951,7 +951,7 @@ ] } ], - "ID": "0c6692e8-b039-4748-8717-b03e721d13af" + "ID": "d950b1c5-3b12-47ee-95fb-3e33851bceda" }, { "CommandList": [ @@ -968,7 +968,7 @@ ] } ], - "ID": "e0d0d9fb-0c20-4d9d-84c2-4464e7dd3d4c" + "ID": "ed91d773-31d5-4814-8318-55731c3ec17f" } ] } @@ -1001,4 +1001,4 @@ "Formula": "修改报工!$B$23" } ] -}//zZAMsKY7LRnbBVajJ4uBiNQuO41ULIy2D9y07KEejUB2SVO7LNydKHg4A1y2bW6OwJDbrEa2fvLQejYwIilUGqQgi+iruP0yKoX7zEwBZvfbBc7vfRgorbF2rgu63gfaVR+0AWw/cwTDNcVdNA+og+RxEe7TjMeWOZXzTqo/ZebMmGjLHcVCZI5Px9z5pvgsA71u2EUDsL0cMIooW1ZG7psRI58qb67put56GKyv50QBOJekwcscCSBONYxo1yzzzp0U0guBrNb0sPhnf5GuiBEXApICR3w52J1JAfWjVLGWDTW5QBxjJe2CqNtjoSMisSITDcjTlReyDjF/0PdtF0Vau4OSrlYTLfe6/SiJIJxKHFJIpmn9xQKKNMQHu0XfBOCAOJer+RQMqkaT77kV1yguHA4Gg5E08zws7bQVImYOzScLlrVd7EWZrNEnhtaM051oFGhiPzi6xhB2T77RzxtXlHdP93e5z+669QqYA9ptkHz7IeW1kNt4e3AKJKMdbLofY4LBGDwkTGSjrczltUd94g3Y3i1w9vXPrH9bWwZ0iwlNCsOM2eu8XYMYmbo6CMrArSETJbiktcMACsJduJQkx5kT4bwt9LDXmAwScHao8efptQ4qYNtelKZsNdDyTVGwXdzaKqUazIHKSBtCLXQphyf61yE235d7r130pPYnqWGDa+15urzdpSorCEPcHY25fSlBhnfToVt3BJDpneMMHWKaiLJiD0cMEuYwOFDVKB4Vrqr2dhdlGVVfp6mAS/hZD1vEaetiOMNEtcaBjFwbARw46h3c0K/4LM2GN+JwOjFpHV6yA7B0b15pOEdanADlp6fDtlzu4UmG1EUtPY4H1RTy7NHtDDBN6c2PINeFEu+j+ThRmZxfIOAusVFAAeyWDo2/XMsrDXSZVaUkEg==|920 \ No newline at end of file +}////t3zz3fx4mA41KKbw5AvVR4jB3/hKm7R+y7HwPI6R/vA6SDZ24ZvFH+aQLH43Yp7sY6uDjM16NvWR7uQQcdBGeTr9gdwE3qXLAK0gaVKEs66359ClTu1iaw7CPh7BFti+Q4RygyIaHuQglXk6+vB9uapmUHJULw0STJJXEOJ2ft0Ns4n0ww12NfF///Fv3VTitA7sOUassd8SYzPEY8SyWezvBw7/3wIC/aOUsElDjnCBuZkgf9VtPWsIXUZtQdLS5iv9s6FOHU/KcbsnbCi5NvStpQGf856bxhr/qDM9NgWdg+EhcT2F1kukoao+rCJ8atdR1l6AmQa15bd+TfxPwnA8C9tpZOhSDaKks/g+dyjpVURBw5ocvbMCLGxoV+oTlq1ulnm7v6djLX8Q5y6Gl9zYveiaP0CTK/Al0XeakZhWzRUPf/cODCRFmypEdA44Z6gxPy6YFT6qmjVIJyLrntJ5ie55FWBGHJk9KGABrTFySx/4Fcdb2Z4PZ4BGRTM55Ohql2hX5IxISeYJhGF9FtL12buEWVnUEM7CJbE0pSGxD8tIJooJCMS6ZJDFHBGl4NfCNCvhER0cj94zN27otnik68xLPaNAMURuBarU12Z11DZZG7vgYdOaSsdfupzranMMQl9vbuYVvr6mSt1LUdLAPgz20XkwoXNHmeThKRRwfKsCoKF2US3y4pT189Sj5tVHxqLlBRXUCy+6BRQoUNWmaPPXimYgESuajDvjeWEh28B1qdK5nbDefJ0QnHVe67MXonz2QPQOAU6AbPCBwNc4ffjIHZ1A2dxZvSXRvG3lfv/aPYjULRrlZXX/7R8f2Tu8FL7cL9tCRbbeQB0fgl0lve+bQJ6gsU00uV3+6bkTggmCP3u7M8/UD6js9nyqXpcmG8Bke9d95LHVi4Zw==|920 \ No newline at end of file diff --git a/Pages/任务/工时/分配计划工时.json b/Pages/任务/工时/分配计划工时.json new file mode 100644 index 00000000..afc868d4 --- /dev/null +++ b/Pages/任务/工时/分配计划工时.json @@ -0,0 +1,1144 @@ +{ + "Rows": { + "RowColumnAttachedInfos": { + "0": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 24.0 + } + }, + "2": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 10.0 + } + }, + "3": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 35.0 + } + }, + "4": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 24.0, + "IsHidden": true + } + }, + "6": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 10.0, + "IsHidden": true + } + }, + "7": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 35.0, + "IsHidden": true + } + }, + "10": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 10.0 + } + }, + "11": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 35.0 + } + }, + "14": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 10.0 + } + }, + "15": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 177.0 + } + }, + "16": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 12.0, + "Mode": 1 + } + }, + "17": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 24.0 + } + }, + "18": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 10.0 + } + }, + "19": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 10.0 + } + }, + "20": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 35.0 + } + }, + "21": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 24.0 + } + }, + "22": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 27.0, + "IsHidden": true + } + }, + "23": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 27.0, + "IsHidden": true + } + } + }, + "InLogicalVisibleIndexes": [ + 4, + 5, + 6, + 7, + 22, + 23 + ], + "Count": 24 + }, + "Cols": { + "RowColumnAttachedInfos": { + "0": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "1": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "2": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "3": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "4": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "5": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "6": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "7": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "8": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "9": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "10": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "11": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "12": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "13": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "14": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "15": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "16": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "17": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "18": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "19": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "20": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "21": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "22": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "23": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + } + }, + "Count": 24, + "DefaultSize": 32.0 + }, + "Values": { + "1,1": "工时执行者", + "5,1": "分配日期", + "9,1": "工时数", + "13,1": "备注", + "20,1": "取消", + "20,20": "提交" + }, + "Formulas": { + "7,1": "TODAY()&\",\"&TODAY()" + }, + "AttachInfos": { + "3,1": { + "CellType": { + "$type": "ElementUI.SelectCellType, ElementUI", + "CommandList": [], + "UIPermissions": [ + { + "Scope": 2, + "AllowRoles": [ + "FGC_Anonymous" + ] + }, + { + "Scope": 1, + "AllowRoles": [ + "FGC_Anonymous" + ] + } + ], + "useBinding": true, + "options": [ + { + "value": "黄金糕", + "label": "黄金糕" + }, + { + "value": "双皮奶", + "label": "双皮奶" + }, + { + "value": "蚵仔煎", + "label": "蚵仔煎" + }, + { + "value": "龙须面", + "label": "龙须面" + }, + { + "value": "北京烤鸭", + "label": "北京烤鸭" + } + ], + "bindingOptions": { + "$type": "ServerDesignerCommon.Model.BindingDataSourceModel, ServerDesignerCommon", + "TableName": "用户信息视图", + "BindingInfos": [ + { + "BindingInfo": { + "TableName": "用户信息视图", + "ColumnName": "用户名", + "GUID": "dad6e6c2-ac49-462c-83c2-e2692ec02909" + }, + "ColumnName": "value" + }, + { + "BindingInfo": { + "TableName": "用户信息视图", + "ColumnName": "全名", + "GUID": "9a8aa953-289f-4827-ac6a-dfa7fae8fb06" + }, + "ColumnName": "label" + } + ], + "CustomColumns": [] + }, + "placeholder": "请选择", + "noDataText": "无数据", + "filterInServerOptions": { + "matchMethod": "contains", + "loadingText": "加载中" + }, + "noMatchText": "无匹配数据" + }, + "DataValidationInfo": { + "IgnoreBlank": false + } + }, + "7,1": { + "CellType": { + "$type": "ElementUI.DatePickerCellType, ElementUI", + "CommandList": [], + "UIPermissions": [ + { + "Scope": 2, + "AllowRoles": [ + "FGC_Anonymous" + ] + }, + { + "Scope": 1, + "AllowRoles": [ + "FGC_Anonymous" + ] + }, + { + "Scope": 4, + "AllowRoles": [ + "FGC_Anonymous" + ] + } + ], + "type": "daterange", + "placeholder": "请选择月份", + "startPlaceholder": "开始日期", + "rangeSeparator": "至", + "endPlaceholder": "结束日期", + "format": "yyyy年MM月", + "firstDayOfWeek": 1, + "DefautWeekFormat": "yyyy 第 WW 周" + }, + "DataValidationInfo": { + "IgnoreBlank": false + } + }, + "11,1": { + "CellType": { + "$type": "ElementUI.InputNumberCellType, ElementUI", + "CommandList": [], + "UIPermissions": [ + { + "Scope": 2, + "AllowRoles": [ + "FGC_Anonymous" + ] + }, + { + "Scope": 1, + "AllowRoles": [ + "FGC_Anonymous" + ] + } + ], + "min": "0.1", + "max": "99999", + "step": 1, + "precision": 1, + "placeholder": "请输入", + "controlsPosition": true + }, + "DataValidationInfo": { + "NumberType": 9, + "ValidateCommand": [ + { + "$type": "Forguncy.Model.OperateCellTypeCommand, ServerDesignerCommon", + "TargetPageElement": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=分配计划工时!B8" + }, + "TargetType": "ElementUI.DatePickerCellType, ElementUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e50995ee76bfe560", + "MethodName": "GetSelectedRange", + "RetrunParamNames": { + "StartValue": { + "SerializeProperty": "开始日期" + }, + "EndValue": { + "SerializeProperty": "结束日期" + } + } + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "时间差天数", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=DATEDIF(分配计划工时!开始日期,分配计划工时!结束日期,\"d\")" + }, + "ID": "7323fdec607041d9aace9bcadd23481f" + }, + { + "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", + "ConditionAndCommandPairList": [ + { + "Condition": { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionPageElementParam, ServerDesignerCommon", + "cellLocations": [ + { + "SerializeProperty": "=分配计划工时!当前值" + } + ] + }, + "value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=分配计划工时!时间差天数*24" + }, + "compareType": 2 + }, + "CommandList": [ + { + "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", + "ErrorCode": "400", + "Message": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=\"最大报工时长不能超过\"&分配计划工时!时间差天数*24&\"小时\"" + } + } + ], + "ID": "c219dc6f-8f10-4f11-b2c2-732aefc206e0" + }, + { + "CommandList": [ + { + "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", + "ErrorCode": "0" + } + ], + "ID": "74b91665-cda2-4e81-a599-7da079c7659c" + } + ] + } + ] + } + }, + "15,1": { + "CellType": { + "$type": "ElementUI.InputCellType, ElementUI", + "CommandList": [], + "UIPermissions": [ + { + "Scope": 2, + "AllowRoles": [ + "FGC_Anonymous" + ] + }, + { + "Scope": 1, + "AllowRoles": [ + "FGC_Anonymous" + ] + }, + { + "Scope": 4, + "AllowRoles": [ + "FGC_Anonymous" + ] + } + ], + "type": "textarea", + "placeholder": "请输入", + "resize": "none" + } + }, + "20,1": { + "CellType": { + "$type": "Forguncy.ButtonCellType, ServerDesignerCommon", + "CommandList": [ + { + "$type": "Forguncy.Model.ClosePopupCommand, ServerDesignerCommon" + } + ], + "Text": "取消", + "TemplateKey": "_RS_Information3" + } + }, + "20,20": { + "CellType": { + "$type": "Forguncy.ButtonCellType, ServerDesignerCommon", + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "成员是否存在", + "TableValue": { + "TableName": "任务成员表", + "TableValueType": 3, + "SqlCondition": { + "$type": "ForguncyDataAccess.RelationSqlCondition, ForguncyDataAccess", + "SubConditions": [ + { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "任务成员表", + "ColumnName": "任务ID", + "GUID": "282c7cbb-409d-4fdc-a4b0-4e667eb6cc48" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=分配计划工时!任务ID" + } + }, + { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "任务成员表", + "ColumnName": "参与人", + "GUID": "b1d64b0c-2af2-40fd-8726-f88f8002f20d" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=分配计划工时!B4" + } + } + ] + }, + "NullFormulaValueQueryPolicy": 0 + }, + "ID": "3b3c54866f364bd88b06bfe8ed829b78" + }, + { + "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", + "ConditionAndCommandPairList": [ + { + "Condition": { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionPageElementParam, ServerDesignerCommon", + "cellLocations": [ + { + "SerializeProperty": "=成员是否存在" + } + ] + }, + "value": "0" + }, + "CommandList": [ + { + "$type": "ElementUI.Commands.ShowMessageBox, ElementUI", + "Title": "标题", + "Message": "此操作会自动将该成员设置为任务参与人,是否继续?", + "Type": "info", + "ConfirmButtonText": "确定", + "ShowCancelButton": true, + "CancelButtonText": "取消", + "ShowClose": false, + "DialogResult": "是否继续", + "AdvancedSettings": {} + } + ], + "ID": "ab03832a-9623-436e-98eb-1434971251b0" + }, + { + "CommandList": [ + { + "$type": "ElementUI.Commands.ShowMessageBox, ElementUI", + "Title": "标题", + "Message": "是否确定为该成员增加计划工时?", + "Type": "info", + "ConfirmButtonText": "确定", + "ShowCancelButton": true, + "CancelButtonText": "取消", + "ShowClose": false, + "DialogResult": "是否继续", + "AdvancedSettings": {} + } + ], + "ID": "6cd6852a-e9d7-4ddd-aa7a-bf7aea3a9a55" + } + ] + }, + { + "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", + "ConditionAndCommandPairList": [ + { + "Condition": { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionPageElementParam, ServerDesignerCommon", + "cellLocations": [ + { + "SerializeProperty": "=是否继续" + } + ] + }, + "value": "confirm" + }, + "CommandList": [ + { + "$type": "Notiflix_Forguncy.Loading_Command, Notiflix_Forguncy", + "Title": "加载中", + "VBalidate": true + }, + { + "$type": "Forguncy.Model.OperateCellTypeCommand, ServerDesignerCommon", + "TargetPageElement": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=分配计划工时!B8" + }, + "TargetType": "ElementUI.DatePickerCellType, ElementUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e50995ee76bfe560", + "MethodName": "GetSelectedRange", + "RetrunParamNames": { + "StartValue": { + "SerializeProperty": "开始日期" + }, + "EndValue": { + "SerializeProperty": "结束日期" + } + } + }, + { + "$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": "=分配计划工时!B4" + } + }, + { + "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", + "ParamName": "工时数", + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=分配计划工时!B12" + } + }, + { + "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", + "ParamName": "备注", + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=分配计划工时!B16" + } + } + ], + "ResultErrorCodeTo": { + "SerializeProperty": "code" + }, + "ResultMessageTo": { + "SerializeProperty": "msg" + }, + "RefreshAfterFinish": true, + "CheckDataValidation": true + }, + { + "$type": "Notiflix_Forguncy.Loading_Command, Notiflix_Forguncy", + "FunctionName": "remove", + "Title": "加载中" + }, + { + "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", + "ConditionAndCommandPairList": [ + { + "Condition": { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionPageElementParam, ServerDesignerCommon", + "cellLocations": [ + { + "SerializeProperty": "=分配计划工时!code" + } + ] + }, + "value": "0" + }, + "CommandList": [ + { + "$type": "Notiflix_Forguncy.Notify_Command, Notiflix_Forguncy", + "Message": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=分配计划工时!msg" + } + }, + { + "$type": "Forguncy.Model.ClosePopupCommand, ServerDesignerCommon", + "ReloadData": true + } + ], + "ID": "01121121-5614-4221-9cec-b033b70198ab" + }, + { + "CommandList": [ + { + "$type": "Notiflix_Forguncy.Report_Command, Notiflix_Forguncy", + "FunctionName": "warning", + "Title": "温馨提示", + "Message": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=分配计划工时!msg" + }, + "BtnText": "知道了" + } + ], + "ID": "afe6f2e5-7619-452c-b991-5cde336dfdc7" + } + ] + } + ], + "ID": "348eb262-6b2b-47ad-bc48-3c1bd1667be9" + } + ] + } + ], + "Text": "提交", + "TemplateKey": "_RS_Main1" + } + }, + "22,1": { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "ID", + "GUID": "01dd81e1-5a70-45df-ba77-f40f1f7d6bf8" + } + } + }, + "StyleDatas": { + "Styles": [ + { + "Foreground": 0 + }, + { + "FontFamily": 1, + "FontSize": 13.333333333333332, + "Foreground": 0 + }, + { + "FontFamily": 1, + "FontSize": 13.333333333333332 + }, + { + "FontFamily": 1, + "FontSize": 13.333333333333332, + "Foreground": 0, + "Formatter": 2 + }, + { + "BorderBottom": 0 + }, + { + "FontFamily": 1, + "FontSize": 13.333333333333332, + "Formatter": 2 + }, + { + "Background": 4, + "FontFamily": 1, + "FontSize": 13.333333333333332, + "BorderBottom": 1, + "BorderTop": 1, + "BorderLeft": 1 + }, + { + "BorderBottom": 1, + "BorderTop": 1 + }, + { + "BorderBottom": 1, + "BorderTop": 1, + "BorderRight": 1 + } + ], + "Types": { + "Strs": [ + "Background 1 -50", + "Body", + "[AUTO]General", + "Background 2 -10", + "#FFFFFF00", + "black" + ], + "Borders": [ + { + "Color": 3 + }, + { + "Color": 5 + } + ] + }, + "CellStyles": { + "1,1": 0, + "1,11": 1, + "1,12": 2, + "1,13": 2, + "1,14": 2, + "1,15": 2, + "1,16": 2, + "1,17": 2, + "2,11": 2, + "2,12": 2, + "2,13": 2, + "2,14": 2, + "2,15": 2, + "2,16": 2, + "2,17": 2, + "4,0": 2, + "4,1": 2, + "4,2": 2, + "4,3": 2, + "4,4": 2, + "4,5": 2, + "4,6": 2, + "4,7": 2, + "4,8": 2, + "4,9": 2, + "4,10": 2, + "4,11": 2, + "4,12": 2, + "4,13": 2, + "4,14": 2, + "4,15": 2, + "4,16": 2, + "4,17": 2, + "4,18": 2, + "4,19": 2, + "4,20": 2, + "4,21": 2, + "4,22": 2, + "4,23": 2, + "5,0": 2, + "5,1": 3, + "5,2": 2, + "5,3": 2, + "5,4": 2, + "5,5": 2, + "5,6": 2, + "5,7": 2, + "5,8": 2, + "5,9": 2, + "5,10": 2, + "5,12": 2, + "5,13": 2, + "5,14": 2, + "5,15": 2, + "5,16": 2, + "5,17": 2, + "5,18": 2, + "5,19": 2, + "5,20": 2, + "5,21": 2, + "5,22": 2, + "5,23": 2, + "6,0": 2, + "6,1": 2, + "6,2": 2, + "6,3": 2, + "6,4": 2, + "6,5": 2, + "6,6": 2, + "6,7": 2, + "6,8": 2, + "6,9": 2, + "6,10": 2, + "6,11": 2, + "6,12": 2, + "6,13": 2, + "6,14": 2, + "6,15": 2, + "6,16": 2, + "6,17": 2, + "6,18": 2, + "6,19": 2, + "6,20": 2, + "6,21": 2, + "6,22": 2, + "6,23": 2, + "7,0": 2, + "7,1": 2, + "7,23": 2, + "9,1": 1, + "11,1": 2, + "12,0": 2, + "12,1": 2, + "12,2": 2, + "12,3": 2, + "12,4": 2, + "12,5": 2, + "12,6": 2, + "12,7": 2, + "12,8": 2, + "12,9": 2, + "12,10": 2, + "12,11": 2, + "12,12": 2, + "12,13": 2, + "12,14": 2, + "12,15": 2, + "12,16": 2, + "12,17": 2, + "12,18": 2, + "12,19": 2, + "12,20": 2, + "12,21": 2, + "12,22": 2, + "12,23": 2, + "13,0": 2, + "13,1": 3, + "13,2": 2, + "13,3": 2, + "13,4": 2, + "13,5": 2, + "13,6": 2, + "13,7": 2, + "13,8": 2, + "13,9": 2, + "13,10": 2, + "13,11": 2, + "13,12": 2, + "13,13": 2, + "13,14": 2, + "13,15": 2, + "13,16": 2, + "13,17": 2, + "13,18": 2, + "13,19": 2, + "13,20": 2, + "13,21": 2, + "13,22": 2, + "13,23": 2, + "14,0": 2, + "14,1": 2, + "14,2": 2, + "14,3": 2, + "14,4": 2, + "14,5": 2, + "14,6": 2, + "14,7": 2, + "14,8": 2, + "14,9": 2, + "14,10": 2, + "14,11": 2, + "14,12": 2, + "14,13": 2, + "14,14": 2, + "14,15": 2, + "14,16": 2, + "14,17": 2, + "14,18": 2, + "14,19": 2, + "14,20": 2, + "14,21": 2, + "14,22": 2, + "14,23": 2, + "15,0": 2, + "15,1": 2, + "15,23": 2, + "17,1": 2, + "17,2": 2, + "17,3": 2, + "17,4": 2, + "17,5": 2, + "17,6": 2, + "17,7": 2, + "17,8": 2, + "17,9": 2, + "17,10": 2, + "17,11": 2, + "17,12": 2, + "17,13": 2, + "17,14": 2, + "17,15": 2, + "17,16": 2, + "17,17": 2, + "17,18": 2, + "17,19": 2, + "17,20": 2, + "17,21": 2, + "17,22": 2, + "18,1": 4, + "18,2": 4, + "18,3": 4, + "18,4": 4, + "18,5": 4, + "18,6": 4, + "18,7": 4, + "18,8": 4, + "18,9": 4, + "18,10": 4, + "18,11": 4, + "18,12": 4, + "18,13": 4, + "18,14": 4, + "18,15": 4, + "18,16": 4, + "18,17": 4, + "18,18": 4, + "18,19": 4, + "18,20": 4, + "18,21": 4, + "18,22": 4, + "20,1": 5, + "20,2": 2, + "20,3": 2, + "22,1": 6, + "22,2": 7, + "22,3": 7, + "22,4": 7, + "22,5": 8, + "22,6": 2, + "22,7": 2 + }, + "SheetStyle": { + "FontFamily": 1, + "FontSize": 13.333333333333332 + } + }, + "Spans": [ + "11,1,1,22", + "15,1,2,22", + "20,20,1,3", + "20,1,1,3", + "7,1,1,22", + "22,1,1,5", + "3,1,1,22" + ], + "PageInfo": { + "$type": "Forguncy.Model.Pages.NormalPage, ServerDesignerCommon", + "PageLoadedCommandList": [ + { + "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", + "ConditionAndCommandPairList": [ + { + "Condition": { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionTableDataParam, ServerDesignerCommon", + "tableData": { + "TableName": "任务表", + "ColumnName": "项目ID", + "GUID": "c7468eab-efc8-4555-b5fd-e219355984f7", + "RelationBinding": { + "RelatedTable": "项目表", + "RelatedColumn": "ID", + "DisplayColumn": "工时分配方式" + } + } + }, + "value": "2" + }, + "CommandList": [ + { + "$type": "Forguncy.Model.SetRowColumnLayoutCommand, ServerDesignerCommon", + "PropertyItemsList": [ + { + "Location": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=分配计划工时!5:8" + }, + "Value": true + } + ] + } + ], + "ID": "9158d123-265b-449a-b2d7-e040370c6883" + } + ] + } + ], + "PermissionData": { + "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionData, Forguncy.RbacPermission.Core", + "permissionResource": { + "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionResource, Forguncy.RbacPermission.Core" + }, + "permissionBindings": [ + { + "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionBinding, Forguncy.RbacPermission.Core", + "roleNames": [ + "FGC_LoginUser" + ] + } + ] + }, + "RowBreakLines": [], + "RepeatRangeSettings": [], + "RelatedDataTableName": "任务表" + }, + "PrintInfo": { + "PaperSize": {}, + "Margin": {} + }, + "CustomNames": [ + { + "Name": "任务ID", + "Formula": "分配计划工时!$B$23" + }, + { + "Name": "工时类型", + "Formula": "分配计划工时!$L$4" + } + ] +}//yQDR4yKzdHth5hJ0H3vZxqWAcTTvq6pAPwVUNeXwzYwW7/V1yMxY3ZAncZMvHI1GKqyobB5XuDJqncpPUjKE8+rpPw2BO+sxLQNr14Al1bz4DH1JM93y8pjrKPKUTNOVnLACcyJYAjeZTuQJQCLammLbOLalbKY5Wje/7PxVG5JKwJkZIr5Xtfl97osq4Vf0Sy7GcEO7+LVDgNgzaqW69yVbdExMrdnM57IvXoXdLTpvXXh/YOm01/aQqxHCmm0wSuMw9SkdUQIy7hVLk3j/MIqV3xdRf9gnCpth2Y9ma7yJaJDPNMgKXNOgMjZtYwp9U2qQOyUWWhjd8Fs43MqQ8MVq3M1D+9uAzPWUd+HQa9dL/O0zF2hUsnJmYA8L8pxC4erS/Ak1YscHYTMfTYtjoimlyvl6gYFvNOe3jSPmiZ6nnsy//p86rykXN22lCYsn/51Kz6g1/S2RdnxJNX9zzXtY24hzckCR0+qBpZrn8xBniPKx/ikCNo3s/iDuWZLBRuvSVFCdO8WRQ1CH//43cG0YSY3dLZK4dZ3Tu7S3ZKZswxJGamwC6v2Mb+adX+8tkN4mA6foY0LhU/rzhJ0xoITcs+8QSQqXhC84v9OgZauNBna2sm926GcyWmntYcLurAgwVQHnBj8d1B4kG52Z/ULqtzyg0J5v5S7AQZXuv/ed5Rqy9RSRaheXGFgBFY6u/qB2/RPSbsyJF3q2G6eV3XkoPjbUi5oQQc7Qp4AZojq3//UISrAYLIXb1lbzu+SXhjnRF4Lwugp05PzFitVqwx2FNJgzHgLjXW4Ib54XDgmwseSmpKhzX592wV+Chr9A7eW/oHRsKaPR358fzbw43Bsdxn2KRlC7swMjsQ74x93O5KfKRn4VgJN5iSinBylWXSMI5yg47/XbiqQhvkiRbw==|920 \ No newline at end of file diff --git a/Pages/任务/工时/分配计划工时.rd b/Pages/任务/工时/分配计划工时.rd new file mode 100644 index 00000000..c2469714 --- /dev/null +++ b/Pages/任务/工时/分配计划工时.rd @@ -0,0 +1,18 @@ +{ + "PageType": 0, + "ColumnCount": 24, + "RowCount": 24, + "Formulas": { + "7,1": "TODAY()&\",\"&TODAY()" + }, + "CustomNames": [ + { + "Name": "任务ID", + "Formula": "分配计划工时!$B$23" + }, + { + "Name": "工时类型", + "Formula": "分配计划工时!$L$4" + } + ] +} \ No newline at end of file diff --git a/Pages/任务/工时/新增报工.json b/Pages/任务/工时/新增报工.json index e95d879a..be20906a 100644 --- a/Pages/任务/工时/新增报工.json +++ b/Pages/任务/工时/新增报工.json @@ -245,8 +245,6 @@ }, "Values": { "1,1": "工时执行者", - "1,11": "工时类型", - "3,11": "计划", "5,1": "分配日期", "9,1": "工时数", "13,1": "特定时薪", @@ -455,7 +453,7 @@ } } ], - "ID": "c5b9e99e-2dc3-43e6-93ac-18e027a0c928" + "ID": "23b613d1-ff23-4279-b737-744dabf1d873" }, { "CommandList": [ @@ -464,7 +462,7 @@ "ErrorCode": "0" } ], - "ID": "b085c68b-479f-40be-968b-41ce014911c3" + "ID": "c11d047c-2c87-4262-867a-cd798346cd0b" } ] } @@ -680,7 +678,7 @@ }, { "$type": "Forguncy.Model.RequestServerCommand, ServerDesignerCommon", - "ServerCommandName": "新增工时", + "ServerCommandName": "上报实际工时", "Parameters": [ { "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", @@ -730,14 +728,6 @@ "SerializeProperty": "=新增报工!B20" } }, - { - "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", - "ParamName": "工时类型", - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=新增报工!L4" - } - }, { "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", "ParamName": "指定时薪单价" @@ -786,7 +776,7 @@ "ReloadData": true } ], - "ID": "1a9d18d7-f5f3-4837-9131-12dc012a155f" + "ID": "7b5236b2-65b3-4d63-87d5-266f170e3d98" }, { "CommandList": [ @@ -801,12 +791,12 @@ "BtnText": "知道了" } ], - "ID": "ae008719-f61d-4faf-9684-e3265681f99b" + "ID": "98a1b8c2-3f0b-4db1-9e32-c827988e2954" } ] } ], - "ID": "967231d9-b243-4ee4-9682-8990b72d262e" + "ID": "a21d3218-9ed3-4cda-a34a-81e69bf9f417" }, { "CommandList": [ @@ -816,7 +806,7 @@ "Message": "用户已取消" } ], - "ID": "2f3c1d23-a307-421d-a8de-aee1839b8756" + "ID": "013185f7-e451-47b5-874d-01cc6d21bbe9" } ] } @@ -859,12 +849,12 @@ "LoadBindingDataOption": 2 } ], - "ID": "4ae581c7-702b-4490-a00b-4245dde0621c" + "ID": "1f4884a4-ad2f-4284-83f7-7a2ecd1a9d84" } ] } ], - "ID": "9df9717f-cedc-4e8e-8bbb-db2a9deed9c6" + "ID": "5e92c583-45d0-4e41-8300-b4eebca98dfd" }, { "CommandList": [ @@ -892,7 +882,7 @@ }, { "$type": "Forguncy.Model.RequestServerCommand, ServerDesignerCommon", - "ServerCommandName": "新增工时", + "ServerCommandName": "上报实际工时", "Parameters": [ { "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", @@ -942,14 +932,6 @@ "SerializeProperty": "=新增报工!B20" } }, - { - "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", - "ParamName": "工时类型", - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=新增报工!L4" - } - }, { "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", "ParamName": "指定时薪单价", @@ -1002,7 +984,7 @@ "ReloadData": true } ], - "ID": "3768a935-1059-4259-8b15-b2157894514c" + "ID": "02ac04c1-dd3b-4690-b073-594d50d5be28" }, { "CommandList": [ @@ -1017,12 +999,12 @@ "BtnText": "知道了" } ], - "ID": "a42f8909-7cd1-48e8-8fb4-8bfabc3d806d" + "ID": "9d4acb92-3e3d-4371-9a8e-9439a3d2d886" } ] } ], - "ID": "4e3e42b6-4322-4ea4-af85-6bf7034d123a" + "ID": "8ab6095e-c474-441c-8d9a-ff177aa4cf51" } ] } @@ -1119,7 +1101,6 @@ "2,15": 2, "2,16": 2, "2,17": 2, - "3,11": 2, "4,0": 2, "4,1": 2, "4,2": 2, @@ -1433,10 +1414,9 @@ "24,20,1,3", "24,1,1,3", "7,1,1,22", - "3,11,1,12", - "3,1,1,8", "26,1,1,5", - "15,1,1,22" + "15,1,1,22", + "3,1,1,22" ], "PageInfo": { "$type": "Forguncy.Model.Pages.NormalPage, ServerDesignerCommon", @@ -1471,7 +1451,7 @@ ] } ], - "ID": "97d420f3-81dc-44b5-9960-a2bb58035967" + "ID": "21e3f441-1567-40f7-ada7-c2560ad20590" }, { "CommandList": [ @@ -1488,7 +1468,7 @@ ] } ], - "ID": "2bd5203a-7db4-4cdb-bff3-33bc2e058482" + "ID": "ae04e0b7-1d3d-4101-b590-0ca5d3c41eac" } ] } @@ -1525,4 +1505,4 @@ "Formula": "新增报工!$L$4" } ] -}//CIRnT83cZS51EU3CVyO1IzADub6fbAVkaWlKIq002Esa9+KsMU3/3aCvkxRvLcI9yjQqGq/BO9Xk6qYzkp3f3rkoF15k9B4ClP5oV3t+MJFrU3PBotw1kA1/pMKt+CUEkMTaKEkVmcovzD5Fw+lQ4OE7sx2pa5Ht3c0S+FVI6aBJMhD1NT127nq7RBmJKEZSKKVI6+Ri/xpaFoL9+VYFI7CNSyiVKPT1Fppe5SjKmWe18cfIAQ1uiKKNZm6XdVxqJgRqCJ4NjTqRCi8sj61ImzTmKoKqvcpA033Clgd0BllsmbRP4w43Q/Q8484LssNui+VtporUZ1FxkzrVjw+aK8m4VHE/DW+ncGFHuxGCe1Kqk5NqLh50Y3qhhxmg/07XrO6b/V1z+n6+e65oGp6Ho4pta2diSeTtv+F4v0MsN57oXB2xVsi+n+140O5siafzM2FjpyPKHp6WG/0BtpMqELmNGZYB2wzBstd28Jwc5Gyv+HfKfaDqrMiVkAwUrObAGxOm5k9vMu6iFQN4VeWVHbyigL7lNMiaID/v9QdksJq6Hk7+hcrUQuTpiqVLJOYtVpu4x/aej2BKfYJrjUj8B9JT+aTdFT1L199aklv7HAVFWYSq9x3dqouI9QH41JuVbauz/DP8rzA0W/UXRGXTH8wCr2GgaAtArhdIj3Zx2rPQ5ctiFdnnCthKmidYZH+Qqf9/JyRQXOMq1qPmPSVcg5ZHN3FyZ0iLDaEb7+lmP9rhR6QT3+5Lf/Fmm3qlEhegW8GDSPs7pbJNXBlC0/e2bkn+fYbU5DJfA4S21EID83/3tGlDJ0x/KR/k5FwCCYOch7/PWGLQinSpRcYk4g0RS0FFl6TB3/MSq2N91CrjNfav7ALwf7CUafjpRCkgpFvG2IEgZvoK7xozBqgBHaMUbA==|920 \ No newline at end of file +}//U985xwSR1sgPDFOD6HaQwaYVeE1LtfQvcKCulUH0gmCvP3ZHx19MsCTlI8Ls+UlHpJXBsBjcZKsdDaGgltpSYQ/O9Hbx0K2ECUexPZb7zKHZKuwfaWxkqfiqvicTjdPA/V+J94TWG0POYtvGxCWwKJEkWZ0XyY3LR4kNfg++hbnx0Gz3Wb9BT6HYn0AJqmYWhTppi1njaTYkw7ppQVXSzRJe10a1VUPrFZ6v8SVb66Nyb5dV+SqU6+eK2WnuYyp0MgrwBDlMd4AhG1mWu5DiVeRH5p73brB3ihMz48x5sugM9yyPjaDCIki9g80vw228IRjK+/A10+2Z5UWOC3UU++1toBM8CdR2K3yEpwPbJBavNSmbf8ecyr1i0mhy6hnRMQCK6cv3/wX8G+X+A2903Pdg7m9cIROZGf68cg30FXnik2uskr6Y+rK67ZNg01kWWlpTejgKCDUqw/gJ1eHvwPWvfEOnIz/u8qGWS7PlIYEJPbaaMfP3OfWgyNxtQHKm64lboOiSZAdqB07b2hgo5alMt9eZeOkeuY8Py03vWAThHZqeqLETKPwxSnTSQw/BYc3VYjTnZOQZ/mnHr/oA7J3spDeoRsoGLyS+NuNuhy/REveg7Dd27ZDnydvL3gOzRm7WzWeazbaqft6tsfPXUitHVOhuz2f3POxWl3Azrv55U66jPQMSXSC5gk6ZMo7jNK0YHwBVDzlPCwnTKAMGlAzRAYWcMvmwC7AphTTVLU/jEWcbl6sSHSHODNh+CmhiNwGL49Wx6TOwolLMmKYI+sVX7b/G7XfRfOyTL5wNOea3pI/MMTzhcbubVqQ/khKegUp+TBy52D3gmCLGu2B04/hE3IUnu2fnWqWUqGQz5mSsYJvRvYXCos558GyUsWxiOluCC7faNW9qDIWlHvwJVQ==|920 \ No newline at end of file diff --git a/Pages/任务/工时详情.json b/Pages/任务/工时详情.json index cf1a7175..c0f09db8 100644 --- a/Pages/任务/工时详情.json +++ b/Pages/任务/工时详情.json @@ -225,8 +225,8 @@ "3,18": "完成比例", "6,1": "明细进展", "7,1": "工时详情-列头", - "10,9": "计划工时", - "10,14": "实际工时" + "10,9": "分配工时", + "10,14": "工时上报" }, "Formulas": { "3,20": "O4/D4*100" @@ -322,9 +322,10 @@ "ColumnName": "总实际工时" }, { - "Formula": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=(工时详情!总实际工时/工时详情!总计划工时)*100" + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "工时完成比例", + "GUID": "d710b31b-c612-4de9-b6be-1f60bc47ef01" }, "ColumnName": "完成比例" } @@ -354,19 +355,11 @@ "CommandList": [ { "$type": "Forguncy.Model.ShowPopupCommand, ServerDesignerCommon", - "PageName": "新增报工", - "PassValues": [ - { - "Source": "计划", - "TargetCell": { - "SerializeProperty": "=新增报工!工时类型" - } - } - ], + "PageName": "分配计划工时", "LoadBindingDataOption": 1 } ], - "Text": "计划工时", + "Text": "分配工时", "TemplateKey": "圆角浮动", "Icon": { "Name": "Application/005_add_5.svg", @@ -375,7 +368,10 @@ "UseCellTypeForeColor": true }, "IconSize": 14.0 - } + }, + "RulesGuidList": [ + "a8e409dd-908f-46da-9e04-493e23e6f6ff" + ] }, "10,14": { "CellType": { @@ -384,18 +380,10 @@ { "$type": "Forguncy.Model.ShowPopupCommand, ServerDesignerCommon", "PageName": "新增报工", - "PassValues": [ - { - "Source": "实际", - "TargetCell": { - "SerializeProperty": "=新增报工!工时类型" - } - } - ], "LoadBindingDataOption": 1 } ], - "Text": "实际工时", + "Text": "工时上报", "TemplateKey": "圆角浮动", "Icon": { "Name": "Application/005_add_5.svg", @@ -412,6 +400,18 @@ "ColumnName": "ID", "GUID": "a480c8d8-43fc-4d8f-a19e-554d2c55d49a" } + }, + "12,7": { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "项目ID", + "GUID": "9c81a94c-e07a-4f8e-82c1-2004e9ecaf2d", + "RelationBinding": { + "RelatedTable": "项目表", + "RelatedColumn": "ID", + "DisplayColumn": "工时分配方式" + } + } } }, "StyleDatas": { @@ -629,7 +629,8 @@ "3,7,1,2", "3,9,1,2", "3,18,1,2", - "3,20,1,6" + "3,20,1,6", + "12,7,1,3" ], "PageInfo": { "$type": "Forguncy.Model.Pages.NormalPage, ServerDesignerCommon", @@ -657,7 +658,26 @@ }, "RowBreakLines": [], "RepeatRangeSettings": [], - "RelatedDataTableName": "任务表" + "RelatedDataTableName": "任务表", + "ConditionFormatRulesCollection": { + "Rules": [ + { + "$type": "Forguncy.ConditionFormat.FormulaRule, ServerDesignerCommon", + "Formula": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=工时详情!$H$13=3" + }, + "GUID": "a8e409dd-908f-46da-9e04-493e23e6f6ff", + "StyleInfo": { + "Underline": null, + "Strikethrough": null + }, + "IsDisabled": true, + "IsInvisible": false, + "IsReadOnly": true + } + ] + } }, "PrintInfo": { "PaperSize": {}, @@ -673,4 +693,4 @@ "Formula": "工时详情!$E$13" } ] -}//0A4t65d1c+/Htjba9YuwALruutUmVJ3wJFBmQutCvJwCjfdBdY1VruRyHvGUe5Aw5U9zZHkef7j+L59pPiG/EH1iS5FXsQPRrxlOY6/qzvybTtNQDp63R9DyeniYXgUaozDGgwyjWMItdgtfWMD73r6Vy/GfSrnxQJjGPHVz9caPlFg3lfV4sPP1uKs35iNmC5I3fnmoEc0u9sYDvCqL54Azr8CYLpwKWylkxRQJhslkvqwZdaeocsmyR01/ZTGsQ0GHMljIG/bp1yN0yi8z5MUr1ncnlQ0QydhL0I8ajoGdhjcvoMveQcWQTutu+/YAyRG9RNAV6FB3oTTLy4IwQ9ABsJXucTIF5Bb99mHNnh9frGYexxmZ+a42CsQQfxtQKP094nafXCeQTFBMR+0RaPNvxZjdm9JUpJ22Bfb0FKzzJu7cODiSSaN4D2+m2IO8E04oMc55BI59tLKsGXH/YC80ZshU1vh52TSjCQUrR0zUmiqGnY9fZ661gWENHa9s1EVqLdn1y60mhuf4DZVkcFjufjA9dUfULGc2MylZI03+Hlfm5reOHxAXMEIu/SS1VAI7C0qSNsYzPzajewqrfUfbQWr1zQx5v/JRa4K/M0UTy9MolXi4aqi8rSQM+FrPUy+kho2+K4o7ZiGoksCuegxuDpy3/xEoLupHlT2iDkvPVe9oxcTEEucQv50/oLCOhBXWiTx7Z7yJ1nMX/GLyXVVVJwvnm2P2+q6VkaGgoYjY1HmLkHOpsV4ZJLcoeQjfJo4j3dH5wWwEjbqkCBgCnOvtYoUR81eIa3XNY2RKvViO7zhoLcz4vxLBE6K5uiGTZIXsfQ9Q/ohBLgzX2Pt3niV+EH3wRMnUpI5jdyM6h7zDoD5de8NjK0TkwDKdTHGSlSFkTEFxlTcx+O3d0AhIjQ==|920 \ No newline at end of file +}//XBiWrd0avZYou4JlEVczK+UtKEttD1Uh9JWTOX+W6lfXD+pzjm8cy4Qxnn562ACWTw0EtvbxRpslgqsI0HV8wjxDzImNkxgGdWtvFzyo0Vk2CQcWIM6Qvo+AMbdVr0lmrmMQFdGlrnj7K7mc4oddIjILYTtUQPdpZQGE0rzLMruvvjzvLG1z1ioYMXXq6P9YV8OozPN0ZOm95rUqoFMC9L43KtkcrWMwPe3hBrTI39QFwE2THHgTk/kFH7vbslxnW1IWOj+D+lNMv9G1eDR4A++gJIoVyIpdtQT92LD3LW2nqhGiG8134fBzZFiNQewkyYDF/4BL1Byu12uY4rxB1o+1hj8RHg3lwknaCtbZGmHXHq+fl6yo1RqtzUZjF344eLIYP+6gMmzHzvDCoKJTBxG3KxOsZdQdNJfgrAhxo0Dh6kBVkTyLc7uxOT8nbcvrjOV8m39IPW4eaoA8WVr+59WVbc8YXUEJI/Lrz8kscJiEqVFCs5idYDhFMAX7+K2BGycH0YiBVFLy6EpptjDm9IThU7mE6Z/oHoaeGSQRyKmmkV46JNxpV0VqFlUl3b8qse2ytbY9UMUHIg1seRx/l6iYksM/o3HojRWitBhWYgiXdaEM59WAdEODHXb3PUJE3Xk7o34NzABU1g1hfkZdlGLca36AYUb1V5u5nPVlrV5sIWNpAfzic+OVuyG3IwZAcpWpnPjIJe3rTalTvOG0Se4mXkx2vHzA8H3wFfyHsxsjRammEd58CMKXcktX7LTvO0R91pgBGyd091XNnTTkg9wZb8mBcGbgysDSoU+dQUmcHqOC2iZKkpBmIoOtpMsnVVk4fgTehy9sS+reXpGrDCHK6SFHBRh6jo7+svLAMfkYDsGM1p370Pfscys0C9uLsDVX/D1YnSRka4X7Obgmjw==|920 \ No newline at end of file diff --git a/Pages/内建页面/FGC_维护中.json b/Pages/内建页面/FGC_维护中.json index 317547b0..d02faf20 100644 --- a/Pages/内建页面/FGC_维护中.json +++ b/Pages/内建页面/FGC_维护中.json @@ -386,5 +386,15 @@ "PrintInfo": { "PaperSize": {}, "Margin": {} - } -}//ZQDwnAFvlimjpcskcpuepMJN8QmWph860GY+YamC3Aaw/4LdzZSDESzMe2vLSWux4GjVE7qvRDBNvKoRnADm6eR3k1LOrIOzEyij67y3W5THE8WdeemQ/cRJF0hQl7LxPvZFNPwzD1sJPMNwbyGgDnaEHGnaJor/m/7SFHwHoSBxgKjWRpjBYDuz8uzPRIWuYiLigMIP7h7ADFOiQ1kgUlcIUbKJVTU02So2tsRk6bMD7PW3CtRLx30oTlZg8qSiSIJYbIdqCoNkksRGhqVcaZxe5eSMrISVq4L/bRikv4UPAjJBi1dFMKwpN1MzI5Sdk/Ecw1bd93woEAZzFP/4n4jEo/NLdO02zr8wl5MJBEy5OKh1dR1PqCrWOubuH0vMdqHSpJptpuGWYJ/f56+/064cjeL/bF9M2+DI1L7efVEAIgdHvL94rFkA6IdZx+WhEh3K1oKbFan9JaksCk3b5JVryiDiECvJG2MEPV17mKP+yFB7SSAUrt4biKinB26NhHErSYWiIKbc0WNu8jj+smpl4i+GBTfqJ2KHLhxjmrUeRC7PdhMZqaePvMWaiq08Q0E72LgIOp6BmrcQabQZwcE5oWDjW4VD8z38z3ObJwtc+Yk8kFOiUPzYG6wB/TRzFauix13CIQojJjYbH/SUYwizzIueNuJ02tSkIGmTECphUKCSJmlrooYTp0F9PDJkk3KxZE0mykXaWFKTI/sSUmpW/hDbBOyoOq8gmwDGTmegd8apmu1ImQFPAMeBMn36WHP2lNxzLAyqZohPpVx2orU4Lfv5hi/AdButyZP55fBDukKsznf2F3wOWWJs2KQMzjDVauF9NqzdkPQJ4b9tYxERb+GTZoOPMhty5bq9RWmY24Sa3tgFNI/r0kUElqRtdwPm87jQj0CT2cGJP7XQ9w==|920 \ No newline at end of file + }, + "CustomNames": [ + { + "Name": "标题", + "Formula": "FGC_维护中!$P$16" + }, + { + "Name": "描述", + "Formula": "FGC_维护中!$O$19" + } + ] +}//ALC+UdvSb1YjifpW8j2ltufn6eeMLNoA09yEI8R/iSPNSS4p9Ivu4gK3iOBJiIsXwev9h+upQHNBaPWeHOhB9iWKHtZH/xiLQjg2efoyPi4b6MNcCq011Ev0DC6+tp0WFldQWnW0xwVkPGDhrqDbIdluWWCXzqytZ3cPnpx1om8JKwPY64Ccu9hXrcq8zTtCWGwVcdvnh5FuPt1wuAaIxQP1NZpSmll62fKLTFLsAig0Re0BbD2aOI0W0tnM96UerO1njMkZktCtbdbTVT9tjazFD57/W76xzVceeV9tKz0d6A/tw1BXHcIaq9mxsrICfwpHD6e8rDOavfLpnZoWYQ/K/Cg0tJ8knKnB/96ISuF/MgQ8FnZblvtYFds99/L6BRAwjsPDL3h+A2UJztm7ZWY6epQEdBLmensh++k/HfZqMpTEcIt+o9qBfekBXwoPRL3zCAEI3vtTci0/mshFG6+mIFbrMVOepCpsUGnD2bx9CCBa6sfBZI1KhoWLwkDen02T4choJB+2OWv1I6jnuxa8pFSoq6FvGAnD9iVQ7fcKwr9lXxPaEvWo0SToL7Xg53fafyCEmqQrR16WGrAlA7Z6O1z0mijWOCNhFBXspMDjZgBBkryUmjotYdN2mieY6M5L1OQSy3qgoSyB7IWajZyqhMgChsDRVWT18n4sf9DNt02gdrWMYKJvg9T271s3OgWnII904Y6gzPM5C5wHlA2tu/Ad4jefJOOozYaqBGWqVnQyW/CAtQ2VJ794s7A43VIE+6K7iaaOhHZWT7HE57SMhldE9r+uHsqcrcyTMwp2TEEXog764PJvqThdQzUux8DMcTY8pVI6IfG+bg2HBUCV0eGVuz565xmKoSnD+wHpChRhPX8HMCA88UJtvs3fkKm5snjaI8qa9IwTn6HxMQ==|920 \ No newline at end of file diff --git a/Pages/内建页面/FGC_维护中.rd b/Pages/内建页面/FGC_维护中.rd index c64d2c57..f9bd64f2 100644 --- a/Pages/内建页面/FGC_维护中.rd +++ b/Pages/内建页面/FGC_维护中.rd @@ -1,5 +1,15 @@ { "PageType": 0, "ColumnCount": 54, - "RowCount": 31 + "RowCount": 31, + "CustomNames": [ + { + "Name": "标题", + "Formula": "FGC_维护中!$P$16" + }, + { + "Name": "描述", + "Formula": "FGC_维护中!$O$19" + } + ] } \ No newline at end of file diff --git a/Pages/工时/人员工时统计.json b/Pages/工时/人员工时统计.json new file mode 100644 index 00000000..3d335a78 --- /dev/null +++ b/Pages/工时/人员工时统计.json @@ -0,0 +1,528 @@ +{ + "Rows": { + "RowColumnAttachedInfos": { + "0": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 15.0 + } + }, + "1": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 40.0 + } + }, + "2": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 51.0 + } + }, + "3": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "4": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "5": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "6": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "7": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "8": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "9": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "10": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "11": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "12": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "13": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 272.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "14": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 15.0 + } + } + }, + "Count": 15, + "DefaultSize": 32.0 + }, + "Cols": { + "RowColumnAttachedInfos": { + "0": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 15.0 + } + }, + "1": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "2": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "3": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "4": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "5": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "6": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "7": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "8": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "9": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "10": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "11": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "12": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "13": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "14": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "15": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "16": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "17": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "18": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "19": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 15.0 + } + } + }, + "Count": 20, + "DefaultSize": 49.0 + }, + "Values": { + "1,4": "总计划工时", + "1,7": "总实际工时", + "1,10": "总上报工时", + "1,13": "总剩余工时", + "1,16": "总计算提成" + }, + "AttachInfos": { + "1,1": { + "ListViewInfo": { + "Name": "表格1", + "TableName": "人员工时统计视图", + "RowIndex": 1, + "ColumnIndex": 1, + "RowCount": 13, + "ColumnCount": 18, + "OrderByCondition": { + "OrderByColumns": [ + { + "ColumnBindingInfo": { + "TableName": "人员工时统计视图", + "ColumnName": "日期", + "GUID": "43a4d841-3d7d-4b34-89f1-c45a758eb2f9" + }, + "Order": 1 + } + ] + }, + "TopCondition": null, + "ListViewStyleName": "pms表格", + "ShowColumnHeaderInDesigner": true, + "IsTotalRowVisible": true, + "ShowEditStatusIcon": true, + "UseSimpleBar": true, + "SelectionMode": 1, + "DisableAutoSelectRow": true, + "ColumnOperation": 2 + } + }, + "2,1": { + "NameUsedInJavaScript": "执行人", + "TotalRowSetting": {}, + "IsAutoMergeInListview": true, + "BindingInfo": { + "TableName": "人员工时统计视图", + "ColumnName": "执行人", + "GUID": "646684c6-099f-4b1b-8618-232c95d67ef9", + "AttachType": { + "$type": "ForguncyDataAccess.UserColumnAttachObj, ForguncyDataAccess", + "UserColumnAttachType": 1 + } + } + }, + "2,4": { + "NameUsedInJavaScript": "总计划工时", + "TotalRowSetting": { + "FormulaType": 5 + }, + "BindingInfo": { + "TableName": "人员工时统计视图", + "ColumnName": "总计划工时", + "GUID": "988beb4e-7917-40f2-b97d-5046f0577825" + } + }, + "2,7": { + "NameUsedInJavaScript": "总实际工时", + "TotalRowSetting": { + "FormulaType": 5 + }, + "BindingInfo": { + "TableName": "人员工时统计视图", + "ColumnName": "总实际工时", + "GUID": "7cdc211b-60d7-4e93-8a54-70f7a07457b7" + } + }, + "2,10": { + "NameUsedInJavaScript": "总上报工时", + "TotalRowSetting": { + "FormulaType": 5 + }, + "BindingInfo": { + "TableName": "人员工时统计视图", + "ColumnName": "总上报工时", + "GUID": "a4e583f5-80b1-47be-b743-b17350d63245" + } + }, + "2,13": { + "NameUsedInJavaScript": "总剩余工时", + "TotalRowSetting": { + "FormulaType": 5 + }, + "BindingInfo": { + "TableName": "人员工时统计视图", + "ColumnName": "总剩余工时", + "GUID": "4ea9c233-35f0-4e7a-9a6b-17d6de797dd5" + } + }, + "2,16": { + "NameUsedInJavaScript": "总计算提成", + "TotalRowSetting": { + "FormulaType": 5, + "StyleInfo": { + "Formatter": " ¥#,##0.00_);[Red] ¥(#,##0.00)" + } + }, + "BindingInfo": { + "TableName": "人员工时统计视图", + "ColumnName": "总计算提成", + "GUID": "fa541705-7c4d-4799-ac32-7acdc787f6af" + } + } + }, + "StyleDatas": { + "Styles": [ + { + "FontFamily": 0, + "FontSize": 13.333333333333332, + "HorizontalAlignment": 1 + }, + { + "FontSize": 13.333333333333332, + "HorizontalAlignment": 1 + }, + { + "FontFamily": 0, + "FontSize": 13.333333333333332, + "Foreground": 2, + "HorizontalAlignment": 1, + "WordWrap": true + }, + { + "FontSize": 13.333333333333332, + "Foreground": 2, + "HorizontalAlignment": 1 + }, + { + "FontSize": 13.333333333333332, + "Foreground": 2, + "Formatter": 3, + "HorizontalAlignment": 1 + } + ], + "Types": { + "Strs": [ + "Body", + "Center", + "black", + "¥#,##0_);[Red](¥#,##0)" + ] + }, + "CellStyles": { + "1,1": 0, + "1,4": 1, + "1,7": 1, + "1,10": 1, + "1,13": 1, + "1,16": 1, + "2,1": 2, + "2,4": 3, + "2,7": 3, + "2,10": 3, + "2,13": 3, + "2,16": 4 + }, + "SheetStyle": { + "FontFamily": 0 + } + }, + "Spans": [ + "3,1,11,18", + "2,1,1,3", + "2,4,1,3", + "2,7,1,3", + "2,10,1,3", + "2,13,1,3", + "2,16,1,3", + "1,1,1,3", + "1,4,1,3", + "1,7,1,3", + "1,10,1,3", + "1,13,1,3", + "1,16,1,3" + ], + "PageInfo": { + "$type": "Forguncy.Model.Pages.NormalPage, ServerDesignerCommon", + "PermissionData": { + "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionData, Forguncy.RbacPermission.Core", + "permissionResource": { + "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionResource, Forguncy.RbacPermission.Core" + }, + "permissionBindings": [ + { + "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionBinding, Forguncy.RbacPermission.Core", + "roleNames": [ + "FGC_LoginUser" + ] + } + ] + }, + "RowBreakLines": [], + "RepeatRangeSettings": [] + }, + "PrintInfo": { + "PaperSize": {}, + "Margin": {} + } +}//uJJujE1395GtgTDUrLaeDa60WawX/Zd8LtGtZDQXymOnZR+fD9Omx4DYx28UT4E+VWRTDpkGqYrfmaAAwgjV/6Zl3xGm5woCYeGHU4+9X0xFauwrQpUQWpLiDsfKwW6y+lBGQK4/W+SfYmAJZ7k7pcavbnpzaBhoG1dqGy2zIkY+xfb4sqo5rv7b8qDAu4gATN+l3r1CuAEj2kHe/u1muMaxUJkvRNI+PU00pqgr4Tc+ODhwyDsKOL5VSclrnqezNTeQmUy+Ic4ojesnWMTTza4ULE3dVMslpSqyF/5ZwP4VikM6hsF/MoEHLLBzSfCF+Nv0vPSxNxa9TxrRhby6/rd+HicEc+yD3F8guCRVKrXxglh1PjvZFGU7ALtmVEUC+oj1lw960dcPd028y/5xqiABVwAOGJbW9tDwL3enihdHL/DG+MuDT6IygIPnTD5tYi8X+NCDUeQi78ybDtCPoEF5ErSdp3ZeJiJQVUowELQaoR98zo9BqV8fIRLpHt7sSL9vgtgcRpgCOiNockiylRz6mDJTMw61MYWycMh1ftNRg5beufhXsT47BReo+XemSogny7CMMskf4vsfehcTsQrur/RlkYeZuJJo+3HA55yOE3na+pIvlLprsSVWJ4LYcTpZRFoE/NoXBcLO1MwlIH/govf0dsD2qqQWVSXsCJhcvC+WMXrtlF42tBOhMQ3hbl0wSMfiV9mDOW6Qi31eFQlDikquXI8S0Qc1lXr1VWW/HVICvh+d/kK8DBcEa3p4gosHNdoL2Q5XbIY66WOM+xXKTDg61pYvtPlqe86MomfFYQmB7M3asw2zeGopAKeQDSAZlE5xH5cJrwOAFIp1idv4wTtTATJhVSTDteJxC21RNdHaS44VHecjcvFSOJEmpIQmhd1S2V8PAeA7d3tylg==|920 \ No newline at end of file diff --git a/Pages/工时/人员工时统计.rd b/Pages/工时/人员工时统计.rd new file mode 100644 index 00000000..df669f3c --- /dev/null +++ b/Pages/工时/人员工时统计.rd @@ -0,0 +1,5 @@ +{ + "PageType": 0, + "ColumnCount": 20, + "RowCount": 15 +} \ No newline at end of file diff --git a/Pages/工时/任务工时统计.json b/Pages/工时/任务工时统计.json new file mode 100644 index 00000000..8b16660f --- /dev/null +++ b/Pages/工时/任务工时统计.json @@ -0,0 +1,642 @@ +{ + "Rows": { + "RowColumnAttachedInfos": { + "0": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 15.0 + } + }, + "1": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 40.0 + } + }, + "2": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 51.0 + } + }, + "3": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "4": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "5": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "6": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "7": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "8": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "9": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "10": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "11": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "12": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 32.0 + } + }, + "13": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 272.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "14": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 15.0 + } + } + }, + "Count": 15, + "DefaultSize": 32.0 + }, + "Cols": { + "RowColumnAttachedInfos": { + "0": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 15.0 + } + }, + "1": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "2": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "3": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "4": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "5": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "6": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "7": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "8": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "9": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "10": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "11": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "12": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "13": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "14": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "15": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "16": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "17": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "18": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "19": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "20": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "21": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "22": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "23": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "24": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "25": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 49.0, + "Mode": 2, + "MinLength": { + "Unit": 1 + }, + "MaxLength": { + "Value": 1.0 + } + } + }, + "26": { + "GridRowColumnDefinition": { + "DesignLengthInPixel": 15.0 + } + } + }, + "Count": 27, + "DefaultSize": 49.0 + }, + "AttachInfos": { + "1,1": { + "ListViewInfo": { + "Name": "表格1", + "TableName": "View_任务工时统计", + "RowIndex": 1, + "ColumnIndex": 1, + "RowCount": 13, + "ColumnCount": 25, + "TopCondition": null, + "ListViewStyleName": "pms表格", + "ShowColumnHeaderInDesigner": true, + "IsTotalRowVisible": true, + "ShowEditStatusIcon": true, + "UseSimpleBar": true, + "SelectionMode": 1, + "DisableAutoSelectRow": true, + "ColumnOperation": 2 + } + }, + "2,1": { + "NameUsedInJavaScript": "项目名称", + "TotalRowSetting": {}, + "IsAutoMergeInListview": true, + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "项目ID", + "GUID": "5a286e31-8138-4536-b956-1c3c2149278a", + "RelationBinding": { + "RelatedTable": "项目表", + "RelatedColumn": "ID", + "DisplayColumn": "项目名称" + } + } + }, + "2,4": { + "NameUsedInJavaScript": "任务名称", + "TotalRowSetting": {}, + "IsAutoMergeInListview": true, + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "任务ID", + "GUID": "8bf7c387-65d9-4570-a4d4-377af3149883", + "RelationBinding": { + "RelatedTable": "任务表", + "RelatedColumn": "ID", + "DisplayColumn": "任务名称" + } + } + }, + "2,7": { + "NameUsedInJavaScript": "执行人", + "TotalRowSetting": {}, + "IsAutoMergeInListview": true, + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "执行人", + "GUID": "025e84a7-a272-499f-8515-82292a59b21d", + "AttachType": { + "$type": "ForguncyDataAccess.UserColumnAttachObj, ForguncyDataAccess", + "UserColumnAttachType": 1 + } + } + }, + "2,10": { + "NameUsedInJavaScript": "总计划工时", + "TotalRowSetting": { + "FormulaType": 5, + "StaticText": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务工时统计!K3" + }, + "StyleInfo": {} + }, + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "总计划工时", + "GUID": "06cf4091-dcb6-4f81-97b5-c7e6aee268ca" + } + }, + "2,13": { + "NameUsedInJavaScript": "总上报工时", + "TotalRowSetting": { + "FormulaType": 5, + "StaticText": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务工时统计!N3" + } + }, + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "总上报工时", + "GUID": "d4d14d3f-d000-4399-acf3-e66868d6464e" + } + }, + "2,16": { + "NameUsedInJavaScript": "总实际工时", + "TotalRowSetting": { + "FormulaType": 5 + }, + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "总实际工时", + "GUID": "363a92ae-8ff9-4dad-9bb8-534aed6a9b7c" + } + }, + "2,19": { + "NameUsedInJavaScript": "总剩余工时", + "TotalRowSetting": { + "FormulaType": 5 + }, + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "总剩余工时", + "GUID": "24ce709b-6740-4ea3-b3df-b17444bb3fb2" + } + }, + "2,22": { + "NameUsedInJavaScript": "总计算提成", + "TotalRowSetting": { + "FormulaType": 5, + "StyleInfo": { + "Formatter": " ¥#,##0.00_);[Red] ¥(#,##0.00)" + } + }, + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "总计算提成", + "GUID": "753269e5-a066-4871-999f-78fb2ea6cea5" + } + } + }, + "StyleDatas": { + "Styles": [ + { + "FontSize": 13.333333333333332, + "HorizontalAlignment": 0 + }, + { + "FontFamily": 1, + "FontSize": 13.333333333333332, + "HorizontalAlignment": 0 + }, + { + "FontFamily": 1 + }, + { + "FontSize": 13.333333333333332, + "HorizontalAlignment": 0, + "WordWrap": true + }, + { + "FontSize": 13.333333333333332, + "Formatter": 2, + "HorizontalAlignment": 0 + } + ], + "Types": { + "Strs": [ + "Center", + "Body", + "¥#,##0_);[Red](¥#,##0)" + ] + }, + "CellStyles": { + "1,1": 0, + "1,4": 0, + "1,7": 0, + "1,10": 0, + "1,13": 0, + "1,16": 1, + "1,17": 2, + "1,18": 2, + "1,19": 1, + "1,20": 2, + "1,21": 2, + "1,22": 0, + "2,1": 3, + "2,4": 3, + "2,7": 3, + "2,10": 0, + "2,13": 0, + "2,16": 1, + "2,17": 2, + "2,18": 2, + "2,19": 1, + "2,20": 2, + "2,21": 2, + "2,22": 4 + }, + "SheetStyle": { + "FontFamily": 1 + } + }, + "Spans": [ + "2,1,1,3", + "2,4,1,3", + "2,7,1,3", + "2,10,1,3", + "2,16,1,3", + "2,19,1,3", + "2,13,1,3", + "2,22,1,4", + "3,1,11,25", + "1,1,1,3", + "1,4,1,3", + "1,7,1,3", + "1,10,1,3", + "1,13,1,3", + "1,16,1,3", + "1,19,1,3", + "1,22,1,4" + ], + "PageInfo": { + "$type": "Forguncy.Model.Pages.NormalPage, ServerDesignerCommon", + "PermissionData": { + "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionData, Forguncy.RbacPermission.Core", + "permissionResource": { + "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionResource, Forguncy.RbacPermission.Core" + }, + "permissionBindings": [ + { + "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionBinding, Forguncy.RbacPermission.Core", + "roleNames": [ + "FGC_LoginUser" + ] + } + ] + }, + "RowBreakLines": [], + "RepeatRangeSettings": [] + }, + "PrintInfo": { + "PaperSize": {}, + "Margin": {} + } +}//2S4fWnp+zs0Vw1XUQ8td6Heh4nvirnmP0zkSxBFu74h9EGrHBk+KgtSQG4dtW3yU6o1w5/ebtD2omlWe0R4vqKgTMGpGXg69FW734GzdEgJQmnv/8EDGK5CwQwDj4NHn/6eN0DnZwRinc6uOpd706MsFoxUvlLWkQbYW8xXMCNJyG7VN0iMzECmcF3QJa8KSsotov54x3Z8f6s8zmQkvk7889kDp7ySgDN15ldrTdK0o5lfnbPMQw6IR+EVKsz60AUnMHG+cD39CydL/UcZuuPrbri7zZnvp0Mfgf+Xm2l6Ta2b4gvm8Lro38Cj67O0ESPD9BgVK7lxaVYYSHfWDE4ZUx3X3QBDQQdWt1QnXdtvGVo0yvGd7fyLtileqDdHeLfkrTJmUAUgGmH62vu32yYsX6fkTxp3R5qcQ6Z4P+/BDqipTcmW4pDe94UaCdxGPISYgQB0f/oivhTv42Wjx5p648f1N2G4Hv/T00Goro046Nf8+xFYD66x8uHItTTKA2g9lUZcP1keUHM8uyZNLWBlq0OqmA2O3+XsL8sp54GGLGA+Nopzm5TjcAM0Wn68XyV9r8Al7OpnDNTb8OT62ksASVnubBB/4zEGWp/X1S7Nz3+chchFwqC2uIthDOs43EZEgjH/sb9GOghdye6XgdfVtIxXyUu4gEiR21ZvGbEWIJoBrwMR2g6a8L3FiZGDLb1grBwMMhN+4iJtJtCSomw8BxUEyGWSmyiWG/hr8ju7ykRAudCVQx/AA/jVuL82dYGPEkoQ/e4VbTmHlpnau9NLcHFvJC48+i6kesyQGs57yLUokK8Xry3P4fxvZAdK1C3qBZ10Dh/CkzQucpUXIcGUMYNf7x7JHupPtCAbHfOK+YgF1c0Y4Sf1pHeC9OOyLw24FbXUMXfXggIADYGvwnQ==|920 \ No newline at end of file diff --git a/Pages/工时/任务工时统计.rd b/Pages/工时/任务工时统计.rd new file mode 100644 index 00000000..6b9cd85c --- /dev/null +++ b/Pages/工时/任务工时统计.rd @@ -0,0 +1,5 @@ +{ + "PageType": 0, + "ColumnCount": 27, + "RowCount": 15 +} \ No newline at end of file diff --git a/Pages/工时/工时报表.json b/Pages/工时/工时报表.json deleted file mode 100644 index 20f78955..00000000 --- a/Pages/工时/工时报表.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "Rows": { - "RowColumnAttachedInfos": { - "16": { - "GridRowColumnDefinition": { - "DesignLengthInPixel": 20.0, - "Mode": 2, - "MinLength": { - "Unit": 1 - }, - "MaxLength": { - "Value": 1.0 - } - } - }, - "29": { - "GridRowColumnDefinition": { - "DesignLengthInPixel": 20.0, - "Mode": 2, - "MinLength": { - "Unit": 1 - }, - "MaxLength": { - "Value": 1.0 - } - } - } - }, - "Count": 30 - }, - "Cols": { - "RowColumnAttachedInfos": { - "23": { - "GridRowColumnDefinition": { - "DesignLengthInPixel": 20.0, - "Mode": 2, - "MinLength": { - "Unit": 1 - }, - "MaxLength": { - "Value": 1.0 - } - } - } - }, - "Count": 60 - }, - "AttachInfos": { - "0,0": { - "CellType": { - "$type": "iFrameCellPlugin.iFrameCellPluginCellType, iFrameCellPlugin", - "CommandList": [] - } - } - }, - "StyleDatas": { - "Styles": [ - { - "FontFamily": 0, - "Formatter": 1 - } - ], - "Types": { - "Strs": [ - "Body", - "[AUTO]General" - ] - }, - "CellStyles": { - "0,0": 0 - }, - "SheetStyle": { - "FontFamily": 0 - } - }, - "Spans": [ - "0,0,30,60" - ], - "PageInfo": { - "$type": "Forguncy.Model.Pages.NormalPage, ServerDesignerCommon", - "MasterPageName": "FGC_母版页", - "PageLoadedCommandList": [ - { - "$type": "Forguncy.Model.OperateCellTypeCommand, ServerDesignerCommon", - "TargetPageElement": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=工时报表!A1" - }, - "TargetType": "iFrameCellPlugin.iFrameCellPluginCellType, iFrameCellPlugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", - "MethodName": "Load", - "ParameterValues": { - "Mode": "Page:当前应用中的页面名称", - "Target": "ReportsService/preview/ffdfa71c-6e06-476a-ae97-9896f258ee37/工时报表.rdlx", - "AttributesPairs": null - } - } - ], - "PermissionData": { - "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionData, Forguncy.RbacPermission.Core", - "permissionResource": { - "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionResource, Forguncy.RbacPermission.Core" - }, - "permissionBindings": [ - { - "$type": "Forguncy.RbacPermission.Core.Impl.Page.PagePermissionBinding, Forguncy.RbacPermission.Core", - "roleNames": [ - "FGC_LoginUser" - ] - } - ] - }, - "RowBreakLines": [], - "RepeatRangeSettings": [] - }, - "PrintInfo": { - "PaperSize": {}, - "Margin": {} - } -}//lXav3V1UzDS5c8XNu69+Kfh1lUu7FcQ2j6Vd1MhR6b5Oy1D4ys0Ns5d8Ydq4f18kNStEgvlv/LZJyX0StAkyKyx7TTXlIFIQktqVa6Lm8tzqKPdtRHmghmKum1U+2+q8qrH2CNgyPyvS1kv1m78YcZjxkdRKaDCfgNOq8jUp3FZMV3/KSCzyICXLQvZCgO6vvc6F2qsRw6q6yJ65FPZyUZhZfAPlvBadkHcPRx0py/6XKAmfd+BUhayakDXHPb3OL6V6C2gbElyi85+1vVc++ACmFOLkcvD47y6Q9Be/P2YWDBqPLbvkqJBi+70le9pjpzexhyVnFncl5cUu6nVZQtirM3qtaFB/1favVku6jjOkczoJFKNiLjFv6z8qFdkwTMYc732eNBSi8b7G1ZZIa+DP1IyQtKkSrQEuaLTh74YST4IGJeWGAOKlyxW02inedAQzKrsmNEicXKF9fwPAfcNR3y9ubi6uXVrmQePIOFsL24JQxkkHZ37Gn2+QjO7cGPJNzeg+MRNhQ5gHB/JFp2knK5bl/oHAXRVRB0kkKJ7vNyVA7MPe3igqRZ1G6jfu3CCN34j7KfvoRLfJE/xAueyClR1kyhKpDVv/91Cx7Dmiu9P1t2mhsj55xQyyvzQ7biWRB75sme81hgHDZaYxKwhldY8VP5ICpQj/wiUzVEL3+9+YkOBMkFuo6QxxoOqGmssnb1YJycgXP2THi1MVK2gsUHbfLmzOih3LDTw25dlzXmLpvSu9T7Ok9B45bHR2/5AUszkieX3zKwnRT6rAiMkH1Pj6Kli5O9mARudyPXWk4K6YBb364yWHYGhlbrhAaPsrIzu0pdQTQXVVUbRp6rJ4vSJgD2mz+TqE3Ba957MDhaSO91EPuv9Z95goU6iF+JAx9SJUKLTbj9cAu9qKGQ==|920 \ No newline at end of file diff --git a/Pages/工时/工时报表.rd b/Pages/工时/工时报表.rd deleted file mode 100644 index 42b8596d..00000000 --- a/Pages/工时/工时报表.rd +++ /dev/null @@ -1,5 +0,0 @@ -{ - "PageType": 0, - "ColumnCount": 60, - "RowCount": 30 -} \ No newline at end of file diff --git a/Pages/项目/项目反馈/反馈与建议.json b/Pages/项目/项目反馈/反馈与建议.json index 40c0d7c4..2e33d772 100644 --- a/Pages/项目/项目反馈/反馈与建议.json +++ b/Pages/项目/项目反馈/反馈与建议.json @@ -1037,7 +1037,7 @@ ] } ], - "ID": "f8aaaad4-6f86-4d23-875c-f8718ccf08a1" + "ID": "c9b29e7f-5cb4-47b9-bf9e-ee8cf72c04c7" }, { "CommandList": [ @@ -1052,7 +1052,7 @@ "BtnText": "知道了" } ], - "ID": "194a8c9f-a988-4774-88f6-b85a7a701ad7" + "ID": "99f6ca67-d4a4-4345-af35-7e1cc42261dc" } ] } @@ -1946,6 +1946,10 @@ "PageInfo": { "$type": "Forguncy.Model.Pages.NormalPage, ServerDesignerCommon", "PageLoadedCommandList": [ + { + "$type": "Notiflix_Forguncy.Loading_Command, Notiflix_Forguncy", + "Title": "正在为您加载..." + }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "获取项目ID", @@ -1953,7 +1957,12 @@ "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=IFERROR(GETURLQUERYVALUE(\"ID\"),反馈与建议!项目ID)" }, - "ID": "7db4386629054b139d1e6141ba24d47c" + "ID": "beb0fdfec3a84c9f9c3e5d7c60a74993" + }, + { + "$type": "Notiflix_Forguncy.Loading_Command, Notiflix_Forguncy", + "FunctionName": "remove", + "Title": "正在为您加载..." }, { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", @@ -1974,39 +1983,123 @@ "CommandList": [ { "$type": "Forguncy.Model.NavigateCommand, ServerDesignerCommon", - "PageName": "FGC_维护中" + "PageName": "FGC_维护中", + "PassValues": [ + { + "Source": "项目不存在", + "TargetCell": { + "SerializeProperty": "=FGC_维护中!标题" + } + }, + { + "Source": "非常抱歉,您想反馈的项目不存在或正在维护,暂时无法提交反馈", + "TargetCell": { + "SerializeProperty": "=FGC_维护中!描述" + } + } + ] } ], - "ID": "90253efe-47f4-4aa5-93fe-505486b54230" + "ID": "957000a2-3087-436d-b152-4a0131d8a0d8" }, { "CommandList": [ { - "$type": "Forguncy.Model.SetCellPropertyCommand, ServerDesignerCommon", - "PropertyItemsList": [ - { - "TargetCells": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=反馈与建议!项目ID" + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "项目信息", + "TableValue": { + "TableName": "项目匿名视图", + "TableValueType": 1, + "BindingInfos": [ + { + "BindingInfo": { + "TableName": "项目匿名视图", + "ColumnName": "ID", + "GUID": "8d4ed745-2da3-4840-84f6-2eda622ab671" + }, + "ColumnName": "ID" + }, + { + "BindingInfo": { + "TableName": "项目匿名视图", + "ColumnName": "项目名称", + "GUID": "b88aefef-ea61-4b55-b789-5c314cade72d" + }, + "ColumnName": "项目名称" + }, + { + "BindingInfo": { + "TableName": "项目匿名视图", + "ColumnName": "项目简介", + "GUID": "3f964677-c204-4217-a0a3-44bfa84bcc7d" + }, + "ColumnName": "项目简介" + }, + { + "BindingInfo": { + "TableName": "项目匿名视图", + "ColumnName": "项目经理", + "GUID": "ae1a8dab-5fa5-4e6e-baa7-32b12f01b329", + "AttachType": { + "$type": "ForguncyDataAccess.UserColumnAttachObj, ForguncyDataAccess", + "UserColumnAttachType": 1 + } + }, + "ColumnName": "项目经理_全名" + }, + { + "BindingInfo": { + "TableName": "项目匿名视图", + "ColumnName": "项目经理", + "GUID": "52d66d8e-1543-403f-8d2a-bd2782bd4201", + "AttachType": { + "$type": "ForguncyDataAccess.UserColumnAttachObj, ForguncyDataAccess", + "UserColumnAttachType": 2 + } + }, + "ColumnName": "项目经理_邮件" + }, + { + "BindingInfo": { + "TableName": "项目匿名视图", + "ColumnName": "所属客户", + "GUID": "ce50337c-45e3-4896-9f0f-436a037dbb92" + }, + "ColumnName": "所属客户" + }, + { + "BindingInfo": { + "TableName": "项目匿名视图", + "ColumnName": "开启反馈收集", + "GUID": "857f8c8f-8eb0-481b-be15-ec51494dfe83" + }, + "ColumnName": "开启反馈收集" + }, + { + "BindingInfo": { + "TableName": "项目匿名视图", + "ColumnName": "项目状态", + "GUID": "af24cfac-7f85-4c7c-9f07-50aa7c393dd9" + }, + "ColumnName": "项目状态" + } + ], + "SqlCondition": { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "项目匿名视图", + "ColumnName": "ID", + "GUID": "00412d41-fc01-4d07-849b-2e6fd192f13b" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=反馈与建议!获取项目ID" } - } - ] - }, - { - "$type": "FrontendCacheCommand.Retrieve_LocalCache2, FrontendCacheCommand", - "KeyString": "name", - "VersionString": "1.0", - "OutParamaterName": "name" - }, - { - "$type": "FrontendCacheCommand.Retrieve_LocalCache2, FrontendCacheCommand", - "KeyString": "tel", - "VersionString": "1.0", - "OutParamaterName": "tel" + }, + "NullFormulaValueQueryPolicy": 0, + "TopCount": "1" + }, + "ID": "5287c1b1f4f848e8a143542d74cfa8b9" }, { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", @@ -2018,37 +2111,34 @@ "$type": "Forguncy.Model.IfConditionPageElementParam, ServerDesignerCommon", "cellLocations": [ { - "SerializeProperty": "=反馈与建议!name" + "SerializeProperty": "=项目信息" } ] }, - "value": "DATA_NOT_FOUND", - "compareType": 1 + "value": "%Null%" }, "CommandList": [ { - "$type": "Forguncy.Model.SetCellPropertyCommand, ServerDesignerCommon", - "PropertyItemsList": [ + "$type": "Forguncy.Model.NavigateCommand, ServerDesignerCommon", + "PageName": "FGC_维护中", + "PassValues": [ { - "TargetCells": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=反馈与建议!E22" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=反馈与建议!name" + "Source": "项目不存在", + "TargetCell": { + "SerializeProperty": "=FGC_维护中!标题" + } + }, + { + "Source": "非常抱歉,您想反馈的项目不存在或正在维护,暂时无法提交反馈", + "TargetCell": { + "SerializeProperty": "=FGC_维护中!描述" } } ] } ], - "ID": "b309a39c-e024-4a39-a587-83f278fd419c" - } - ] - }, - { - "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", - "ConditionAndCommandPairList": [ + "ID": "2f9c4e19-9998-4cd0-a228-60a75cde630d" + }, { "Condition": { "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", @@ -2056,13 +2146,39 @@ "$type": "Forguncy.Model.IfConditionPageElementParam, ServerDesignerCommon", "cellLocations": [ { - "SerializeProperty": "=反馈与建议!tel" + "SerializeProperty": "=项目信息.开启反馈收集" } ] }, - "value": "DATA_NOT_FOUND", + "value": "1", "compareType": 1 }, + "CommandList": [ + { + "$type": "Forguncy.Model.NavigateCommand, ServerDesignerCommon", + "PageName": "FGC_维护中", + "PassValues": [ + { + "Source": "反馈通道关闭", + "TargetCell": { + "SerializeProperty": "=FGC_维护中!标题" + } + }, + { + "Source": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=\"非常抱歉,该项目的反馈通道目前已经关闭,请联系您的项目经理:\"&反馈与建议!项目信息.项目经理_全名&\" 邮箱:\"&反馈与建议!项目信息.项目经理_邮件" + }, + "TargetCell": { + "SerializeProperty": "=FGC_维护中!描述" + } + } + ] + } + ], + "ID": "33c8a73d-8b8a-4960-988c-4fa5692ddc13" + }, + { "CommandList": [ { "$type": "Forguncy.Model.SetCellPropertyCommand, ServerDesignerCommon", @@ -2070,29 +2186,117 @@ { "TargetCells": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=反馈与建议!E26" + "SerializeProperty": "=反馈与建议!项目ID" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=反馈与建议!tel" + "SerializeProperty": "=反馈与建议!获取项目ID" } } ] + }, + { + "$type": "FrontendCacheCommand.Retrieve_LocalCache2, FrontendCacheCommand", + "KeyString": "name", + "VersionString": "1.0", + "OutParamaterName": "name" + }, + { + "$type": "FrontendCacheCommand.Retrieve_LocalCache2, FrontendCacheCommand", + "KeyString": "tel", + "VersionString": "1.0", + "OutParamaterName": "tel" + }, + { + "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", + "ConditionAndCommandPairList": [ + { + "Condition": { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionPageElementParam, ServerDesignerCommon", + "cellLocations": [ + { + "SerializeProperty": "=反馈与建议!name" + } + ] + }, + "value": "DATA_NOT_FOUND", + "compareType": 1 + }, + "CommandList": [ + { + "$type": "Forguncy.Model.SetCellPropertyCommand, ServerDesignerCommon", + "PropertyItemsList": [ + { + "TargetCells": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=反馈与建议!E22" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=反馈与建议!name" + } + } + ] + } + ], + "ID": "cbdf2b31-2dfa-4060-95eb-6460202e1192" + } + ] + }, + { + "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", + "ConditionAndCommandPairList": [ + { + "Condition": { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionPageElementParam, ServerDesignerCommon", + "cellLocations": [ + { + "SerializeProperty": "=反馈与建议!tel" + } + ] + }, + "value": "DATA_NOT_FOUND", + "compareType": 1 + }, + "CommandList": [ + { + "$type": "Forguncy.Model.SetCellPropertyCommand, ServerDesignerCommon", + "PropertyItemsList": [ + { + "TargetCells": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=反馈与建议!E26" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=反馈与建议!tel" + } + } + ] + } + ], + "ID": "1c405123-a7af-4ca7-8241-2cb8801afaf2" + } + ] + }, + { + "$type": "SetFocusCommand.SetFocusCommand, SetFocusCommand", + "TargetCell": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=反馈与建议!E22" + } } ], - "ID": "a5113d71-b8e5-4e46-bc75-f0e051fc32d7" + "ID": "b0df6dcb-26e5-45c5-b52b-d3844617285e" } ] - }, - { - "$type": "SetFocusCommand.SetFocusCommand, SetFocusCommand", - "TargetCell": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=反馈与建议!E22" - } } ], - "ID": "85120379-8935-4b58-94ea-a8fda8cddddf" + "ID": "7321606d-8304-4124-ab96-a94bdb4c63c7" } ] } @@ -2189,4 +2393,4 @@ "Formula": "反馈与建议!$D$42" } ] -}//JxeQztWX2mnmaNiz/elprPIe6/PdrESNqRpIjmjOqdzyDny/Ta8KeLFo3ddgHTvK24l1+T9NP6mR7EuQgxmcfgSazvrwlGwc/whJXDe377ChH6DEVAcu1vmqTn9izM6j3sjNuZSiXxN177ZRQvj71r+rrd6bYR06f72nHoFYJVUkUZvinoqJeObvquB3o2e7bh/GgF6rIpn3b9ue3JURL/9aDC5ZpAFpZW1ScA0K2VAzJi+LETeMRKFZ//ier7FY8MfY5vdP6zP0w1w+hS3OS+/sLgJa7ZeHqDEH0417SzMCehLpdN5vGITiAdxzeNyAl7z6pk4UEODtbuoYstv0+CO7MFUwR31AEEUMWCrMtPE8o887qhP7/3/Gm96qyxYYr4l0IuiuVCVAcGllaylbSklzKubvjcO0vLFim7e4sry/8bvxfrrROEdascr4EuSHvCCmcLUAyE09PILcaMb4q7X83i37A9AD8/kd3LuMa6xvU1FdaEYMuzxYlvC2RoMtnvmZtcREJ+WIA0G4qMoeu68g9lnDBgSaqpFkzC06e9PUK6ZSWwh8194az9nTwOcev3bmmXR+WMm7EPlzYeVkbgwE9eeB8PwuVcbdsL8GJP5B+Ng03cMQdMPFiGghwYCK0fQtPhmfeVPV6Adeg/rmEQ2P7xw7shBm5fZgvpUjBspB7VOi0PwHdRC3/6gdmfgzNtfeDAHceny3E722kymKhnfBEi92Yw0n7AgyRTikfPF2RjZE9bhzXQ10doywyav1A8MdI9e/N13t3TK2GSjdAetTvtsK0hHUJD4y2s1Z/0BQ3iZQmYNssJAvlavjsiiMoc5YFpj4iRuX1AZFFOAnEcWb5vpNX5/2yLI8oun8brKuMnCBbW6xwuDwo9/H/F80j09SCKDScFwJDkBb0HQADg==|920 \ No newline at end of file +}//+49BaaBk0CKw/SW48oWK/YOzdeXZxoGJS7jIx6IoGyphej0fTFIVnIxdJupHEQF4OUFG8ED2PWtyQkKG5fmPEUWTNAc2CKSlouyxsti2Ja3WbjcQRXkH9kiKGO2mrCpeQ2BbflH47GhzeSHuJbWU15R/rxyxghei+pHG717AybLUwrthFUMC2URM/gPBXCdcG6dbODKNLLmMgRkpZKtoA1bYDECouEMHUEKMOStNHijbo0V8JHTzH7/NpoK13Tujw8WC69djxENb34dN8nLQIXQzpZnyy3DWu7NgKNsvpABssRsxseY0gVOS3WW78mdd/+RX/WJrTyCpBTcksTEwOGZ0JlmZ/kLYrSP5RkNdrTy9korAkKq13sd6Cvky5kNZA232ytoSGBzaNp6ftSp9JyMr40rrWJUV+5ZkNAfbHSORocS5KriiJrU+ICEWiPZL30c+WLP6c8uUEvDAgrgTkhURz7JNlAZW+GNgusA9lF+8Lu/vgU4D1Mi/r4AwAxePR5/4ii0cE8jOZI4M+Uh+Tqpcujm1yAi1BbtVzLq15D1pNz6gCy9AnnnWQ5CIAf7UkqIL3q/BPY/bTU7Sxodm4yohFconLh0eDkyOGQCTlUcohxF2Y+6QqNlDGv5n3scmC/fB+NnYkYbKJnc4AIAHdAOinj6JX1u0dvBWrukKQxS5TJARHO5JA9Iz145d5rEhviNtUkN5qRoK9sxOo4U4BvO4kraQIv1gaPF8SX2tEUlTCrHBiqfUDWoBCcQ1NUVZwhDE6xmKpc/uFpMfO9fcUT01W95iITuGZJjuridovS+DKweHnAAJF2nM+lm1M1pyYhukkvy4/7LleZrsa1Zfw8VYLTRLpOUCZ5RyUhx5+0qqznQ7G8l50vzab4VjxCF4mT/KggJoe8ONiVU3Dj/78A==|920 \ No newline at end of file diff --git a/Pages/项目/项目首页/项目配置/项目信息.json b/Pages/项目/项目首页/项目配置/项目信息.json index a3c4e47f..faabdf80 100644 --- a/Pages/项目/项目首页/项目配置/项目信息.json +++ b/Pages/项目/项目首页/项目配置/项目信息.json @@ -271,6 +271,7 @@ "Values": { "1,1": "项目封面", "1,6": "项目名称", + "1,16": "项目代号", "4,6": "项目简介", "8,1": "项目日期", "8,15": "计划周期", @@ -281,14 +282,17 @@ "14,15": "分组", "15,1": "%CurrentUser.UserName%", "15,8": "0", + "15,15": "未分组", "17,1": "预算工时", "17,8": "预算金额", "17,15": "严格模式", "18,1": "0", "18,8": "0", "18,15": false, - "20,1": "工时分配方式", - "21,1": 1, + "20,1": "工时分配模式", + "20,4": "*提交后不再支持修改!", + "21,1": 4, + "21,18": "如何选择", "23,1": "项目方案", "26,1": "预算方案", "29,1": "网络资源", @@ -296,7 +300,8 @@ }, "Formulas": { "9,1": "TEXT(E36,\"yyyy-mm-dd\")&\",\"&TEXT(I36,\"yyyy-mm-dd\")", - "9,15": "DATEDIF(E36,I36,\"d\")" + "9,15": "DATEDIF(E36,I36,\"d\")", + "2,16": "IF(G3=\"\",\"\",G3)" }, "AttachInfos": { "2,1": { @@ -347,9 +352,51 @@ "resize": "none" }, "DataValidationInfo": { + "NumberType": 6, + "FirstParamValue": "1", + "SecondParamValue": "24", "IgnoreBlank": false } }, + "2,16": { + "BindingInfo": { + "TableName": "项目表", + "ColumnName": "项目代号", + "GUID": "806b3477-cedc-4f95-85bb-844ecc045ab9" + }, + "CellType": { + "$type": "ElementUI.InputCellType, ElementUI", + "CommandList": [], + "UIPermissions": [ + { + "Scope": 2, + "AllowRoles": [ + "FGC_Anonymous" + ] + }, + { + "Scope": 1, + "AllowRoles": [ + "FGC_Anonymous" + ] + }, + { + "Scope": 4, + "AllowRoles": [ + "FGC_Anonymous" + ] + } + ], + "type": "text", + "placeholder": "请输入", + "resize": "none" + }, + "DataValidationInfo": { + "NumberType": 6, + "CompareParamType": 5, + "FirstParamValue": "12" + } + }, "5,6": { "BindingInfo": { "TableName": "项目表", @@ -806,6 +853,7 @@ ] } ], + "DefaultValue": "未分组", "useBinding": true, "options": [ { @@ -853,7 +901,7 @@ "CustomColumns": [] }, "placeholder": "请选择或输入", - "noDataText": "无数据", + "noDataText": "请选择", "filterable": true, "filterInServerOptions": { "matchMethod": "contains", @@ -953,8 +1001,8 @@ { "$type": "Notiflix_Forguncy.Report_Command, Notiflix_Forguncy", "FunctionName": "info", - "Title": "温馨提示", - "Message": "开启后,将严格控制工时,不允许超额计划", + "Title": "什么是严格模式?", + "Message": "开启严格模式后,系统会校验每一次的工时变动,严格控制工时、成本,超额的提交将被拒绝。", "BtnText": "知道了" } ], @@ -1073,7 +1121,7 @@ "CellType": { "$type": "Forguncy.RadioGroupCellType, ServerDesignerCommon", "Style": 3, - "CellDefaultValue": 1, + "CellDefaultValue": 4, "IsBounding": true, "DataSource": "工时分配方式", "ValueColumnBindingInfo": { @@ -1086,9 +1134,43 @@ "ColumnName": "分配方式", "GUID": "0d7f0e32-1037-4150-b9a8-5c8b2335f4b9" }, - "CommandList": [] + "CommandList": [], + "ReadOnly": true }, - "DataValidationInfo": {} + "DataValidationInfo": { + "ShowInputMessageWhenCellIsSelected": false, + "InputMessageTitle": "创建后不可修改,请谨慎选择:", + "InputMessage": "分配到人:提前给每个人划分该任务总可用工时\r\n分配到天:提前给成员按天分配每日可用工时\r\n分配到任务:无需分配,所有成员共用任务计划工时" + }, + "RulesGuidList": [ + "20ab66f4-8f42-4a32-a499-e96087c93406" + ] + }, + "21,18": { + "CellType": { + "$type": "Forguncy.ButtonCellType, ServerDesignerCommon", + "CommandList": [ + { + "$type": "Notiflix_Forguncy.Report_Command, Notiflix_Forguncy", + "FunctionName": "info", + "Title": "工时分配模式说明", + "Message": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=\"分配到人:提前给每个人划分该任务总可用工时
分配到天:提前给成员按天分配每日可用工时
分配到任务:所有成员共用任务的计划工时
不分配:所有成员共用项目的计划工时\"" + }, + "BtnText": "知道了" + } + ], + "Text": "如何选择", + "TemplateKey": "链接样式", + "Icon": { + "Name": "Application/125_help_2.svg", + "BuiltIn": true, + "Color": "Background 1", + "UseCellTypeForeColor": true + }, + "IconSize": 12.0 + } }, "24,1": { "BindingInfo": { @@ -1173,6 +1255,19 @@ "CommandList": [] } }, + "33,1": { + "BindingInfo": { + "TableName": "项目表", + "ColumnName": "开启反馈收集", + "GUID": "ad5ec1b0-b9a2-4ca3-a049-c19b4113f3e2" + }, + "CellType": { + "$type": "Forguncy.CheckBoxCellType, ServerDesignerCommon", + "CellDefaultValue": true, + "Caption": "打开客户反馈通道", + "Style": 1 + } + }, "33,18": { "CellType": { "$type": "Forguncy.ButtonCellType, ServerDesignerCommon", @@ -1222,6 +1317,10 @@ "SerializeProperty": "=项目信息!G3" } }, + { + "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", + "ParamName": "项目代号" + }, { "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", "ParamName": "项目简介", @@ -1310,6 +1409,14 @@ "SerializeProperty": "=项目信息!P19" } }, + { + "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", + "ParamName": "工时分配方式" + }, + { + "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", + "ParamName": "开启反馈收集" + }, { "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", "ParamName": "开始日期", @@ -1373,7 +1480,7 @@ "ReloadData": true } ], - "ID": "482651e3-5e1a-4398-8b03-93f5bf743583" + "ID": "b2a54098-0e47-473b-a5ec-b4eb8ac25fdd" }, { "CommandList": [ @@ -1388,7 +1495,7 @@ "BtnText": "知道了" } ], - "ID": "ab85adf3-41f4-4292-b6e2-af8fc812f9ab" + "ID": "7a8d2040-f0b2-4571-a493-4d97ec2522c9" } ] } @@ -1440,12 +1547,23 @@ "FontSize": 13.333333333333332, "Foreground": 3 }, + { + "FontFamily": 0, + "FontSize": 12.0, + "Foreground": 3, + "HorizontalAlignment": 4 + }, + { + "FontFamily": 0, + "FontSize": 12.0, + "Foreground": 5 + }, { "FontFamily": 0, "FontSize": 13.333333333333332, - "Formatter": 4, - "HorizontalAlignment": 5, - "VerticalAlignment": 6, + "Formatter": 6, + "HorizontalAlignment": 4, + "VerticalAlignment": 7, "WordWrap": true }, { @@ -1463,14 +1581,15 @@ "[AUTO]General", "Right", "Text 1 50", - "@", "Left", + "Accent 1 0", + "@", "Top", "Background 2 0" ], "Borders": [ { - "Color": 7 + "Color": 8 } ] }, @@ -1723,7 +1842,7 @@ "20,1": 0, "20,2": 0, "20,3": 0, - "20,4": 0, + "20,4": 4, "20,5": 0, "20,6": 0, "20,7": 0, @@ -1736,13 +1855,14 @@ "20,14": 0, "20,15": 0, "20,16": 0, - "20,17": 0, "20,18": 0, "20,19": 0, - "20,20": 0, "20,21": 0, "21,0": 0, "21,1": 0, + "21,18": 5, + "21,19": 0, + "21,20": 0, "21,21": 0, "22,0": 0, "22,1": 0, @@ -1858,28 +1978,28 @@ "29,20": 0, "29,21": 0, "30,0": 0, - "30,1": 4, + "30,1": 6, "30,21": 0, - "31,1": 5, - "31,2": 5, - "31,3": 5, - "31,4": 5, - "31,5": 5, - "31,6": 5, - "31,7": 5, - "31,8": 5, - "31,9": 5, - "31,10": 5, - "31,11": 5, - "31,12": 5, - "31,13": 5, - "31,14": 6, - "31,15": 6, - "31,16": 6, - "31,17": 6, - "31,18": 6, - "31,19": 6, - "31,20": 6, + "31,1": 7, + "31,2": 7, + "31,3": 7, + "31,4": 7, + "31,5": 7, + "31,6": 7, + "31,7": 7, + "31,8": 7, + "31,9": 7, + "31,10": 7, + "31,11": 7, + "31,12": 7, + "31,13": 7, + "31,14": 8, + "31,15": 8, + "31,16": 8, + "31,17": 8, + "31,18": 8, + "31,19": 8, + "31,20": 8, "32,14": 0, "32,15": 0, "32,16": 0, @@ -1911,7 +2031,6 @@ "27,1,1,20", "12,15,1,6", "12,1,1,13", - "2,6,1,15", "5,6,2,15", "2,1,4,4", "35,1,1,3", @@ -1920,7 +2039,11 @@ "9,15,1,6", "9,1,1,13", "30,1,1,20", - "21,1,1,20" + "21,18,1,3", + "21,1,1,16", + "2,6,1,9", + "2,16,1,5", + "33,1,1,5" ], "PageInfo": { "$type": "Forguncy.Model.Pages.NormalPage, ServerDesignerCommon", @@ -1943,6 +2066,22 @@ "RelatedDataTableName": "项目表", "ConditionFormatRulesCollection": { "Rules": [ + { + "$type": "Forguncy.ConditionFormat.FormulaRule, ServerDesignerCommon", + "Formula": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=ISBLANK(项目信息!项目ID)" + }, + "Priority": 4, + "GUID": "20ab66f4-8f42-4a32-a499-e96087c93406", + "StyleInfo": { + "Underline": null, + "Strikethrough": null + }, + "IsDisabled": false, + "IsInvisible": false, + "IsReadOnly": false + }, { "$type": "Forguncy.ConditionFormat.FormulaRule, ServerDesignerCommon", "Formula": { @@ -1979,7 +2118,7 @@ "$type": "Forguncy.ConditionFormat.FormulaRule, ServerDesignerCommon", "Formula": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=IF(OR(项目信息!项目ID>0,项目信息!$P$19),1,0)" + "SerializeProperty": "=IF(AND(项目信息!项目ID>0,项目信息!$P$19),1,0)" }, "Priority": 1, "GUID": "c6a3b850-e670-401e-87fc-553622e7d5ec", @@ -1995,7 +2134,7 @@ "$type": "Forguncy.ConditionFormat.FormulaRule, ServerDesignerCommon", "Formula": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=IF(OR(项目信息!项目ID>0,项目信息!$P$19),1,0)" + "SerializeProperty": "=IF(AND(项目信息!项目ID>0,项目信息!$P$19),1,0)" }, "GUID": "80882aaf-77a4-42c8-a371-0d9c66111d9c", "StyleInfo": { @@ -2019,4 +2158,4 @@ "Formula": "项目信息!$B$36" } ] -}//s4BtXt5a44VRA0TE+h8XzHw4sRyHpL3+Kk5+Lgq6C5+KwOchJ6Somo0Ehy7tsTf4DhOyk/12nu5ogiV0hGXXfHYubGdpQeEKAHXRHqg2B0qFxZOFHDOYifecmDLNiMxloGIWbGdIw3sC5mFvPf9Wmw+b4zgWP8k1X/2MbZkD571bP12GcfbLzxD6ESMfN4sBbPo3ASBYKPOXAMYGXzH8NH+kTpSz3xPA+DrDrjfETUF01AAQYpn4TVwF2CjqYjTBtt2WpiSKqHij0y+1q45mqT2PMBcUUphuwhW6dH7Fa1P7AePBs+zWQlHGNw9xerFH+JfCuGAwRf9rV5SexZrvtOuiN1zBmBTq4DaP0/inEX3/aPJV0lp16lsO7BOV8OlbXoWzwVZHMFcMfHjxx5NjnVsUNGYbrlwgF4YM7HL96Nx7MfLfaZIMSD445Q/NwguEx34OiYTKSCfGZMrN4OikIW24M0VLuBWnsp+2IoMe1VU2xEq0Rq4nAttYINd8MoJxxDtGkZQso0xuRkVvEDdC/hswSTOgbjQhqIi2qlBoyD1NtABREFrDKQqdKCMjpLFbatFkCAIOCpK8lwcTwGP9t2SkdmpSfCwsQBHwXEqW84En+QU163arsAnVlnidfzd1LakrXabUJyHGRDHmqvd1SfwRIaT1BJgRFUM+ZDMzrrpuLbcQgj79aLyJ+gAlw8talYX4uvNyzvvWGyVjj+kx/nDFAgJ3faYYt+vYyVe9r6I4wElsIIKZm1fabVqsdewapD5aLOQZRHI0A2K+zqLsANhnYyi9bPBj9bRcbAr1JAP4PwKIDYjiEB+1QzxtNM0h91zqcEJ5EH8fDRVCjdOZSK7ux/UN8Sc3i+KCAD4muqjae2CzXzIlXJV3I8auqLpJS8Jhi5/H0VQKR9/JSCIVog==|920 \ No newline at end of file +}//gTsH0i18d4MbqWTU3fY6f2r0zM92LHsVRuiKYz1Tny1kqkKztCkukMLGBFFY9v0s6CwQGgP1v32ys1SCburhXeBuQROI424gl5x6YGaf9LXzKJmvGOfAnYgin/yuE5+nDWraPD0ldlGpcsQxxoxLlAPmimd3oCfyBTaPXD+6jTTVyPMykYl3guuVRAVYGxmS/kuJ80bq2P+mCa/kehyXUbyNX7KU9WE49a2jtegmEMjccrG2pnD6wPLFtRePscF0A67uJUYTsPp5mffzyx0V+W2asDoQ9R3y5Ul+vSQj5peux3NlqionVIQdn7AXKXguqnt0rhU7xF9x3wU0cN8WlVBlCwSKNaiFhYRngfFCxqn1eSHTjnSTNnZuX0+uoWNfBVSrgYmbNxi6Al9BezfBf0N961aJeC36LEh5QajIo916vu2U4Zj/p+yOcIkl3kbKy0vIt3ewSYD/9K5KuXn2lj55TxQX7F0u5sj5fRJ9DaPDiurwVoIUsZs2gY20pOaL4uMMrPNeeJJ98FJKXU9F1zMe8z80T/lXMRBGAdmhSor2dcUvkijQ91fN/ym7slzv9r0+UCfnvYMO53hjLv4jtQc/tBevzLAwVvS60fdP1752RoY547kZT0NxEarodhYMPWKIaBcBsnk0hye7JcMjdI+mHyyn8rilCxZhfmQzPVEsPEvUzVscRv3rDCqefmzq9Pr+Go5jMmAZCOFRjV3Xp/EjJvHHzZfDPijk+tHP0L1rut4O4kHErB5ggRYJA0cBXmtyW8tnTiMnGk+U8ttHA1uqjmimiMbwYefj8H/4FwA/KgSgr5F8VALkKDgfZSt3Puwl/53qylFnxO650PKYB4jm9m4raL0YipIeN+Bf1EBvomWq/LjbbCGGhCDbvM3yCEUjdhXTwrp1SXyar1/VDQ==|920 \ No newline at end of file diff --git a/Pages/项目/项目首页/项目配置/项目信息.rd b/Pages/项目/项目首页/项目配置/项目信息.rd index e5ad38a7..0412aebe 100644 --- a/Pages/项目/项目首页/项目配置/项目信息.rd +++ b/Pages/项目/项目首页/项目配置/项目信息.rd @@ -4,7 +4,8 @@ "RowCount": 36, "Formulas": { "9,1": "TEXT(E36,\"yyyy-mm-dd\")&\",\"&TEXT(I36,\"yyyy-mm-dd\")", - "9,15": "DATEDIF(E36,I36,\"d\")" + "9,15": "DATEDIF(E36,I36,\"d\")", + "2,16": "IF(G3=\"\",\"\",G3)" }, "CustomNames": [ { diff --git a/Pages/项目/项目首页/预算申请/预算申请.json b/Pages/项目/项目首页/预算申请/预算申请.json index 99474e0a..fd3fda6b 100644 --- a/Pages/项目/项目首页/预算申请/预算申请.json +++ b/Pages/项目/项目首页/预算申请/预算申请.json @@ -68,7 +68,7 @@ }, "17": { "GridRowColumnDefinition": { - "DesignLengthInPixel": 71.0 + "DesignLengthInPixel": 145.0 } }, "18": { @@ -509,7 +509,133 @@ }, "CellType": { "$type": "ElementUI.InputNumberCellType, ElementUI", - "CommandList": [], + "CommandList": [ + { + "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", + "ConditionAndCommandPairList": [ + { + "Condition": { + "$type": "ForguncyDataAccess.RelationSqlCondition, ForguncyDataAccess", + "SubConditions": [ + { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionPageElementParam, ServerDesignerCommon", + "cellLocations": [ + { + "SerializeProperty": "=预算申请!项目ID" + } + ] + }, + "value": "%Null%", + "compareType": 1 + }, + { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionContextPropertyParam, ServerDesignerCommon", + "contextProperty": { + "Display": "值变更原因" + } + }, + "value": "userInput" + } + ] + }, + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "平均时薪", + "TableValue": { + "TableName": "View_项目统计信息", + "TableValueType": 1, + "BindingInfos": [ + { + "BindingInfo": { + "TableName": "View_项目统计信息", + "ColumnName": "平均时薪", + "GUID": "7c56b8f9-1ec0-4699-bbcf-44ced19ad36e" + }, + "ColumnName": "平均时薪" + } + ], + "SqlCondition": { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "View_项目统计信息", + "ColumnName": "项目ID", + "GUID": "756269cb-0ef8-452d-8196-9ab9d0a3e235" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=预算申请!项目ID" + } + }, + "TopCount": "1" + }, + "ID": "07cd9b8c48cd4f7cbb65631c439a59a3" + }, + { + "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", + "ConditionAndCommandPairList": [ + { + "Condition": { + "$type": "ForguncyDataAccess.RelationSqlCondition, ForguncyDataAccess", + "SubConditions": [ + { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionPageElementParam, ServerDesignerCommon", + "cellLocations": [ + { + "SerializeProperty": "=预算申请!平均时薪" + } + ] + }, + "value": "%Null%" + }, + { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionPageElementParam, ServerDesignerCommon", + "cellLocations": [ + { + "SerializeProperty": "=预算申请!平均时薪.平均时薪" + } + ] + }, + "value": "0", + "compareType": 2 + } + ] + }, + "CommandList": [ + { + "$type": "Forguncy.Model.SetCellPropertyCommand, ServerDesignerCommon", + "PropertyItemsList": [ + { + "TargetCells": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=预算申请!B15" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=ROUNDUP(预算申请!平均时薪.平均时薪*预算申请!B12,0)" + } + } + ] + } + ], + "ID": "5ca54c2b-d535-4b8a-bb61-cfc9e176a132" + } + ] + } + ], + "ID": "6daf16d3-5876-4d35-9ab5-9641652a6da9" + } + ] + } + ], "UIPermissions": [ { "Scope": 2, @@ -574,6 +700,8 @@ "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=OR(预算申请!B12>0,预算申请!B15>0)" }, + "InputMessageTitle": "该怎么填?", + "InputMessage": "填写工时后,系统会自动计算大致上还需多少预算成本,如果你有更清晰的预算,请直接手动填写", "ErrorMessage": "申请增补工时和增补预算必须填写一项" } }, @@ -608,11 +736,18 @@ ], "type": "textarea", "placeholder": "请输入", - "resize": "none" + "resize": "vertical" }, "DataValidationInfo": { "IgnoreBlank": false } + }, + "20,1": { + "BindingInfo": { + "TableName": "项目预算变动表", + "ColumnName": "ID", + "GUID": "ab3f7cf7-bb85-48c6-99b0-1ed0b3a9f0b7" + } } }, "StyleDatas": { @@ -654,6 +789,11 @@ "FontSize": 13.333333333333332, "Formatter": 6, "HorizontalAlignment": 5 + }, + { + "FontFamily": 2, + "FontSize": 13.333333333333332, + "HorizontalAlignment": 7 } ], "Types": { @@ -664,7 +804,8 @@ "[AUTO]General", "0\"小时\"", "Left", - "¥#,##0_);[Red](¥#,##0)" + "¥#,##0_);[Red](¥#,##0)", + "Right" ], "Borders": [ { @@ -822,7 +963,7 @@ "13,13": 3, "13,14": 3, "13,15": 3, - "13,16": 3, + "13,16": 8, "13,17": 3, "13,18": 1, "14,1": 3, @@ -885,7 +1026,8 @@ "17,1,2,16", "5,1,1,16", "8,9,1,8", - "8,1,1,8" + "8,1,1,8", + "20,1,1,4" ], "PageInfo": { "$type": "Forguncy.Model.Pages.NormalPage, ServerDesignerCommon", @@ -932,6 +1074,10 @@ { "Name": "项目ID", "Formula": "预算申请!$B$3" + }, + { + "Name": "变动表ID", + "Formula": "预算申请!$B$21" } ] -}//6dOYconz6rQsaYEyiClV7/hS4ubTX1VE3V6qB857smu6CyFsopagttGqV/rW7nZl3khPnu34CseGGf9XKd568vY+hsRaWVzlZk37lZuWQRSCMDQTvStOYlF4HYy0qDhyvJ6U+MJC1pkx3lWkGfOvRxEMypNaC4qyDC8NRWb7r10qZkEJ9s/LU7DjyN1m5fQFFSIVIS9TzdJTV0TXEtphvStGLE+wFFXsMY3oq88onPW9wm4xQAnUnaRwJPPuVsXPTANLnSOfagUN+p9S80vFPiLOZ0QUC9T2BQzeF9qEgf/Rf1kdNEf7oCAAEVchswBNF+NwTKvteBFxGfhRt1iF5fz48BKtHuBlYCk9dsnoWAZs3MqS0LQVDrBhgw/R7MzQ+Z91eoolgP9edBPZ2iK+xsAOfT7OrajpUhcuqkQhgX5rblJilMKemjmA6s3H2BUcsEd/BZFwXSHEfnEQXR9rebxNoXLgEGvIFBEB6PXJ9BbEHFbJoCdalwNs/FhYTDrTPcs8i9Pm9Ca/Bw2OwIiq8w7YppjuArPuEqP8myjjZTjQ5GeT902kytPjO1VxOx+nnXHvHdIeulF6qR8ycG7lTtAaPd2NiEXguuSyl/S14Xfa8kx3nb88WdElLW8Iv+h3ng4wPKzDo2drWA/o2hbeqeLRJLuUeT25Q1gaX/HXEOiGUkffvvwSj1Nue6pbOqT2wFyZfry2Ue2eOlvH/ADlcZuLOvbC4/L/Rrulgs5fSDrZT01OqX6vyIzWFaaqwAvkpT9brsNzLATeNWnQKcziiSunxSXr3n3kBWC1naRIhNkg2oi4N/FGlGq5xozjYPlJv7M5DkkKl6EQDNt7cV17vNyiP2Y61gRgA1+F7yUF8SxYH0ijLeHsB6I7xBGCJpB4R0FtQZhmRHW+R6R+v1wg+A==|920 \ No newline at end of file +}///Zv9/l9pbVd0rGsZAt/3pErTBOTa1HpxePCrW0C17bxRYayYIjAxTywoFNldr9OT+PzOo3l4M8wxgiEVCPZcSiOwfiwGOdwbs5vN5CZbVvK6Ybn6MS0PALMKD3Bqm2bFWAfAq8i6E24XF8ODGP/G7cR3a5QhgEom96NA6nvvrq9Qr4kjhdaC3RPa+XBOq4R1j/ZaYmna7Tkuk3PgWNzAcmvPogulpdFA+PcVb/99fOYbuYBXH7vQBXfSacHEm68HkutkrLDsKmphLG+cpw2R8m0a0E+uoblf95JZPBayDsvgYLxU7tHI+XRiloL6YDyZbr5YkGzMcZQ/7eGly5Rne46+mUzF5DmlDtySCi3oDzEMOqLLspUKSzSe7bNnr//NteFe2OoiGHNsA3x2aEp52IByS2CRGCkj/Kl1KY91Bzf/6H2mK4vxf4zOrqhcMy5C5SetOnKWq8ttAo+PaUzZw1wwR0tugYM/+OI4zCIxscghId3SYhFPGXiQ+7sU9Cypj/I5N3CZ9Zq9S/tyEYqwjUIuoM+0TgXnp6TuiNy3sjdp9PKvzgJmfylBWUFi2wH04iz1T0s66GIuU2nn2fZ3k2M3QT0ku2DG4t5TEXxwpoxVO2/V579fBBetQ0URYeji6BzV4vd7+KUKE7NTQ2bDBjXLWBQt4WQyLmbVtAxmyMuNk0fGCfCv9Z6E9eSbxDpNCvpdoTCPurtU3JXOG00OoATpBEZayz927MrJX9frxw722oHwTNuM3vV6vr5enJ6uwDCUtNjIKzDKvzdlkXcN7zS764y10SIkGxjNX2ShHwhJZvOG9k5hRzmHwzVur1zE08PYLGAZG0vuOKrOn42ZReVp/AEz5HGA4jPoB2PaoUJ51cYqLd6KPCvEEohJbZnQef/UXkSWbeLn75W8P0ELOw==|920 \ No newline at end of file diff --git a/Pages/项目/项目首页/预算申请/预算申请.rd b/Pages/项目/项目首页/预算申请/预算申请.rd index 61b804d9..26631ca1 100644 --- a/Pages/项目/项目首页/预算申请/预算申请.rd +++ b/Pages/项目/项目首页/预算申请/预算申请.rd @@ -6,6 +6,10 @@ { "Name": "项目ID", "Formula": "预算申请!$B$3" + }, + { + "Name": "变动表ID", + "Formula": "预算申请!$B$21" } ] } \ No newline at end of file diff --git a/Plugin/可交互的页面容器(iFrame)-8_0_0_0.zip b/Plugin/可交互的页面容器(iFrame)-8_0_0_0.zip deleted file mode 100644 index 06f8db767fe399c70e6e4881c277ca911944f390..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44528 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 diff --git a/Reports/工时报表.json b/Reports/工时报表.json index e1eb8268..2e6d5f49 100644 --- a/Reports/工时报表.json +++ b/Reports/工时报表.json @@ -52,10 +52,26 @@ { "BindingInfo": { "TableName": "View_任务工时统计", - "ColumnName": "计算提成", - "GUID": "bc6c396b-7605-45b0-961b-995d849fb135" + "ColumnName": "计划工时", + "GUID": "65e0ccab-4af0-4ba9-a36a-eda6a070610d" }, - "ColumnName": "计算提成" + "ColumnName": "计划工时" + }, + { + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "上报工时", + "GUID": "e10f795f-d132-40d2-ace9-07ac13514d9a" + }, + "ColumnName": "上报工时" + }, + { + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "实际工时", + "GUID": "6ef0aa5a-2d1e-4bc8-9c6d-17444f970d6d" + }, + "ColumnName": "实际工时" } ] }, @@ -64,6 +80,8 @@ "string", "string", "string", + "number", + "number", "number" ] } diff --git a/Reports/工时报表.rdlx b/Reports/工时报表.rdlx index da294d4e..e7442fc4 100644 --- a/Reports/工时报表.rdlx +++ b/Reports/工时报表.rdlx @@ -1 +1 @@ -工时报表.rdlx3.75cm0cm0cm4.001cm1.5cmDimGraytrue用户名20cm0cm5.001cm1.5cmDimGraytrue项目22cm2cm2.5cm2.5cm1cm0cm0cm2cm1cmDimGraytrue核定工时=Sum(Fields.Item("核定工时").Value)0cm0cm2cm1cmDimGraytrue计算提成=Sum(Fields.Item("计算提成").Value)0cm0cm2.5cm1cmDimGraytrue=Sum(Fields.Item("核定工时").Value)0cm0cm2.5cm1cmDimGraytrue=Sum(Fields.Item("计算提成").Value)0.75cm0cm0cm2cm0.75cmDimGraytrue=Sum(Fields.Item("核定工时").Value)0cm0cm2cm0.75cmDimGraytrue=Sum(Fields.Item("计算提成").Value)0cm0cm2.5cm0.75cmDimGraytrue=Sum(Fields.Item("核定工时").Value)0cm0cm2.5cm0.75cmDimGraytrue=Sum(Fields.Item("计算提成").Value)=Fields!日期.ValueAscending=Fields!日期.Value0.75cm0cm0cm4cm0.75cmDimGraytrue日期=Fields.Item("日期").Value0.75cm0cm0cm2cm0.75cmDimGraytrue核定工时0.75cm0cm0cm2cm0.75cmDimGraytrue计算提成0.75cm0cm0cm5cm0.75cmDimGraytrue汇总0.75cm0cm0cm2.5cm0.75cmDimGraytrue核定工时0.75cm0cm0cm2.5cm0.75cmDimGraytrue计算提成=Fields!用户名.ValueAscending=Fields!用户名.Value4.001cm0cm0cm4.001cm1cmDimGraytrue用户名=Fields.Item("成员").ValueTrue=Fields!项目.Value5.001cm0cm0cm5.001cm1cmDimGraytrue项目=Fields.Item("项目").Value文本框24.001cm0cm0cm4.001cm0.75cmDimGraytrue汇总5.001cm0cm0cm5.001cm0.75cmDimGraytruetrue0.5cm0.499cm18.002cm3.25cm2WizardModel{"layoutOptions":{"totals":{"totalsForRowGroups":true,"subtotalsForRowGroups":false,"totalsForColumnGroups":true,"subtotalsForColumnGroups":false,"showTotalsBeforeGroup":false},"features":{"expandCollapseGroups":true,"collapsedGroups":false,"enableUserSort":false,"steppedRowGroups":false,"showValuesAsRows":false}},"columnHierarchy":[{"group":{"name":"矩表1_日期_分组","field":{"name":"日期","expr":"=Fields!日期.Value"},"sorting":{"value":"=Fields!日期.Value","direction":"Ascending"},"itemName":"文本框1","itemValue":"=Fields.Item(\"日期\").Value","format":"d"},"children":[],"startBodyIndex":0,"endBodyIndex":1}],"rowHierarchy":[{"group":{"name":"矩表1_用户名_分组","field":{"name":"用户名","expr":"=Fields!用户名.Value"},"sorting":{"value":"=Fields!用户名.Value","direction":"Ascending"},"itemName":"文本框2","itemValue":"=Fields.Item(\"成员\").Value","format":""},"children":[{"group":{"name":"矩表1_项目_分组","field":{"name":"项目","expr":"=Fields!项目.Value"},"sorting":null,"itemName":"文本框6","itemValue":"=Fields!项目.Value","format":""},"children":[],"startBodyIndex":0,"endBodyIndex":0}],"startBodyIndex":null,"endBodyIndex":null}],"body":[[{"itemName":"文本框4","field":{"name":"核定工时","expr":"=Sum(Fields.Item(\"核定工时\").Value)"},"aggregate":"Sum","format":""},{"itemName":"文本框5","field":{"name":"计算提成","expr":"=Sum(Fields.Item(\"计算提成\").Value)"},"aggregate":"Sum","format":""}]]}工时表_DataSet1cm1cm29.7cm42cm1cm1cm18.501cmjsondoc=http://localhost:40013/Forguncy/ARDataSource/GetDataSource/eaf0055e-b7c7-4fd9-9f79-abb67577832d;schemadata={"type":"array","items":{"type":"object","properties":{"日期":{"type":"date-time"},"成员":{"type":"string"},"项目":{"type":"string"},"任务":{"type":"string"},"计算提成":{"type":"number"}}}}JSON日期成员项目任务计算提成$.[*]工时表DisplayTypeGalleySizeTypeFitToPagePaperOrientationLandscapeParametersView{"controls":[{"left":15,"top":15,"width":275,"height":60,"control":{"type":"date-range","binding":["",""],"maxRange":["none"],"viewMode":"default","daysViewHeaderFormat":"","label":{"display":"top","text":"日期范围"}}}]}DefaultTheme.rdlx-theme \ No newline at end of file +工时报表.rdlx3.5cm0cm0cm4.001cm1.5cmDimGraytrue用户名20cm0cm5.001cm1.5cmDimGraytrue项目20cm0cm2.5cm1.5cmDimGraytrue任务22.5cm2.5cm2.5cm2.5cm2.5cm2.5cm0.75cm0cm0cm2.5cm0.75cmDimGraytrue计划工时=Sum(Fields!计划工时.Value)0cm0cm2.5cm0.75cmDimGraytrue上报工时=Sum(Fields!上报工时.Value)0cm0cm2.5cm0.75cmDimGraytrue实际工时=Sum(Fields!实际工时.Value)0cm0cm2.5cm0.75cmDimGraytrue=Sum(Fields!计划工时.Value)0cm0cm2.5cm0.75cmDimGraytrue=Sum(Fields!上报工时.Value)0cm0cm2.5cm0.75cmDimGraytrue=Sum(Fields!实际工时.Value)0.75cm0cm0cm2.5cm0.75cmDimGraytrue=Sum(Fields!计划工时.Value)0cm0cm2.5cm0.75cmDimGraytrue=Sum(Fields!上报工时.Value)0cm0cm2.5cm0.75cmDimGraytrue=Sum(Fields!实际工时.Value)0cm0cm2.5cm0.75cmDimGraytrue=Sum(Fields!计划工时.Value)0cm0cm2.5cm0.75cmDimGraytrue=Sum(Fields!上报工时.Value)0cm0cm2.5cm0.75cmDimGraytrue=Sum(Fields!实际工时.Value)=Fields!日期.ValueAscending=Fields!日期.Value0.75cm0cm0cm7.5cm0.75cmDimGraytrue日期=Fields.Item("日期").Value0.75cm0cm0cm2.5cm0.75cmDimGraytrue计划工时0.75cm0cm0cm2.5cm0.75cmDimGraytrue上报工时0.75cm0cm0cm2.5cm0.75cmDimGraytrue实际工时0.75cm0cm0cm7.5cm0.75cmDimGraytrue汇总0.75cm0cm0cm2.5cm0.75cmDimGraytrue计划工时0.75cm0cm0cm2.5cm0.75cmDimGraytrue上报工时0.75cm0cm0cm2.5cm0.75cmDimGraytrue实际工时=Fields!用户名.ValueAscending=Fields!用户名.Value3.502cm0cm0cm4.001cm0.75cmDimGraytrue用户名=Fields.Item("成员").ValueTrue=Fields!项目.Value4.502cm0cm0cm5.001cm0.75cmDimGraytrue项目=Fields.Item("项目").ValueTrue=Fields!任务.Value4.498cm0cm0cm2.5cm0.75cmDimGraytrue任务=Fields!任务.Value文本框6文本框23.502cm0cm0cm4.001cm0.75cmDimGraytrue汇总4.502cm0cm0cm5.001cm0.75cmDimGraytrue4.498cm0cm0cm2.5cm0.75cmDimGraytrue2true0.5cm0.499cm27.502cm3cm2WizardModel{"layoutOptions":{"totals":{"totalsForRowGroups":true,"subtotalsForRowGroups":false,"totalsForColumnGroups":true,"subtotalsForColumnGroups":false,"showTotalsBeforeGroup":false},"features":{"expandCollapseGroups":true,"collapsedGroups":false,"enableUserSort":false,"steppedRowGroups":false,"showValuesAsRows":false}},"columnHierarchy":[{"group":{"name":"矩表1_日期_分组","field":{"name":"日期","expr":"=Fields!日期.Value"},"sorting":{"value":"=Fields!日期.Value","direction":"Ascending"},"itemName":"文本框1","itemValue":"=Fields.Item(\"日期\").Value","format":"d"},"children":[],"startBodyIndex":0,"endBodyIndex":2}],"rowHierarchy":[{"group":{"name":"矩表1_用户名_分组","field":{"name":"用户名","expr":"=Fields!用户名.Value"},"sorting":{"value":"=Fields!用户名.Value","direction":"Ascending"},"itemName":"文本框2","itemValue":"=Fields.Item(\"成员\").Value","format":""},"children":[{"group":{"name":"矩表1_项目_分组","field":{"name":"项目","expr":"=Fields!项目.Value"},"sorting":null,"itemName":"文本框6","itemValue":"=Fields.Item(\"项目\").Value","format":""},"children":[{"group":{"name":"矩表1_任务_分组","field":{"name":"任务","expr":"=Fields!任务.Value"},"sorting":null,"itemName":"文本框7","itemValue":"=Fields!任务.Value","format":""},"children":[],"startBodyIndex":0,"endBodyIndex":0}],"startBodyIndex":null,"endBodyIndex":null}],"startBodyIndex":null,"endBodyIndex":null}],"body":[[{"itemName":"文本框3","field":{"name":"计划工时","expr":"=Sum(Fields!计划工时.Value)"},"aggregate":"Sum","format":"n1"},{"itemName":"文本框4","field":{"name":"上报工时","expr":"=Sum(Fields!上报工时.Value)"},"aggregate":"Sum","format":"n1"},{"itemName":"文本框5","field":{"name":"实际工时","expr":"=Sum(Fields!实际工时.Value)"},"aggregate":"Sum","format":"n1"}]]}工时表_DataSet1cm1cm29.7cm42cm1cm1cm28.001cmjsondoc=http://localhost:40013/Forguncy/ARDataSource/GetDataSource/eaf0055e-b7c7-4fd9-9f79-abb67577832d;schemadata={"type":"array","items":{"type":"object","properties":{"日期":{"type":"date-time"},"成员":{"type":"string"},"项目":{"type":"string"},"任务":{"type":"string"},"计划工时":{"type":"number"},"上报工时":{"type":"number"},"实际工时":{"type":"number"}}}}JSON日期成员项目任务计划工时上报工时实际工时$.[*]工时表DisplayTypeGalleySizeTypeFitToPagePaperOrientationLandscapeParametersView{"controls":[{"left":15,"top":15,"width":275,"height":60,"control":{"type":"date-range","binding":["",""],"maxRange":["none"],"viewMode":"default","daysViewHeaderFormat":"","label":{"display":"top","text":"日期范围"}}}]}DefaultTheme.rdlx-theme \ No newline at end of file diff --git a/ServerCommands/工时/新增工时.json b/ServerCommands/工时/上报实际工时.json similarity index 58% rename from ServerCommands/工时/新增工时.json rename to ServerCommands/工时/上报实际工时.json index 7339a9d9..a81c3b21 100644 --- a/ServerCommands/工时/新增工时.json +++ b/ServerCommands/工时/上报实际工时.json @@ -1,5 +1,5 @@ { - "Name": "新增工时", + "Name": "上报实际工时", "Enabled": true, "Triggers": [ { @@ -61,13 +61,6 @@ "DataValidationInfo": {}, "TestData": "测试" }, - { - "Name": "工时类型", - "DataValidationInfo": { - "IgnoreBlank": false - }, - "TestData": "计划" - }, { "Name": "指定时薪单价", "DataValidationInfo": {} @@ -98,6 +91,18 @@ }, "ColumnName": "参与人" }, + { + "BindingInfo": { + "TableName": "任务成员表", + "ColumnName": "参与人", + "GUID": "671ec8a8-ebc7-42d3-8fda-f2686d841ead", + "AttachType": { + "$type": "ForguncyDataAccess.UserColumnAttachObj, ForguncyDataAccess", + "UserColumnAttachType": 1 + } + }, + "ColumnName": "参与人_全名" + }, { "BindingInfo": { "TableName": "任务成员表", @@ -178,7 +183,7 @@ "NullFormulaValueQueryPolicy": 0, "TopCount": "1" }, - "ID": "0a5d5118ccfd4fee8c6c1a68d603f940" + "ID": "9a67d1972a8741d2af5edb5a82988945" }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", @@ -409,7 +414,7 @@ "NullFormulaValueQueryPolicy": 0, "TopCount": "1" }, - "ID": "61bdec787f01462093f359a61c71a486" + "ID": "a5c0934784614060ab0287e29ae7729e" }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", @@ -418,7 +423,25 @@ "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=任务信息.提成系数" }, - "ID": "197d3beb51834211a7661c4a22538a0c" + "ID": "cb367be8fb7748938fbb70bd84ece17b" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "核定工时", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=工时数" + }, + "ID": "082f169b38f44fdda8b19e98912a9d4e" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "分配天数", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=DATEDIF(开始日期,结束日期,\"d\")+1" + }, + "ID": "3116169271594431b3b1c7d31a006d8b" }, { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", @@ -446,10 +469,10 @@ "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=工时类型" + "SerializeProperty": "=指定时薪单价" } }, - "value": "实际" + "value": "%Null%" }, "CommandList": [ { @@ -462,202 +485,160 @@ "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=指定时薪单价" + "SerializeProperty": "=任务成员.任务成员时薪" } }, - "value": "%Null%" + "value": "%Null%", + "compareType": 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": "%Null%", - "compareType": 1 - }, - "CommandList": [ - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "计算时薪", - "ParameterValue": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=任务成员.任务默认时薪" - }, - "ID": "068f4611d05f4d0f8c97425c44bea1f0" - }, - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "时薪计算来源", - "ParameterValue": "任务成员时薪", - "ID": "59b966a6d5e042b79fba6d9e1f659758" - } - ], - "ID": "54a09784-5bf4-4d29-9566-cb9a687aad4a" - }, - { - "Condition": { - "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", - "param": { - "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", - "ParamObject": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=任务成员.任务岗位时薪" - } - }, - "value": "%Null%", - "compareType": 1 - }, - "CommandList": [ - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "计算时薪", - "ParameterValue": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=任务成员.岗位默认时薪" - }, - "ID": "9cae0ca147fd4f36bf12d59e368f2c57" - }, - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "时薪计算来源", - "ParameterValue": "任务岗位时薪", - "ID": "05df8d3ef9fa454b8ec03882ddda515f" - } - ], - "ID": "c05b29d9-66c2-43ff-8150-87ca39602894" - }, - { - "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": "%Null%", - "compareType": 1 - }, - { - "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", - "param": { - "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", - "ParamObject": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=项目成员.项目成员时薪" - } - }, - "value": "%Null%", - "compareType": 1 - } - ] - }, - "CommandList": [ - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "计算时薪", - "ParameterValue": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=项目成员.项目成员时薪" - }, - "ID": "8cf0a96476814aa489e3e46860a6e39d" - }, - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "时薪计算来源", - "ParameterValue": "项目成员时薪", - "ID": "25ff3a82fd57430b94e16b296b77c513" - } - ], - "ID": "a36db835-d9c8-4599-9a9d-063786bdf682" - }, - { - "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": "%Null%", - "compareType": 1 - }, - { - "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", - "param": { - "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", - "ParamObject": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=项目成员.项目岗位时薪" - } - }, - "value": "%Null%", - "compareType": 1 - } - ] - }, - "CommandList": [ - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "计算时薪", - "ParameterValue": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=项目成员.项目岗位时薪" - }, - "ID": "7656d9a836d942e092139516a992880e" - }, - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "时薪计算来源", - "ParameterValue": "项目岗位时薪", - "ID": "22bb1104b90b4467b078e638f3f4aa51" - } - ], - "ID": "9231fdab-3dc7-4e78-840f-22d7914dcbd3" - }, - { - "CommandList": [ - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "计算时薪", - "ParameterValue": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=任务成员.参与人默认时薪" - }, - "ID": "b5dd3212338449fc8f5aed3c3b6b3993" - }, - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "时薪计算来源", - "ParameterValue": "用户默认时薪", - "ID": "fd64e93a07ae4ca2820422202ad6e7a4" - } - ], - "ID": "512952ad-78b9-4c0a-9503-725487cc3946" - } - ] + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "计算时薪", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务成员.任务默认时薪" + }, + "ID": "068f4611d05f4d0f8c97425c44bea1f0" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "时薪计算来源", + "ParameterValue": "任务成员时薪", + "ID": "59b966a6d5e042b79fba6d9e1f659758" } ], - "Comments": "优先使用手动指定的提成金额", - "ID": "d45a9dd1-71ee-4a94-bff2-83627039f241" + "ID": "33922062-2222-4bb8-bc56-b3311e1684fb" + }, + { + "Condition": { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", + "ParamObject": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务成员.任务岗位时薪" + } + }, + "value": "%Null%", + "compareType": 1 + }, + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "计算时薪", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务成员.岗位默认时薪" + }, + "ID": "9cae0ca147fd4f36bf12d59e368f2c57" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "时薪计算来源", + "ParameterValue": "任务岗位时薪", + "ID": "05df8d3ef9fa454b8ec03882ddda515f" + } + ], + "ID": "3329df8e-ba90-49ed-b89e-81dce2e2325e" + }, + { + "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": "%Null%", + "compareType": 1 + }, + { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", + "ParamObject": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=项目成员.项目成员时薪" + } + }, + "value": "%Null%", + "compareType": 1 + } + ] + }, + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "计算时薪", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=项目成员.项目成员时薪" + }, + "ID": "8cf0a96476814aa489e3e46860a6e39d" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "时薪计算来源", + "ParameterValue": "项目成员时薪", + "ID": "25ff3a82fd57430b94e16b296b77c513" + } + ], + "ID": "7cc24a11-00c9-4f00-9ef5-08a538b0ab09" + }, + { + "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": "%Null%", + "compareType": 1 + }, + { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", + "ParamObject": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=项目成员.项目岗位时薪" + } + }, + "value": "%Null%", + "compareType": 1 + } + ] + }, + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "计算时薪", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=项目成员.项目岗位时薪" + }, + "ID": "7656d9a836d942e092139516a992880e" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "时薪计算来源", + "ParameterValue": "项目岗位时薪", + "ID": "22bb1104b90b4467b078e638f3f4aa51" + } + ], + "ID": "e03de4f0-8247-4d54-bb3b-76e7cc342f96" }, { "CommandList": [ @@ -666,30 +647,73 @@ "ParameterName": "计算时薪", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=指定时薪单价" + "SerializeProperty": "=任务成员.参与人默认时薪" }, - "ID": "ca05817f6d1e4396b90dbdf80186e656" + "ID": "b5dd3212338449fc8f5aed3c3b6b3993" }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "时薪计算来源", - "ParameterValue": "特殊指定", - "ID": "3045dcff1e074a13b95874e71352f376" + "ParameterValue": "用户默认时薪", + "ID": "fd64e93a07ae4ca2820422202ad6e7a4" } ], - "ID": "694f29d1-9987-4592-903a-54364a933a82" + "ID": "e000eea3-dd3e-475a-98d8-584cc7fe28ef" } ] + } + ], + "Comments": "优先使用手动指定的提成金额", + "ID": "c857b763-899d-46d1-915b-e03337449e75" + }, + { + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "计算时薪", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=指定时薪单价" + }, + "ID": "ca05817f6d1e4396b90dbdf80186e656" }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "预测本次产生成本", - "ParameterValue": { + "ParameterName": "时薪计算来源", + "ParameterValue": "特殊指定", + "ID": "3045dcff1e074a13b95874e71352f376" + } + ], + "ID": "495820ba-24f0-4a76-ae63-53cff1d1f918" + } + ], + "Comments": "计算成员的时薪" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "预测本次产生成本", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=项目统计信息.总成本+(计算时薪*工时数*任务信息.提成系数)" + }, + "ID": "289edaf29203403ea65bf88c15bca148" + }, + { + "$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": "5f700f888c0044f0926c904ef2334c13" + "SerializeProperty": "=任务信息.严格模式" + } }, + "value": "1" + }, + "CommandList": [ { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", "ConditionAndCommandPairList": [ @@ -700,7 +724,7 @@ "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=任务信息.严格模式" + "SerializeProperty": "=任务信息.工时分配方式" } }, "value": "1" @@ -768,7 +792,7 @@ ] } }, - "ID": "c1694818e1114d4ab935a038edf6ed39", + "ID": "aa235f64d4ec4cd582472f40f84747c9", "Comments": "从视图统计项目的信息" }, { @@ -795,122 +819,209 @@ "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "提成系数", "ParameterValue": "0", - "ID": "1334e3b4f0ec48228a6e7e26cf3529f2" + "ID": "e18f1034f12e41a7b90d2a1f58090f54" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "核定工时", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=个人工时情况.总计划工时-个人工时情况.总实际工时" + }, + "ID": "8d0e13be1d7c417b85a401d7241d5a80" } ], "Comments": "先检查个人工时余额够不够,如果不够,直接提成为0", - "ID": "74d5d00b-f4aa-4e25-8b34-1ae68ac34759" - }, - { - "CommandList": [ - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "项目统计信息", - "TableValue": { - "TableName": "View_项目统计信息", - "TableValueType": 1, - "BindingInfos": [ - { - "BindingInfo": { - "TableName": "View_项目统计信息", - "ColumnName": "项目预算费用", - "GUID": "1f23c586-e318-41f8-9e2c-f9fc47949199" - }, - "ColumnName": "项目预算费用" - }, - { - "BindingInfo": { - "TableName": "View_项目统计信息", - "ColumnName": "总成本", - "GUID": "7c3a493f-d2ac-49b3-957f-7a772d5138bf" - }, - "ColumnName": "总成本" - } - ], - "SqlCondition": { - "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", - "ColumnBindingInfo": { - "TableName": "View_项目统计信息", - "ColumnName": "项目ID", - "GUID": "0aa2d908-82fb-4233-a1e8-eb5a36cecaa2" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=任务信息.项目ID" - } - }, - "TopCount": "1" - }, - "ID": "7b60254b867f4588b10193dec395b3b9", - "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": 2 - }, - "CommandList": [ - { - "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", - "ErrorCode": "400", - "Message": "该项目预算费用不足,为确保项目成本可控,请联系项目经理增加项目预算后再提交。" - } - ], - "ID": "bec008b6-f3e8-41a8-a550-78a0190147fc" - } - ] - } - ], - "Comments": "如果个人工时够用,那就检测项目费用有没有超标", - "ID": "c6817e34-211f-4f03-b4ba-ecf2e3e3179a" + "ID": "e7649a19-59b0-45b6-a7e3-2617fb38cbd5" } ] } ], - "Comments": "如果提交的工时类型等于项目工时的核定方式且开启严格模式就校验本次有没有超标", - "ID": "61aad8d4-ae29-4364-8804-9dc5b8089e99" + "Comments": "如果分配到人头,则判断该人总计划工时还够不够", + "ID": "b42842cc-c9b3-4ca4-b6ba-e238c3d326b3" + }, + { + "Condition": { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", + "ParamObject": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务信息.工时分配方式" + } + }, + "value": "3" + }, + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "任务工时情况", + "TableValue": { + "TableName": "View_任务工时统计", + "TableValueType": 1, + "BindingInfos": [ + { + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "任务ID", + "GUID": "976cf4f1-2ec3-4537-8ca8-aac1d965131e" + }, + "ColumnName": "任务ID" + }, + { + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "总计划工时", + "GUID": "37b1cd46-749c-4870-9e65-639974e237b4" + }, + "ColumnName": "总计划工时" + }, + { + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "总实际工时", + "GUID": "58613864-7f3d-4ab2-9b2e-f1e1b7a86879" + }, + "ColumnName": "总实际工时" + } + ], + "SqlCondition": { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "任务ID", + "GUID": "b732175b-c55c-4a15-b703-223f45ab07a1" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务ID" + } + } + }, + "ID": "7ed3dcc708d241e7a556334560d7e374", + "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": 2 + }, + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "提成系数", + "ParameterValue": "1", + "ID": "5ce8a30a1b1f468cb65341bd59a033e0" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "核定工时", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务工时情况.总计划工时-任务工时情况.总实际工时" + }, + "ID": "b03b8286df21427fbb48123ef003f896" + } + ], + "Comments": "先检查个人工时余额够不够,如果不够,直接提成为0", + "ID": "874cf8c6-2cfa-4b0f-b0bb-6d4437a54e6d" + } + ] + } + ], + "Comments": "如果是共用任务工时,则查看任务计划工时够不够", + "ID": "ecbba21c-f4e9-462d-b721-fca7e3d3ae5f" + } + ] + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "项目统计信息", + "TableValue": { + "TableName": "View_项目统计信息", + "TableValueType": 1, + "BindingInfos": [ + { + "BindingInfo": { + "TableName": "View_项目统计信息", + "ColumnName": "项目预算费用", + "GUID": "1f23c586-e318-41f8-9e2c-f9fc47949199" + }, + "ColumnName": "项目预算费用" + }, + { + "BindingInfo": { + "TableName": "View_项目统计信息", + "ColumnName": "总成本", + "GUID": "7c3a493f-d2ac-49b3-957f-7a772d5138bf" + }, + "ColumnName": "总成本" + } + ], + "SqlCondition": { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "View_项目统计信息", + "ColumnName": "项目ID", + "GUID": "0aa2d908-82fb-4233-a1e8-eb5a36cecaa2" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务信息.项目ID" + } + }, + "TopCount": "1" + }, + "ID": "7cde1a8047784dc9baf46af0faf267e4", + "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": 2 + }, + "CommandList": [ + { + "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", + "ErrorCode": "400", + "Message": "该项目预算费用不足,为确保项目成本可控,请联系项目经理增加项目预算后再提交。" + } + ], + "ID": "b8647c55-1034-4992-8851-e5d0875dfc31" } ] } ], - "Comments": "只有实际工时才计算薪资", - "ID": "0c6afe93-7518-48bd-ad4d-5f872d1ba856" - }, - { - "CommandList": [ - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "提成系数", - "ParameterValue": "0", - "ID": "b63c693da0e3450e8cd3e248a56f7487" - }, - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "计算时薪", - "ParameterValue": "0", - "ID": "325abdb37c644aab8a3408594c00e22e" - }, - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "时薪计算来源", - "ID": "f3c8d6221df444e5aa74a1b772b6d5dd" - } - ], - "ID": "009e0869-724b-4563-a405-c13d3adf052f" + "Comments": "如果提交的工时类型等于项目工时的核定方式且开启严格模式就校验本次有没有超标", + "ID": "8e4fdac6-37e1-4511-b350-f44390f36534" } ] }, @@ -919,18 +1030,9 @@ "ParameterName": "待分配工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=工时数" + "SerializeProperty": "=核定工时" }, - "ID": "7a4247754602413e9b1915d6d32ba74e" - }, - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "分配天数", - "ParameterValue": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=DATEDIF(开始日期,结束日期,\"d\")+1" - }, - "ID": "a619e59fb9a5483086717b41b149c937" + "ID": "fe5f3d119ffd464f899933b9abacf133" }, { "$type": "Forguncy.Model.ServerTransactionCommand, ServerDesignerCommon", @@ -954,22 +1056,38 @@ "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=开始日期+(index-1)" }, - "ID": "113f3feeed2644ea9d71bb4251b369dc" + "ID": "172a3023cda9475a8a67528b152807c3" }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "统计工时", "TableValue": { - "TableName": "任务工时表", + "TableName": "View_任务工时统计", "TableValueType": 1, "BindingInfos": [ { "BindingInfo": { - "TableName": "任务工时表", - "ColumnName": "总工时", - "GUID": "a0006a9d-3fba-4cf5-a20a-d2a0909d5175" + "TableName": "View_任务工时统计", + "ColumnName": "总计划工时", + "GUID": "5a63c0a3-e5dd-4851-b197-856a144a9466" }, - "ColumnName": "总工时" + "ColumnName": "总计划工时" + }, + { + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "总实际工时", + "GUID": "21ea4bc4-f68e-446b-9760-413f048a32ea" + }, + "ColumnName": "总实际工时" + }, + { + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "总剩余工时", + "GUID": "93c3c2b9-a863-42a1-9eab-7159aaa0f7a7" + }, + "ColumnName": "总剩余工时" } ], "SqlCondition": { @@ -978,21 +1096,21 @@ { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "ColumnBindingInfo": { - "TableName": "任务工时表", - "ColumnName": "工时日期", - "GUID": "98f3f236-67bc-4db2-9af7-407e52bdcd74" + "TableName": "View_任务工时统计", + "ColumnName": "任务ID", + "GUID": "8d915019-2cfd-4c95-b3b3-158f9b202f35" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=当前日期" + "SerializeProperty": "=任务ID" } }, { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "ColumnBindingInfo": { - "TableName": "任务工时表", + "TableName": "View_任务工时统计", "ColumnName": "执行人", - "GUID": "9a1d5408-9353-4ab0-bef4-91af355df584" + "GUID": "14c58079-0d75-42a0-a3ba-8f35c3a578a1" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -1002,20 +1120,19 @@ { "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", "ColumnBindingInfo": { - "TableName": "任务工时表", - "ColumnName": "工时类型", - "GUID": "6fae6e04-e2b8-4d6c-b594-3bd02c5883d2" + "TableName": "View_任务工时统计", + "ColumnName": "日期", + "GUID": "abf612b1-a865-4aa4-afae-e47acfc79220" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=工时类型" + "SerializeProperty": "=当前日期" } } ] - }, - "NullFormulaValueQueryPolicy": 0 + } }, - "ID": "d656db8f5ee848ebbe64cf32f9ef2d6f" + "ID": "fd2415ab5b7e452b9424170a55e03291" }, { "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", @@ -1042,12 +1159,12 @@ "ParameterName": "计算本次分配工时", "ParameterValue": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=ROUNDUP(工时数/分配天数,1)" + "SerializeProperty": "=ROUNDUP(核定工时/分配天数,1)" }, - "ID": "44b51db4c6be470dbc468d4a9abfa061" + "ID": "0a6bb6880fa44256b05d2356d87df007" } ], - "ID": "a84a8ffe-bab2-412a-83d5-2de8192e6c49" + "ID": "5653b954-d9f9-4e59-aae6-b442f7e54b35" }, { "CommandList": [ @@ -1058,10 +1175,10 @@ "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ROUNDUP(待分配工时,1)" }, - "ID": "de7c26c08e4e4086bfa6f4d8dbcaa4fe" + "ID": "d298d7ee2bed4e108a7671a1a6475966" } ], - "ID": "11949f5b-bf48-49ad-8bb5-0e4a027f4ef5" + "ID": "7cb6e2dd-b69a-4921-9c0f-797f15533567" } ] }, @@ -1075,77 +1192,184 @@ "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", "ParamObject": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=工时类型" + "SerializeProperty": "=统计工时.总实际工时+计算本次分配工时" } }, - "value": "计划" - }, - "CommandList": [ - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "执行人负荷", - "ParameterValue": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=IF(OR(任务成员.参与人负荷=\"\",任务成员.参与人负荷=0,任务成员.参与人负荷>24),24,任务成员.参与人负荷)" - }, - "ID": "4b21e5b0c6bc404f919bd5f571194972" - } - ], - "ID": "217420ce-beff-4aab-af78-6ac36d51ad67" - }, - { - "Condition": { - "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", - "param": { - "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", - "ParamObject": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=工时类型" - } - }, - "value": "实际" - }, - "CommandList": [ - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "执行人负荷", - "ParameterValue": "24", - "ID": "e71ec8ddac3d4747847c0515968762b8" - } - ], - "ID": "2e148162-ac78-43e8-abe0-d608c1524652" - } - ] - }, - { - "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", - "ParameterName": "预计增加后工时", - "ParameterValue": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=IF(统计工时.总工时=\"\",0,统计工时.总工时)+计算本次分配工时" - }, - "ID": "77a3895a2edd474cbf2e59c9957ad6b4" - }, - { - "$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": "=执行人负荷" - }, + "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": "cfba414b12c9457984f4451f7b08a1eb" + } + ], + "Comments": "如果是按天分配,则需要检测这一天的实际工时是否超出,", + "ID": "ef6cc10d-3032-437a-87ea-daf34dd21b6c" + }, + { + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "本次核定工时", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=计算本次分配工时" + }, + "ID": "b54545f6b13d4b8697add0630e495a6b" + } + ], + "ID": "288a8caa-f2ce-451f-8385-4fb93db5e57b" + } + ] + }, + { + "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", + "TableName": "任务工时表", + "UpdateType": "add", + "ShowConfirm": false, + "UpdateBindingValues": [ + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "项目ID", + "GUID": "fda79c92-f467-4574-9c32-f0b801a012ac" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务信息.项目ID" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "任务ID", + "GUID": "770c4415-4e21-4f8c-a597-abd7f04a0bfd" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务ID" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "工时日期", + "GUID": "2bc8dc66-9ca8-4604-8b97-08dbbc9a626a" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=当前日期" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "工时类型", + "GUID": "9789ce12-dd35-4498-9b72-76c43e4e2144" + }, + "Value": "实际" + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "执行人", + "GUID": "ec1c5767-50ba-447b-837b-d4666cdd9f2d" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务成员.参与人" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "执行内容", + "GUID": "4e77c9cd-5d2d-4d0e-8332-038313abf74f" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=进展内容" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "工时", + "GUID": "f72ee1ba-2be6-42d8-aef7-ffd0bc436f3e" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=本次核定工时" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "上报工时", + "GUID": "34a6d798-74c3-4ceb-a2df-8ad4cd476b42" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=计算本次分配工时" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "时薪单价", + "GUID": "c2270dad-808a-4a8b-8489-95d218b811f3" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=计算时薪" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "提成系数", + "GUID": "bd688763-4c3e-4486-8153-d908dfc3dd6b" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=提成系数" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "时薪来源", + "GUID": "f5922f75-cb51-4a11-bc6e-52b1e145d543" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=时薪计算来源" + } + } + ] + }, { "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "待分配工时", @@ -1153,171 +1377,10 @@ "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=ROUNDUP(待分配工时-计算本次分配工时,1)" }, - "ID": "8e34730a7bb547b880d26b1e4d60fc06" - }, - { - "$type": "Forguncy.Model.ServerTransactionCommand, ServerDesignerCommon", - "CommandList": [ - { - "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", - "TableName": "任务工时表", - "UpdateType": "add", - "ShowConfirm": false, - "UpdateBindingValues": [ - { - "BindingInfo": { - "TableName": "任务工时表", - "ColumnName": "项目ID", - "GUID": "1955b8c6-8a47-4adf-8496-d42bb51a380d" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=任务信息.项目ID" - } - }, - { - "BindingInfo": { - "TableName": "任务工时表", - "ColumnName": "任务ID", - "GUID": "d8b2f7bb-534f-42eb-8e51-dfc3e0b5d88a" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=任务ID" - } - }, - { - "BindingInfo": { - "TableName": "任务工时表", - "ColumnName": "工时日期", - "GUID": "3440899e-0e25-451e-999e-414a6c98c0ce" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=当前日期" - } - }, - { - "BindingInfo": { - "TableName": "任务工时表", - "ColumnName": "工时类型", - "GUID": "ccf8e046-5e84-4059-966d-30b4477b06b3" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=工时类型" - } - }, - { - "BindingInfo": { - "TableName": "任务工时表", - "ColumnName": "执行人", - "GUID": "d0641f9c-25fd-43ed-aaf5-c5a0097c10e3" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=任务成员.参与人" - } - }, - { - "BindingInfo": { - "TableName": "任务工时表", - "ColumnName": "执行内容", - "GUID": "a5819bc3-cc9f-434a-a937-99518e1caa86" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=进展内容" - } - }, - { - "BindingInfo": { - "TableName": "任务工时表", - "ColumnName": "工时", - "GUID": "4ba21b15-6d92-4e71-8fa3-c5fd3bdb245c" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=计算本次分配工时" - } - }, - { - "BindingInfo": { - "TableName": "任务工时表", - "ColumnName": "时薪单价", - "GUID": "f8726d71-67c3-4437-b1e9-6ff105b4f7ca" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=计算时薪" - } - }, - { - "BindingInfo": { - "TableName": "任务工时表", - "ColumnName": "提成系数", - "GUID": "89c3976d-acc0-4598-b837-8bacd9876886" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=提成系数" - } - }, - { - "BindingInfo": { - "TableName": "任务工时表", - "ColumnName": "时薪来源", - "GUID": "f8483245-4ea2-423d-8518-68d80d83834b" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=时薪计算来源" - } - } - ] - }, - { - "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", - "TableName": "项目动态", - "UpdateType": "add", - "ShowConfirm": false, - "UpdateBindingValues": [ - { - "BindingInfo": { - "TableName": "项目动态", - "ColumnName": "项目ID", - "GUID": "93679277-9641-47dd-819f-ac3571a21ae5" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=任务信息.项目ID" - } - }, - { - "BindingInfo": { - "TableName": "项目动态", - "ColumnName": "项目动态", - "GUID": "8f465c29-ba82-4212-bd94-bfe43ac0fa42" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=\"任务[\"&任务信息.任务名称&\"]增加\"&工时类型&\"工时\"&工时数&\"小时\"" - } - }, - { - "BindingInfo": { - "TableName": "项目动态", - "ColumnName": "执行人", - "GUID": "a754f2cb-3bfd-439f-99fc-ace8f8510b11" - }, - "Value": "%CurrentUser%" - } - ] - } - ] + "ID": "5d5c7f7462d24dc2aac507bf580830d5" } ], - "ID": "a90fe243-1504-4b5e-a6d6-be6cdd18d6dc" + "ID": "e1ae1fbe-aae8-4949-9726-4162029c9686" }, { "CommandList": [ @@ -1326,25 +1389,63 @@ "ErrorCode": "400", "Message": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=TEXT(当前日期,\"yyyy年mm月dd\")&\"的最大工作负荷超出限制的\"&执行人负荷&\"小时,请重新提交!\"" + "SerializeProperty": "=\"数据不合理:报工后\"&任务成员.参与人_全名&\"在\"&TEXT(当前日期,\"yyyy年mm月dd\")&\"的实际工时会超过24小时,请修改后重新提交!\"" } } ], - "ID": "bec106e1-c3db-4020-aaca-f56d027f769b" + "ID": "484f14c6-c349-45b7-9f0d-6f68e070abe4" } ] } ] + }, + { + "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", + "TableName": "项目动态", + "UpdateType": "add", + "ShowConfirm": false, + "UpdateBindingValues": [ + { + "BindingInfo": { + "TableName": "项目动态", + "ColumnName": "项目ID", + "GUID": "657294a7-01c3-4e27-9a65-1e840457d870" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务信息.项目ID" + } + }, + { + "BindingInfo": { + "TableName": "项目动态", + "ColumnName": "项目动态", + "GUID": "5dcbe3d4-7544-4e8a-bacd-fbc771aed2cc" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务成员.参与人_全名&\"在任务[\"&任务信息.任务名称&\"]中报工\"&工时数&\"小时\"" + } + }, + { + "BindingInfo": { + "TableName": "项目动态", + "ColumnName": "执行人", + "GUID": "e7eba9e1-edcf-4a25-a4fb-371d2eaaa4c4" + }, + "Value": "%CurrentUser%" + } + ] } ] }, { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", "ErrorCode": "0", - "Message": "提交工时成功" + "Message": "报工成功" } ], - "ID": "2353efbd-e5b5-40ee-8e0d-6959f2f38cb8" + "ID": "d97ed517-835c-4902-8d7b-92065a8eb0ec" }, { "CommandList": [ @@ -1357,12 +1458,12 @@ } } ], - "ID": "8bd26440-0bbd-4e27-ad10-08b3d3668227" + "ID": "b59393e2-49c6-4ec1-a5fc-cb89e9961a5d" } ] } ], - "ID": "a207d3ae-ca93-42a5-b470-2bb73c554012" + "ID": "ac684dec-1eaa-4e07-8135-5d5661522404" }, { "CommandList": [ @@ -1372,7 +1473,7 @@ "Message": "成员不在任务内,无法报工!" } ], - "ID": "a03e07aa-d2a3-4e47-9761-b26576651505" + "ID": "a9a59bb7-4339-4d9e-80c3-575c23dc3429" } ] } diff --git a/ServerCommands/工时/修改工时.json b/ServerCommands/工时/修改工时.json index 57abb434..18a0fca1 100644 --- a/ServerCommands/工时/修改工时.json +++ b/ServerCommands/工时/修改工时.json @@ -143,7 +143,7 @@ "NullFormulaValueQueryPolicy": 0, "TopCount": "1" }, - "ID": "b3486434c4354cb2aef1ba93be0f48e7" + "ID": "dd12c61c71d948d8a6486730f5bbf117" }, { "$type": "Forguncy.Model.ServerTransactionCommand, ServerDesignerCommon", @@ -169,82 +169,162 @@ } }, { - "$type": "Forguncy.Model.RequestServerCommand, ServerDesignerCommon", - "ServerCommandName": "新增工时", - "Parameters": [ + "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", + "ConditionAndCommandPairList": [ { - "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", - "ParamName": "任务ID", - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=报工信息.任务ID" - } + "Condition": { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", + "ParamObject": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=报工信息.工时类型" + } + }, + "value": "实际" + }, + "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": "=成员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" + }, + "RefreshAfterFinish": true, + "CheckDataValidation": true + } + ], + "ID": "dd220414-25d4-4ff8-9123-a17702f04f07" }, { - "$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": "=成员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": "=报工信息.工时类型" - } - }, - { - "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", - "ParamName": "指定时薪单价", - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=报工信息.时薪单价" - } + "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": "=成员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": "=新进展内容" + } + } + ], + "ResultErrorCodeTo": { + "SerializeProperty": "code" + }, + "ResultMessageTo": { + "SerializeProperty": "msg" + }, + "RefreshAfterFinish": true, + "CheckDataValidation": true + } + ], + "ID": "fc964d82-8620-4001-9b9e-c71c8a2c90eb" } - ], - "ResultErrorCodeTo": { - "SerializeProperty": "code" - }, - "ResultMessageTo": { - "SerializeProperty": "msg" - }, - "RefreshAfterFinish": true, - "CheckDataValidation": true + ] }, { "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", diff --git a/ServerCommands/工时/分配任务工时.json b/ServerCommands/工时/分配任务工时.json new file mode 100644 index 00000000..3b43b390 --- /dev/null +++ b/ServerCommands/工时/分配任务工时.json @@ -0,0 +1,949 @@ +{ + "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": {}, + "TestData": "2024-03-01" + }, + { + "Name": "结束日期", + "DataValidationInfo": {}, + "TestData": "2024-03-10" + }, + { + "Name": "执行人", + "DataValidationInfo": { + "IgnoreBlank": false + }, + "TestData": "administrator" + }, + { + "Name": "工时数", + "DataValidationInfo": { + "IgnoreBlank": false + }, + "TestData": "40" + }, + { + "Name": "备注", + "DataValidationInfo": {}, + "TestData": "测试" + } + ], + "InvokeTriggerTestData": { + "UserName": "Administrator" + } + } + ], + "Commands": [ + { + "$type": "Forguncy.Model.CatchExceptionCommand, ServerDesignerCommon", + "TryCommandPart": { + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "任务成员", + "TableValue": { + "TableName": "任务成员表", + "TableValueType": 1, + "BindingInfos": [ + { + "BindingInfo": { + "TableName": "任务成员表", + "ColumnName": "参与人", + "GUID": "20d5971e-0ac3-4236-9e5f-0e67e2034b35" + }, + "ColumnName": "参与人" + }, + { + "BindingInfo": { + "TableName": "任务成员表", + "ColumnName": "参与人", + "GUID": "b0fb9e47-ca43-45d0-bb54-cf7ac8edce15", + "AttachType": { + "$type": "ForguncyDataAccess.UserColumnAttachObj, ForguncyDataAccess", + "UserColumnAttachType": 5, + "AttachTypeTag": "负荷" + } + }, + "ColumnName": "参与人负荷" + }, + { + "BindingInfo": { + "TableName": "任务成员表", + "ColumnName": "任务时薪", + "GUID": "93b2f1d8-fd53-468a-9211-87f51b6a5494" + }, + "ColumnName": "任务成员时薪" + }, + { + "BindingInfo": { + "TableName": "任务成员表", + "ColumnName": "岗位ID", + "GUID": "299a3d18-2733-483d-bcd6-09e057c343ef", + "RelationBinding": { + "RelatedTable": "项目岗位", + "RelatedColumn": "ID", + "DisplayColumn": "默认时薪" + } + }, + "ColumnName": "任务岗位时薪" + }, + { + "BindingInfo": { + "TableName": "任务成员表", + "ColumnName": "参与人", + "GUID": "599afbfc-245b-40b1-b078-adb9ca71abef", + "AttachType": { + "$type": "ForguncyDataAccess.UserColumnAttachObj, ForguncyDataAccess", + "UserColumnAttachType": 5, + "AttachTypeTag": "默认时薪" + } + }, + "ColumnName": "参与人默认时薪" + } + ], + "SqlCondition": { + "$type": "ForguncyDataAccess.RelationSqlCondition, ForguncyDataAccess", + "SubConditions": [ + { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "任务成员表", + "ColumnName": "任务ID", + "GUID": "7d139430-ab2a-40df-98d0-38bc039435e2" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务ID" + } + }, + { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "任务成员表", + "ColumnName": "参与人", + "GUID": "2b46a973-8db3-40e7-b10b-93ddb666b812" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=执行人" + } + } + ] + }, + "NullFormulaValueQueryPolicy": 0, + "TopCount": "1" + }, + "ID": "fe64dadb1be3428ab4f183f0b503042b" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "项目成员", + "TableValue": { + "TableName": "项目成员表", + "TableValueType": 1, + "BindingInfos": [ + { + "BindingInfo": { + "TableName": "项目成员表", + "ColumnName": "岗位ID", + "GUID": "e72fecb8-c4b6-4ef0-a802-f18cb6d6ba24", + "RelationBinding": { + "RelatedTable": "项目岗位", + "RelatedColumn": "ID", + "DisplayColumn": "默认时薪" + } + }, + "ColumnName": "项目岗位时薪" + }, + { + "BindingInfo": { + "TableName": "项目成员表", + "ColumnName": "默认时薪", + "GUID": "90991267-4d34-4537-8be3-0ef990118f3e" + }, + "ColumnName": "项目成员时薪" + } + ], + "SqlCondition": { + "$type": "ForguncyDataAccess.RelationSqlCondition, ForguncyDataAccess", + "SubConditions": [ + { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "项目成员表", + "ColumnName": "项目ID", + "GUID": "25c7933c-8b27-4163-ad03-a22d7efe88fb" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务信息.项目ID" + } + }, + { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "项目成员表", + "ColumnName": "项目成员", + "GUID": "02b01205-9bbb-4e4f-8534-f52ea963c907" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=执行人" + } + } + ] + }, + "NullFormulaValueQueryPolicy": 0, + "TopCount": "1" + }, + "ID": "fdf9d30dd83044e5b9505d5554d2f6b8" + }, + { + "$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%", + "compareType": 1 + }, + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "任务信息", + "TableValue": { + "TableName": "任务表", + "TableValueType": 1, + "BindingInfos": [ + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "项目ID", + "GUID": "1b1dfe53-8569-419b-9ac7-4bb4e54e5cb3" + }, + "ColumnName": "项目ID" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "任务名称", + "GUID": "2f0ff2cf-b0cf-49ba-99c2-9b8636152c54" + }, + "ColumnName": "任务名称" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "任务预算工时", + "GUID": "503e9dd2-fc8c-4426-a37f-c7d582c9577a" + }, + "ColumnName": "任务预算工时" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "任务状态", + "GUID": "93ff9848-29c1-4cf6-a3cd-d33eb1d033c4" + }, + "ColumnName": "任务状态" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "任务状态", + "GUID": "da675aa2-3619-422b-817f-eed8c7c118c7", + "RelationBinding": { + "RelatedTable": "任务状态", + "RelatedColumn": "状态码", + "DisplayColumn": "任务状态" + } + }, + "ColumnName": "任务状态文本" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "项目ID", + "GUID": "038a41fb-93fa-46f8-b259-87eb94cc28ad", + "RelationBinding": { + "RelatedTable": "项目表", + "RelatedColumn": "ID", + "DisplayColumn": "严格模式" + } + }, + "ColumnName": "严格模式" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "项目ID", + "GUID": "f4212e88-f2aa-4d8f-8ba8-b7c518505bb7", + "RelationBinding": { + "RelatedTable": "项目表", + "RelatedColumn": "ID", + "DisplayColumn": "项目预算工时" + } + }, + "ColumnName": "项目预算工时" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "项目ID", + "GUID": "31040160-fc88-459c-b67b-8621acbc0920", + "RelationBinding": { + "RelatedTable": "项目表", + "RelatedColumn": "ID", + "DisplayColumn": "项目预算费用" + } + }, + "ColumnName": "项目预算费用" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "任务类型", + "GUID": "f6fb60c7-0ba6-450b-9cda-28eb2412e296", + "RelationBinding": { + "RelatedTable": "任务类型", + "RelatedColumn": "ID", + "DisplayColumn": "提成系数" + } + }, + "ColumnName": "提成系数" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "总计划工时", + "GUID": "4bdf7858-40b1-495e-be0d-109aaaf4f69f" + }, + "ColumnName": "总计划工时" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "总实际工时", + "GUID": "8505a216-3aee-4056-affe-6c760e35c844" + }, + "ColumnName": "总实际工时" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "项目ID", + "GUID": "b5020b4b-8e2e-4b31-a2ac-53ca31b14b8e", + "RelationBinding": { + "RelatedTable": "项目表", + "RelatedColumn": "ID", + "DisplayColumn": "工时分配方式" + } + }, + "ColumnName": "工时分配方式" + }, + { + "BindingInfo": { + "TableName": "任务表", + "ColumnName": "开始时间", + "GUID": "0c228fe1-2060-41dc-b283-9e6de6475ddd" + }, + "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": "f2984c5c9e9a4a10bee27af288725464" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "提成系数", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务信息.提成系数" + }, + "ID": "197d3beb51834211a7661c4a22538a0c" + }, + { + "$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": "1" + }, + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "计算开始日期", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=TODAY()" + }, + "ID": "ba76b37b8e6c474d9b24b8dc3987fd8b" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "计算结束日期", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=TODAY()" + }, + "ID": "b1431565396c4a7abf8f011059c54aa3" + } + ], + "ID": "8b09f8b6-367c-4aa1-8b55-ab5926f61044" + }, + { + "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": "=开始日期" + }, + "ID": "234119e808564ed7acaf62c2c6b38398" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "计算结束日期", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=结束日期" + }, + "ID": "767cf02261d74aff90a14395ab8f3a46" + } + ], + "ID": "4ed4feec-07c5-4523-aaf7-c7a06c54df2b" + } + ], + "Comments": "如果是按人分配,则把计划工时分到一天中" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "待分配工时", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=工时数" + }, + "ID": "1c01ddd54c884bee8542a5c24cd642aa" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "分配天数", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=DATEDIF(开始日期,结束日期,\"d\")+1" + }, + "ID": "6ff7f866d9084a39bc4887782929a0f6" + }, + { + "$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": "113f3feeed2644ea9d71bb4251b369dc" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "统计工时", + "TableValue": { + "TableName": "任务工时表", + "TableValueType": 1, + "BindingInfos": [ + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "总工时", + "GUID": "a0006a9d-3fba-4cf5-a20a-d2a0909d5175" + }, + "ColumnName": "总工时" + } + ], + "SqlCondition": { + "$type": "ForguncyDataAccess.RelationSqlCondition, ForguncyDataAccess", + "SubConditions": [ + { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "任务工时表", + "ColumnName": "工时日期", + "GUID": "98f3f236-67bc-4db2-9af7-407e52bdcd74" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=当前日期" + } + }, + { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "任务工时表", + "ColumnName": "执行人", + "GUID": "9a1d5408-9353-4ab0-bef4-91af355df584" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=执行人" + } + }, + { + "$type": "ForguncyDataAccess.GeneralCESqlCondition, ForguncyDataAccess", + "ColumnBindingInfo": { + "TableName": "任务工时表", + "ColumnName": "工时类型", + "GUID": "6fae6e04-e2b8-4d6c-b594-3bd02c5883d2" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=工时类型" + } + } + ] + }, + "NullFormulaValueQueryPolicy": 0 + }, + "ID": "e5920fb80ee54a229a1b3557570b5197" + }, + { + "$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": "1bb37c7f9198484282278058543826f5" + } + ], + "ID": "070d8ba2-e441-4ad0-8f63-d7f4649414ff" + }, + { + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "计算本次分配工时", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=ROUNDUP(待分配工时,1)" + }, + "ID": "2169bebf8c1f4daf9d6d6943491d4ca1" + } + ], + "ID": "d9a58669-c62e-447e-bb6e-4caf3cb9ac8c" + } + ] + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "预计增加后工时", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=IF(统计工时.总工时=\"\",0,统计工时.总工时)+计算本次分配工时" + }, + "ID": "76d9cab4894c4955a6e5fe287e5cade0" + }, + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "执行人负荷", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=IF(OR(任务成员.参与人负荷=\"\",任务成员.参与人负荷=0,任务成员.参与人负荷>24),24,任务成员.参与人负荷)" + }, + "ID": "05e5b7aa03ed47b4bffe4bf389e1e50f" + }, + { + "$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", + "compareType": 1 + }, + { + "$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": 5 + } + ] + }, + "CommandList": [ + { + "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", + "ParameterName": "待分配工时", + "ParameterValue": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=ROUNDUP(待分配工时-计算本次分配工时,1)" + }, + "ID": "062bbee6354d48f2b9c0d05785441eae" + }, + { + "$type": "Forguncy.Model.ServerTransactionCommand, ServerDesignerCommon", + "CommandList": [ + { + "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", + "TableName": "任务工时表", + "UpdateType": "add", + "ShowConfirm": false, + "UpdateBindingValues": [ + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "项目ID", + "GUID": "39948eb0-326f-4f19-835f-5244d1f29a4f" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务信息.项目ID" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "任务ID", + "GUID": "c8cdad4c-6a42-4f4c-91ea-c51cb564403f" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务ID" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "工时日期", + "GUID": "88da28f6-08bc-4dc6-ba52-6266f24589e5" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=当前日期" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "工时类型", + "GUID": "78a7cb7e-d1d7-4c76-b141-7a58aaf1348a" + }, + "Value": "计划" + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "执行人", + "GUID": "7208425d-8e4f-4d21-bddf-9b85aa632882" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务成员.参与人" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "执行内容", + "GUID": "b90d47f5-5645-42ad-ab32-cd6d267598a3" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=备注" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "工时", + "GUID": "c901e3f9-f6ff-4115-a87d-6b705388a736" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=计算本次分配工时" + } + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "时薪单价", + "GUID": "6f83c647-8a39-4a69-bd15-fb2ee7abc201" + }, + "Value": "0" + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "提成系数", + "GUID": "6c29ade7-14bd-448f-9eb8-4bb9826a6b44" + }, + "Value": "0" + }, + { + "BindingInfo": { + "TableName": "任务工时表", + "ColumnName": "时薪来源", + "GUID": "2abfa4de-4f49-4be7-a6fd-3efc4e1ca55c" + } + } + ] + }, + { + "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", + "TableName": "项目动态", + "UpdateType": "add", + "ShowConfirm": false, + "UpdateBindingValues": [ + { + "BindingInfo": { + "TableName": "项目动态", + "ColumnName": "项目ID", + "GUID": "97b1d3aa-0af8-4b47-9ef4-b128d5de0604" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=任务信息.项目ID" + } + }, + { + "BindingInfo": { + "TableName": "项目动态", + "ColumnName": "项目动态", + "GUID": "130c339e-cc6d-4062-a9a8-dc2e387552b4" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=\"任务[\"&任务信息.任务名称&\"]增加\"&工时类型&\"工时\"&工时数&\"小时\"" + } + }, + { + "BindingInfo": { + "TableName": "项目动态", + "ColumnName": "执行人", + "GUID": "89e68f3f-8ffd-4a32-b934-be3de60a9a4c" + }, + "Value": "%CurrentUser%" + } + ] + } + ] + } + ], + "Comments": "如果不是按人分配,且分配后的工时超过负荷,则报错", + "ID": "b0e26417-7a25-41d4-9c2f-0cd1a063c982" + }, + { + "CommandList": [ + { + "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", + "ErrorCode": "400", + "Message": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=TEXT(当前日期,\"yyyy年mm月dd\")&\"的最大工作负荷超出限制的\"&执行人负荷&\"小时,请重新提交!\"" + } + } + ], + "ID": "38e4cf64-2244-4ab7-8f95-4c083f549683" + } + ] + } + ] + } + ] + }, + { + "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", + "ErrorCode": "0", + "Message": "分配计划工时成功" + } + ], + "ID": "1d16ac25-c060-4176-9299-ee9687485868" + }, + { + "CommandList": [ + { + "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", + "ErrorCode": "400", + "Message": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=\"当前任务状态为[\"&任务信息.任务状态文本&\"],无法提交工时!\"" + } + } + ], + "ID": "feb36ba7-45d6-4915-beb5-0e35a1c87e8e" + } + ] + } + ], + "ID": "d6e8d0f0-5833-490b-bd81-b3c0cb15d981" + }, + { + "CommandList": [ + { + "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", + "ErrorCode": "400", + "Message": "成员不在任务内,无法报工!" + } + ], + "ID": "fc273f63-679f-4503-93c6-fc58a4d4362b" + } + ] + } + ] + }, + "CatchCommandPart": { + "CommandList": [ + { + "$type": "Forguncy.Model.ReturnCommand, ServerDesignerCommon", + "ErrorCode": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=ExceptionCode" + }, + "Message": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=ExceptionMessage" + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/ServerCommands/项目/同步项目参与人字段.json b/ServerCommands/项目/同步项目参与人字段.json index 0edb7b40..af0abeef 100644 --- a/ServerCommands/项目/同步项目参与人字段.json +++ b/ServerCommands/项目/同步项目参与人字段.json @@ -41,7 +41,7 @@ { "BindingInfo": { "TableName": "项目表", - "ColumnName": "参与人统计", + "ColumnName": "参与人列表", "GUID": "8b8f298b-efb2-46b4-a9a8-635d05bd0e28" }, "ColumnName": "参与人统计" diff --git a/ServerCommands/项目/新增或修改项目.json b/ServerCommands/项目/新增或修改项目.json index c6e0b3bb..b9c0aa3f 100644 --- a/ServerCommands/项目/新增或修改项目.json +++ b/ServerCommands/项目/新增或修改项目.json @@ -35,6 +35,10 @@ "IgnoreBlank": false } }, + { + "Name": "项目代号", + "DataValidationInfo": {} + }, { "Name": "项目简介", "DataValidationInfo": {} @@ -83,6 +87,16 @@ "Name": "严格模式", "DataValidationInfo": {} }, + { + "Name": "工时分配方式", + "DataValidationInfo": { + "IgnoreBlank": false + } + }, + { + "Name": "开启反馈收集", + "DataValidationInfo": {} + }, { "Name": "开始日期", "DataValidationInfo": {} @@ -129,18 +143,29 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目名称", - "GUID": "ef0e4ec0-928a-49e5-91d9-61e589f88a04" + "GUID": "ba72531e-8ec1-4115-921b-38f6ad4682c8" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=项目名称" } }, + { + "BindingInfo": { + "TableName": "项目表", + "ColumnName": "项目代号", + "GUID": "613931f4-1ab8-4ebc-9a9a-95b677831372" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=项目代号" + } + }, { "BindingInfo": { "TableName": "项目表", "ColumnName": "项目简介", - "GUID": "c9af7fbc-55b1-458c-b1bb-763e93249d15" + "GUID": "55013b16-f1b9-4113-b52d-c49df71de85c" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -151,7 +176,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目封面", - "GUID": "fb266358-306f-4013-b841-8eb15eb1f48c" + "GUID": "2ab74ca7-97b9-4c55-984d-fed79eed8153" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -162,7 +187,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目经理", - "GUID": "4cb21c47-2cfe-428a-a8d5-166ae38442b8" + "GUID": "561506d4-fe09-4599-a4c1-171d41191c5b" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -173,7 +198,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目分组", - "GUID": "ee1ae52d-ae7b-476d-9f08-e66536ebe41a" + "GUID": "2cd80a9d-45bc-4b0b-8bd2-85173e2d7efd" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -184,7 +209,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "所属客户", - "GUID": "62edfb2d-5190-4a43-8ef6-c37803a2d7b6" + "GUID": "87669180-329d-4d2a-83aa-b6eae07b238b" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -195,7 +220,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "所属客户部门", - "GUID": "1e0c4ad6-5a27-4a01-af04-efd87cce4947" + "GUID": "8de2537a-93f9-48b8-aa57-69c811ed82ff" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -206,7 +231,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目预算工时", - "GUID": "6a1d7802-541a-491a-9e87-b30f89df806b" + "GUID": "bcc0607f-5383-47e5-9806-587a1a341eeb" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -217,7 +242,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目预算费用", - "GUID": "a3a6f341-39ae-4e0d-b20e-fbc72d63bb14" + "GUID": "9e58b2f0-b85a-47ee-8641-5852d34a0cbc" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -228,7 +253,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "公开", - "GUID": "e9c8eb47-b755-45b8-821f-24c2e9267ee6" + "GUID": "9d26b8b4-02c9-4f1d-be06-3c23a34fab81" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -239,18 +264,40 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "严格模式", - "GUID": "abb3e010-e177-4084-b1cf-06cd47c68597" + "GUID": "cb9075a1-d21c-4940-b874-bd6c251468a6" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=严格模式" } }, + { + "BindingInfo": { + "TableName": "项目表", + "ColumnName": "工时分配方式", + "GUID": "0e931ad2-e31d-407e-97de-594507248c77" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=工时分配方式" + } + }, + { + "BindingInfo": { + "TableName": "项目表", + "ColumnName": "开启反馈收集", + "GUID": "131d0359-f60b-49bd-8d44-f0f5398e678b" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=开启反馈收集" + } + }, { "BindingInfo": { "TableName": "项目表", "ColumnName": "项目方案", - "GUID": "dfd81bc0-7073-42a1-9140-764a433e0d39" + "GUID": "96442123-f90c-438e-bf3a-9e6b7d803c01" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -261,7 +308,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "预算方案", - "GUID": "60f76b0c-f634-4da3-9dd3-26ce4a2190ee" + "GUID": "4d6f5555-82e0-4e9a-9641-bce447592ea5" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -272,7 +319,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "计划开始日期", - "GUID": "cc96c852-ceb0-4b0f-898b-a0c1bb039ce5" + "GUID": "103e4e2c-ce74-426d-92e1-65c0eb911bec" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -283,7 +330,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "计划完成日期", - "GUID": "3b2794a7-71a5-436a-963d-5705384fbf0c" + "GUID": "16baa626-9327-49ea-b64a-9277154b4f9a" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -294,7 +341,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "网络资源", - "GUID": "8980bc8f-b53e-4f6f-bc9b-a25d0a287a16" + "GUID": "5c0daef8-96d5-4947-89ce-58d10d5d40d8" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -305,7 +352,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目状态", - "GUID": "d5f7864f-45a7-4dc0-81b2-ea97f601a910" + "GUID": "d64f6e6f-c605-4e27-9c0b-0ea67a1fcf7c" }, "Value": "0" }, @@ -313,7 +360,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "删除", - "GUID": "ef734baf-623a-46bf-9bcd-6fd324f9f96f" + "GUID": "74e09ef5-2402-4d9c-aed1-9a75481d7e14" }, "Value": "0" } @@ -387,7 +434,7 @@ "Message": "项目创建成功,请等待审批" } ], - "ID": "5da18cfa-fe9f-4b69-8560-34c4e38c9ffa" + "ID": "8488cfe6-f582-4e91-a8a1-5b64b24a0143" }, { "CommandList": [ @@ -397,12 +444,12 @@ "Message": "项目已创建,但未能发起审批,请手动发起审批流程!" } ], - "ID": "abbcae99-7de8-4c14-badf-451f9addc149" + "ID": "d9e197f7-52c4-40ab-a602-a216c1f906ba" } ] } ], - "ID": "f16c4805-04cc-4ee7-b3e7-ba0bb654be09" + "ID": "556d380e-e18d-4b0d-a2fe-c290094c1078" }, { "CommandList": [ @@ -540,7 +587,7 @@ } } ], - "ID": "a0b87cac-38f9-481a-b077-675313d0cb9d" + "ID": "ba028720-9614-41ab-b620-55704f2c3408" }, { "Condition": { @@ -568,13 +615,13 @@ } } ], - "ID": "825c977c-5a23-4561-8c5f-9467fe75f0ff" + "ID": "3ebc51a9-aa56-4ce0-b47a-f98041894c3f" } ] } ], "Comments": "如果是更新项目,且改变了工时核定方式、严格模式,那么就要校验。超标就不允许切换", - "ID": "321ec68e-d70e-496f-9acc-38e7498e3f53" + "ID": "e9547a5b-fa34-47b3-b2e9-cff799a3745d" } ] }, @@ -600,18 +647,29 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目名称", - "GUID": "b06dba3d-143f-407d-a74b-0ef61b3a0d92" + "GUID": "72f3cbd1-4112-4d43-82f2-efaaa83f6835" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=项目名称" } }, + { + "BindingInfo": { + "TableName": "项目表", + "ColumnName": "项目代号", + "GUID": "608cf5fc-c310-458c-a19b-e5bf256fdabd" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=项目代号" + } + }, { "BindingInfo": { "TableName": "项目表", "ColumnName": "项目简介", - "GUID": "74c9a369-2553-48d1-8e5d-033e66efa060" + "GUID": "ddaac69a-e94f-4345-ab8d-0250b8f16a25" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -622,7 +680,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目封面", - "GUID": "7cd155ae-96fb-4029-a790-d59e22da86ad" + "GUID": "4397866f-cced-4246-aa29-628132a9c6e3" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -633,7 +691,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目经理", - "GUID": "028ebc72-432b-40e9-b633-4cb96797a966" + "GUID": "592e09cf-4c9f-4deb-aaf9-eeeda98ef011" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -644,7 +702,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目分组", - "GUID": "fb812d0b-1ac5-4751-929b-d1fc999c1a10" + "GUID": "a34ae1e6-d69c-4eaa-80d1-d52164df08dc" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -655,7 +713,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "所属客户", - "GUID": "7464e2eb-0483-4273-97f0-941fb76313b1" + "GUID": "3eeb977b-42b0-4fd1-b420-9af88f8b9898" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -666,7 +724,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "所属客户部门", - "GUID": "48ffd769-0d1d-430c-a36d-322292b6310a" + "GUID": "2f6ed00a-a7d4-4058-b164-c26a2ad9a674" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -677,7 +735,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "公开", - "GUID": "d21de492-11d7-4212-911d-2d2d9d7012b6" + "GUID": "c54fce59-e10a-4b22-8b46-5922c3e39975" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -688,7 +746,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "严格模式", - "GUID": "92f5ea47-300f-497a-b262-d39274a80b9e" + "GUID": "7cde26d9-3ede-40a6-906d-3729243fae8b" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -699,7 +757,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "计划开始日期", - "GUID": "99c71307-f344-43db-8c96-901f1e206cde" + "GUID": "3671ddb1-49d1-4e7d-be2f-5af02876e6dd" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -710,7 +768,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "计划完成日期", - "GUID": "f0219dd8-d4b6-4f44-ba9d-49229fa8fe04" + "GUID": "a0f92d5f-21d4-4a39-8602-375ffb118f0d" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -721,7 +779,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "项目方案", - "GUID": "632f7f59-8a54-4717-a90c-a9afb93b293b" + "GUID": "dc7c3287-73d9-4705-ac47-4a28d37f2c22" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -732,7 +790,7 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "预算方案", - "GUID": "600e9c82-d6f3-46f9-8500-a72d432ffa5a" + "GUID": "9059092a-39e7-4e23-af6b-e6bc2ba3964f" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -743,17 +801,28 @@ "BindingInfo": { "TableName": "项目表", "ColumnName": "网络资源", - "GUID": "261e6801-fcfa-44a8-bb2c-0d446ac89cc0" + "GUID": "0081bad7-8e04-4a41-8c91-1a1e12bcddbd" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=网络资源" } + }, + { + "BindingInfo": { + "TableName": "项目表", + "ColumnName": "开启反馈收集", + "GUID": "287ed753-de9c-4c7d-a5d5-95d3793b4b4b" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=开启反馈收集" + } } ] } ], - "ID": "d44b64d0-862b-47df-a944-dd600e22bc5a" + "ID": "19c0bcf8-ec96-47c1-b7c8-aa6c81d20833" } ] } diff --git a/Tables/任务/子任务视图.json b/Tables/任务/子任务视图.json index 635b1da6..b708e07c 100644 --- a/Tables/任务/子任务视图.json +++ b/Tables/任务/子任务视图.json @@ -25,11 +25,12 @@ "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { - "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "$type": "Forguncy.SaveLoad.UserBindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "执行者", - "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", + "HasChangeColumnType": true }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", @@ -102,11 +103,12 @@ "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { - "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "$type": "Forguncy.SaveLoad.UserBindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "FGC_Creator", - "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", + "HasChangeColumnType": true }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", diff --git a/Tables/字典表/工时分配方式.json b/Tables/字典表/工时分配方式.json index 21ebcc1b..2f29a69b 100644 --- a/Tables/字典表/工时分配方式.json +++ b/Tables/字典表/工时分配方式.json @@ -22,7 +22,7 @@ "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, - "Name": "文本", + "Name": "描述", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { diff --git a/Tables/工时/View_任务工时统计.json b/Tables/工时/View_任务工时统计.json index dfbfd55f..258b6b3a 100644 --- a/Tables/工时/View_任务工时统计.json +++ b/Tables/工时/View_任务工时统计.json @@ -17,11 +17,12 @@ "ColumnType": "System.DateTime, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { - "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "$type": "Forguncy.SaveLoad.UserBindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "执行人", - "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", + "HasChangeColumnType": true }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", @@ -37,13 +38,6 @@ "Name": "任务ID", "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, - { - "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", - "DatabaseColumnType": "varchar", - "MaxLength": -1, - "Name": "工时核定方式", - "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" - }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "float", @@ -74,9 +68,17 @@ }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "Required": true, "DatabaseColumnType": "float", "MaxLength": -1, - "Name": "核定工时", + "Name": "上报工时", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "DatabaseColumnType": "float", + "MaxLength": -1, + "Name": "剩余工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { @@ -113,6 +115,48 @@ "DataColumnName": "实际工时", "Name": "总实际工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon", + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "剩余工时", + "GUID": "c347ddb5-2b7d-48c8-a908-d219274fe3a1" + }, + "AggregateFunction": 4, + "DataColumnName": "剩余工时", + "Name": "总剩余工时", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon", + "Formula": "IF([实际工时]=0,0,IF([计划工时]=0,100,ROUND([实际工时]/[计划工时]*100,0)))", + "Name": "工时完成比例", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon", + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "上报工时", + "GUID": "e01ff216-bd5f-4aa2-b8fa-0498890790d1" + }, + "AggregateFunction": 4, + "DataColumnName": "上报工时", + "Name": "总上报工时", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon", + "BindingInfo": { + "TableName": "View_任务工时统计", + "ColumnName": "计算提成", + "GUID": "635d4f7b-c81f-4609-91fb-6ba1156ab317" + }, + "AggregateFunction": 4, + "DataColumnName": "计算提成", + "Name": "总计算提成", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" } ], "ExternalDatabaseInfo": { @@ -120,7 +164,7 @@ "ConnectionId": "业务表", "SourceTableName": "View_任务工时统计", "SourceTableSchema": "dbo", - "CreateViewSql": "WITH c1 as (\r\n\tSELECT\r\n\t t.[ID],\r\n\t\t[项目ID],\r\n\t\tp.[工时核定方式],\r\n\t\t[任务ID],\r\n\t\t[执行人],\r\n\t\t[工时日期],\r\n\t\t[时薪单价],\r\n\t\t[提成系数],\r\n\t\t[请款单ID],\r\n\t\tROUND(SUM(CASE WHEN [工时类型] = '计划' THEN ISNULL([工时],0) ELSE 0 END),1) AS [计划工时],\r\n\t\tROUND(SUM(CASE WHEN [工时类型] = '实际' THEN ISNULL([工时],0) ELSE 0 END),1) AS [实际工时],\r\n\t\t(CASE p.[工时核定方式]\r\n\t\tWHEN '计划' THEN ROUND(SUM(CASE WHEN [工时类型] = '计划' THEN ISNULL([工时],0) ELSE 0 END),1)\r\n\t\tELSE ROUND(SUM(CASE WHEN [工时类型] = '实际' THEN ISNULL([工时],0) ELSE 0 END),1) \r\n\t\tEND) as 核定工时\r\n\tFROM \r\n\t\t[dbo].[任务工时表] t\r\n\tLEFT JOIN [项目表] p ON t.项目ID = p.ID\r\n\tGROUP BY \r\n\t t.[ID],\r\n\t\t[项目ID],\r\n\t\tp.[工时核定方式],\r\n\t\t[工时核定方式],\r\n\t\t[任务ID],\r\n\t\t[执行人],\r\n\t\t[工时日期],\r\n\t\t[时薪单价],\r\n\t\t[提成系数],\r\n\t\t[请款单ID]\r\n)\r\n\r\nSELECT\r\n c1.[ID],\r\n [工时日期] as 日期,\r\n\t\t[执行人],\r\n [项目ID],\r\n [任务ID],\r\n [工时核定方式],\r\n [时薪单价],\r\n [提成系数],\r\n [计划工时],\r\n [实际工时],\r\n [核定工时],\r\n ([核定工时] * [时薪单价] * [提成系数]) as 计算提成,\r\n\t\tc1.[请款单ID],\r\n\t\tqk.[状态] as 请款状态\r\nFROM c1\r\n LEFT JOIN [收益请款单表] qk ON c1.请款单ID = qk.ID;", + "CreateViewSql": "WITH c1 as (\r\n\tSELECT\r\n\t t.[ID],\r\n\t\t[项目ID],\r\n\t\t[任务ID],\r\n\t\t[执行人],\r\n\t\t[工时日期],\r\n\t\t[时薪单价],\r\n\t\t[提成系数],\r\n\t\t[请款单ID],\r\n\t\tISNULL([上报工时],0) AS 上报工时,\r\n\t\tROUND(SUM(CASE WHEN [工时类型] = '计划' THEN ISNULL([工时],0) ELSE 0 END),1) AS [计划工时],\r\n\t\tROUND(SUM(CASE WHEN [工时类型] = '实际' THEN ISNULL([工时],0) ELSE 0 END),1) AS [实际工时]\r\n\r\n\tFROM \r\n\t\t[dbo].[任务工时表] t\r\n\tLEFT JOIN [项目表] p ON t.项目ID = p.ID\r\n\tGROUP BY \r\n\t t.[ID],\r\n\t\t[项目ID],\r\n\t\t[任务ID],\r\n\t\t[执行人],\r\n\t\t[工时日期],\r\n\t\t[时薪单价],\r\n\t\t[提成系数],\r\n\t\t[请款单ID],\r\n\t\t[上报工时]\r\n)\r\n\r\nSELECT\r\n c1.[ID],\r\n [工时日期] as 日期,\r\n\t\t[执行人],\r\n [项目ID],\r\n [任务ID],\r\n [时薪单价],\r\n [提成系数],\r\n [计划工时],\r\n [实际工时],\r\n\t\t[上报工时],\r\n\t\t[计划工时]-[实际工时] as 剩余工时,\r\n ([实际工时]*[时薪单价] * [提成系数]) as 计算提成,\r\n\t\tc1.[请款单ID],\r\n\t\tqk.[状态] as 请款状态\r\nFROM c1\r\n LEFT JOIN [收益请款单表] qk ON c1.请款单ID = qk.ID;", "ViewInfo": { "ViewName": "View_任务工时统计", "IsUpdatable": true, @@ -144,13 +188,6 @@ "ForeignColumn": "项目ID", "IsDetailTableRelation": true }, - { - "PrimaryTable": "用户信息视图", - "PrimaryColumn": "用户名", - "ForeignTable": "View_任务工时统计", - "ForeignColumn": "执行人", - "IsDetailTableRelation": true - }, { "PrimaryTable": "收益请款单表", "PrimaryColumn": "ID", diff --git a/Tables/工时/人员工时统计视图.json b/Tables/工时/人员工时统计视图.json index d19f453b..d8f09c0a 100644 --- a/Tables/工时/人员工时统计视图.json +++ b/Tables/工时/人员工时统计视图.json @@ -2,11 +2,12 @@ "Name": "人员工时统计视图", "Columns": [ { - "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "$type": "Forguncy.SaveLoad.UserBindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "执行人", - "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", + "HasChangeColumnType": true }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", @@ -29,6 +30,20 @@ "Name": "实际工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, + { + "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "DatabaseColumnType": "float", + "MaxLength": -1, + "Name": "上报工时", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "DatabaseColumnType": "float", + "MaxLength": -1, + "Name": "剩余工时", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "float", @@ -40,12 +55,12 @@ "$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon", "BindingInfo": { "TableName": "人员工时统计视图", - "ColumnName": "计算提成", - "GUID": "8c991d43-f8f7-44d0-a5b7-7f1096bc1a6c" + "ColumnName": "计划工时", + "GUID": "91e283d6-9945-4929-9f4c-a86dd36b00d8" }, "AggregateFunction": 4, - "DataColumnName": "计算提成", - "Name": "总提成", + "DataColumnName": "计划工时", + "Name": "总计划工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { @@ -53,12 +68,48 @@ "BindingInfo": { "TableName": "人员工时统计视图", "ColumnName": "实际工时", - "GUID": "a8bbb6b5-ef8a-407f-af3f-546f749918a1" + "GUID": "114c527c-7ea2-4f6d-817b-309e1744e426" }, "AggregateFunction": 4, "DataColumnName": "实际工时", "Name": "总实际工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon", + "BindingInfo": { + "TableName": "人员工时统计视图", + "ColumnName": "上报工时", + "GUID": "91e3eb69-cf12-4e72-9187-5efa17e411c8" + }, + "AggregateFunction": 4, + "DataColumnName": "上报工时", + "Name": "总上报工时", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon", + "BindingInfo": { + "TableName": "人员工时统计视图", + "ColumnName": "剩余工时", + "GUID": "6c47fb4f-9e81-43e6-89f4-f9876c3b82dd" + }, + "AggregateFunction": 4, + "DataColumnName": "剩余工时", + "Name": "总剩余工时", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.StatisticColumnSaveData, ServerDesignerCommon", + "BindingInfo": { + "TableName": "人员工时统计视图", + "ColumnName": "计算提成", + "GUID": "40e93639-f407-4945-8f49-da398870d97b" + }, + "AggregateFunction": 4, + "DataColumnName": "计算提成", + "Name": "总计算提成", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" } ], "ExternalDatabaseInfo": { @@ -66,7 +117,7 @@ "ConnectionId": "业务表", "SourceTableName": "人员工时统计视图", "SourceTableSchema": "dbo", - "CreateViewSql": "SELECT\r\n[执行人],\r\nCAST([日期] as date) 日期,\r\n[计划工时],\r\n[实际工时],\r\n[计算提成]\r\nFROM [View_任务工时统计] t", + "CreateViewSql": "SELECT\r\n[执行人],\r\nCAST([日期] as date) 日期,\r\nSUM([计划工时]) AS 计划工时,\r\nSUM([实际工时]) AS 实际工时,\r\nSUM([上报工时]) AS 上报工时,\r\nSUM([剩余工时]) AS 剩余工时,\r\nSUM([计算提成]) AS 计算提成\r\nFROM [View_任务工时统计] t\r\nGROUP BY\r\n[执行人],\r\n[日期]", "ViewInfo": { "ViewName": "人员工时统计视图", "IsUpdatable": true, diff --git a/Tables/工时/任务工时表.json b/Tables/工时/任务工时表.json index 26d6831c..8e0679f4 100644 --- a/Tables/工时/任务工时表.json +++ b/Tables/工时/任务工时表.json @@ -65,6 +65,14 @@ "DatabaseColumnType": "float", "MaxLength": -1, "Name": "工时", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", + "Comment": "实际核定的工时\r\n" + }, + { + "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "DatabaseColumnType": "float", + "MaxLength": -1, + "Name": "上报工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { diff --git a/Tables/项目/View_项目统计信息.json b/Tables/项目/View_项目统计信息.json index 2181adc2..db32db5b 100644 --- a/Tables/项目/View_项目统计信息.json +++ b/Tables/项目/View_项目统计信息.json @@ -32,18 +32,16 @@ }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", - "Required": true, - "DatabaseColumnType": "float", + "DatabaseColumnType": "bigint", "MaxLength": -1, - "Name": "总计划工时", - "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + "Name": "项目状态", + "ColumnType": "System.Int64, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", - "Required": true, "DatabaseColumnType": "float", "MaxLength": -1, - "Name": "总实际工时", + "Name": "已分配任务工时", "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { @@ -57,6 +55,29 @@ { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "Required": true, + "DatabaseColumnType": "float", + "MaxLength": -1, + "Name": "总计划工时", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "Required": true, + "DatabaseColumnType": "float", + "MaxLength": -1, + "Name": "总上报工时", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "Required": true, + "DatabaseColumnType": "float", + "MaxLength": -1, + "Name": "总实际工时", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "int", "MaxLength": -1, "Name": "项目成员数", @@ -64,7 +85,6 @@ }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", - "Required": true, "DatabaseColumnType": "int", "MaxLength": -1, "Name": "总任务数量", @@ -72,7 +92,6 @@ }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", - "Required": true, "DatabaseColumnType": "int", "MaxLength": -1, "Name": "已完成任务数", @@ -80,19 +99,11 @@ }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", - "Required": true, "DatabaseColumnType": "int", "MaxLength": -1, "Name": "未完成任务数", "ColumnType": "System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, - { - "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", - "DatabaseColumnType": "float", - "MaxLength": -1, - "Name": "已分配任务工时", - "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" - }, { "$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon", "Formula": "[已完成任务数]&\"/\"&[总任务数量]", @@ -152,6 +163,12 @@ "Formula": "[已分配任务工时]&\"/\"&[项目预算工时]", "Name": "工时分配情况", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, + { + "$type": "Forguncy.SaveLoad.FormulaColumnSaveData, ServerDesignerCommon", + "Formula": "IF([总成本]=0,0,IF([总实际工时]=0,0,ROUND([总成本]/[总实际工时],0)))", + "Name": "平均时薪", + "ColumnType": "System.Double, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" } ], "ExternalDatabaseInfo": { @@ -159,7 +176,7 @@ "ConnectionId": "业务表", "SourceTableName": "View_项目统计信息", "SourceTableSchema": "dbo", - "CreateViewSql": "SELECT\r\n p.[ID] AS [项目ID],\r\n p.[项目名称] AS [项目标题],\r\n p.[项目预算工时],\r\n p.[项目预算费用],\r\n ISNULL(计划工时.总计划工时, 0) AS [总计划工时],\r\n ISNULL(实际工时.总实际工时, 0) AS [总实际工时],\r\n ISNULL(总成本.总成本, 0) AS [总成本],\r\n ISNULL(项目成员.成员数量, 0) AS [项目成员数],\r\n ISNULL(任务统计.总任务数量, 0) AS [总任务数量],\r\n ISNULL(已完成任务.已完成任务数, 0) AS [已完成任务数],\r\n ISNULL(未完成任务.未完成任务数, 0) AS [未完成任务数],\r\n\t\tSUM(ISNULL(task.任务预算工时, 0)) as 已分配任务工时\r\nFROM\r\n [dbo].[项目表] p\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n SUM(工时) AS 总计划工时\r\n FROM\r\n [dbo].[任务工时表]\r\n WHERE\r\n 工时类型 = '计划'\r\n GROUP BY\r\n 项目ID\r\n) 计划工时 ON p.ID = 计划工时.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n SUM(工时) AS 总实际工时\r\n FROM\r\n [dbo].[任务工时表]\r\n WHERE\r\n 工时类型 = '实际'\r\n GROUP BY\r\n 项目ID\r\n) 实际工时 ON p.ID = 实际工时.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n SUM(工时 * 时薪单价 * 提成系数) AS 总成本\r\n FROM\r\n [dbo].[任务工时表]\r\n GROUP BY\r\n 项目ID\r\n) 总成本 ON p.ID = 总成本.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n COUNT(DISTINCT 执行人) AS 成员数量\r\n FROM\r\n [dbo].[任务工时表]\r\n GROUP BY\r\n 项目ID\r\n) 项目成员 ON p.ID = 项目成员.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n COUNT(ID) AS 总任务数量\r\n FROM\r\n [dbo].[任务表]\r\n GROUP BY\r\n 项目ID\r\n) 任务统计 ON p.ID = 任务统计.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n COUNT(ID) AS 已完成任务数\r\n FROM\r\n [dbo].[任务表]\r\n WHERE\r\n 任务状态 = 2\r\n GROUP BY\r\n 项目ID\r\n) 已完成任务 ON p.ID = 已完成任务.项目ID\r\nLEFT JOIN (\r\n SELECT\r\n 项目ID,\r\n COUNT(ID) AS 未完成任务数\r\n FROM\r\n [dbo].[任务表]\r\n WHERE\r\n 任务状态 < 2\r\n GROUP BY\r\n 项目ID\r\n) 未完成任务 ON p.ID = 未完成任务.项目ID\r\nLEFT JOIN [任务表] task ON p.ID = task.[项目ID]\r\nGROUP BY \r\np.[ID],\r\np.[项目名称],\r\np.[项目预算工时],\r\np.[项目预算费用],\r\n计划工时.总计划工时,\r\n实际工时.总实际工时,\r\n总成本.总成本,\r\n项目成员.成员数量,\r\n任务统计.总任务数量,\r\n已完成任务.已完成任务数,\r\n未完成任务.未完成任务数;", + "CreateViewSql": "SELECT\r\n p.[ID] AS [项目ID],\r\n p.[项目名称] AS [项目标题],\r\n p.[项目预算工时],\r\n\t\tp.[项目预算费用],\r\n\t\tp.[项目状态],\r\n\t\tSUM(ISNULL(task.任务预算工时, 0)) AS [已分配任务工时],\r\n\t\tISNULL(SUM(t.计算提成), 0) AS [总成本],\r\n ISNULL(SUM(t.计划工时), 0) AS [总计划工时],\r\n\t\tISNULL(SUM(t.上报工时), 0) AS [总上报工时],\r\n ISNULL(SUM(t.实际工时), 0) AS [总实际工时],\r\n\t\tCOUNT(DISTINCT t.执行人) AS [项目成员数],\r\n\t\tCOUNT(t.ID) AS [总任务数量],\r\n\t\tSUM(CASE WHEN task.[任务状态] = 2 THEN 1 ELSE 0 END) AS [已完成任务数],\r\n\t\tSUM(CASE WHEN ISNULL(task.[任务状态], 0) < 2 THEN 1 ELSE 0 END) AS [未完成任务数]\r\n\r\nFROM [dbo].[项目表] p\r\nLEFT JOIN [View_任务工时统计] t ON p.ID = t.[项目ID]\r\nLEFT JOIN [任务表] task ON p.ID = task.[项目ID]\r\nGROUP BY \r\np.[ID],\r\np.[项目名称],\r\np.[项目预算工时],\r\np.[项目预算费用],\r\np.[项目状态];", "ViewInfo": { "ViewName": "View_项目统计信息", "IsUpdatable": true, diff --git a/Tables/项目/项目匿名视图.json b/Tables/项目/项目匿名视图.json index d0b469f1..2f2e17c6 100644 --- a/Tables/项目/项目匿名视图.json +++ b/Tables/项目/项目匿名视图.json @@ -25,11 +25,12 @@ "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, { - "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "$type": "Forguncy.SaveLoad.UserBindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", "MaxLength": -1, "Name": "项目经理", - "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", + "HasChangeColumnType": true }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", diff --git a/Tables/项目/项目表.json b/Tables/项目/项目表.json index 9132e806..873518d5 100644 --- a/Tables/项目/项目表.json +++ b/Tables/项目/项目表.json @@ -195,8 +195,7 @@ "公开": 5, "删除": 5, "参与人": 5, - "参与人统计": 5, - "工时核定方式": 5, + "项目代号": 5, "开启反馈收集": 5, "开始及完成时间": 5, "所属客户": 5, @@ -218,7 +217,8 @@ "项目预算费用": 5, "预算方案": 5, "已分配计划工时": 5, - "工时分配方式": 5 + "工时分配方式": 5, + "参与人列表": 5 }, "subTableOperations": { "View_任务工时统计": 5, @@ -254,8 +254,7 @@ "公开": 5, "删除": 5, "参与人": 5, - "参与人统计": 5, - "工时核定方式": 5, + "项目代号": 5, "开启反馈收集": 5, "开始及完成时间": 5, "所属客户": 5, @@ -277,7 +276,8 @@ "项目预算费用": 5, "预算方案": 5, "已分配计划工时": 5, - "工时分配方式": 5 + "工时分配方式": 5, + "参与人列表": 5 }, "subTableOperations": { "View_任务工时统计": 5, @@ -313,8 +313,7 @@ "公开": 5, "删除": 5, "参与人": 5, - "参与人统计": 5, - "工时核定方式": 5, + "项目代号": 5, "开启反馈收集": 5, "开始及完成时间": 5, "所属客户": 5, @@ -336,7 +335,8 @@ "项目预算费用": 5, "预算方案": 5, "已分配计划工时": 5, - "工时分配方式": 5 + "工时分配方式": 5, + "参与人列表": 5 }, "subTableOperations": { "View_任务工时统计": 5, @@ -382,6 +382,13 @@ "Name": "项目名称", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, + { + "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "DatabaseColumnType": "nvarchar", + "MaxLength": -1, + "Name": "项目代号", + "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" + }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", "DatabaseColumnType": "nvarchar", @@ -427,14 +434,7 @@ }, { "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", - "DefaultValue": "计划", - "DatabaseColumnType": "varchar", - "MaxLength": -1, - "Name": "工时核定方式", - "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" - }, - { - "$type": "Forguncy.SaveLoad.BindingColumnSaveData, ServerDesignerCommon", + "DefaultValue": 0, "DatabaseColumnType": "int", "MaxLength": -1, "Name": "工时分配方式", @@ -561,12 +561,12 @@ "BindingInfo": { "TableName": "任务成员表", "ColumnName": "参与人", - "GUID": "fb963241-2e30-49e8-b1d2-2499f0acc6f7" + "GUID": "ba426353-557c-4893-9daf-8991f6d87b25" }, "AggregateFunction": 5, "DataColumnName": "参与人", "DetailTableName": "任务成员表", - "Name": "参与人统计", + "Name": "参与人列表", "ColumnType": "System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" }, {