Commit 04e10eae1b18323121fbe6cedf5e6cf77cc37f36
1 parent
874b9b0a
Exists in
master
Iniciado o Mapa2.
git-svn-id: http://svn.softwarepublico.gov.br/svn/cacic/cacic/trunk/agente-windows@1534 fecfc0c7-e812-0410-ae72-849f08638ee7
Showing
5 changed files
with
987 additions
and
0 deletions
Show diff stats
@@ -0,0 +1,72 @@ | @@ -0,0 +1,72 @@ | ||
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
3 | + <PropertyGroup> | ||
4 | + <ProjectGuid>{d3ca3b54-0625-490e-998f-ff10ae284979}</ProjectGuid> | ||
5 | + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
6 | + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | ||
7 | + <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> | ||
8 | + <DCC_DependencyCheckOutputName>Mapa2.exe</DCC_DependencyCheckOutputName> | ||
9 | + <MainSource>Mapa2.dpr</MainSource> | ||
10 | + </PropertyGroup> | ||
11 | + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | ||
12 | + <Version>7.0</Version> | ||
13 | + <DCC_DebugInformation>False</DCC_DebugInformation> | ||
14 | + <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols> | ||
15 | + <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> | ||
16 | + <DCC_Define>RELEASE</DCC_Define> | ||
17 | + </PropertyGroup> | ||
18 | + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | ||
19 | + <Version>7.0</Version> | ||
20 | + <DCC_Define>DEBUG</DCC_Define> | ||
21 | + </PropertyGroup> | ||
22 | + <ProjectExtensions> | ||
23 | + <Borland.Personality>Delphi.Personality</Borland.Personality> | ||
24 | + <Borland.ProjectType /> | ||
25 | + <BorlandProject> | ||
26 | +<BorlandProject> <Delphi.Personality> <Parameters> | ||
27 | + <Parameters Name="UseLauncher">False</Parameters> | ||
28 | + <Parameters Name="LoadAllSymbols">True</Parameters> | ||
29 | + <Parameters Name="LoadUnspecifiedSymbols">False</Parameters> | ||
30 | + </Parameters> | ||
31 | + <VersionInfo> | ||
32 | + <VersionInfo Name="IncludeVerInfo">False</VersionInfo> | ||
33 | + <VersionInfo Name="AutoIncBuild">False</VersionInfo> | ||
34 | + <VersionInfo Name="MajorVer">1</VersionInfo> | ||
35 | + <VersionInfo Name="MinorVer">0</VersionInfo> | ||
36 | + <VersionInfo Name="Release">0</VersionInfo> | ||
37 | + <VersionInfo Name="Build">0</VersionInfo> | ||
38 | + <VersionInfo Name="Debug">False</VersionInfo> | ||
39 | + <VersionInfo Name="PreRelease">False</VersionInfo> | ||
40 | + <VersionInfo Name="Special">False</VersionInfo> | ||
41 | + <VersionInfo Name="Private">False</VersionInfo> | ||
42 | + <VersionInfo Name="DLL">False</VersionInfo> | ||
43 | + <VersionInfo Name="Locale">1046</VersionInfo> | ||
44 | + <VersionInfo Name="CodePage">1252</VersionInfo> | ||
45 | + </VersionInfo> | ||
46 | + <VersionInfoKeys> | ||
47 | + <VersionInfoKeys Name="CompanyName"></VersionInfoKeys> | ||
48 | + <VersionInfoKeys Name="FileDescription"></VersionInfoKeys> | ||
49 | + <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys> | ||
50 | + <VersionInfoKeys Name="InternalName"></VersionInfoKeys> | ||
51 | + <VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys> | ||
52 | + <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys> | ||
53 | + <VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys> | ||
54 | + <VersionInfoKeys Name="ProductName"></VersionInfoKeys> | ||
55 | + <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys> | ||
56 | + <VersionInfoKeys Name="Comments"></VersionInfoKeys> | ||
57 | + </VersionInfoKeys> | ||
58 | + <Source> | ||
59 | + <Source Name="MainSource">Mapa2.dpr</Source> | ||
60 | + </Source> | ||
61 | + </Delphi.Personality> </BorlandProject></BorlandProject> | ||
62 | + </ProjectExtensions> | ||
63 | + <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> | ||
64 | + <ItemGroup> | ||
65 | + <DelphiCompile Include="Mapa2.dpr"> | ||
66 | + <MainSource>MainSource</MainSource> | ||
67 | + </DelphiCompile> | ||
68 | + <DCCReference Include="Unit1.pas"> | ||
69 | + <Form>Form1</Form> | ||
70 | + </DCCReference> | ||
71 | + </ItemGroup> | ||
72 | +</Project> | ||
0 | \ No newline at end of file | 73 | \ No newline at end of file |
No preview for this file type
@@ -0,0 +1,16 @@ | @@ -0,0 +1,16 @@ | ||
1 | +object Form1: TForm1 | ||
2 | + Left = 0 | ||
3 | + Top = 0 | ||
4 | + Caption = 'Mapa2' | ||
5 | + ClientHeight = 176 | ||
6 | + ClientWidth = 455 | ||
7 | + Color = clBtnFace | ||
8 | + Font.Charset = DEFAULT_CHARSET | ||
9 | + Font.Color = clWindowText | ||
10 | + Font.Height = -11 | ||
11 | + Font.Name = 'Tahoma' | ||
12 | + Font.Style = [] | ||
13 | + OldCreateOrder = False | ||
14 | + PixelsPerInch = 96 | ||
15 | + TextHeight = 13 | ||
16 | +end |
@@ -0,0 +1,885 @@ | @@ -0,0 +1,885 @@ | ||
1 | +(** | ||
2 | +--------------------------------------------------------------------------------------------------------------------------------------------------------------- | ||
3 | +Copyright 2000, 2001, 2002, 2003, 2004, 2005 Dataprev - Empresa de Tecnologia e Informações da Previdência Social, Brasil | ||
4 | + | ||
5 | +Este arquivo é parte do programa CACIC - Configurador Automático e Coletor de Informações Computacionais | ||
6 | + | ||
7 | +O CACIC é um software livre; você pode redistribui-lo e/ou modifica-lo dentro dos termos da Licença Pública Geral GNU como | ||
8 | +publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença, ou (na sua opinião) qualquer versão. | ||
9 | + | ||
10 | +Este programa é distribuido na esperança que possa ser util, mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAÇÂO a qualquer | ||
11 | +MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes. | ||
12 | + | ||
13 | +Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", junto com este programa, se não, escreva para a Fundação do Software | ||
14 | +Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
15 | +--------------------------------------------------------------------------------------------------------------------------------------------------------------- | ||
16 | +*) | ||
17 | + | ||
18 | +unit Unit1; | ||
19 | + | ||
20 | +interface | ||
21 | + | ||
22 | +uses | ||
23 | + Windows, | ||
24 | + SysUtils, // Deve ser colocado após o Windows acima, nunca antes | ||
25 | + StrUtils, | ||
26 | + StdCtrls, | ||
27 | + Controls, | ||
28 | + Classes, | ||
29 | + Forms, | ||
30 | + ExtCtrls, | ||
31 | + Graphics, | ||
32 | + Dialogs, | ||
33 | + CACIC_Library, | ||
34 | + CACIC_Comm, | ||
35 | + ComCtrls, | ||
36 | + ShellAPI, | ||
37 | + CACIC_WMI, | ||
38 | + Math; | ||
39 | + | ||
40 | +function IsUserAnAdmin() : boolean; external shell32; | ||
41 | + | ||
42 | +var strCollectsPatrimonioLast, | ||
43 | + strConfigsPatrimonioCombos, | ||
44 | + strFieldsAndValuesToRequest, | ||
45 | + strIdUON1, | ||
46 | + strFrmAtual, | ||
47 | + strShowOrHide : string; | ||
48 | + textFileAguarde : TextFile; | ||
49 | + boolFinalizando : boolean; | ||
50 | + objCacic : TCACIC; | ||
51 | +type | ||
52 | + TfrmMapaCacic = class(TForm) | ||
53 | + gbLeiaComAtencao: TGroupBox; | ||
54 | + lbLeiaComAtencao: TLabel; | ||
55 | + gbInformacoesSobreComputador: TGroupBox; | ||
56 | + lbEtiqueta1: TLabel; | ||
57 | + lbEtiqueta2: TLabel; | ||
58 | + lbEtiqueta3: TLabel; | ||
59 | + cbIdUnidOrganizacionalNivel1: TComboBox; | ||
60 | + cbIdUnidOrganizacionalNivel2: TComboBox; | ||
61 | + edTeLocalizacaoComplementar: TEdit; | ||
62 | + btGravarInformacoes: TButton; | ||
63 | + lbEtiqueta4: TLabel; | ||
64 | + lbEtiqueta5: TLabel; | ||
65 | + lbEtiqueta6: TLabel; | ||
66 | + lbEtiqueta7: TLabel; | ||
67 | + lbEtiqueta8: TLabel; | ||
68 | + lbEtiqueta9: TLabel; | ||
69 | + edTeInfoPatrimonio1: TEdit; | ||
70 | + edTeInfoPatrimonio2: TEdit; | ||
71 | + edTeInfoPatrimonio3: TEdit; | ||
72 | + edTeInfoPatrimonio4: TEdit; | ||
73 | + edTeInfoPatrimonio5: TEdit; | ||
74 | + edTeInfoPatrimonio6: TEdit; | ||
75 | + pnMessageBox: TPanel; | ||
76 | + lbMensagens: TLabel; | ||
77 | + lbEtiqueta1a: TLabel; | ||
78 | + cbIdUnidOrganizacionalNivel1a: TComboBox; | ||
79 | + pnDivisoria01: TPanel; | ||
80 | + lbWebManagerAddress: TLabel; | ||
81 | + edWebManagerAddress: TLabel; | ||
82 | + pnVersao: TPanel; | ||
83 | + btCombosUpdate: TButton; | ||
84 | + timerMessageShowTime: TTimer; | ||
85 | + timerMessageBoxShowOrHide: TTimer; | ||
86 | + | ||
87 | + procedure AtualizaPatrimonio(Sender: TObject); | ||
88 | + procedure mapa; | ||
89 | + procedure FormClose(Sender: TObject; var Action: TCloseAction); | ||
90 | + procedure cbIdUnidOrganizacionalNivel1Change(Sender: TObject); | ||
91 | + procedure cbIdUnidOrganizacionalNivel1aChange(Sender: TObject); | ||
92 | + procedure FormCreate(Sender: TObject); | ||
93 | + procedure cbIdUnidOrganizacionalNivel1Click(Sender: TObject); | ||
94 | + procedure FormActivate(Sender: TObject); | ||
95 | + procedure cbIdUnidOrganizacionalNivel1DrawItem(Control: TWinControl; | ||
96 | + Index: Integer; Rect: TRect; State: TOwnerDrawState); | ||
97 | + procedure btCombosUpdateClick(Sender: TObject); | ||
98 | + procedure timerMessageShowTimeTimer(Sender: TObject); | ||
99 | + procedure cbIdUnidOrganizacionalNivel1aDrawItem(Control: TWinControl; | ||
100 | + Index: Integer; Rect: TRect; State: TOwnerDrawState); | ||
101 | + procedure cbIdUnidOrganizacionalNivel2DrawItem(Control: TWinControl; | ||
102 | + Index: Integer; Rect: TRect; State: TOwnerDrawState); | ||
103 | + procedure timerMessageBoxShowOrHideTimer(Sender: TObject); | ||
104 | + private | ||
105 | + strIdUnidOrganizacionalNivel1, | ||
106 | + strIdUnidOrganizacionalNivel1a, | ||
107 | + strIdUnidOrganizacionalNivel2, | ||
108 | + strIdLocal, | ||
109 | + strTeLocalizacaoComplementar, | ||
110 | + strTeInfoPatrimonio1, | ||
111 | + strTeInfoPatrimonio2, | ||
112 | + strTeInfoPatrimonio3, | ||
113 | + strTeInfoPatrimonio4, | ||
114 | + strTeInfoPatrimonio5, | ||
115 | + strTeInfoPatrimonio6 : String; | ||
116 | + | ||
117 | + function getConfigs : String; | ||
118 | + function RetornaValorVetorUON1(pStrIdUON1 : string) : String; | ||
119 | + function RetornaValorVetorUON1a(pStrIdUON1a : string) : String; | ||
120 | + function RetornaValorVetorUON2(pStrIdUON2,pStrIdLocal : string) : String; | ||
121 | + | ||
122 | + procedure CriaFormSenha(Sender: TObject); | ||
123 | + procedure MontaCombos; | ||
124 | + procedure MontaInterface; | ||
125 | + procedure RecuperaValoresAnteriores; | ||
126 | + procedure Sair; | ||
127 | + public | ||
128 | + boolAcessoOK : boolean; | ||
129 | + strId_usuario, | ||
130 | + strChkSisInfFileName, | ||
131 | + strGerColsInfFileName : String; | ||
132 | + procedure Finalizar(p_pausa:boolean); | ||
133 | + procedure Mensagem(p_strMsg : String; p_boolAlerta : boolean = false; p_intPausaSegundos : integer = 0); | ||
134 | + end; | ||
135 | + | ||
136 | +var frmMapaCacic: TfrmMapaCacic; | ||
137 | + | ||
138 | +implementation | ||
139 | + | ||
140 | +{$R *.dfm} | ||
141 | + | ||
142 | +// Estruturas de dados para armazenar os itens das Unidades Organizacionais de Níveis 1, 1a e 2 | ||
143 | +type | ||
144 | + TRegistroUON1 = record // Nível 1 => Entidade | ||
145 | + idUON1 : String; | ||
146 | + nmUON1 : String; | ||
147 | + end; | ||
148 | + TVetorUON1 = array of TRegistroUON1; | ||
149 | + | ||
150 | + TRegistroUON1a = record // Nível 1a => Linha de Negócio | ||
151 | + idUON1 : String; | ||
152 | + idUON1a : String; | ||
153 | + nmUON1a : String; | ||
154 | + end; | ||
155 | + TVetorUON1a = array of TRegistroUON1a; | ||
156 | + | ||
157 | + TRegistroUON2 = record // Nível 2 => Órgão | ||
158 | + idUON1a : String; | ||
159 | + idUON2 : String; | ||
160 | + nmUON2 : String; | ||
161 | + idLocal : String; | ||
162 | + end; | ||
163 | + TVetorUON2 = array of TRegistroUON2; | ||
164 | + | ||
165 | +var VetorUON1 : TVetorUON1; | ||
166 | + VetorUON1a : TVetorUON1a; | ||
167 | + VetorUON2 : TVetorUON2; | ||
168 | + | ||
169 | + // Esse array é usado apenas para saber a uon1a, após a filtragem pelo uon1 | ||
170 | + VetorUON1aFiltrado : array of String; | ||
171 | + | ||
172 | + // Esse array é usado apenas para saber a uon2, após a filtragem pelo uon1a | ||
173 | + VetorUON2Filtrado : array of String; | ||
174 | + | ||
175 | +procedure TfrmMapaCacic.Mensagem(p_strMsg : String; p_boolAlerta : boolean = false; p_intPausaSegundos : integer = 0); | ||
176 | +Begin | ||
177 | + strShowOrHide := 'Show'; | ||
178 | + | ||
179 | + objCacic.writeDebugLog('Mensagem: ' + p_strMsg); | ||
180 | + | ||
181 | + if p_boolAlerta then | ||
182 | + lbMensagens.Font.Color := clRed | ||
183 | + else | ||
184 | + lbMensagens.Font.Color := clBlack; | ||
185 | + | ||
186 | + lbMensagens.Caption := p_strMsg; | ||
187 | + | ||
188 | + objCacic.writeDailyLog(lbMensagens.Caption); | ||
189 | + Application.ProcessMessages; | ||
190 | + | ||
191 | + if (p_intPausaSegundos > 0) then | ||
192 | + timerMessageShowTime.Interval := p_intPausaSegundos * 1000; | ||
193 | + | ||
194 | + timerMessageBoxShowOrHide.Enabled := true; | ||
195 | + | ||
196 | + Application.ProcessMessages; | ||
197 | +End; | ||
198 | + | ||
199 | +procedure showMessageBox; | ||
200 | +Begin | ||
201 | + | ||
202 | +End; | ||
203 | + | ||
204 | +procedure TfrmMapaCacic.Sair; | ||
205 | +Begin | ||
206 | + Application.Terminate; | ||
207 | +End; | ||
208 | + | ||
209 | +procedure TfrmMapaCacic.Finalizar(p_pausa:boolean); | ||
210 | +Begin | ||
211 | + gbLeiaComAtencao.Visible := false; | ||
212 | + gbInformacoesSobreComputador.Visible := false; | ||
213 | + btGravarInformacoes.Visible := false; | ||
214 | + | ||
215 | + Mensagem('Finalizando o MapaCacic...'); | ||
216 | + | ||
217 | + Application.ProcessMessages; | ||
218 | + | ||
219 | + Sleep(1000); | ||
220 | + | ||
221 | + Sair; | ||
222 | +End; | ||
223 | +// | ||
224 | + | ||
225 | +Function TfrmMapaCacic.RetornaValorVetorUON1(pStrIdUON1 : string) : String; | ||
226 | +var I : Integer; | ||
227 | +begin | ||
228 | + For I := 0 to (Length(VetorUON1)-1) Do | ||
229 | + If (VetorUON1[I].idUON1 = pStrIdUON1) Then Result := VetorUON1[I].nmUON1; | ||
230 | +end; | ||
231 | + | ||
232 | +Function TfrmMapaCacic.RetornaValorVetorUON1a(pStrIdUON1a : string) : String; | ||
233 | +var I : Integer; | ||
234 | +begin | ||
235 | + For I := 0 to (Length(VetorUON1a)-1) Do | ||
236 | + If (VetorUON1a[I].idUON1a = pStrIdUON1a) Then Result := VetorUON1a[I].nmUON1a; | ||
237 | +end; | ||
238 | + | ||
239 | +Function TfrmMapaCacic.RetornaValorVetorUON2(pStrIdUON2, pStrIdLocal: string) : String; | ||
240 | +var I : Integer; | ||
241 | +begin | ||
242 | + For I := 0 to (Length(VetorUON2)-1) Do | ||
243 | + If (VetorUON2[I].idUON2 = pStrIdUON2) and | ||
244 | + (VetorUON2[I].idLocal = pStrIdLocal) Then Result := VetorUON2[I].nmUON2; | ||
245 | +end; | ||
246 | + | ||
247 | +procedure TfrmMapaCacic.RecuperaValoresAnteriores; | ||
248 | +var strCollectsPatrimonioLast, | ||
249 | + strConfigsPatrimonioInterface : String; | ||
250 | +begin | ||
251 | + btCombosUpdate.Enabled := false; | ||
252 | + | ||
253 | + Mensagem('Recuperando Valores Anteriores...',false,1); | ||
254 | + | ||
255 | + strCollectsPatrimonioLast := objCacic.deCrypt( objCacic.GetValueFromFile('Collects','Patrimonio_Last',strGerColsInfFileName)); | ||
256 | + | ||
257 | + if (strCollectsPatrimonioLast <> '') then | ||
258 | + Begin | ||
259 | + strIdUnidOrganizacionalNivel1 := objCacic.GetValueFromFile('Patrimonio','IdUnidOrganizacionalNivel1',strGerColsInfFileName); | ||
260 | + if (strIdUnidOrganizacionalNivel1='') then | ||
261 | + strIdUnidOrganizacionalNivel1 := objCacic.deCrypt(objCacic.getValueFromTags('ID_UON1', strCollectsPatrimonioLast)); | ||
262 | + | ||
263 | + strIdUnidOrganizacionalNivel1a := objCacic.GetValueFromFile('Patrimonio','IdUnidOrganizacionalNivel1a',strGerColsInfFileName); | ||
264 | + if (strIdUnidOrganizacionalNivel1a='') then | ||
265 | + strIdUnidOrganizacionalNivel1a := objCacic.deCrypt(objCacic.getValueFromTags('ID_UON1a', strCollectsPatrimonioLast)); | ||
266 | + | ||
267 | + strIdUnidOrganizacionalNivel2 := objCacic.GetValueFromFile('Patrimonio','IdUnidOrganizacionalNivel2',strGerColsInfFileName); | ||
268 | + if (strIdUnidOrganizacionalNivel2='') then | ||
269 | + strIdUnidOrganizacionalNivel2 := objCacic.deCrypt(objCacic.getValueFromTags('ID_UON2', strCollectsPatrimonioLast)); | ||
270 | + | ||
271 | + strIdLocal := objCacic.getValueFromTags('IdLocal',strCollectsPatrimonioLast); | ||
272 | + | ||
273 | + Try | ||
274 | + cbIdUnidOrganizacionalNivel1.ItemIndex := cbIdUnidOrganizacionalNivel1.Items.IndexOf(RetornaValorVetorUON1(strIdUnidOrganizacionalNivel1)); | ||
275 | + cbIdUnidOrganizacionalNivel1Change(Nil); // Para filtrar os valores do combo2 de acordo com o valor selecionado no combo1 | ||
276 | + cbIdUnidOrganizacionalNivel1a.ItemIndex := cbIdUnidOrganizacionalNivel1a.Items.IndexOf(RetornaValorVetorUON1(strIdUnidOrganizacionalNivel1)); | ||
277 | + Except | ||
278 | + on E:Exception do | ||
279 | + Begin | ||
280 | + objCacic.writeExceptionLog(E.Message,e.ClassName,'Setando "cbIdUnidOrganizacionalNivel1a.ItemIndex" para "' + IntToStr(cbIdUnidOrganizacionalNivel1a.Items.IndexOf(RetornaValorVetorUON1(strIdUnidOrganizacionalNivel1))) + '"'); | ||
281 | + objCacic.writeDebugLog('RecuperaValoresAnteriores: Problema ao setar "cbIdUnidOrganizacionalNivel1a.ItemIndex" para "' + IntToStr(cbIdUnidOrganizacionalNivel1a.Items.IndexOf(RetornaValorVetorUON1(strIdUnidOrganizacionalNivel1))) + '"'); | ||
282 | + End; | ||
283 | + end; | ||
284 | + | ||
285 | + Try | ||
286 | + cbIdUnidOrganizacionalNivel1a.ItemIndex := cbIdUnidOrganizacionalNivel1a.Items.IndexOf(RetornaValorVetorUON1a(strIdUnidOrganizacionalNivel1a)); | ||
287 | + cbIdUnidOrganizacionalNivel1aChange(Nil); // Para filtrar os valores do combo3 de acordo com o valor selecionado no combo2 | ||
288 | + cbIdUnidOrganizacionalNivel2.ItemIndex := cbIdUnidOrganizacionalNivel2.Items.IndexOf(RetornaValorVetorUON2(strIdUnidOrganizacionalNivel2,strIdLocal)); | ||
289 | + Except | ||
290 | + on E:Exception do | ||
291 | + Begin | ||
292 | + objCacic.writeExceptionLog(E.Message,e.ClassName,'Setando "cbIdUnidOrganizacionalNivel2.ItemIndex" para "' + IntToStr(cbIdUnidOrganizacionalNivel2.Items.IndexOf(RetornaValorVetorUON2(strIdUnidOrganizacionalNivel2,strIdLocal))) + '"'); | ||
293 | + objCacic.writeDebugLog('RecuperaValoresAnteriores: Problema ao setar "cbIdUnidOrganizacionalNivel2.ItemIndex" para "' + IntToStr(cbIdUnidOrganizacionalNivel2.Items.IndexOf(RetornaValorVetorUON2(strIdUnidOrganizacionalNivel2,strIdLocal))) + '"'); | ||
294 | + End; | ||
295 | + end; | ||
296 | + | ||
297 | + strConfigsPatrimonioInterface := objCacic.deCrypt( objCacic.GetValueFromFile('Configs','Patrimonio_Interface',strGerColsInfFileName)); | ||
298 | + | ||
299 | + lbEtiqueta1.Caption := objCacic.getValueFromTags('te_etiqueta1', strConfigsPatrimonioInterface); | ||
300 | + lbEtiqueta1a.Caption := objCacic.deCrypt(objCacic.getValueFromTags('te_etiqueta1a', strConfigsPatrimonioInterface)); | ||
301 | + | ||
302 | + strTeLocalizacaoComplementar := objCacic.getValueFromTags('TeLocalizacaoComplementar',strCollectsPatrimonioLast); | ||
303 | + | ||
304 | + // Tentarei buscar informação gravada no Registry | ||
305 | + strTeInfoPatrimonio1 := objCacic.getValueRegistryKey('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio1'); | ||
306 | + strTeInfoPatrimonio2 := objCacic.getValueFromTags('TeInfoPatrimonio2',strCollectsPatrimonioLast); | ||
307 | + strTeInfoPatrimonio3 := objCacic.getValueFromTags('TeInfoPatrimonio3',strCollectsPatrimonioLast); | ||
308 | + strTeInfoPatrimonio4 := objCacic.getValueRegistryKey('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio4'); | ||
309 | + strTeInfoPatrimonio5 := objCacic.getValueFromTags('TeInfoPatrimonio5',strCollectsPatrimonioLast); | ||
310 | + strTeInfoPatrimonio6 := objCacic.getValueFromTags('TeInfoPatrimonio6',strCollectsPatrimonioLast); | ||
311 | + | ||
312 | + if (strTeInfoPatrimonio1='') then strTeInfoPatrimonio1 := objCacic.getValueFromTags('TE_INFO1', strCollectsPatrimonioLast); | ||
313 | + if (strTeInfoPatrimonio2='') then strTeInfoPatrimonio2 := objCacic.getValueFromTags('TE_INFO2', strCollectsPatrimonioLast); | ||
314 | + if (strTeInfoPatrimonio3='') then strTeInfoPatrimonio3 := objCacic.getValueFromTags('TE_INFO3', strCollectsPatrimonioLast); | ||
315 | + if (strTeInfoPatrimonio4='') then strTeInfoPatrimonio4 := objCacic.getValueFromTags('TE_INFO4', strCollectsPatrimonioLast); | ||
316 | + if (strTeInfoPatrimonio5='') then strTeInfoPatrimonio5 := objCacic.getValueFromTags('TE_INFO5', strCollectsPatrimonioLast); | ||
317 | + if (strTeInfoPatrimonio6='') then strTeInfoPatrimonio6 := objCacic.getValueFromTags('TE_INFO6', strCollectsPatrimonioLast); | ||
318 | + End; | ||
319 | + btCombosUpdate.Enabled := true; | ||
320 | + Application.ProcessMessages; | ||
321 | +end; | ||
322 | + | ||
323 | +procedure TfrmMapaCacic.MontaCombos; | ||
324 | +var intTagCount, | ||
325 | + intLoopUOS : integer; | ||
326 | + strTagName, | ||
327 | + strTagValue : String; | ||
328 | + tstrTagsNames : TStrings; | ||
329 | +begin | ||
330 | + btCombosUpdate.Enabled := false; | ||
331 | + cbIdUnidOrganizacionalNivel1.Enabled := false; | ||
332 | + cbIdUnidOrganizacionalNivel1a.Enabled := false; | ||
333 | + cbIdUnidOrganizacionalNivel2.Enabled := false; | ||
334 | + | ||
335 | + Mensagem('Montando Listas para Seleção de Unidades Organizacionais...',false,1); | ||
336 | + | ||
337 | + strConfigsPatrimonioCombos := objCacic.deCrypt(objCacic.GetValueFromFile('Configs' ,'Patrimonio_Combos',strGerColsInfFileName)); | ||
338 | + strCollectsPatrimonioLast := objCacic.deCrypt(objCacic.GetValueFromFile('Collects','Patrimonio_Last' ,strGerColsInfFileName)); | ||
339 | + | ||
340 | + strIdUON1 := objCacic.getValueFromTags('IdUON1',strCollectsPatrimonioLast); | ||
341 | + | ||
342 | + SetLength(VetorUON1 ,0); | ||
343 | + SetLength(VetorUON1a,0); | ||
344 | + SetLength(VetorUON2 ,0); | ||
345 | + | ||
346 | + cbIdUnidOrganizacionalNivel1.Items.Clear; | ||
347 | + cbIdUnidOrganizacionalNivel1a.Items.Clear; | ||
348 | + cbIdUnidOrganizacionalNivel2.Items.Clear; | ||
349 | + | ||
350 | + tstrTagsNames := objCacic.explode('UO1,UO1a,UO2',','); | ||
351 | + | ||
352 | + for intLoopUOS := 0 to tstrTagsNames.Count -1 do | ||
353 | + Begin | ||
354 | + intTagCount := 1; | ||
355 | + strTagValue := '*'; | ||
356 | + while (strTagValue <> '') do | ||
357 | + Begin | ||
358 | + strTagName := tstrTagsNames[intLoopUOS] + '#' + intToStr(intTagCount); | ||
359 | + strTagValue := objCacic.getValueFromTags(strTagName,strConfigsPatrimonioCombos); | ||
360 | + if (strTagValue <> '') then | ||
361 | + Begin | ||
362 | + if (tstrTagsNames[intLoopUOS] = 'UO1') then | ||
363 | + Begin | ||
364 | + SetLength(VetorUON1 ,length(VetorUON1)+1); | ||
365 | + VetorUON1[length(VetorUON1)-1].idUON1 := objCacic.getValueFromTags('UO1_ID',strTagValue); | ||
366 | + VetorUON1[length(VetorUON1)-1].nmUON1 := objCacic.getValueFromTags('UO1_NM',strTagValue); | ||
367 | + cbIdUnidOrganizacionalNivel1.Items.Add(VetorUON1[length(VetorUON1)-1].nmUON1); | ||
368 | + if (strIdUON1 = VetorUON1[length(VetorUON1)-1].idUON1) then | ||
369 | + cbIdUnidOrganizacionalNivel1.ItemIndex := cbIdUnidOrganizacionalNivel1.Items.Count-1; | ||
370 | + End | ||
371 | + else if (tstrTagsNames[intLoopUOS] = 'UO1a') then | ||
372 | + Begin | ||
373 | + SetLength(VetorUON1a ,length(VetorUON1a)+1); | ||
374 | + VetorUON1a[length(VetorUON1a)-1].idUON1 := objCacic.getValueFromTags('UO1a_IdUO1',strTagValue); | ||
375 | + VetorUON1a[length(VetorUON1a)-1].idUON1a := objCacic.getValueFromTags('UO1a_ID' ,strTagValue); | ||
376 | + VetorUON1a[length(VetorUON1a)-1].nmUON1a := objCacic.getValueFromTags('UO1a_NM' ,strTagValue); | ||
377 | + End | ||
378 | + else if (tstrTagsNames[intLoopUOS] = 'UO2') then | ||
379 | + Begin | ||
380 | + SetLength(VetorUON2 ,length(VetorUON2)+1); | ||
381 | + VetorUON2[length(VetorUON2)-1].idUON1a := objCacic.getValueFromTags('UO2_IdUO1a' ,strTagValue); | ||
382 | + VetorUON2[length(VetorUON2)-1].idUON2 := objCacic.getValueFromTags('UO2_ID' ,strTagValue); | ||
383 | + VetorUON2[length(VetorUON2)-1].nmUON2 := objCacic.getValueFromTags('UO2_NM' ,strTagValue); | ||
384 | + VetorUON2[length(VetorUON2)-1].idLocal := objCacic.getValueFromTags('UO2_IdLocal',strTagValue); | ||
385 | + End; | ||
386 | + End; | ||
387 | + inc(intTagCount); | ||
388 | + End; | ||
389 | + End; | ||
390 | + | ||
391 | + // Ao fim... | ||
392 | + if (cbIdUnidOrganizacionalNivel1.ItemIndex = -1) then | ||
393 | + cbIdUnidOrganizacionalNivel1.ItemIndex := 0; | ||
394 | + | ||
395 | + cbIdUnidOrganizacionalNivel1Change(nil); | ||
396 | + | ||
397 | + btCombosUpdate.Enabled := true; | ||
398 | + cbIdUnidOrganizacionalNivel1.Enabled := true; | ||
399 | + cbIdUnidOrganizacionalNivel1a.Enabled := true; | ||
400 | + cbIdUnidOrganizacionalNivel2.Enabled := true; | ||
401 | + | ||
402 | + Application.ProcessMessages; | ||
403 | +end; | ||
404 | + | ||
405 | +procedure TfrmMapaCacic.cbIdUnidOrganizacionalNivel1Change(Sender: TObject); | ||
406 | +var intLoopVetorUON1a : integer; | ||
407 | +begin | ||
408 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1Change: Nível 1 CHANGE'); | ||
409 | + | ||
410 | + // Filtro os itens do combo2, de acordo com o item selecionado no combo1 | ||
411 | + strIdUON1 := VetorUON1[cbIdUnidOrganizacionalNivel1.ItemIndex].idUON1; | ||
412 | + | ||
413 | + cbIdUnidOrganizacionalNivel1a.Items.Clear; | ||
414 | + cbIdUnidOrganizacionalNivel2.Items.Clear; | ||
415 | + cbIdUnidOrganizacionalNivel1a.Enabled := false; | ||
416 | + cbIdUnidOrganizacionalNivel2.Enabled := false; | ||
417 | + SetLength(VetorUON1aFiltrado, 0); | ||
418 | + | ||
419 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1Change: Tamanho de VetorUON1..: '+IntToStr(Length(VetorUON1))); | ||
420 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1Change: ItemIndex de cb_nivel1: '+IntToStr(cbIdUnidOrganizacionalNivel1.ItemIndex)); | ||
421 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1Change: Tamanho de VetorUON1a.: '+IntToStr(Length(VetorUON1a))); | ||
422 | + | ||
423 | + For intLoopVetorUON1a := 0 to Length(VetorUON1a) - 1 Do | ||
424 | + Begin | ||
425 | + Try | ||
426 | + if VetorUON1a[intLoopVetorUON1a].idUON1 = strIdUON1 then | ||
427 | + Begin | ||
428 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1Change: Add em cb_nivel1a: '+VetorUON1a[intLoopVetorUON1a].nmUON1a); | ||
429 | + cbIdUnidOrganizacionalNivel1a.Items.Add(VetorUON1a[intLoopVetorUON1a].nmUON1a); | ||
430 | + | ||
431 | + SetLength(VetorUON1aFiltrado, Length(VetorUON1aFiltrado) + 1); | ||
432 | + VetorUON1aFiltrado[Length(VetorUON1aFiltrado)-1] := VetorUON1a[intLoopVetorUON1a].idUON1a; | ||
433 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1Change: VetorUON1aFiltrado['+IntToStr(Length(VetorUON1aFiltrado)-1)+']= '+VetorUON1aFiltrado[Length(VetorUON1aFiltrado)-1]); | ||
434 | + end; | ||
435 | + Except | ||
436 | + on E:Exception do | ||
437 | + Begin | ||
438 | + objCacic.writeExceptionLog(E.Message,e.ClassName); | ||
439 | + End; | ||
440 | + End; | ||
441 | + end; | ||
442 | + if (cbIdUnidOrganizacionalNivel1a.Items.Count > 0) then | ||
443 | + Begin | ||
444 | + cbIdUnidOrganizacionalNivel1a.Enabled := true; | ||
445 | + cbIdUnidOrganizacionalNivel1a.ItemIndex := 0; | ||
446 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1Change: Provocando CHANGE em nivel1a'); | ||
447 | + cbIdUnidOrganizacionalNivel1aChange(nil); | ||
448 | + End; | ||
449 | +end; | ||
450 | + | ||
451 | +procedure TfrmMapaCacic.cbIdUnidOrganizacionalNivel1aChange( | ||
452 | + Sender: TObject); | ||
453 | +var intLoopVetorUON2 : integer; | ||
454 | +begin | ||
455 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1aChange: Nível 1a CHANGE'); | ||
456 | + // Filtro os itens do combo2, de acordo com o item selecionado no combo1 | ||
457 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1aChange: cbIdUnidOrganizacionalNivel1a.ItemIndex = '+intToStr(cbIdUnidOrganizacionalNivel1a.ItemIndex)); | ||
458 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1aChange: VetorUON1aFiltrado['+intToStr(cbIdUnidOrganizacionalNivel1a.ItemIndex)+'] => '+VetorUON1aFiltrado[cbIdUnidOrganizacionalNivel1a.ItemIndex]); | ||
459 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1aChange: strIdLocal = '+strIdLocal); | ||
460 | + | ||
461 | + cbIdUnidOrganizacionalNivel2.Items.Clear; | ||
462 | + cbIdUnidOrganizacionalNivel2.Enabled := false; | ||
463 | + SetLength(VetorUON2Filtrado, 0); | ||
464 | + | ||
465 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1aChange: Tamanho de VetorUON1a..: '+IntToStr(Length(VetorUON1a))); | ||
466 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1aChange: ItemIndex de cb_nivel1a: '+IntToStr(cbIdUnidOrganizacionalNivel1a.ItemIndex)); | ||
467 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1aChange: Tamanho de VetorUON2...: '+IntToStr(Length(VetorUON2))); | ||
468 | + | ||
469 | + For intLoopVetorUON2 := 0 to Length(VetorUON2) - 1 Do | ||
470 | + Begin | ||
471 | + Try | ||
472 | + if (VetorUON2[intLoopVetorUON2].idUON1a = VetorUON1aFiltrado[cbIdUnidOrganizacionalNivel1a.ItemIndex]) then | ||
473 | + Begin | ||
474 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1aChange: Add em cb_nivel2: '+VetorUON2[intLoopVetorUON2].nmUON2); | ||
475 | + cbIdUnidOrganizacionalNivel2.Items.Add(VetorUON2[intLoopVetorUON2].nmUON2); | ||
476 | + | ||
477 | + SetLength(VetorUON2Filtrado, Length(VetorUON2Filtrado) + 1); | ||
478 | + VetorUON2Filtrado[Length(VetorUON2Filtrado)-1] := VetorUON2[intLoopVetorUON2].idUON2 + '#' + VetorUON2[intLoopVetorUON2].idLocal; | ||
479 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1aChange: VetorUON2Filtrado['+IntToStr(Length(VetorUON2Filtrado)-1)+']= '+VetorUON2Filtrado[Length(VetorUON2Filtrado)-1]); | ||
480 | + end; | ||
481 | + Except | ||
482 | + on E:Exception do | ||
483 | + Begin | ||
484 | + objCacic.writeExceptionLog(E.Message,e.ClassName); | ||
485 | + End; | ||
486 | + End; | ||
487 | + end; | ||
488 | + if (cbIdUnidOrganizacionalNivel2.Items.Count > 0) then | ||
489 | + Begin | ||
490 | + cbIdUnidOrganizacionalNivel2.Enabled := true; | ||
491 | + cbIdUnidOrganizacionalNivel2.ItemIndex := 0; | ||
492 | + End; | ||
493 | +end; | ||
494 | + | ||
495 | + | ||
496 | +procedure TfrmMapaCacic.AtualizaPatrimonio(Sender: TObject); | ||
497 | +var strColetaAtual, | ||
498 | + strIdUON1, | ||
499 | + strIdUON1a, | ||
500 | + strIdUON2, | ||
501 | + strIdLocal, | ||
502 | + strRetorno : String; | ||
503 | + tstrAuxAP : TStrings; | ||
504 | +begin | ||
505 | + tstrAuxAP := TStrings.Create; | ||
506 | + tstrAuxAP := objCacic.explode(VetorUON2Filtrado[cbIdUnidOrganizacionalNivel2.ItemIndex],'#'); | ||
507 | + Try | ||
508 | + strIdUON1 := VetorUON1[cbIdUnidOrganizacionalNivel1.ItemIndex].idUON1; | ||
509 | + strIdUON2 := tstrAuxAP[0]; | ||
510 | + strIdLocal := tstrAuxAP[1]; | ||
511 | + Except | ||
512 | + on E:Exception do | ||
513 | + Begin | ||
514 | + objCacic.writeExceptionLog(E.Message,e.ClassName); | ||
515 | + End; | ||
516 | + end; | ||
517 | + | ||
518 | + tstrAuxAP := objCacic.explode(VetorUON1aFiltrado[cbIdUnidOrganizacionalNivel1a.ItemIndex],'#'); | ||
519 | + Try | ||
520 | + strIdUON1a := tstrAuxAP[0]; | ||
521 | + Except | ||
522 | + on E:Exception do | ||
523 | + Begin | ||
524 | + objCacic.writeExceptionLog(E.Message,e.ClassName); | ||
525 | + End; | ||
526 | + end; | ||
527 | + | ||
528 | + tstrAuxAP.Free; | ||
529 | + Mensagem('Enviando Informações Coletadas ao Banco de Dados...',false,1); | ||
530 | + | ||
531 | + strFieldsAndValuesToRequest := 'CollectType=' + objCacic.replaceInvalidHTTPChars(objCacic.enCrypt('col_patr')) ; | ||
532 | + | ||
533 | + strColetaAtual := StringReplace('[IdUsuario]' + frmMapaCacic.strId_usuario + '[/IdUsuario]' + | ||
534 | + '[IdLocal]' + strIdLocal + '[/IdLocal]' + | ||
535 | + '[IdUnidOrganizacionalNivel1]' + strIdUON1 + '[/IdUnidOrganizacionalNivel1]' + | ||
536 | + '[IdUnidOrganizacionalNivel1a]' + strIdUON1A + '[/IdUnidOrganizacionalNivel1a]'+ | ||
537 | + '[IdUnidOrganizacionalNivel2]' + strIdUON2 + '[/IdUnidOrganizacionalNivel2]' + | ||
538 | + '[TeLocalizacaoComplementar]' + edTeLocalizacaoComplementar.Text + '[/TeLocalizacaoComplementar]' + | ||
539 | + '[TeInfoPatrimonio1]' + edTeInfoPatrimonio1.Text + '[/TeInfoPatrimonio1]' + | ||
540 | + '[TeInfoPatrimonio2]' + edTeInfoPatrimonio2.Text + '[/TeInfoPatrimonio2]' + | ||
541 | + '[TeInfoPatrimonio3]' + edTeInfoPatrimonio3.Text + '[/TeInfoPatrimonio3]' + | ||
542 | + '[TeInfoPatrimonio4]' + edTeInfoPatrimonio4.Text + '[/TeInfoPatrimonio4]' + | ||
543 | + '[TeInfoPatrimonio5]' + edTeInfoPatrimonio5.Text + '[/TeInfoPatrimonio5]' + | ||
544 | + '[TeInfoPatrimonio6]' + edTeInfoPatrimonio6.Text + '[/TeInfoPatrimonio6]',',','[[COMMA]]',[rfReplaceAll]); | ||
545 | + | ||
546 | + strFieldsAndValuesToRequest := strFieldsAndValuesToRequest + ',col_patr=' + objCacic.replaceInvalidHTTPChars(objCacic.enCrypt(strColetaAtual)); | ||
547 | + | ||
548 | + strRetorno := Comm(objCacic.getWebManagerAddress + objCacic.getWebServicesFolderName +'gercols/set/collects', strFieldsAndValuesToRequest,objCacic.getLocalFolderName); | ||
549 | + objCacic.setBoolCipher(not objCacic.isInDebugMode); | ||
550 | + | ||
551 | + if (strRetorno = '0') then | ||
552 | + Mensagem('ATENÇÃO: PROBLEMAS NO ENVIO DAS INFORMAÇÕES COLETADAS AO BANCO DE DADOS...',true,1) | ||
553 | + else | ||
554 | + Begin | ||
555 | + Mensagem('Salvando Informações Coletadas em Base Local...',false,1); | ||
556 | + objCacic.setValueToFile('Collects','Patrimonio_Last' , objCacic.enCrypt(strColetaAtual), strGerColsInfFileName); | ||
557 | + | ||
558 | + objCacic.setValueRegistryKey('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio1', edTeInfoPatrimonio1.Text); | ||
559 | + objCacic.setValueRegistryKey('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio4', edTeInfoPatrimonio4.Text); | ||
560 | + End; | ||
561 | + objCacic.writeDebugLog('AtualizaPatrimonio: Dados Enviados ao Servidor!'); | ||
562 | + Application.ProcessMessages; | ||
563 | + | ||
564 | + Finalizar(true); | ||
565 | +end; | ||
566 | + | ||
567 | +procedure TfrmMapaCacic.MontaInterface; | ||
568 | +var strConfigsPatrimonioInterface : String; | ||
569 | +Begin | ||
570 | + btCombosUpdate.Enabled := false; | ||
571 | + | ||
572 | + Mensagem('Montando Interface para Coleta de Informações...',false,1); | ||
573 | + | ||
574 | + strConfigsPatrimonioInterface := objCacic.deCrypt( objCacic.getValueFromFile('Configs','Patrimonio_Interface',strGerColsInfFileName)); | ||
575 | + | ||
576 | + lbEtiqueta1.Caption := objCacic.getValueFromTags('te_etiqueta1', strConfigsPatrimonioInterface); | ||
577 | + lbEtiqueta1.Visible := true; | ||
578 | + cbIdUnidOrganizacionalNivel1.Hint := objCacic.getValueFromTags('te_help_etiqueta1', strConfigsPatrimonioInterface); | ||
579 | + | ||
580 | + lbEtiqueta1a.Caption := objCacic.getValueFromTags('te_etiqueta1a', strConfigsPatrimonioInterface); | ||
581 | + lbEtiqueta1a.Visible := true; | ||
582 | + cbIdUnidOrganizacionalNivel1a.Hint := objCacic.getValueFromTags('te_help_etiqueta1a', strConfigsPatrimonioInterface); | ||
583 | + | ||
584 | + lbEtiqueta2.Caption := objCacic.getValueFromTags('te_etiqueta2', strConfigsPatrimonioInterface); | ||
585 | + lbEtiqueta2.Visible := true; | ||
586 | + cbIdUnidOrganizacionalNivel2.Hint := objCacic.getValueFromTags('te_help_etiqueta2', strConfigsPatrimonioInterface); | ||
587 | + | ||
588 | + lbEtiqueta3.Caption := objCacic.getValueFromTags('te_etiqueta3', strConfigsPatrimonioInterface); | ||
589 | + lbEtiqueta3.Visible := true; | ||
590 | + edTeLocalizacaoComplementar.Text := strTeLocalizacaoComplementar; | ||
591 | + | ||
592 | + objCacic.writeDebugLog('MontaInterface: in_exibir_etiqueta4 -> "'+objCacic.getValueFromTags('in_exibir_etiqueta4', strConfigsPatrimonioInterface)+'"'); | ||
593 | + if (trim(objCacic.getValueFromTags('in_exibir_etiqueta4', strConfigsPatrimonioInterface)) = 'S') then | ||
594 | + begin | ||
595 | + lbEtiqueta4.Caption := objCacic.getValueFromTags('te_etiqueta4', strConfigsPatrimonioInterface); | ||
596 | + lbEtiqueta4.Visible := true; | ||
597 | + edTeInfoPatrimonio1.Hint := objCacic.getValueFromTags('te_help_etiqueta4', strConfigsPatrimonioInterface); | ||
598 | + edTeInfoPatrimonio1.Text := strTeInfoPatrimonio1; | ||
599 | + edTeInfoPatrimonio1.visible := True; | ||
600 | + end; | ||
601 | + | ||
602 | + objCacic.writeDebugLog('MontaInterface: in_exibir_etiqueta5 -> "'+objCacic.getValueFromTags('in_exibir_etiqueta5', strConfigsPatrimonioInterface)+'"'); | ||
603 | + if (trim(objCacic.getValueFromTags('in_exibir_etiqueta5', strConfigsPatrimonioInterface)) = 'S') then | ||
604 | + begin | ||
605 | + lbEtiqueta5.Caption := objCacic.getValueFromTags('te_etiqueta5', strConfigsPatrimonioInterface); | ||
606 | + lbEtiqueta5.Visible := true; | ||
607 | + edTeInfoPatrimonio2.Hint := objCacic.getValueFromTags('te_help_etiqueta5', strConfigsPatrimonioInterface); | ||
608 | + edTeInfoPatrimonio2.Text := strTeInfoPatrimonio2; | ||
609 | + edTeInfoPatrimonio2.visible := True; | ||
610 | + end; | ||
611 | + | ||
612 | + objCacic.writeDebugLog('MontaInterface: in_exibir_etiqueta6 -> "'+objCacic.getValueFromTags('in_exibir_etiqueta6', strConfigsPatrimonioInterface)+'"'); | ||
613 | + if (trim(objCacic.getValueFromTags('in_exibir_etiqueta6', strConfigsPatrimonioInterface)) = 'S') then | ||
614 | + begin | ||
615 | + lbEtiqueta6.Caption := objCacic.getValueFromTags('te_etiqueta6', strConfigsPatrimonioInterface); | ||
616 | + lbEtiqueta6.Visible := true; | ||
617 | + edTeInfoPatrimonio3.Hint := objCacic.getValueFromTags('te_help_etiqueta6', strConfigsPatrimonioInterface); | ||
618 | + edTeInfoPatrimonio3.Text := strTeInfoPatrimonio3; | ||
619 | + edTeInfoPatrimonio3.visible := True; | ||
620 | + end; | ||
621 | + | ||
622 | + objCacic.writeDebugLog('MontaInterface: in_exibir_etiqueta7 -> "'+objCacic.getValueFromTags('in_exibir_etiqueta7', strConfigsPatrimonioInterface)+'"'); | ||
623 | + if (trim(objCacic.getValueFromTags('in_exibir_etiqueta7', strConfigsPatrimonioInterface)) = 'S') then | ||
624 | + begin | ||
625 | + lbEtiqueta7.Caption := objCacic.getValueFromTags('te_etiqueta7', strConfigsPatrimonioInterface); | ||
626 | + lbEtiqueta7.Visible := true; | ||
627 | + edTeInfoPatrimonio4.Hint := objCacic.getValueFromTags('te_help_etiqueta7', strConfigsPatrimonioInterface); | ||
628 | + edTeInfoPatrimonio4.Text := strTeInfoPatrimonio4; | ||
629 | + edTeInfoPatrimonio4.visible := True; | ||
630 | + end; | ||
631 | + | ||
632 | + objCacic.writeDebugLog('MontaInterface: in_exibir_etiqueta8 -> "'+objCacic.getValueFromTags('in_exibir_etiqueta8', strConfigsPatrimonioInterface)+'"'); | ||
633 | + if (trim(objCacic.getValueFromTags('in_exibir_etiqueta8', strConfigsPatrimonioInterface)) = 'S') then | ||
634 | + begin | ||
635 | + lbEtiqueta8.Caption := objCacic.getValueFromTags('te_etiqueta8', strConfigsPatrimonioInterface); | ||
636 | + lbEtiqueta8.Visible := true; | ||
637 | + edTeInfoPatrimonio5.Hint := objCacic.getValueFromTags('te_help_etiqueta8', strConfigsPatrimonioInterface); | ||
638 | + edTeInfoPatrimonio5.Text := strTeInfoPatrimonio5; | ||
639 | + edTeInfoPatrimonio5.visible := True; | ||
640 | + end; | ||
641 | + | ||
642 | + objCacic.writeDebugLog('MontaInterface: in_exibir_etiqueta9 -> "'+objCacic.getValueFromTags('in_exibir_etiqueta9', strConfigsPatrimonioInterface)+'"'); | ||
643 | + if (trim(objCacic.getValueFromTags('in_exibir_etiqueta9', strConfigsPatrimonioInterface)) = 'S') then | ||
644 | + begin | ||
645 | + lbEtiqueta9.Caption := objCacic.getValueFromTags('te_etiqueta9', strConfigsPatrimonioInterface); | ||
646 | + lbEtiqueta9.Visible := true; | ||
647 | + edTeInfoPatrimonio6.Hint := objCacic.getValueFromTags('te_help_etiqueta9', strConfigsPatrimonioInterface); | ||
648 | + edTeInfoPatrimonio6.Text := strTeInfoPatrimonio6; | ||
649 | + edTeInfoPatrimonio6.visible := True; | ||
650 | + end; | ||
651 | + | ||
652 | + Mensagem('',false,1); | ||
653 | + btGravarInformacoes.Visible := true; | ||
654 | + btCombosUpdate.Enabled := true; | ||
655 | + | ||
656 | + cbIdUnidOrganizacionalNivel1.Enabled := true; | ||
657 | + cbIdUnidOrganizacionalNivel1.SetFocus; | ||
658 | + | ||
659 | + Application.ProcessMessages; | ||
660 | +end; | ||
661 | + | ||
662 | +procedure TfrmMapaCacic.FormClose(Sender: TObject; var Action: TCloseAction); | ||
663 | +begin | ||
664 | + Action := caNone; | ||
665 | + objCacic.writeDebugLog('FormClose: ' + Sender.ClassName); | ||
666 | + Finalizar(true); | ||
667 | +end; | ||
668 | + | ||
669 | +procedure TfrmMapaCacic.CriaFormSenha(Sender: TObject); | ||
670 | +begin | ||
671 | + Application.CreateForm(TfrmAcesso, frmAcesso); | ||
672 | +end; | ||
673 | + | ||
674 | +procedure TfrmMapaCacic.mapa; | ||
675 | +begin | ||
676 | + Try | ||
677 | + MontaInterface; | ||
678 | + MontaCombos; | ||
679 | + RecuperaValoresAnteriores; | ||
680 | + Except | ||
681 | + on E:Exception do | ||
682 | + Begin | ||
683 | + objCacic.writeExceptionLog(E.Message,e.ClassName); | ||
684 | + End; | ||
685 | + End; | ||
686 | +End; | ||
687 | +function TfrmMapaCacic.getConfigs : String; | ||
688 | +Begin | ||
689 | + btCombosUpdate.Enabled := false; | ||
690 | + | ||
691 | + Result := Comm(objCacic.getWebManagerAddress + objCacic.getWebServicesFolderName + 'get/config', strFieldsAndValuesToRequest,objCacic.getLocalFolderName); | ||
692 | + objCacic.setBoolCipher(not objCacic.isInDebugMode); | ||
693 | + | ||
694 | + objCacic.writeDebugLog('FormActivate: Retorno de getConfigs: "'+Result+'"'); | ||
695 | + | ||
696 | + if (Result <> '0') then | ||
697 | + Begin | ||
698 | + Mensagem('Comunicação Efetuada com Sucesso! Salvando as Configurações Obtidas...',false,1); | ||
699 | + objCacic.setValueToFile('Configs' ,'Patrimonio_Combos' , objCacic.getValueFromTags('Configs_Patrimonio_Combos' , Result), strGerColsInfFileName); | ||
700 | + objCacic.setValueToFile('Configs' ,'Patrimonio_Interface' , objCacic.getValueFromTags('Configs_Patrimonio_Interface', Result), strGerColsInfFileName); | ||
701 | + objCacic.setValueToFile('Collects','Patrimonio_Last' , objCacic.getValueFromTags('Collects_Patrimonio_Last' , Result), strGerColsInfFileName); | ||
702 | + End; | ||
703 | + btCombosUpdate.Enabled := true; | ||
704 | +End; | ||
705 | + | ||
706 | +procedure TfrmMapaCacic.FormCreate(Sender: TObject); | ||
707 | +begin | ||
708 | + Try | ||
709 | + strFrmAtual := 'Principal'; | ||
710 | + objCacic := TCACIC.Create(); | ||
711 | + | ||
712 | + objCacic.setBoolCipher(true); | ||
713 | + objCacic.setLocalFolderName('Cacic'); | ||
714 | + objCacic.setWebServicesFolderName('ws/'); | ||
715 | + | ||
716 | + if IsUserAnAdmin then | ||
717 | + Begin | ||
718 | + strChkSisInfFileName := objCacic.getWinDir + 'chksis.inf'; | ||
719 | + | ||
720 | + Mensagem('Caminho local para a aplicação CACIC: "'+objCacic.GetValueFromFile('Configs','LocalFolderName',strChkSisInfFileName)+'"'); | ||
721 | + if not (objCacic.GetValueFromFile('Configs','LocalFolderName',strChkSisInfFileName) = '') then | ||
722 | + Begin | ||
723 | + | ||
724 | + objCacic.setLocalFolderName(objCacic.GetValueFromFile('Configs','LocalFolderName',strChkSisInfFileName)); | ||
725 | + objCacic.setWebServicesFolderName(objCacic.GetValueFromFile('Configs','WebServicesFolderName', strChkSisInfFileName)); | ||
726 | + objCacic.setWebManagerAddress(objCacic.GetValueFromFile('Configs','WebManagerAddress', strChkSisInfFileName)); | ||
727 | + | ||
728 | + strGerColsInfFileName := objCacic.getLocalFolderName + 'GerCols.inf'; | ||
729 | + | ||
730 | + // A existência e bloqueio do arquivo abaixo evitará que o Agente Principal entre em ação | ||
731 | + AssignFile(textFileAguarde,objCacic.getLocalFolderName + '\temp\aguarde_MAPACACIC.txt'); {Associa o arquivo a uma variável do tipo TextFile} | ||
732 | + {$IOChecks off} | ||
733 | + Reset(textFileAguarde); {Abre o arquivo texto} | ||
734 | + {$IOChecks on} | ||
735 | + if (IOResult <> 0) then // Arquivo não existe, será recriado. | ||
736 | + Rewrite (textFileAguarde); | ||
737 | + | ||
738 | + Append(textFileAguarde); | ||
739 | + Writeln(textFileAguarde,'Apenas um pseudo-cookie para o Agente Principal esperar o término de MapaCACIC'); | ||
740 | + Append(textFileAguarde); | ||
741 | + | ||
742 | + frmMapaCacic.edWebManagerAddress.Caption := objCacic.GetValueFromFile('Configs','WebManagerAddress', strChkSisInfFileName); | ||
743 | + | ||
744 | + frmMapaCacic.lbMensagens.Caption := 'Entrada de Dados para Autenticação no Módulo Gerente WEB Cacic'; | ||
745 | + objCacic.writeDebugLog('FormActivate: Versão do MapaCacic...: ' + pnVersao.Caption); | ||
746 | + objCacic.writeDebugLog('FormActivate: Hash-Code do MapaCacic: ' + objCacic.getFileHash(ParamStr(0))); | ||
747 | + | ||
748 | + // Acessar... | ||
749 | + CriaFormSenha(nil); | ||
750 | + frmAcesso.ShowModal; | ||
751 | + | ||
752 | + Application.ProcessMessages; | ||
753 | + if boolAcessoOK then | ||
754 | + Begin | ||
755 | + Visible := true; | ||
756 | + Height := 575; | ||
757 | + Width := 800; | ||
758 | + WindowState := wsNormal; | ||
759 | + Position := poScreenCenter; | ||
760 | + | ||
761 | + pnMessageBox.Visible := true; | ||
762 | + Mensagem('Efetuando Comunicação com o Módulo Gerente WEB em "'+objCacic.GetValueFromFile('Configs','WebManagerAddress', strChkSisInfFileName)+'"...',false,1); | ||
763 | + frmAcesso.Free; | ||
764 | + | ||
765 | + // Povoamento com dados de configurações da interface patrimonial | ||
766 | + // Solicita ao servidor as configurações para a Coleta de Informações de Patrimônio | ||
767 | + strFieldsAndValuesToRequest := 'id_usuario=' + objCacic.replaceInvalidHTTPChars( objCacic.enCrypt(frmMapaCacic.strId_usuario)); | ||
768 | + | ||
769 | + objCacic.writeDebugLog('FormActivate: Requisitando informações de patrimônio da estação...'); | ||
770 | + | ||
771 | + if (getConfigs <> '0') then | ||
772 | + mapa | ||
773 | + else | ||
774 | + Sair; | ||
775 | + End; | ||
776 | + End | ||
777 | + else | ||
778 | + Begin | ||
779 | + frmMapaCacic.boolAcessoOK := false; | ||
780 | + MessageDLG(#13#10+'Atenção! É necessário reinstalar o CACIC nesta estação.' + #13#10 + #13#10 + | ||
781 | + 'A estrutura encontra-se corrompida.' + #13#10,mtError,[mbOK],0); | ||
782 | + Application.ProcessMessages; | ||
783 | + frmMapaCacic.Finalizar(false); | ||
784 | + End; | ||
785 | + End | ||
786 | + else | ||
787 | + Begin // Se NT/2000/XP/... | ||
788 | + MessageDLG(#13#10+'ATENÇÃO! Essa aplicação requer execução com nível administrativo.',mtError,[mbOK],0); | ||
789 | + objCacic.writeDailyLog('SEM PRIVILÉGIOS: Necessário ser administrador "local" ou de Domínio!'); | ||
790 | + Sair; | ||
791 | + End; | ||
792 | + Finally | ||
793 | + End; | ||
794 | +end; | ||
795 | + | ||
796 | +procedure TfrmMapaCacic.cbIdUnidOrganizacionalNivel1Click( | ||
797 | + Sender: TObject); | ||
798 | +begin | ||
799 | + objCacic.writeDebugLog('cbIdUnidOrganizacionalNivel1Click: Click'); | ||
800 | +end; | ||
801 | + | ||
802 | +procedure TfrmMapaCacic.FormActivate(Sender: TObject); | ||
803 | +begin | ||
804 | + pnVersao.Caption := 'Versão: ' + objCacic.getVersionInfo(ParamStr(0)); | ||
805 | + strFrmAtual := 'Principal'; | ||
806 | +end; | ||
807 | + | ||
808 | +procedure TfrmMapaCacic.btCombosUpdateClick(Sender: TObject); | ||
809 | +begin | ||
810 | + cbIdUnidOrganizacionalNivel1.Enabled := false; | ||
811 | + cbIdUnidOrganizacionalNivel1a.Enabled := false; | ||
812 | + cbIdUnidOrganizacionalNivel2.Enabled := false; | ||
813 | + | ||
814 | + getConfigs; | ||
815 | + MontaInterface; | ||
816 | + MontaCombos; | ||
817 | + RecuperaValoresAnteriores; | ||
818 | +end; | ||
819 | + | ||
820 | +procedure TfrmMapaCacic.timerMessageShowTimeTimer(Sender: TObject); | ||
821 | +begin | ||
822 | + timerMessageShowTime.Enabled := false; | ||
823 | + timerMessageShowTime.Interval := 0; | ||
824 | + strShowOrHide := 'Hide'; | ||
825 | + timerMessageBoxShowOrHide.Enabled := true; | ||
826 | +end; | ||
827 | + | ||
828 | +procedure TfrmMapaCacic.cbIdUnidOrganizacionalNivel1DrawItem( | ||
829 | + Control: TWinControl; Index: Integer; Rect: TRect; | ||
830 | + State: TOwnerDrawState); | ||
831 | +var sText : String; | ||
832 | +begin | ||
833 | + sText := cbIdUnidOrganizacionalNivel1.Items[index]; | ||
834 | + cbIdUnidOrganizacionalNivel1.Height := 30; | ||
835 | + cbIdUnidOrganizacionalNivel1.Canvas.FillRect(Rect); | ||
836 | + DrawText(cbIdUnidOrganizacionalNivel1.Canvas.Handle,PChar(sText),Length(sText),Rect,DT_VCENTER + DT_SINGLELINE + DT_CENTER); | ||
837 | +end; | ||
838 | + | ||
839 | +procedure TfrmMapaCacic.cbIdUnidOrganizacionalNivel1aDrawItem( | ||
840 | + Control: TWinControl; Index: Integer; Rect: TRect; | ||
841 | + State: TOwnerDrawState); | ||
842 | +var sText : String; | ||
843 | +begin | ||
844 | + sText := cbIdUnidOrganizacionalNivel1a.Items[index]; | ||
845 | + cbIdUnidOrganizacionalNivel1a.Height := 30; | ||
846 | + cbIdUnidOrganizacionalNivel1a.Canvas.FillRect(Rect); | ||
847 | + DrawText(cbIdUnidOrganizacionalNivel1a.Canvas.Handle,PChar(sText),Length(sText),Rect,DT_VCENTER + DT_SINGLELINE + DT_CENTER); | ||
848 | +end; | ||
849 | + | ||
850 | +procedure TfrmMapaCacic.cbIdUnidOrganizacionalNivel2DrawItem( | ||
851 | + Control: TWinControl; Index: Integer; Rect: TRect; | ||
852 | + State: TOwnerDrawState); | ||
853 | +var sText : String; | ||
854 | +begin | ||
855 | + sText := cbIdUnidOrganizacionalNivel2.Items[index]; | ||
856 | + cbIdUnidOrganizacionalNivel2.Height := 30; | ||
857 | + cbIdUnidOrganizacionalNivel2.Canvas.FillRect(Rect); | ||
858 | + DrawText(cbIdUnidOrganizacionalNivel2.Canvas.Handle,PChar(sText),Length(sText),Rect,DT_VCENTER + DT_SINGLELINE + DT_CENTER); | ||
859 | +end; | ||
860 | + | ||
861 | +procedure TfrmMapaCacic.timerMessageBoxShowOrHideTimer(Sender: TObject); | ||
862 | +begin | ||
863 | + if (strShowOrHide = 'Show') then | ||
864 | + if (strFrmAtual = 'Acesso') then | ||
865 | + frmAcesso.pnMessageBox.Height := frmAcesso.pnMessageBox.Height + 1 | ||
866 | + else | ||
867 | + frmMapaCacic.pnMessageBox.Height := frmMapaCacic.pnMessageBox.Height + 1 | ||
868 | + else | ||
869 | + if (strFrmAtual = 'Acesso') then | ||
870 | + frmAcesso.pnMessageBox.Height := frmAcesso.pnMessageBox.Height - 1 | ||
871 | + else | ||
872 | + frmMapaCacic.pnMessageBox.Height := frmMapaCacic.pnMessageBox.Height - 1; | ||
873 | + | ||
874 | + if (strFrmAtual = 'Acesso') and (frmAcesso.pnMessageBox.Height = 0) or | ||
875 | + (strFrmAtual = 'Acesso') and (frmAcesso.pnMessageBox.Height = 45) or | ||
876 | + (strFrmAtual = 'Principal') and (frmMapaCacic.pnMessageBox.Height = 0) or | ||
877 | + (strFrmAtual = 'Principal') and (frmMapaCacic.pnMessageBox.Height = 45) then | ||
878 | + Begin | ||
879 | + timerMessageBoxShowOrHide.Enabled := false; | ||
880 | + if timerMessageShowTime.Interval > 0 then | ||
881 | + timerMessageShowTime.Enabled := true; | ||
882 | + End; | ||
883 | +end; | ||
884 | + | ||
885 | +end. |