#
#	ITSV GmbH
#	CCDB - Command and Control Database
#
#	FILE:		dquermfile_xfilvdilv.txt
#	DESCRIPTION:	DQUERY definition for CCDB DQUERY "xfilvdilv"
#
@querytitle			Übertragung von Leistungserfassungsdaten aus ILVD nach ILV
@querydescription	
@group				ILV
@attributenames		uskurzz:ilvaccuskurzz:{{uskurzzoptions}},jahr:ilvaccjahr:{{jahroptions}},monat:ilvaccmonat:{{monatoptions}}
@uskurzzoptions		{"labeltext":"Mitarbeiter-Kurzzeichen","typedesc":"Kurzzeichen der Person, für die Daten übertragen werden sollen"}
@jahroptions		{"labeltext":"Jahr","typedesc":"4-stelliges Jahr, für das  Daten übertragen werden sollen"}
@monatoptions		{"labeltext":"Monat","typedesc":"Monat (1..12), für den  Daten übertragen werden sollen"}
@querytype			function
@function			seqtrans.seqtrans
@sequence			{"name":"sxfilvdilv","sequence":"chkilvtempty,xxfilvdilv"}

~query.tsteps

#
# <<TSTEPNUM:0>>: init, chkilvtempty
#
pre_qexpression
	this.ppfx = this.fname+"("+this.query.dataname+")";
	this.cdata.uskurzz = this.query.uskurzz;
	this.cdata.jahr = this.query.jahr;
	this.cdata.monat = this.query.monat;	
sql				select count(*) AS ANZAHL,USKURZZ,JAHR,MONAT from CCILV where USKURZZ=::uskurzz:: And JAHR=:jahr:: And MONAT=::monat::
named_params	uskurzz,jahr,monat
result_varname	ceres
post_qexpression
	proc: {
		if (this.ceres.getCellValue(0,0)>0) {
			this.errcoll.collect(null,"Es sind bereits "+that.result.rows[0][0]+"" Datensätze für "+this.ceres.rows[0][1]+","+this.ceres.rows[0][2]+","+this.ceres.rows[0][3]+" vorhanden");
			break proc;
		} else {
			this.ceres.rows[0].push("Keine Daten in CCILV vorhanden");
			this.ceres.addMetaDataName("STATUS");
		}
		ppush(this,[this.ppfx+".START","CHECK: "+aux.objTxt(this.ceres),"",""]);
	}

#
# <<TSTEPNUM:1>>: xxfilvdilv
#
sql				insert into CCILV(JAHR,MONAT,PSP,KST,USKURZZ,VORNAME,NACHNAME,STUNDEN,KOSTEN) 
				select	d.JAHR,d.MONAT,d.PSP,'',d.USKURZZ,
						(select USVORNAME from CCUS where USKURZZ=d.USKURZZ) as VORNAME,
						(select USFAMILIENNAME from CCUS where USKURZZ=d.USKURZZ) as NACHNAME,
						SUM(STUNDEN) as STUNDEN,
						SUM(KOSTEN) as KOSTEN
				  from CCILVD d
				 where d.USKURZZ=::uskurzz:: and d.JAHR=::jahr:: and d.MONAT=::monat::
				 group by d.USKURZZ, d.JAHR, d.MONAT, d.PSP
named_params	uskurzz,jahr,monat
result_varname	ires
post_qexpression
	ppush(this,this.ppfx+".FINISHED","INSERT: "+aux.objTxt(this.ires));





