diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml
index 30e94239..9aefaa75 100644
--- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml
+++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml
@@ -320,10 +320,10 @@
0, 0, 0, NOW(), '2099-12-31' FROM hrmcompany
- delete from jcl_org_map where ftype =3 and id not in (select FPARENTID from jcl_org_map where ftype=4 ) and fdateend > #{currentDate}
+ delete from jcl_org_map where ftype =3 and fdateend > #{currentDate} and id not in (select a.FPARENTID from (select FPARENTID from jcl_org_map where ftype=4 and fdateend > #{currentDate}) a)
- select a.messagerurl as fLeaderImg,a.LASTNAME as fLeaderName,c.id as fLeaderJobId,b.JOBTITLEMARK as fLeaderJob,e.level_name as fLeaderLv,f.grade_name as fLeaderSt
+ select a.id as fLeader,a.messagerurl as fLeaderImg,a.LASTNAME as fLeaderName,c.id as fLeaderJobId,b.JOBTITLEMARK as fLeaderJob,e.level_name as fLeaderLv,f.grade_name as fLeaderSt
from hrmresource a
left join hrmjobtitles b on a.JOBTITLE=b.ID
left join jcl_org_job c on b.ID = c.ec_jobTitle
diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java
index 1eadb1af..96650665 100644
--- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java
+++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java
@@ -326,16 +326,23 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
item.put("fname", rs.getString("fname"));
item.put("ftype", rs.getString("ftype"));
item.put("parentId", rs.getString("fparentid"));
- item.put("fleadername", rs.getString("fleadername"));
- item.put("fleaderimg", rs.getString("fleaderimg"));
- item.put("fleaderjob", rs.getString("fleaderjob"));
item.put("fplan", rs.getString("fplan"));
item.put("fonjob", rs.getString("fonjob"));
item.put("fnumber", rs.getString("fnumber"));
item.put("hasChildren", hasChildren(rs.getString("id"), false));
- item.put("fleader", rs.getString("fleader"));
+ JclOrgMap jclOrgMap = getBmfzrInfo(rs.getString("fleader"));
+ item.put("fleader", jclOrgMap.getFLeader()==null?"":String.valueOf(jclOrgMap.getFLeader()));
+ item.put("fleaderimg", jclOrgMap.getFLeaderImg());
+ item.put("fleadername", jclOrgMap.getFLeaderName()==null?"":jclOrgMap.getFLeaderName());
+ item.put("fleaderjob", jclOrgMap.getFLeaderJob());
item.put("fleaderlv", convertLevel(rs.getString("fleaderlv")));
item.put("fleaderst", convertGrade(rs.getString("fleaderst")));
+// item.put("fleader", rs.getString("fleader"));
+// item.put("fleaderimg", rs.getString("fleaderimg"));
+// item.put("fleadername", rs.getString("fleadername"));
+// item.put("fleaderjob", rs.getString("fleaderjob"));
+// item.put("fleaderlv", convertLevel(rs.getString("fleaderlv")));
+// item.put("fleaderst", convertGrade(rs.getString("fleaderst")));
item.put("fobjid", rs.getString("fobjid"));
item.put("fisvitual", rs.getString("fisvitual"));
currentList.add(item);
@@ -376,26 +383,20 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
result.put("data", currentList);
return result;
}
+
//处理多个部门负责人
- private JclOrgMap getBmfzrInfo (String bmfzr){
-// if (StringUtils.isNotBlank(bmfzr)) {
-// try {
-// String[] split = fLeaderSt.split(",");
-// for (String s : split) {
-// long parseLong = Long.parseLong(s);
-// GradePO gradeByID = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(parseLong);
-// if (null != gradeByID) {
-// jobGradeName.append(gradeByID.getGradeName());
-// }
-// }
-// } catch (NumberFormatException exception) {
-// jobGradeName = new StringBuilder(fLeaderSt);
-// }
-// }
- return null;
+ private JclOrgMap getBmfzrInfo(String bmfzr) {
+ JclOrgMap jclOrgMap = new JclOrgMap();
+ if (StringUtils.isNotBlank(bmfzr)) {
+ String[] split = bmfzr.split(",");
+ for (String s : split) {
+ jclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getResInfo(level, grade,s);
+ break;
+ }
+ }
+ return jclOrgMap;
}
-
private void findUserItemByParantId(String id, int currentLevel, String level, RecordSet rs, List> list, String whereSql, boolean expand) {
String sql = "select t.id, t.fname, t.ftype, t.fparentid, t.fobjparentid, t.fleader, t.fleadername, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber, t.fobjid, t.fecid, t.fleaderlv, t.fleaderst, t.fisvitual from jcl_org_map t " + whereSql;
DetachUtil detachUtil = new DetachUtil(user);
@@ -417,18 +418,25 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
item.put("ftype", rs.getString("ftype"));
item.put("parentId", rs.getString("fparentid"));
item.put("fobjparentId", rs.getString("fobjparentid"));
- item.put("fleadername", rs.getString("fleadername"));
- item.put("fleaderimg", rs.getString("fleaderimg"));
- item.put("fleaderjob", rs.getString("fleaderjob"));
item.put("fplan", rs.getString("fplan"));
item.put("fonjob", rs.getString("fonjob"));
item.put("fnumber", rs.getString("fnumber"));
item.put("expand", expand ? "1" : "0");
item.put("fobjid", rs.getString("fobjid"));
item.put("fecid", rs.getString("fecid"));
- item.put("fleader", rs.getString("fleader"));
+ JclOrgMap jclOrgMap = getBmfzrInfo(rs.getString("fleader"));
+ item.put("fleader", jclOrgMap.getFLeader()==null?"":String.valueOf(jclOrgMap.getFLeader()));
+ item.put("fleaderimg", jclOrgMap.getFLeaderImg());
+ item.put("fleadername", jclOrgMap.getFLeaderName()==null?"":jclOrgMap.getFLeaderName());
+ item.put("fleaderjob", jclOrgMap.getFLeaderJob());
item.put("fleaderlv", convertLevel(rs.getString("fleaderlv")));
item.put("fleaderst", convertGrade(rs.getString("fleaderst")));
+// item.put("fleadername", rs.getString("fleadername"));
+// item.put("fleaderimg", rs.getString("fleaderimg"));
+// item.put("fleaderjob", rs.getString("fleaderjob"));
+// item.put("fleader", rs.getString("fleader"));
+// item.put("fleaderlv", convertLevel(rs.getString("fleaderlv")));
+// item.put("fleaderst", convertGrade(rs.getString("fleaderst")));
item.put("fisvitual", rs.getString("fisvitual"));
item.put("hasChildren", hasChildren(rs.getString("id"), false));
currentList.add(item);