Parcourir la source

年假,花名册

9060 il y a 1 mois
Parent
commit
1a0a8534bc

Fichier diff supprimé car celui-ci est trop grand
+ 744 - 728
GDYSL/src/com/kingdee/eas/custom/facade/leave/LeaveAllowanceFacadeControllerBean.java


+ 31 - 13
GDYSL/websrc/com/kingdee/shr/customer/gtiit/rpt/PersonRosterAListHandler.java

@@ -263,7 +263,7 @@ public class PersonRosterAListHandler extends ListHandler {
             StringBuilder sel = new StringBuilder();
             sel.append(" SELECT rownum as rownumber,temp.* from ( ");
             sel.append(" SELECT * from ( ");
-            sel.append("  SELECT DISTINCT 'person' billType, ");
+            sel.append(" SELECT DISTINCT 'person' billType, ");
             sel.append(" person.fnumber as PersonNumber, ");
             sel.append(" person.CFSurname as LastName, ");
             sel.append(" person.CFMiddleNames as MiddleName, ");
@@ -273,7 +273,19 @@ public class PersonRosterAListHandler extends ListHandler {
             sel.append(" c.fname_l1 as Department, ");
             sel.append(" c.fsimplename as Dept, ");
             sel.append(" e.fname_l1 as Job, ");
-            sel.append(" f.jobLevel as JobLevel, ");
+            //sel.append(" f.jobLevel as JobLevel, ");
+
+            sel.append(" ( ");
+            sel.append("  SELECT top 1  ");
+            sel.append("   jg.FNAME_l1 as jobLevel ");
+            sel.append("   FROM T_HR_EmpPostRank epr ");
+            sel.append("   left join t_hr_jobgrade jg on epr.FJOBGRADEID = jg.FID    ");
+            sel.append(" where epr.FPERSONID = person.fid ");
+            sel.append(" and epr.feffdt <= b.eorLeffdt ");
+            sel.append(" and epr.fleffdt >= b.eorEffdt ");
+            sel.append(" order by epr.fleffdt desc ");
+            sel.append(" ) JobLevel, ");
+
             sel.append(" d.CFLongname_l1 as Position, ");
             sel.append(" d.fnumber as PositionCode, ");
             sel.append(" personType.fname_l1 as WorkCategory, ");
@@ -357,8 +369,14 @@ public class PersonRosterAListHandler extends ListHandler {
             sel.append(" personType.fId as personTypeId, ");
             sel.append(" b.FEnterDate as enterDate, ");
 
-            sel.append("  isnull(pePos.fleftdate, { ts '2199-12-31' }) ");
-            sel.append("  as leftDate, ");
+            sel.append(" case ");
+            sel.append("  b.finservice ");
+            sel.append("  when 1 then (b.bizDate) ");
+            sel.append("  when 4 then (b.bizDate) ");
+            sel.append("  else (isnull(isnull(rEntry2.bizDate,b.bizDate),b.eorEffdt))  ");
+            sel.append(" end as leftDate, ");
+//            sel.append("  isnull(pePos.fleftdate, { ts '2199-12-31' }) ");
+//            sel.append("  as leftDate, ");
             sel.append(" (b.eorEffdt) as deadline1, ");
             sel.append(" (b.eorLeffdt) as deadline2, ");
 //            sel.append(" b.fleffdt as deadline2, ");
@@ -497,15 +515,15 @@ public class PersonRosterAListHandler extends ListHandler {
             sel.append(" left join T_BD_HRPolitical zm on zm.fid = person.FPoliticalFaceID ");
             sel.append(" left join T_BD_HRWed hy on hy.fid = person.FWedID ");
             sel.append(" left join T_BD_Regpermresidence hj on hj.fid = person.FREGRESIDENCEID ");
-            sel.append(" left join ( ");
-            sel.append("  SELECT epr.FPERSONID, ");
-            sel.append("   jg.FNAME_l1 as jobLevel, ");
-            sel.append("   epr.frankenddate,epr.feffdt,epr.fleffdt ");
-            sel.append("  FROM T_HR_EmpPostRank epr ");
-            sel.append("   left join t_hr_jobgrade jg on epr.FJOBGRADEID = jg.FID ");
-            sel.append(" ) f on person.fid = f.FPERSONID ");
-            sel.append(" and f.feffdt >= b.eorEffdt+1 ");
-            sel.append(" and f.fleffdt <= b.eorLeffdt ");
+//            sel.append(" left join ( ");
+//            sel.append("  SELECT epr.FPERSONID, ");
+//            sel.append("   jg.FNAME_l1 as jobLevel, ");
+//            sel.append("   epr.frankenddate,epr.feffdt,epr.fleffdt ");
+//            sel.append("  FROM T_HR_EmpPostRank epr ");
+//            sel.append("   left join t_hr_jobgrade jg on epr.FJOBGRADEID = jg.FID ");
+//            sel.append(" ) f on person.fid = f.FPERSONID ");
+//            sel.append(" and f.feffdt <= b.eorLeffdt ");
+//            sel.append(" and f.fleffdt >= b.eorEffdt ");
             sel.append(" left join T_HR_PersonContactMethod l on person.fid = l.FPERSONID ");
             sel.append(" left join T_BD_Nationality m on person.FNationalityID = m.fid ");
             sel.append(" left join CT_MP_Fullperson qrz on qrz.FPersonID = person.fid ");

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff