Initial commit - tasks v1.1.14
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
137
programe/genereazaxml_original.txt
Normal file
137
programe/genereazaxml_original.txt
Normal file
@@ -0,0 +1,137 @@
|
||||
#Define crlf Chr(13) + Chr(10)
|
||||
|
||||
Local lcSql, lcfile, cVersiune, lcClipText, lcSir, lcFisier, lcDir, lcFisVersDif, ;
|
||||
lcfileVersiuniMax, lnsucces, lnCustomerId
|
||||
|
||||
lnCustomerId = crs2xml.id
|
||||
|
||||
|
||||
lcClipText = []
|
||||
lcSir = []
|
||||
lcFisier = []
|
||||
lcDir = []
|
||||
lcFisVersDif = []
|
||||
x = SQLConnect("JCSSERVER","SOFT_SERII","123")
|
||||
If x < 0
|
||||
Return
|
||||
Endif
|
||||
|
||||
lcSql = [select DISTINCT customer_id, NUME, ID_PROGRAM, (CASE WHEN Upper(PROGRAM) ] + ;
|
||||
[LIKE 'INDEX%' THEN 'MANUAL' ELSE PROGRAM END) AS PROGRAM from vgen_programe ] + ;
|
||||
[where customer_id = ] + Alltrim(Str(crs2xml.id))
|
||||
lnsucces = SQLExec(x, lcSql, "crsProgsTemp1")
|
||||
If lnsucces < 0
|
||||
Return
|
||||
Endif
|
||||
SQLDisconnect(x)
|
||||
*!* selectie combobox - un client, programele cu licenta pentru client
|
||||
executaSql([select 0 as ales, v.customer, v.program, v.versiune, v.versiune_maxima, ]+ ;
|
||||
[v.id, v.customer_id from vsc_versiune_max_inst_dv v ] + ;
|
||||
[where v.customer_id = ] + Alltrim(Str(crs2xml.id)), "crsprogstemp2", .T.)
|
||||
*!* selectie combobox - un client, programele cu licenta pentru client ^
|
||||
executasql([select * from programs], "crsPrograms", .t.)
|
||||
executasql([select * from sc_versiune_programe], "crsVersProg", .t.)
|
||||
|
||||
Select a.nume As customer, a.Program, b.versiune, b.versiune_maxima, a.customer_id, a.id_program ;
|
||||
From crsprogstemp2 b ;
|
||||
INNER Join crsProgsTemp1 a On a.customer_id = b.customer_id And b.Id = a.id_program ;
|
||||
ORDER By 2 ;
|
||||
INTO Cursor crsXmlOut
|
||||
|
||||
*SELECT c.customer, c.program, c.versiune, c.customer_id FROM crsprogstemp2 c ;
|
||||
JOIN crsprograms p ON p.id = c.id ORDER BY 2 ;
|
||||
WHERE !EMPTY(NVL(c.versiune,[])) ;
|
||||
INTO CURSOR crsProgLic
|
||||
|
||||
lcClipText = lcClipText + Alltrim(customer) + crlf + "VERSIUNI EXISTENTE: "
|
||||
lcVersiune = ""
|
||||
Set Textmerge On To Memvar lcVersiune Noshow
|
||||
Set Textmerge Delimiters To '{{', '}}'
|
||||
\<?xml version='1.0'?>
|
||||
|
||||
Select crsXmlOut
|
||||
*SELECT crsProgLic
|
||||
Scan For customer_id = lnCustomerId
|
||||
\<{{Alltrim(PROGRAM)}}>
|
||||
\<codeupdate>
|
||||
\<version>{{Alltrim(VERSIUNE)}}</version>
|
||||
\<fileURL>{{'\_ARHIVE\' + Alltrim(PROGRAM) + '\' + Alltrim(PROGRAM) + '-' + Alltrim(VERSIUNE) + '.EXE'}}</fileURL>
|
||||
\<Usermsg>S-a gasit {{Alltrim(PROGRAM)}} versiunea {{Alltrim(VERSIUNE)}}. Programul va incepe procedurile de actualizare !</Usermsg>
|
||||
\</codeupdate>
|
||||
\</{{Alltrim(PROGRAM)}}>
|
||||
|
||||
lcClipText = lcClipText + Alltrim(Program) + '-' + Alltrim(versiune) + ', '
|
||||
Endscan
|
||||
Set Textmerge To
|
||||
lcfile = Putfile("Alegeti calea",Upper(Alltrim(crs2xml.Name)) + '.xml',"xml")
|
||||
Strtofile(lcVersiune,lcfile)
|
||||
If Messagebox("Doriti sa generati XML Aplicatii diferenta",4) = 6
|
||||
|
||||
Select Distinct c.Program, c.versiune, c.versiune_maxima, c.id_program, c.customer_id , ;
|
||||
'\_ARHIVE\' + Alltrim(c.Program) + '\' + Alltrim(c.Program) + '-' + ;
|
||||
Alltrim(c.versiune_maxima) + '.EXE' As fisier ;
|
||||
FROM crsXmlOut c INNER Join porec p On p.customer_id = c.customer_id ;
|
||||
WHERE NVL(c.versiune,[]) <> NVL(c.versiune_maxima,[]) ;
|
||||
INTO Cursor crsVersiuniDiferiteTemp
|
||||
SELECT program , versiune_maxima as versiune, id_program, customer_id, fisier ;
|
||||
FROM crsVersiuniDiferiteTemp INTO CURSOR crsVersiuniDiferite
|
||||
|
||||
*!* Cursor cu ultimele Versiuni
|
||||
|
||||
lcFisier = Addbs(Upper(Alltrim(crs2xml.Name)))
|
||||
lcDir = Addbs(Justpath(lcfile)) + "ACTUALIZARIAPLICATII\" + lcFisier
|
||||
If Not Directory(lcDir)
|
||||
Md(lcDir)
|
||||
Endif
|
||||
lcFisVersDif = lcDir + "Aplicatii_" + Alltrim(crs2xml.Name) + ".XML"
|
||||
Cursortoxml("crsVersiunidiferite",lcFisVersDif,1,512,0,"1")
|
||||
|
||||
*!* Cursor cu Versiuni diferite ^
|
||||
lcClipText = lcClipText + crlf + 'VERSIUNI DIFERITE: '
|
||||
|
||||
Select crsVersiuniDiferite
|
||||
Scan
|
||||
lcClipText = lcClipText + Alltrim(Program) + '-' + Alltrim(versiune) + ', '
|
||||
Endscan
|
||||
|
||||
|
||||
*!* versiunea maxima a programelor instalate la client
|
||||
executaSql([select * from sc_versiune_programe], [crsVmax],.T.)
|
||||
Select c1.Program, c1.nume, cv.versiune_curenta As versiune From crsProgsTemp1 c1 ;
|
||||
JOIN crsvmax cv On c1.id_program = cv.id_program ;
|
||||
WHERE c1.customer_id = crs2xml.id ; &&porec.cust_id
|
||||
order By 1;
|
||||
into Cursor crsVersiuniMax
|
||||
Set Textmerge On To Memvar lcVersiune Noshow
|
||||
Select crsVersiuniMax
|
||||
Scan
|
||||
\<{{Alltrim(PROGRAM)}}>
|
||||
\<codeupdate>
|
||||
\<version>{{Alltrim(VERSIUNE)}}</version>
|
||||
\<fileURL>{{'\_ARHIVE\' + Alltrim(PROGRAM) + '\' + Alltrim(PROGRAM) + '-' + Alltrim(VERSIUNE) + '.EXE'}}</fileURL>
|
||||
\<Usermsg>S-a gasit {{Alltrim(PROGRAM)}} versiunea {{Alltrim(VERSIUNE)}}. Programul va incepe procedurile de actualizare !</Usermsg>
|
||||
\</codeupdate>
|
||||
\</{{Alltrim(PROGRAM)}}>
|
||||
Endscan
|
||||
|
||||
Set Textmerge To
|
||||
lcfileVersiuniMax = Addbs(Justpath(lcFisVersDif)) + Upper(Alltrim(crs2xml.Name)) + '.xml'
|
||||
Strtofile(lcVersiune,lcfileVersiuniMax )
|
||||
* Cursor cu ultimele Versiuni ^
|
||||
|
||||
Use In (Select("crsProgLic"))
|
||||
Use In (Select("crsprograms"))
|
||||
Use In (Select("crsVersiuniDiferite"))
|
||||
Use In (Select("crsVersiuniDiferiteTemp"))
|
||||
Use In (Select("crsProgsTemp1"))
|
||||
Use In (Select("crsProgsTemp2"))
|
||||
Use In (Select("crsVmax"))
|
||||
Use In (Select("crsVersiuniMax"))
|
||||
Use In (Select("crsxmlout"))
|
||||
Use In (Select("crsVersProg"))
|
||||
|
||||
_Cliptext = Nvl(lcClipText,[])
|
||||
|
||||
Endif
|
||||
|
||||
thisform.release()
|
||||
Reference in New Issue
Block a user