@ -267,12 +267,17 @@ public class ChartServiceImpl extends Service implements ChartService {
departmentChartPO . setFobjid ( departmentId ) ;
departmentChartPO . setId ( rootId ) ;
departmentChartPO . setFname ( rs . getString ( "name" ) ) ;
// 岗位处理后的ID
// 岗位处理后的ID fonjob
departmentChartPO . setExpand ( "1" ) ;
departmentChartPO . setFisvitual ( rs . getString ( "isvitual" ) ) ;
// 部门负责人
departmentChartPO . setFleader ( getDepartmentLeader ( fLeader ) ) ;
//二开部门说明书
String smsFj = getBmsmsFj ( departmentId ) ;
if ( StringUtils . isBlank ( smsFj ) ) {
smsFj = "0" ;
}
departmentChartPO . setSmsFj ( smsFj ) ;
dataList . add ( departmentChartPO ) ;
}
@ -325,19 +330,44 @@ public class ChartServiceImpl extends Service implements ChartService {
// 直接查询岗位下的人员
if ( isRealTime ) {
if ( isRealDimension ) {
sql = "select a.id,a.lastname as name ,a.belongto ,a.companyworkyear from hrmresource a where a.status < 4 and a.departmentid = ? ";
sql = "select a.id,a.lastname as name ,a.belongto ,a.companyworkyear ,a.managerid from hrmresource a where a.status < 4 and a.departmentid = ? ";
} else {
sql = "select a.id,a.lastname as name ,a.belongto ,a.companyworkyear from hrmresource a inner join hrmresourcevirtual b on a.id = b.resourceid where a.status < 4 and b.departmentid = ? ";
sql = "select a.id,a.lastname as name ,a.belongto ,a.companyworkyear ,a.managerid from hrmresource a inner join hrmresourcevirtual b on a.id = b.resourceid where a.status < 4 and b.departmentid = ? ";
}
} else {
sql = "select a.resourceid as id,a.lastname as name ,a.belongto ,a.companyworkyear from jcl_chart_resource a where a.status < 4 and a.departmentid = ? and versionid = " + versionId ;
sql = "select a.resourceid as id,a.lastname as name ,a.belongto ,a.companyworkyear ,a.manager from jcl_chart_resource a where a.status < 4 and a.departmentid = ? and versionid = " + versionId ;
}
List < ChartPO > personList = new ArrayList < > ( ) ;
rs . executeQuery ( sql , departmentId ) ;
while ( rs . next ( ) ) {
String managerId ;
if ( isRealTime ) {
managerId = Util . null2String ( rs . getString ( "managerid" ) ) ;
} else {
managerId = Util . null2String ( rs . getString ( "manager" ) ) ;
}
ChartPO chartPO = getResourceChartPO ( rs . getString ( "id" ) , rs . getString ( "name" ) , rootId , rs . getString ( "belongto" ) , rs . getString ( "companyworkyear" ) ) ;
dataList . add ( chartPO ) ;
departmentOnJob + + ;
chartPO . setManagerId ( managerId ) ;
personList . add ( chartPO ) ;
String bzzyCheck = checkBzzy ( rs . getString ( "id" ) ) ;
if ( StringUtils . isBlank ( bzzyCheck ) ) {
//不是机器人才计数
departmentOnJob + + ;
}
}
Map < String , String > managerToFobjidMap = personList . stream ( )
. collect ( Collectors . toMap ( ChartPO : : getFobjid , ChartPO : : getManagerId ) ) ;
personList . forEach ( chart - > {
String managerId = managerToFobjidMap . get ( chart . getManagerId ( ) ) ;
if ( StringUtils . isNotEmpty ( managerId ) ) {
chart . setParentId ( chart . getManagerId ( ) ) ;
}
} ) ;
dataList . addAll ( personList ) ;
}
departmentChartPO . setFonjob ( departmentOnJob ) ;
@ -348,6 +378,25 @@ public class ChartServiceImpl extends Service implements ChartService {
return result ;
}
/ * *
* 判 断 是 否 是 机 器 人
* @param userid
* @return
* /
private static String checkBzzy ( String userid ) {
RecordSet rs = new RecordSet ( ) ;
BaseBean bb = new BaseBean ( ) ;
String bzzy = bb . getPropValue ( "jgKq_main" , "bzzy" ) ;
bb . writeLog ( "bzzy:" + bzzy ) ;
String sql = "select " + bzzy + " from cus_fielddata where id = " + userid + " and scope = 'HrmCustomFieldByInfoType' and scopeid = 3" ;
rs . executeQuery ( sql ) ;
String field28 = "" ;
if ( rs . next ( ) ) {
field28 = Util . null2String ( rs . getString ( bzzy ) ) ;
}
return field28 ;
}
@Override
public String selectVersionDate ( String id ) {
RecordSet rs = new RecordSet ( ) ;
@ -377,7 +426,7 @@ public class ChartServiceImpl extends Service implements ChartService {
chartPO . setFname ( name ) ;
// 岗位处理后的ID
chartPO . setParentId ( parentId ) ;
chartPO . setExpand ( " 0 ") ;
chartPO . setExpand ( " 1 ") ;
chartPO . setHasChildren ( "0" ) ;
chartPO . setBelongto ( Util . null2String ( belongTo ) ) ;
chartPO . setCompanyWorkYear ( companyWorkYear ) ;
@ -410,6 +459,23 @@ public class ChartServiceImpl extends Service implements ChartService {
return gwsms ;
}
/ * *
* 获 取 部 门 说 明 书
* @param id
* @return
* /
public static String getBmsmsFj ( String id ) {
RecordSet rs = new RecordSet ( ) ;
String bmsms = "" ;
String sql = "select bmsms from hrmdepartmentdefined where DEPTID = " + id ;
rs . executeQuery ( sql ) ;
if ( rs . next ( ) ) {
bmsms = Util . null2String ( rs . getString ( "bmsms" ) ) ;
}
return bmsms ;
}
/ * *
* 获 取 历 史 顶 部 元 素 sql
*
@ -663,11 +729,18 @@ public class ChartServiceImpl extends Service implements ChartService {
list . add ( stp . getDataId ( ) ) ;
StringBuilder jobSql = new StringBuilder ( ) ;
StringBuilder staffSql = new StringBuilder ( ) ;
BaseBean bb = new BaseBean ( ) ;
String bzzy = bb . getPropValue ( "jgKq_main" , "bzzy" ) ;
if ( ModuleTypeEnum . subcompanyfielddefined . getValue ( ) . equals ( stp . getType ( ) ) ) {
subCompany . getSubCompanyLists ( String . valueOf ( stp . getDataId ( ) ) , list ) ;
String value = StringUtils . join ( list , "," ) ;
jobSql . append ( "select count(1) as count from hrmresource where status < 4 and subcompanyid1 in (" ) . append ( value ) . append ( ")" ) ;
// jobSql.append("select count(1) as count from hrmresource where status < 4 and subcompanyid1 in (").append(value).append(")");
jobSql . append ( "select count(1) as count from hrmresource h\n" +
"left join cus_fielddata c on h.id = c.id and c.scope = 'HrmCustomFieldByInfoType' and c.scopeid = 3 \n" +
"where h.status < 4 and h.subcompanyid1 in (" ) . append ( value ) . append ( ") and (c." ) . append ( bzzy ) . append ( " is null or c." ) . append ( bzzy ) . append ( " >0)" ) ;
staffSql . append ( "select a.staff_num from jcl_org_staff a inner join jcl_org_staffplan b\n" +
" on a.plan_id = b.id\n" +
" and a.ec_company = ? and a.ec_department is null and a.delete_type = 0\n" +
@ -675,7 +748,10 @@ public class ChartServiceImpl extends Service implements ChartService {
} else {
dept . getAllChildDeptByDepId ( list , String . valueOf ( stp . getDataId ( ) ) ) ;
String value = StringUtils . join ( list , "," ) ;
jobSql . append ( "select count(1) as count from hrmresource where status < 4 and departmentid in (" ) . append ( value ) . append ( ")" ) ;
// jobSql.append("select count(1) as count from hrmresource where status < 4 and departmentid in (").append(value).append(")");
jobSql . append ( "select count(1) as count from hrmresource h\n" +
"left join cus_fielddata c on h.id = c.id and c.scope = 'HrmCustomFieldByInfoType' and c.scopeid = 3 \n" +
"where h.status < 4 and h.departmentid in (" ) . append ( value ) . append ( ") and (c." ) . append ( bzzy ) . append ( " is null or c." ) . append ( bzzy ) . append ( " >0)" ) ;
staffSql . append ( "select a.staff_num from jcl_org_staff a inner join jcl_org_staffplan b\n" +
" on a.plan_id = b.id\n" +
" and a.ec_department = ? and a.job_id is null and a.delete_type = 0\n" +