@ -3,10 +3,8 @@ package com.engine.organization.service.impl;
import cn.hutool.core.date.DateField ;
import cn.hutool.core.date.DateField ;
import cn.hutool.core.date.DateUtil ;
import cn.hutool.core.date.DateUtil ;
import com.engine.core.impl.Service ;
import com.engine.core.impl.Service ;
import com.engine.organization.entity.job.po.JobPO ;
import com.engine.organization.entity.scheme.po.GradePO ;
import com.engine.organization.entity.scheme.po.GradePO ;
import com.engine.organization.entity.scheme.po.LevelPO ;
import com.engine.organization.entity.scheme.po.LevelPO ;
import com.engine.organization.mapper.job.JobMapper ;
import com.engine.organization.mapper.scheme.GradeMapper ;
import com.engine.organization.mapper.scheme.GradeMapper ;
import com.engine.organization.mapper.scheme.LevelMapper ;
import com.engine.organization.mapper.scheme.LevelMapper ;
import com.engine.organization.service.OrgChartService ;
import com.engine.organization.service.OrgChartService ;
@ -15,7 +13,6 @@ import com.engine.organization.util.db.DBType;
import com.engine.organization.util.db.MapperProxyFactory ;
import com.engine.organization.util.db.MapperProxyFactory ;
import org.apache.commons.lang3.StringUtils ;
import org.apache.commons.lang3.StringUtils ;
import weaver.conn.RecordSet ;
import weaver.conn.RecordSet ;
import weaver.general.BaseBean ;
import weaver.general.Util ;
import weaver.general.Util ;
import weaver.hrm.User ;
import weaver.hrm.User ;
@ -148,7 +145,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
findCompanyItemByParantId ( id , currentLevel + 1 , level , rs , list , whereSql , currentLevel + 1 < = Integer . parseInt ( level ) ) ;
findCompanyItemByParantId ( id , currentLevel + 1 , level , rs , list , whereSql , currentLevel + 1 < = Integer . parseInt ( level ) ) ;
// 分部数据,构建层级关系
// 分部数据,构建层级关系
reBuildTreeList ( list );
reBuildTreeList ( list , root );
result . put ( "api_status" , true ) ;
result . put ( "api_status" , true ) ;
result . put ( "data" , list ) ;
result . put ( "data" , list ) ;
@ -256,7 +253,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
item . put ( "fleaderimg" , rs . getString ( "fleaderimg" ) ) ;
item . put ( "fleaderimg" , rs . getString ( "fleaderimg" ) ) ;
// 转换岗位
// 转换岗位
//item.put("fleaderjob", convertJobNameById(rs.getString("fleaderjobid")));
//item.put("fleaderjob", convertJobNameById(rs.getString("fleaderjobid")));
item . put ( "fleaderjob" , rs . getString ( "fleaderjob" ) ) ;
item . put ( "fleaderjob" , rs . getString ( "fleaderjob" ) ) ;
item . put ( "fplan" , StringUtils . isNotEmpty ( rs . getString ( "fplan" ) ) ? rs . getString ( "fplan" ) : "0" ) ;
item . put ( "fplan" , StringUtils . isNotEmpty ( rs . getString ( "fplan" ) ) ? rs . getString ( "fplan" ) : "0" ) ;
item . put ( "fonjob" , StringUtils . isNotEmpty ( rs . getString ( "fonjob" ) ) ? rs . getString ( "fonjob" ) : "0" ) ;
item . put ( "fonjob" , StringUtils . isNotEmpty ( rs . getString ( "fonjob" ) ) ? rs . getString ( "fonjob" ) : "0" ) ;
item . put ( "hasChildren" , hasChildren ( rs . getString ( "id" ) , false ) ) ;
item . put ( "hasChildren" , hasChildren ( rs . getString ( "id" ) , false ) ) ;
@ -275,7 +272,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
findUserItemByParantId ( id , currentLevel + 1 , level , rs , list , whereSql , currentLevel + 1 < = Integer . parseInt ( level ) ) ;
findUserItemByParantId ( id , currentLevel + 1 , level , rs , list , whereSql , currentLevel + 1 < = Integer . parseInt ( level ) ) ;
// 分部数据,构建层级关系
// 分部数据,构建层级关系
reBuildTreeList ( list );
reBuildTreeList ( list , root );
result . put ( "api_status" , true ) ;
result . put ( "api_status" , true ) ;
result . put ( "data" , list ) ;
result . put ( "data" , list ) ;
@ -302,7 +299,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
item . put ( "fleaderimg" , rs . getString ( "fleaderimg" ) ) ;
item . put ( "fleaderimg" , rs . getString ( "fleaderimg" ) ) ;
// 转换岗位
// 转换岗位
//item.put("fleaderjob", convertJobNameById(rs.getString("fleaderjobid")));
//item.put("fleaderjob", convertJobNameById(rs.getString("fleaderjobid")));
item . put ( "fleaderjob" , rs . getString ( "fleaderjob" ) ) ;
item . put ( "fleaderjob" , rs . getString ( "fleaderjob" ) ) ;
item . put ( "fplan" , StringUtils . isNotEmpty ( rs . getString ( "fplan" ) ) ? rs . getString ( "fplan" ) : "0" ) ;
item . put ( "fplan" , StringUtils . isNotEmpty ( rs . getString ( "fplan" ) ) ? rs . getString ( "fplan" ) : "0" ) ;
item . put ( "fonjob" , StringUtils . isNotEmpty ( rs . getString ( "fonjob" ) ) ? rs . getString ( "fonjob" ) : "0" ) ;
item . put ( "fonjob" , StringUtils . isNotEmpty ( rs . getString ( "fonjob" ) ) ? rs . getString ( "fonjob" ) : "0" ) ;
item . put ( "fnumber" , rs . getString ( "fnumber" ) ) ;
item . put ( "fnumber" , rs . getString ( "fnumber" ) ) ;
@ -368,7 +365,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
item . put ( "fleaderimg" , rs . getString ( "fleaderimg" ) ) ;
item . put ( "fleaderimg" , rs . getString ( "fleaderimg" ) ) ;
// 转换岗位
// 转换岗位
//item.put("fleaderjob", convertJobNameById(rs.getString("fleaderjobid")));
//item.put("fleaderjob", convertJobNameById(rs.getString("fleaderjobid")));
item . put ( "fleaderjob" , rs . getString ( "fleaderjob" ) ) ;
item . put ( "fleaderjob" , rs . getString ( "fleaderjob" ) ) ;
item . put ( "fplan" , StringUtils . isNotEmpty ( rs . getString ( "fplan" ) ) ? rs . getString ( "fplan" ) : "0" ) ;
item . put ( "fplan" , StringUtils . isNotEmpty ( rs . getString ( "fplan" ) ) ? rs . getString ( "fplan" ) : "0" ) ;
item . put ( "fonjob" , StringUtils . isNotEmpty ( rs . getString ( "fonjob" ) ) ? rs . getString ( "fonjob" ) : "0" ) ;
item . put ( "fonjob" , StringUtils . isNotEmpty ( rs . getString ( "fonjob" ) ) ? rs . getString ( "fonjob" ) : "0" ) ;
item . put ( "fnumber" , rs . getString ( "fnumber" ) ) ;
item . put ( "fnumber" , rs . getString ( "fnumber" ) ) ;
@ -460,31 +457,15 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
}
}
private void reBuildTreeList ( List < Map < String , Object > > list ) {
private void reBuildTreeList ( List < Map < String , Object > > list , String root ) {
// 分部数据,构建层级关系
// 分部数据,构建层级关系
Set < String > idSet = list . stream ( ) . filter ( item - > "1" . equals ( Util . null2String ( item . get ( "ftype" ) ) ) ) . map ( item - > Util . null2String ( item . get ( "id" ) ) ) . collect ( Collectors . toSet ( ) ) ;
Set < String > idSet = list . stream ( ) . filter ( item - > "1" . equals ( Util . null2String ( item . get ( "ftype" ) ) ) ) . map ( item - > Util . null2String ( item . get ( "id" ) ) ) . collect ( Collectors . toSet ( ) ) ;
list . forEach ( item - > {
list . forEach ( item - > {
if ( "1" . equals ( Util . null2String ( item . get ( "ftype" ) ) ) & & ! idSet . contains ( Util . null2String ( item . get ( "parentId" ) ) ) ) {
if ( ! root . equals ( Util . null2String ( item . get ( "id" ) ) ) & & "1" . equals ( Util . null2String ( item . get ( "ftype" ) ) ) & & ! idSet . contains ( Util . null2String ( item . get ( "parentId" ) ) ) ) {
item . put ( "parentId" , "0" ) ;
item . put ( "parentId" , root ) ;
item . put ( "fobjparentId" , "0" ) ;
item . put ( "fobjparentId" , root ) ;
}
}
} ) ;
} ) ;
}
}
private String convertJobNameById ( String jobId ) {
String jobName = "" ;
if ( StringUtils . isNotBlank ( jobId ) ) {
try {
Long id = Long . parseLong ( jobId ) ;
JobPO jobById = MapperProxyFactory . getProxy ( JobMapper . class ) . getJobById ( id ) ;
if ( null ! = jobById ) {
jobName = jobById . getJobName ( ) ;
}
} catch ( NumberFormatException e ) {
new BaseBean ( ) . writeLog ( "组织架构图,岗位转换异常" , e ) ;
}
}
return jobName ;
}
}
}