@ -1,5 +1,6 @@
package com.engine.organization.service.impl ;
import com.alibaba.fastjson.JSON ;
import com.api.browser.bean.SearchConditionGroup ;
import com.api.browser.bean.SearchConditionItem ;
import com.cloudstore.eccom.constant.WeaBoolAttr ;
@ -10,6 +11,7 @@ import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service ;
import com.engine.organization.component.OrganizationWeaTable ;
import com.engine.organization.entity.column.TableColumnPO ;
import com.engine.organization.entity.danikor.param.ChartParam ;
import com.engine.organization.entity.danikor.vo.ResourceBackVO ;
import com.engine.organization.manager.DanikorOrgChartManager ;
import com.engine.organization.mapper.danikor.DanikorResourceMapper ;
@ -21,6 +23,7 @@ import com.engine.organization.util.db.MapperProxyFactory;
import org.apache.commons.lang3.StringUtils ;
import weaver.common.DateUtil ;
import weaver.common.StringUtil ;
import weaver.conn.RecordSet ;
import weaver.general.Util ;
import weaver.hrm.appdetach.AppDetachComInfo ;
import weaver.hrm.chart.domain.HrmChartSet ;
@ -234,9 +237,49 @@ public class DanikorResourceBackServiceImpl extends Service implements DanikorRe
String showTitle = showName + SystemEnv . getHtmlLabelNames ( chartManager . getLabelIndex ( ) + ",523" , user . getLanguage ( ) ) + showCount ;
String defaultHref = weaver . general . GCONST . getContextPath ( ) + "/spa/hrm/index_mobx.html#/main/hrm/orgStaff?_fromURL=HrmResourceSearchResult&from=hrmorg&virtualtype=" + sorgid ;
StringBuffer data = new StringBuffer ( "[" ) ;
data . append ( "{\"id\":\"0\", \"pid\":\"\", \"type\":\"company\", \"name\":\"" ) . append ( StringUtil . vString ( showName , 12 ) ) . append ( "\", \"title\":\"" ) . append ( showName ) . append ( "\", \"num\":\"" + showCount + "\", \"nTitle\":\"" + showTitle + "\", \"oDisplay\":\"none\", \"subRCount\":\"0\", \"subTitle\":\"\", \"cOnclick\":\"" + defaultHref + "\", \"sOnclick\":\"\"}" ) . append ( chartManager . getData ( ) ) ;
data . append ( "]" ) ;
return data . toString ( ) ;
return "[" + "{\"id\":\"0\", \"pid\":\"\", \"type\":\"company\", \"name\":\"" + StringUtil . vString ( showName , 12 ) + "\", \"title\":\"" + showName +
"\", \"num\":\"" + showCount + "\", \"nTitle\":\"" + showTitle + "\", \"oDisplay\":\"none\", \"subRCount\":\"0\", \"subTitle\":\"\", \"cOnclick\":\"" + defaultHref + "\", \"sOnclick\":\"\"}" + chartManager . getData ( ) +
"]" ;
}
@Override
public String getResourceChartData ( Map < String , Object > params ) {
String syncDate = Util . null2String ( params . get ( "date" ) ) ;
List < ChartParam > chartParamList = new ArrayList < > ( ) ;
// 查询安全级别大于等于40的人员
String sql ;
if ( StringUtils . isNotBlank ( syncDate ) & & ! DateUtil . getDate ( new Date ( ) ) . equals ( syncDate ) ) {
sql = "select a.id, a.managerid , a.lastname , b.jobtitlename, ( select count(1) from HrmResource_back where managerid = a.id and sync_date = '" + syncDate + "') subordinate from HrmResource_back a left join HrmJobTitles b on a.jobtitle = b.id where sync_date = '" + syncDate + "'" ;
} else {
sql = "select a.id, a.managerid , a.lastname , b.jobtitlename, ( select count(1) from HrmResource where managerid = a.id) subordinate from HrmResource a left join HrmJobTitles b on a.jobtitle = b.id" ;
}
RecordSet rs = new RecordSet ( ) ;
rs . execute ( sql ) ;
while ( rs . next ( ) ) {
String lastName = rs . getString ( "lastname" ) ;
String jobTitleName = rs . getString ( "jobtitlename" ) ;
int subordinate = rs . getInt ( "subordinate" ) ;
String managerId = rs . getString ( "managerid" ) ;
ChartParam chartParam = new ChartParam ( ) ;
chartParam . setId ( rs . getString ( "id" ) ) ;
chartParam . setPid ( managerId ) ;
chartParam . setType ( StringUtils . isBlank ( managerId ) ? "company" : "subcompany" ) ;
chartParam . setName ( StringUtils . isBlank ( jobTitleName ) ? lastName : lastName + "(" + jobTitleName + ")" ) ;
chartParam . setTitle ( chartParam . getName ( ) ) ;
chartParam . setNum ( "0" ) ;
chartParam . setNTitle ( "" ) ;
chartParam . setODisplay ( "none" ) ;
chartParam . setSubRCount ( "0" ) ;
chartParam . setSubTitle ( "" ) ;
chartParam . setHasChild ( subordinate > 0 ? "true" : "false" ) ;
chartParam . setNeedPlus ( "false" ) ;
chartParam . setCOnclick ( "/spa/hrm/index_mobx.html#/main/hrm/card/cardInfo/" + chartParam . getId ( ) ) ;
chartParam . setSOnclick ( "" ) ;
chartParamList . add ( chartParam ) ;
}
return JSON . toJSONString ( chartParamList ) ;
}
}