@hed-hog/operations 0.0.3 → 0.0.286
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +122 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/operations-data.controller.d.ts +139 -0
- package/dist/operations-data.controller.d.ts.map +1 -0
- package/dist/operations-data.controller.js +113 -0
- package/dist/operations-data.controller.js.map +1 -0
- package/dist/operations-growth.controller.d.ts +48 -0
- package/dist/operations-growth.controller.d.ts.map +1 -0
- package/dist/operations-growth.controller.js +90 -0
- package/dist/operations-growth.controller.js.map +1 -0
- package/dist/operations.module.d.ts.map +1 -1
- package/dist/operations.module.js +10 -4
- package/dist/operations.module.js.map +1 -1
- package/dist/operations.service.d.ts +178 -0
- package/dist/operations.service.d.ts.map +1 -0
- package/dist/operations.service.js +134 -0
- package/dist/operations.service.js.map +1 -0
- package/hedhog/data/menu.yaml +251 -132
- package/hedhog/data/operations_career_level.yaml +102 -0
- package/hedhog/data/operations_career_track.yaml +8 -0
- package/hedhog/data/operations_certification.yaml +38 -0
- package/hedhog/data/operations_evaluation_cycle.yaml +18 -0
- package/hedhog/data/operations_performance_criterion.yaml +48 -0
- package/hedhog/data/role.yaml +14 -7
- package/hedhog/data/route.yaml +143 -80
- package/hedhog/frontend/app/_components/allocation-calendar.tsx.ejs +56 -56
- package/hedhog/frontend/app/_components/kanban-board.tsx.ejs +626 -83
- package/hedhog/frontend/app/_components/operations-header.tsx.ejs +29 -29
- package/hedhog/frontend/app/_components/section-card.tsx.ejs +32 -32
- package/hedhog/frontend/app/_components/status-badge.tsx.ejs +15 -15
- package/hedhog/frontend/app/_components/timesheet-entry-dialog.tsx.ejs +142 -142
- package/hedhog/frontend/app/_lib/hooks/use-operations-data.ts.ejs +41 -41
- package/hedhog/frontend/app/_lib/hooks/use-operations-growth-data.ts.ejs +63 -0
- package/hedhog/frontend/app/_lib/mocks/allocations.mock.ts.ejs +74 -74
- package/hedhog/frontend/app/_lib/mocks/contracts.mock.ts.ejs +74 -74
- package/hedhog/frontend/app/_lib/mocks/operations-growth.mock.ts.ejs +824 -0
- package/hedhog/frontend/app/_lib/mocks/projects.mock.ts.ejs +455 -60
- package/hedhog/frontend/app/_lib/mocks/tasks.mock.ts.ejs +117 -88
- package/hedhog/frontend/app/_lib/mocks/timesheets.mock.ts.ejs +84 -84
- package/hedhog/frontend/app/_lib/mocks/users.mock.ts.ejs +67 -67
- package/hedhog/frontend/app/_lib/services/contracts.service.ts.ejs +10 -10
- package/hedhog/frontend/app/_lib/services/operations-growth.service.ts.ejs +31 -0
- package/hedhog/frontend/app/_lib/services/projects.service.ts.ejs +10 -10
- package/hedhog/frontend/app/_lib/services/tasks.service.ts.ejs +10 -10
- package/hedhog/frontend/app/_lib/services/timesheets.service.ts.ejs +10 -10
- package/hedhog/frontend/app/_lib/types/operations-growth.ts.ejs +209 -0
- package/hedhog/frontend/app/_lib/types/operations.ts.ejs +156 -95
- package/hedhog/frontend/app/_lib/utils/format.ts.ejs +25 -25
- package/hedhog/frontend/app/_lib/utils/growth.ts.ejs +62 -0
- package/hedhog/frontend/app/_lib/utils/metrics.ts.ejs +103 -103
- package/hedhog/frontend/app/_lib/utils/status.ts.ejs +80 -80
- package/hedhog/frontend/app/allocations/page.tsx.ejs +155 -99
- package/hedhog/frontend/app/approvals/page.tsx.ejs +147 -147
- package/hedhog/frontend/app/career/page.tsx.ejs +143 -0
- package/hedhog/frontend/app/certifications/page.tsx.ejs +202 -0
- package/hedhog/frontend/app/contracts/[id]/page.tsx.ejs +108 -108
- package/hedhog/frontend/app/contracts/page.tsx.ejs +181 -124
- package/hedhog/frontend/app/evaluations/page.tsx.ejs +278 -0
- package/hedhog/frontend/app/goals/page.tsx.ejs +171 -0
- package/hedhog/frontend/app/growth/page.tsx.ejs +288 -0
- package/hedhog/frontend/app/layout.tsx.ejs +9 -9
- package/hedhog/frontend/app/manager/page.tsx.ejs +175 -0
- package/hedhog/frontend/app/page.tsx.ejs +177 -177
- package/hedhog/frontend/app/projects/[id]/page.tsx.ejs +936 -186
- package/hedhog/frontend/app/projects/page.tsx.ejs +1074 -111
- package/hedhog/frontend/app/rewards/page.tsx.ejs +196 -0
- package/hedhog/frontend/app/tasks/page.tsx.ejs +999 -47
- package/hedhog/frontend/app/timesheets/page.tsx.ejs +126 -126
- package/hedhog/frontend/messages/en.json +454 -142
- package/hedhog/frontend/messages/pt.json +454 -142
- package/hedhog/table/operations_allocation.yaml +52 -0
- package/hedhog/table/operations_calibration_item.yaml +61 -0
- package/hedhog/table/operations_calibration_session.yaml +25 -0
- package/hedhog/table/operations_career_level.yaml +75 -0
- package/hedhog/table/operations_career_track.yaml +21 -0
- package/hedhog/table/operations_certification.yaml +48 -0
- package/hedhog/table/operations_contract.yaml +57 -0
- package/hedhog/table/operations_employee.yaml +64 -0
- package/hedhog/table/operations_employee_certification.yaml +43 -0
- package/hedhog/table/operations_employee_connect.yaml +61 -0
- package/hedhog/table/operations_employee_evaluation.yaml +113 -0
- package/hedhog/table/operations_employee_evaluation_item.yaml +39 -0
- package/hedhog/table/operations_employee_profile.yaml +80 -0
- package/hedhog/table/operations_employee_skill_matrix.yaml +30 -0
- package/hedhog/table/operations_evaluation_cycle.yaml +31 -0
- package/hedhog/table/operations_goal.yaml +67 -0
- package/hedhog/table/operations_goal_progress.yaml +31 -0
- package/hedhog/table/operations_performance_criterion.yaml +29 -0
- package/hedhog/table/operations_project.yaml +66 -0
- package/hedhog/table/operations_promotion_readiness.yaml +49 -0
- package/hedhog/table/operations_promotion_recommendation.yaml +63 -0
- package/hedhog/table/operations_public_recognition.yaml +46 -0
- package/hedhog/table/operations_reward.yaml +100 -0
- package/hedhog/table/operations_score_event.yaml +81 -0
- package/hedhog/table/operations_task.yaml +60 -0
- package/hedhog/table/operations_timesheet.yaml +49 -0
- package/hedhog/table/operations_timesheet_entry.yaml +51 -0
- package/package.json +4 -4
- package/src/index.ts +2 -1
- package/src/language/en.json +8 -8
- package/src/language/pt.json +8 -8
- package/src/operations-data.controller.ts +54 -0
- package/src/operations-growth.controller.ts +44 -0
- package/src/operations.module.ts +21 -15
- package/src/operations.service.ts +137 -0
|
@@ -1,142 +1,454 @@
|
|
|
1
|
-
{
|
|
2
|
-
"DashboardPage": {
|
|
3
|
-
"title": "Dashboard de Operacoes",
|
|
4
|
-
"description": "Acompanhe saude da entrega, utilizacao, aprovacoes e throughput da equipe.",
|
|
5
|
-
"breadcrumb": "Dashboard",
|
|
6
|
-
"cards": {
|
|
7
|
-
"activeProjects": "Projetos Ativos",
|
|
8
|
-
"loggedHours": "Horas Lancadas no Mes",
|
|
9
|
-
"pendingHours": "Horas Pendentes de Aprovacao",
|
|
10
|
-
"revenue": "Receita",
|
|
11
|
-
"utilization": "Utilizacao da Equipe"
|
|
12
|
-
},
|
|
13
|
-
"charts": {
|
|
14
|
-
"hoursByProject": "Horas por Projeto",
|
|
15
|
-
"hoursByProjectDescription": "Esforco lancado por engagement ativo.",
|
|
16
|
-
"hoursByUser": "Horas por Usuario",
|
|
17
|
-
"hoursByUserDescription": "Esforco de entrega por consultor.",
|
|
18
|
-
"approvalStatus": "Status de Aprovacao",
|
|
19
|
-
"approvalStatusDescription": "Entradas aprovadas, pendentes e rejeitadas.",
|
|
20
|
-
"weeklyTrend": "Tendencia Semanal de Timesheets",
|
|
21
|
-
"weeklyTrendDescription": "Cadencia recente de entrega."
|
|
22
|
-
},
|
|
23
|
-
"recentTable": {
|
|
24
|
-
"title": "Entradas Recentes de Timesheet",
|
|
25
|
-
"description": "Ultima atividade de apontamento operacional.",
|
|
26
|
-
"user": "Usuario",
|
|
27
|
-
"project": "Projeto",
|
|
28
|
-
"task": "Tarefa",
|
|
29
|
-
"hours": "Horas",
|
|
30
|
-
"status": "Status"
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
"ContractsPage": {
|
|
34
|
-
"title": "Contratos",
|
|
35
|
-
"description": "Revise acordos comerciais, limites e frentes de entrega vinculadas.",
|
|
36
|
-
"breadcrumb": "Contratos",
|
|
37
|
-
"tableTitle": "Cadastro de Contratos",
|
|
38
|
-
"tableDescription": "Lista mock estatica pronta para paginacao e filtros futuros.",
|
|
39
|
-
"searchPlaceholder": "Buscar contrato ou cliente...",
|
|
40
|
-
"filters": {
|
|
41
|
-
"all": "Todos os status",
|
|
42
|
-
"active": "Ativo",
|
|
43
|
-
"renewal": "Renovacao",
|
|
44
|
-
"expired": "Expirado",
|
|
45
|
-
"draft": "Rascunho"
|
|
46
|
-
},
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
"
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
"
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
"
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
1
|
+
{
|
|
2
|
+
"DashboardPage": {
|
|
3
|
+
"title": "Dashboard de Operacoes",
|
|
4
|
+
"description": "Acompanhe saude da entrega, utilizacao, aprovacoes e throughput da equipe.",
|
|
5
|
+
"breadcrumb": "Dashboard",
|
|
6
|
+
"cards": {
|
|
7
|
+
"activeProjects": "Projetos Ativos",
|
|
8
|
+
"loggedHours": "Horas Lancadas no Mes",
|
|
9
|
+
"pendingHours": "Horas Pendentes de Aprovacao",
|
|
10
|
+
"revenue": "Receita",
|
|
11
|
+
"utilization": "Utilizacao da Equipe"
|
|
12
|
+
},
|
|
13
|
+
"charts": {
|
|
14
|
+
"hoursByProject": "Horas por Projeto",
|
|
15
|
+
"hoursByProjectDescription": "Esforco lancado por engagement ativo.",
|
|
16
|
+
"hoursByUser": "Horas por Usuario",
|
|
17
|
+
"hoursByUserDescription": "Esforco de entrega por consultor.",
|
|
18
|
+
"approvalStatus": "Status de Aprovacao",
|
|
19
|
+
"approvalStatusDescription": "Entradas aprovadas, pendentes e rejeitadas.",
|
|
20
|
+
"weeklyTrend": "Tendencia Semanal de Timesheets",
|
|
21
|
+
"weeklyTrendDescription": "Cadencia recente de entrega."
|
|
22
|
+
},
|
|
23
|
+
"recentTable": {
|
|
24
|
+
"title": "Entradas Recentes de Timesheet",
|
|
25
|
+
"description": "Ultima atividade de apontamento operacional.",
|
|
26
|
+
"user": "Usuario",
|
|
27
|
+
"project": "Projeto",
|
|
28
|
+
"task": "Tarefa",
|
|
29
|
+
"hours": "Horas",
|
|
30
|
+
"status": "Status"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"ContractsPage": {
|
|
34
|
+
"title": "Contratos",
|
|
35
|
+
"description": "Revise acordos comerciais, limites e frentes de entrega vinculadas.",
|
|
36
|
+
"breadcrumb": "Contratos",
|
|
37
|
+
"tableTitle": "Cadastro de Contratos",
|
|
38
|
+
"tableDescription": "Lista mock estatica pronta para paginacao e filtros futuros.",
|
|
39
|
+
"searchPlaceholder": "Buscar contrato ou cliente...",
|
|
40
|
+
"filters": {
|
|
41
|
+
"all": "Todos os status",
|
|
42
|
+
"active": "Ativo",
|
|
43
|
+
"renewal": "Renovacao",
|
|
44
|
+
"expired": "Expirado",
|
|
45
|
+
"draft": "Rascunho"
|
|
46
|
+
},
|
|
47
|
+
"emptyState": {
|
|
48
|
+
"title": "Nenhum contrato encontrado",
|
|
49
|
+
"description": "Ajuste os filtros de busca para visualizar os contratos cadastrados.",
|
|
50
|
+
"action": "Limpar filtros"
|
|
51
|
+
},
|
|
52
|
+
"columns": {
|
|
53
|
+
"name": "Nome do Contrato",
|
|
54
|
+
"client": "Cliente",
|
|
55
|
+
"type": "Tipo",
|
|
56
|
+
"startDate": "Data Inicial",
|
|
57
|
+
"endDate": "Data Final",
|
|
58
|
+
"hourRate": "Valor Hora",
|
|
59
|
+
"hourLimit": "Limite de Horas",
|
|
60
|
+
"status": "Status"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"ProjectsPage": {
|
|
64
|
+
"title": "Projetos",
|
|
65
|
+
"description": "Navegue pela saude do portfolio, progresso e alocacao da equipe.",
|
|
66
|
+
"breadcrumb": "Projetos",
|
|
67
|
+
"searchPlaceholder": "Buscar projeto ou cliente...",
|
|
68
|
+
"budget": "Orcamento",
|
|
69
|
+
"dateRange": "Periodo",
|
|
70
|
+
"view": {
|
|
71
|
+
"table": "Modo tabela",
|
|
72
|
+
"grid": "Modo grade"
|
|
73
|
+
},
|
|
74
|
+
"actions": {
|
|
75
|
+
"create": "Novo Projeto",
|
|
76
|
+
"edit": "Editar",
|
|
77
|
+
"save": "Salvar Projeto"
|
|
78
|
+
},
|
|
79
|
+
"stats": {
|
|
80
|
+
"totalProjects": "Total de Projetos",
|
|
81
|
+
"activeProjects": "Projetos Ativos",
|
|
82
|
+
"avgProgress": "Progresso Medio",
|
|
83
|
+
"totalHours": "Total de Horas Lancadas"
|
|
84
|
+
},
|
|
85
|
+
"filters": {
|
|
86
|
+
"statusAll": "Todos os status",
|
|
87
|
+
"progressAll": "Qualquer progresso",
|
|
88
|
+
"progress0To25": "0% a 25%",
|
|
89
|
+
"progress26To50": "26% a 50%",
|
|
90
|
+
"progress51To75": "51% a 75%",
|
|
91
|
+
"progress76To100": "76% a 100%"
|
|
92
|
+
},
|
|
93
|
+
"statusOptions": {
|
|
94
|
+
"planning": "Planejamento",
|
|
95
|
+
"active": "Ativo",
|
|
96
|
+
"atRisk": "Em Risco",
|
|
97
|
+
"paused": "Pausado",
|
|
98
|
+
"completed": "Concluido"
|
|
99
|
+
},
|
|
100
|
+
"columns": {
|
|
101
|
+
"project": "Projeto",
|
|
102
|
+
"client": "Cliente",
|
|
103
|
+
"status": "Status",
|
|
104
|
+
"progress": "Progresso",
|
|
105
|
+
"team": "Equipe",
|
|
106
|
+
"hours": "Horas",
|
|
107
|
+
"dates": "Datas",
|
|
108
|
+
"budget": "Orcamento",
|
|
109
|
+
"actions": "Acoes"
|
|
110
|
+
},
|
|
111
|
+
"emptyState": {
|
|
112
|
+
"title": "Nenhum projeto corresponde aos filtros atuais",
|
|
113
|
+
"description": "Tente ampliar os criterios de busca para visualizar projetos.",
|
|
114
|
+
"action": "Limpar filtros"
|
|
115
|
+
},
|
|
116
|
+
"sheet": {
|
|
117
|
+
"createTitle": "Criar projeto",
|
|
118
|
+
"createDescription": "Adicione um novo projeto ao portfolio de operacoes.",
|
|
119
|
+
"editTitle": "Editar projeto",
|
|
120
|
+
"editDescription": "Ajuste os detalhes do projeto e mantenha o planejamento atualizado."
|
|
121
|
+
},
|
|
122
|
+
"form": {
|
|
123
|
+
"nameLabel": "Nome do projeto",
|
|
124
|
+
"namePlaceholder": "Ex: Expansao do CRM Atlas",
|
|
125
|
+
"clientLabel": "Cliente",
|
|
126
|
+
"clientPlaceholder": "Ex: Atlas Logistics",
|
|
127
|
+
"contractLabel": "Contrato",
|
|
128
|
+
"contractPlaceholder": "Selecione um contrato vinculado",
|
|
129
|
+
"statusLabel": "Status",
|
|
130
|
+
"statusPlaceholder": "Selecione um status",
|
|
131
|
+
"progressLabel": "Progresso (%)",
|
|
132
|
+
"progressPlaceholder": "Ex: 45",
|
|
133
|
+
"hoursLabel": "Horas lancadas",
|
|
134
|
+
"hoursPlaceholder": "Ex: 120",
|
|
135
|
+
"budgetLabel": "Orcamento",
|
|
136
|
+
"budgetPlaceholder": "Ex: 98000",
|
|
137
|
+
"startDateLabel": "Data inicial",
|
|
138
|
+
"startDatePlaceholder": "Selecione a data inicial",
|
|
139
|
+
"endDateLabel": "Data final",
|
|
140
|
+
"endDatePlaceholder": "Selecione a data final",
|
|
141
|
+
"invalidDateRange": "A data final deve ser posterior a data inicial.",
|
|
142
|
+
"teamMembersLabel": "Membros da equipe",
|
|
143
|
+
"teamMembersDescription": "Selecione pelo menos um colaborador para o projeto.",
|
|
144
|
+
"descriptionLabel": "Descricao do projeto",
|
|
145
|
+
"descriptionHint": "Descreva escopo, entregaveis e contexto operacional do projeto."
|
|
146
|
+
},
|
|
147
|
+
"toasts": {
|
|
148
|
+
"created": "Projeto criado com sucesso.",
|
|
149
|
+
"updated": "Projeto atualizado com sucesso."
|
|
150
|
+
},
|
|
151
|
+
"progress": "Progresso",
|
|
152
|
+
"teamMembers": "Membros da Equipe",
|
|
153
|
+
"hoursLogged": "Horas Lancadas",
|
|
154
|
+
"startDate": "Data Inicial",
|
|
155
|
+
"endDate": "Data Final"
|
|
156
|
+
},
|
|
157
|
+
"ProjectDetailsPage": {
|
|
158
|
+
"notFound": "Projeto nao encontrado.",
|
|
159
|
+
"breadcrumb": "Detalhes do Projeto",
|
|
160
|
+
"description": "Visao detalhada do projeto para {client} com dados de execucao, equipe, financeiro e governanca.",
|
|
161
|
+
"tabs": {
|
|
162
|
+
"overview": "Visao Geral",
|
|
163
|
+
"execution": "Execucao",
|
|
164
|
+
"team": "Equipe",
|
|
165
|
+
"finance": "Financeiro",
|
|
166
|
+
"timesheets": "Timesheets",
|
|
167
|
+
"governance": "Governanca"
|
|
168
|
+
},
|
|
169
|
+
"stats": {
|
|
170
|
+
"progress": "Progresso",
|
|
171
|
+
"actualCost": "Custo Real",
|
|
172
|
+
"remainingBudget": "Saldo de Orcamento",
|
|
173
|
+
"throughput": "Throughput"
|
|
174
|
+
},
|
|
175
|
+
"projectStatus": {
|
|
176
|
+
"planning": "Planejamento",
|
|
177
|
+
"active": "Ativo",
|
|
178
|
+
"at-risk": "Em Risco",
|
|
179
|
+
"paused": "Pausado",
|
|
180
|
+
"completed": "Concluido"
|
|
181
|
+
},
|
|
182
|
+
"health": {
|
|
183
|
+
"scope": "Escopo",
|
|
184
|
+
"schedule": "Prazo",
|
|
185
|
+
"budget": "Orcamento",
|
|
186
|
+
"quality": "Qualidade"
|
|
187
|
+
},
|
|
188
|
+
"healthStatus": {
|
|
189
|
+
"excellent": "Excelente",
|
|
190
|
+
"stable": "Estavel",
|
|
191
|
+
"attention": "Atencao",
|
|
192
|
+
"critical": "Critico"
|
|
193
|
+
},
|
|
194
|
+
"riskSeverity": {
|
|
195
|
+
"low": "Baixo",
|
|
196
|
+
"medium": "Medio",
|
|
197
|
+
"high": "Alto"
|
|
198
|
+
},
|
|
199
|
+
"riskStatus": {
|
|
200
|
+
"open": "Aberto",
|
|
201
|
+
"mitigated": "Mitigado",
|
|
202
|
+
"accepted": "Aceito"
|
|
203
|
+
},
|
|
204
|
+
"milestoneStatus": {
|
|
205
|
+
"done": "Concluido",
|
|
206
|
+
"next": "Proximo",
|
|
207
|
+
"delayed": "Atrasado"
|
|
208
|
+
},
|
|
209
|
+
"dependencyType": {
|
|
210
|
+
"internal": "Interna",
|
|
211
|
+
"client": "Cliente",
|
|
212
|
+
"vendor": "Fornecedor"
|
|
213
|
+
},
|
|
214
|
+
"dependencyStatus": {
|
|
215
|
+
"on-track": "No Prazo",
|
|
216
|
+
"watch": "Monitorar",
|
|
217
|
+
"blocked": "Bloqueada"
|
|
218
|
+
},
|
|
219
|
+
"approvals": {
|
|
220
|
+
"approved": "Aprovado",
|
|
221
|
+
"pending": "Pendente",
|
|
222
|
+
"rejected": "Rejeitado"
|
|
223
|
+
},
|
|
224
|
+
"taskStatus": {
|
|
225
|
+
"backlog": "Backlog",
|
|
226
|
+
"todo": "A Fazer",
|
|
227
|
+
"inProgress": "Em Progresso",
|
|
228
|
+
"review": "Revisao",
|
|
229
|
+
"done": "Concluido"
|
|
230
|
+
},
|
|
231
|
+
"hero": {
|
|
232
|
+
"progress": "Progresso",
|
|
233
|
+
"budget": "Orcamento",
|
|
234
|
+
"hours": "Horas Lancadas",
|
|
235
|
+
"scheduleVariance": "Variacao de Prazo"
|
|
236
|
+
},
|
|
237
|
+
"labels": {
|
|
238
|
+
"health": "Saude",
|
|
239
|
+
"risks": "Riscos",
|
|
240
|
+
"period": "Periodo",
|
|
241
|
+
"contract": "Contrato",
|
|
242
|
+
"teamSize": "Equipe: {count} pessoas",
|
|
243
|
+
"owner": "Responsavel",
|
|
244
|
+
"impact": "Impacto",
|
|
245
|
+
"mitigation": "Mitigacao",
|
|
246
|
+
"type": "Tipo",
|
|
247
|
+
"totalTasks": "Total de tarefas",
|
|
248
|
+
"estimatedHours": "Horas estimadas"
|
|
249
|
+
},
|
|
250
|
+
"sections": {
|
|
251
|
+
"progressTrend": "Tendencia de Progresso",
|
|
252
|
+
"progressTrendDescription": "Comparativo entre progresso planejado e progresso real por mes.",
|
|
253
|
+
"health": "Saude do Projeto",
|
|
254
|
+
"healthDescription": "Leitura executiva por frentes criticas de entrega.",
|
|
255
|
+
"milestones": "Marcos",
|
|
256
|
+
"milestonesDescription": "Linha dos principais marcos e entregas.",
|
|
257
|
+
"risks": "Riscos e Mitigacoes",
|
|
258
|
+
"risksDescription": "Riscos ativos, impacto e plano de resposta.",
|
|
259
|
+
"taskDistribution": "Distribuicao de Tarefas",
|
|
260
|
+
"taskDistributionDescription": "Volume de tarefas por status no fluxo de execucao.",
|
|
261
|
+
"kanban": "Kanban",
|
|
262
|
+
"kanbanDescription": "Visual do fluxo atual de trabalho da equipe.",
|
|
263
|
+
"taskTable": "Backlog Detalhado",
|
|
264
|
+
"taskTableDescription": "Tarefas, responsaveis, prazo e estimativa.",
|
|
265
|
+
"teamAllocation": "Alocacao da Equipe",
|
|
266
|
+
"teamAllocationDescription": "Capacidade e ocupacao por pessoa.",
|
|
267
|
+
"teamCost": "Composicao de Custo da Equipe",
|
|
268
|
+
"teamCostDescription": "Distribuicao do valor/hora por membro alocado.",
|
|
269
|
+
"budgetStatus": "Status de Orcamento",
|
|
270
|
+
"budgetStatusDescription": "Visao consolidada de consumo financeiro atual.",
|
|
271
|
+
"costForecast": "Forecast de Custos",
|
|
272
|
+
"costForecastDescription": "Comparativo de custo planejado versus realizado.",
|
|
273
|
+
"approvalsDistribution": "Distribuicao de Aprovacoes",
|
|
274
|
+
"approvalsDistributionDescription": "Panorama dos status de aprovacao de horas.",
|
|
275
|
+
"timesheets": "Lancamentos de Horas",
|
|
276
|
+
"timesheetsDescription": "Detalhamento das entradas de timesheet do projeto.",
|
|
277
|
+
"governance": "Governanca e Contrato",
|
|
278
|
+
"governanceDescription": "Informacoes contratuais e regras operacionais.",
|
|
279
|
+
"dependencies": "Dependencias",
|
|
280
|
+
"dependenciesDescription": "Dependencias internas e externas do plano.",
|
|
281
|
+
"decisions": "Decisoes",
|
|
282
|
+
"decisionsDescription": "Registro de decisoes de governanca.",
|
|
283
|
+
"nextActions": "Proximos Passos",
|
|
284
|
+
"nextActionsDescription": "Acoes imediatas para manter a saude da entrega."
|
|
285
|
+
},
|
|
286
|
+
"table": {
|
|
287
|
+
"task": "Tarefa",
|
|
288
|
+
"assignee": "Responsavel",
|
|
289
|
+
"dueDate": "Prazo",
|
|
290
|
+
"estimate": "Estimativa",
|
|
291
|
+
"status": "Status",
|
|
292
|
+
"member": "Membro",
|
|
293
|
+
"role": "Funcao",
|
|
294
|
+
"hourRate": "Valor Hora",
|
|
295
|
+
"utilization": "Utilizacao",
|
|
296
|
+
"date": "Data",
|
|
297
|
+
"user": "Usuario",
|
|
298
|
+
"hours": "Horas",
|
|
299
|
+
"description": "Descricao"
|
|
300
|
+
},
|
|
301
|
+
"finance": {
|
|
302
|
+
"totalBudget": "Orcamento Total",
|
|
303
|
+
"actualCost": "Custo Real",
|
|
304
|
+
"remainingBudget": "Saldo de Orcamento",
|
|
305
|
+
"budgetConsumption": "Consumo de Orcamento"
|
|
306
|
+
},
|
|
307
|
+
"charts": {
|
|
308
|
+
"plannedProgress": "Progresso Planejado",
|
|
309
|
+
"actualProgress": "Progresso Real",
|
|
310
|
+
"plannedCost": "Custo Planejado",
|
|
311
|
+
"actualCost": "Custo Real"
|
|
312
|
+
},
|
|
313
|
+
"governance": {
|
|
314
|
+
"client": "Cliente",
|
|
315
|
+
"contract": "Contrato",
|
|
316
|
+
"sla": "SLA",
|
|
317
|
+
"billingRules": "Regras de Faturamento"
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
"AllocationsPage": {
|
|
321
|
+
"title": "Alocacoes",
|
|
322
|
+
"description": "Acompanhe capacidade semanal, cobertura de staffing e janelas de alocacao.",
|
|
323
|
+
"breadcrumb": "Alocacoes",
|
|
324
|
+
"tableTitle": "Matriz de Alocacao",
|
|
325
|
+
"tableDescription": "Fotografia das alocacoes por usuario e projeto.",
|
|
326
|
+
"searchPlaceholder": "Buscar usuario ou projeto...",
|
|
327
|
+
"emptyState": {
|
|
328
|
+
"title": "Nenhuma alocacao encontrada",
|
|
329
|
+
"description": "Tente outra busca para visualizar as alocacoes da equipe.",
|
|
330
|
+
"action": "Limpar busca"
|
|
331
|
+
},
|
|
332
|
+
"columns": {
|
|
333
|
+
"user": "Usuario",
|
|
334
|
+
"role": "Funcao",
|
|
335
|
+
"project": "Projeto",
|
|
336
|
+
"weeklyHours": "Horas Semanais",
|
|
337
|
+
"allocation": "Alocacao %",
|
|
338
|
+
"startDate": "Data Inicial",
|
|
339
|
+
"endDate": "Data Final"
|
|
340
|
+
},
|
|
341
|
+
"calendarTitle": "Calendario de Alocacao",
|
|
342
|
+
"calendarDescription": "Planejador semanal mock para futuras APIs de scheduling."
|
|
343
|
+
},
|
|
344
|
+
"TasksPage": {
|
|
345
|
+
"title": "Tarefas / Kanban",
|
|
346
|
+
"description": "Quadro inspirado no Trello com drag-and-drop, atalhos de teclado e dados mock.",
|
|
347
|
+
"breadcrumb": "Tarefas",
|
|
348
|
+
"boardTitle": "Quadro Kanban",
|
|
349
|
+
"boardDescription": "Itens operacionais agrupados por etapa de entrega.",
|
|
350
|
+
"searchPlaceholder": "Buscar titulo, projeto, label ou descricao...",
|
|
351
|
+
"newTask": "Nova tarefa",
|
|
352
|
+
"openCommands": "Comandos",
|
|
353
|
+
"applyFilters": "Buscar",
|
|
354
|
+
"clearFilters": "Limpar",
|
|
355
|
+
"archiveSelection": "Arquivar selecionadas",
|
|
356
|
+
"openFocused": "Abrir focada",
|
|
357
|
+
"selectedCount": "{count} selecionadas",
|
|
358
|
+
"newTaskTitle": "Nova tarefa de planejamento",
|
|
359
|
+
"newTaskDescription": "Tarefa criada via atalho de teclado no modo mock.",
|
|
360
|
+
"filters": {
|
|
361
|
+
"assignee": "Responsavel",
|
|
362
|
+
"allAssignees": "Todos os responsaveis",
|
|
363
|
+
"unassigned": "Nao atribuida",
|
|
364
|
+
"project": "Projeto",
|
|
365
|
+
"allProjects": "Todos os projetos"
|
|
366
|
+
},
|
|
367
|
+
"stats": {
|
|
368
|
+
"totalTasks": "Total ativas",
|
|
369
|
+
"inProgress": "Em andamento",
|
|
370
|
+
"review": "Em revisao",
|
|
371
|
+
"done": "Concluidas",
|
|
372
|
+
"critical": "Alta prioridade"
|
|
373
|
+
},
|
|
374
|
+
"keyboardMode": {
|
|
375
|
+
"enabled": "Drag por teclado ativado",
|
|
376
|
+
"disabled": "Drag por teclado desativado"
|
|
377
|
+
},
|
|
378
|
+
"shortcuts": {
|
|
379
|
+
"create": "Criar tarefa",
|
|
380
|
+
"focusSearch": "Focar busca",
|
|
381
|
+
"toggleKeyboardDrag": "Alternar drag por teclado",
|
|
382
|
+
"openTask": "Abrir tarefa focada",
|
|
383
|
+
"archive": "Arquivar selecao",
|
|
384
|
+
"navigate": "Navegar entre cards"
|
|
385
|
+
},
|
|
386
|
+
"commands": {
|
|
387
|
+
"title": "Comandos de Tarefas",
|
|
388
|
+
"description": "Execute acoes rapidas sem sair do board.",
|
|
389
|
+
"placeholder": "Digite um comando ou acao...",
|
|
390
|
+
"empty": "Nenhum comando encontrado.",
|
|
391
|
+
"actions": "Acoes",
|
|
392
|
+
"newTask": "Criar nova tarefa mock",
|
|
393
|
+
"enableKeyboardDrag": "Ativar modo de drag por teclado",
|
|
394
|
+
"disableKeyboardDrag": "Desativar modo de drag por teclado",
|
|
395
|
+
"archiveSelected": "Arquivar cards selecionados",
|
|
396
|
+
"openFocused": "Abrir detalhes da tarefa focada"
|
|
397
|
+
},
|
|
398
|
+
"empty": {
|
|
399
|
+
"title": "Nenhuma tarefa visivel",
|
|
400
|
+
"description": "Os filtros atuais removeram todos os cards do board. Limpe os filtros ou crie uma nova tarefa."
|
|
401
|
+
},
|
|
402
|
+
"detail": {
|
|
403
|
+
"descriptionLabel": "Descricao",
|
|
404
|
+
"priority": "Prioridade",
|
|
405
|
+
"estimate": "Estimativa",
|
|
406
|
+
"labels": "Labels",
|
|
407
|
+
"quickActions": "Acoes rapidas de status"
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
"TimesheetsPage": {
|
|
411
|
+
"title": "Timesheets",
|
|
412
|
+
"description": "Gerencie lancamentos semanais, resumos e aprovacoes em fluxo mock.",
|
|
413
|
+
"breadcrumb": "Timesheets",
|
|
414
|
+
"summary": {
|
|
415
|
+
"totalHours": "Total de Horas",
|
|
416
|
+
"dailyTotals": "Totais Diarios",
|
|
417
|
+
"weeklyTotal": "Total Semanal"
|
|
418
|
+
},
|
|
419
|
+
"gridTitle": "Grade Semanal de Timesheets",
|
|
420
|
+
"gridDescription": "Entradas sao estaticas por enquanto, mas usam camada de servico substituivel.",
|
|
421
|
+
"searchPlaceholder": "Buscar usuario, projeto, tarefa ou descricao...",
|
|
422
|
+
"columns": {
|
|
423
|
+
"date": "Data",
|
|
424
|
+
"user": "Usuario",
|
|
425
|
+
"project": "Projeto",
|
|
426
|
+
"task": "Tarefa",
|
|
427
|
+
"hours": "Horas",
|
|
428
|
+
"description": "Descricao",
|
|
429
|
+
"status": "Status"
|
|
430
|
+
}
|
|
431
|
+
},
|
|
432
|
+
"ApprovalsPage": {
|
|
433
|
+
"title": "Aprovacoes",
|
|
434
|
+
"description": "Fila gerencial para revisao e decisao sobre timesheets.",
|
|
435
|
+
"breadcrumb": "Aprovacoes",
|
|
436
|
+
"cards": {
|
|
437
|
+
"pending": "Pendentes",
|
|
438
|
+
"approved": "Aprovadas",
|
|
439
|
+
"rejected": "Rejeitadas"
|
|
440
|
+
},
|
|
441
|
+
"queueTitle": "Fila de Aprovacao",
|
|
442
|
+
"queueDescription": "Acoes mock alteram apenas o estado local da interface.",
|
|
443
|
+
"searchPlaceholder": "Buscar usuario, projeto ou descricao...",
|
|
444
|
+
"columns": {
|
|
445
|
+
"user": "Usuario",
|
|
446
|
+
"project": "Projeto",
|
|
447
|
+
"date": "Data",
|
|
448
|
+
"hours": "Horas",
|
|
449
|
+
"description": "Descricao",
|
|
450
|
+
"status": "Status",
|
|
451
|
+
"actions": "Acoes"
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: employee_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: operations_employee
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: project_id
|
|
11
|
+
type: fk
|
|
12
|
+
references:
|
|
13
|
+
table: operations_project
|
|
14
|
+
column: id
|
|
15
|
+
onDelete: CASCADE
|
|
16
|
+
onUpdate: CASCADE
|
|
17
|
+
- name: role_name
|
|
18
|
+
type: varchar
|
|
19
|
+
length: 120
|
|
20
|
+
- name: weekly_hours
|
|
21
|
+
type: decimal
|
|
22
|
+
precision: 6
|
|
23
|
+
scale: 2
|
|
24
|
+
- name: allocation_percent
|
|
25
|
+
type: decimal
|
|
26
|
+
precision: 5
|
|
27
|
+
scale: 2
|
|
28
|
+
- name: start_date
|
|
29
|
+
type: date
|
|
30
|
+
- name: end_date
|
|
31
|
+
type: date
|
|
32
|
+
isNullable: true
|
|
33
|
+
- name: status
|
|
34
|
+
type: enum
|
|
35
|
+
values: [planned, active, completed, canceled]
|
|
36
|
+
default: planned
|
|
37
|
+
- name: notes
|
|
38
|
+
type: text
|
|
39
|
+
isNullable: true
|
|
40
|
+
- name: deleted_at
|
|
41
|
+
type: datetime
|
|
42
|
+
isNullable: true
|
|
43
|
+
- type: created_at
|
|
44
|
+
- type: updated_at
|
|
45
|
+
|
|
46
|
+
indices:
|
|
47
|
+
- columns: [employee_id]
|
|
48
|
+
- columns: [project_id]
|
|
49
|
+
- columns: [status]
|
|
50
|
+
- columns: [start_date]
|
|
51
|
+
- columns: [end_date]
|
|
52
|
+
- columns: [deleted_at]
|