Doorprize
Jarvis, tolong fitur apa namanya diapain biar apa gitu ga apa kali?Anonymous
coldfusion
09/14/2026 9:03 AM
12.1 KB
6
Indexable
<cffunction name="filterEmployeeTech"> <!--- add this func by Shinta:01152015 button filter employee --->
<cfparam name="search" default="">
<cfparam name="nrow" default="50">
<cfparam name="member" default="">
<!---filter employee--->
<cfparam name="ftpass" default=""><!--- BUG51015-52725: ganti name dari worklocation dan query harus data auth--->
<cfparam name="hdnFilterEmpemppayrollperiod" default="">
<cfset LOCAL.ftpassdec=DecodeFromURL(hdnFilterEmpemppayrollperiod)>
<cfset lstparams="dept,work_loc,cost_center,job_status,job_grade,emp_pos,emp_status,gender,marital,religion,work_status,hdnfaoempnolist">
<cfif (ftpass neq "" AND IsJSON(ftpass)) OR (len(trim(LOCAL.ftpassdec)) AND IsJSON(LOCAL.ftpassdec))>
<!---<cfset params=DeserializeJSON(ftpass)><cf_sfwritelog dump="params" prefix="FORM[2]"--->
<cfif ftpass neq "" AND IsJSON(ftpass)>
<cfset params=DeserializeJSON(ftpass)>
<cfelse>
<cfset params=DeserializeJSON(LOCAL.ftpassdec)>
</cfif>
<cfloop list="#lstparams#" index="iidx">
<cfif StructKeyExists(params,iidx)>
<cfparam name="#iidx#" default="#params[iidx]#">
<cfelse>
<cfparam name="#iidx#" default="">
</cfif>
</cfloop>
</cfif>
<cfif val(nrow) eq "0">
<cfset nrow="1000000">
</cfif>
<cfset nrow="1000000">
<cfset LOCAL.searchText=trim(search)>
<cfset LOCAL.lsGender="Female,Male">
<cfset LOCAL.lsMarital="Single,Married,Widow,Widower,Divorce">
<cfset LOCAL.EmpLANG=Application.SFParser.TransMLang(listAppend(lsMarital,lsGender),false,",")>
<cfset Local.StartDebug = getTickCount()>
<cfset LOCAL.searchText=trim(search)>
<cfoutput>
<cfquery name="LOCAL.qdata" datasource="#REQUEST.SDSN#" maxrows="#nrow#">
SELECT E.emp_id
,E.full_name emp_name
,EC.emp_no
<!---,EC.status active,
EC.end_date,
EG.terminate_date terminate_date,
EC.company_id company_id--->
<cfif isdefined("dept") AND len(dept)>, P.position_id, P.dept_id dept_id, P.parent_path parent_path</cfif>
FROM TEOMEmpPersonal E
INNER JOIN TEODEmpCompany EC ON E.emp_id=EC.emp_id
INNER JOIN TEODEmpPersonal EP ON E.emp_id = EP.emp_id
INNER JOIN TEODEMPCOMPANYGROUP EG ON EG.emp_id = E.emp_id
<cfif isdefined("dept") AND len(dept)>
INNER JOIN TEOMPOSITION P
ON EC.position_id=P.position_id AND P.company_id=EC.company_id
INNER JOIN TEOMPOSITION DEPT
ON P.dept_id=DEPT.position_id AND DEPT.company_id=P.company_id
</cfif>
<cfif len(member)>
<cfset cutlistmember=application.sfutil.cutlist(ListQualify(member,"'"),' EN.emp_id IN ','OR',2)>
left join TEOMEmpPersonal EN ON E.emp_id = EN.emp_id
AND (#PreserveSingleQuotes(cutlistmember)#)
</cfif>
WHERE EC.company_id = <cfqueryparam value="#REQUEST.SCOOKIE.COID#" cfsqltype="cf_sql_integer">
<cfif len(member)>
AND EN.emp_id IS NULL
</cfif>
<cfif len(searchText)>
AND (E.full_name
LIKE <cfqueryparam value="%#searchText#%" cfsqltype="CF_SQL_VARCHAR"> <!--- BUG51115-54961 : ganti tag cfqueryparam biasa (awalnya queremp)--->
OR EC.emp_no LIKE <cfqueryparam value="%#searchText#%" cfsqltype="CF_SQL_VARCHAR">)
</cfif>
<!---Filter:Employee_Information--->
<cfif (ftpass neq "" AND IsJSON(ftpass)) OR (len(trim(LOCAL.ftpassdec)) AND IsJSON(LOCAL.ftpassdec))>
<cfif isdefined("dept") AND len(dept)>
AND Dept.position_id IN (<cfqueryparam value="#dept#" cfsqltype="CF_SQL_VARCHAR" list="Yes">)
</cfif>
<cfif isdefined("work_loc") AND len(work_loc)>
AND EC.work_location_code = <cfqueryparam value="#work_loc#" cfsqltype="CF_SQL_VARCHAR">
</cfif>
<cfif isdefined("cost_center") AND len(cost_center)>
AND EC.cost_code IN (<cfqueryparam value="#cost_center#" cfsqltype="CF_SQL_VARCHAR" list="Yes">)
</cfif>
<cfif isdefined("job_status") AND len(job_status)>
AND EC.job_status_code IN (<cfqueryparam value="#job_status#" cfsqltype="CF_SQL_VARCHAR" list="Yes">)
</cfif>
<cfif isdefined("job_grade") AND len(job_grade)>
AND EC.grade_code IN (<cfqueryparam value="#job_grade#" cfsqltype="CF_SQL_VARCHAR" list="Yes">)
</cfif>
<cfif len(emp_pos)>
AND EC.position_id IN (<cfqueryparam value="#emp_pos#" cfsqltype="CF_SQL_VARCHAR" list="Yes">)
</cfif>
<cfif len(emp_status)>
AND EC.employ_code IN (<cfqueryparam value="#emp_status#" cfsqltype="CF_SQL_VARCHAR" list="Yes">)
</cfif>
<!---Personal_Information--->
<cfif len(gender) and gender neq "2">
#APPLICATION.SFUtil.getLookupQueryPart("gender",gender,"0=Female|1=Male",0,"AND")#
</cfif>
<cfif len(marital)>
AND EP.maritalstatus = <cfqueryparam value="#marital#" cfsqltype="CF_SQL_NUMERIC">
</cfif>
<cfif len(religion)>
AND EP.religion_code IN (<cfqueryparam value="#religion#" cfsqltype="CF_SQL_VARCHAR" list="Yes">)
</cfif>
<cfif len(work_status) AND work_status neq '3'> <!--- BUG50315-39161 --->
<!---AND E.status = <cf_sfqparamemp value="#work_status#" cfsqltype="CF_SQL_NUMERIC">--->
<cfif work_status eq '1'>
AND (EC.end_date >= #CreateODBCDate(Now())# OR EC.end_date IS NULL)
<cfelse>
AND (EC.end_date < #CreateODBCDate(Now())#)
</cfif>
</cfif>
<cfif len(trim(hdnfaoempnolist))>
AND (#Application.SFUtil.CutList(ListQualify(hdnfaoempnolist,"'")," EC.emp_no IN ","OR",2)#)
</cfif>
</cfif>
ORDER BY emp_name
</cfquery>
</cfoutput>
<!---<cfset Local.EndDebug = getTickCount()>
<cfoutput>Query qdata filterEmployeeTech : #Local.EndDebug-Local.StartDebug# ms<hr></cfoutput>
<cf_sfwritelog dump="qdata" prefix="filterEmployeeTech" ext="html">--->
<!---<cfset LOCAL.vResult="">
<cfloop query="qData">
<cfset vResult=vResult & "
arrEntryList[#currentrow-1#]=""#JSStringFormat(emp_id & "=" & emp_name & " (#emp_no#)")#"";"
& "arrEmpStat[#currentrow-1#]=""#JSStringFormat(active)#"";"
& "arrEnddt[#currentrow-1#]=""#DateFormat(end_date,"d/m/yyyy")#"";"
& "arrTermdt[#currentrow-1#]=""#DateFormat(terminate_date,"d/m/yyyy")#"";"
& "arrCompid[#currentrow-1#]=""#(company_id)#"";"
& "arrEmpid[#currentrow-1#]=""#(emp_id)#"";"
& "arrNamval[#currentrow-1#]=""#(emp_name & "(#emp_no#)")#"";">
</cfloop>--->
<cfoutput>
<script>
<cfif ftpass neq "" AND IsJSON(ftpass)>
if($sf("inp_listjson")) {
$sf("inp_listjson").value = '#ftpass#';
}
<cfelseif len(trim(LOCAL.ftpassdec)) AND IsJSON(LOCAL.ftpassdec)>
if($sf("inp_listjson")) {
$sf("inp_listjson").value = '#LOCAL.ftpassdec#';
}
<cfelse>
if($sf("inp_listjson")) {
$sf("inp_listjson").value = '';
}
</cfif>
arrEntryList=new Array();
</cfoutput>
<!---
arrEmpStat=new Array();
arrEnddt=new Array();
arrTermdt=new Array();
arrCompid=new Array();
arrEmpid=new Array();
arrNamval=new Array();
<cfif len(vResult)>
#vResult#
</cfif>--->
<cfloop query="qData" startrow="1" endrow="1000">
<cfoutput>arrEntryList[#currentrow-1#]="#JSStringFormat("#emp_id#=#emp_name# (#emp_no#)")#";</cfoutput>
</cfloop>
<cfoutput></script></cfoutput>
<cfif len(trim(hdnfaoempnolist))>
<cfset LOCAL.foundemplist = valuelist(qData.emp_no) />
<cfset LOCAL.empdiff = Application.SFUtil.listCompare(ucase(hdnfaoempnolist),ucase(LOCAL.foundemplist)) />
<cftry>
<cfif len(trim(LOCAL.empdiff))>
<cfquery name="qnextdiff" datasource="#request.sdsn#">
SELECT emp_id, emp_no FROM view_employee WHERE emp_no in (#listqualify(LOCAL.empdiff,"'")#)
</cfquery>
<cfif qnextdiff.recordcount>
<cfset lsteid = application.sfutil.cleanlist(valuelist(qnextdiff.emp_id)) />
<cfset lsteno = application.sfutil.cleanlist(valuelist(qnextdiff.emp_no)) />
<cfloop list='#form.member#' index="iidx">
<cfloop list='#lsteid#' index="jidx">
<cfif iidx eq jidx>
<cfset lsteno = listdeleteat(lsteno,listfindnocase(lsteid,jidx)) />
<cfset lsteid = listdeleteat(lsteid,listfindnocase(lsteid,jidx)) />
</cfif>
</cfloop>
</cfloop>
<cfset LOCAL.empdiff = lsteno />
</cfif>
<cfif len(trim(LOCAL.empdiff))>
<cfoutput><script>alert('Employee Number not found in list: #LOCAL.empdiff#');</script></cfoutput>
</cfif>
</cfif>
<cfcatch></cfcatch>
</cftry>
</cfif>
</cffunction>Editor is loading...
Leave a Comment