Merge pull request '代码还原' (#47) from feature/dxf into develop

Reviewed-on: #47
pull/49/head
dxfeng 2 years ago
commit f1be7ad454

@ -1,23 +1,16 @@
package com.engine.organization.service.impl; package com.engine.organization.service.impl;
import com.cloudstore.eccom.result.WeaResultMsg; import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.common.service.HrmCommonService;
import com.engine.common.service.impl.HrmCommonServiceImpl;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.component.OrganizationWeaTable;
import com.engine.organization.entity.personnelcard.po.CardAccessPO; import com.engine.organization.entity.personnelcard.po.CardAccessPO;
import com.engine.organization.entity.personnelcard.vo.CardAccessVO; import com.engine.organization.entity.personnelcard.vo.CardAccessVO;
import com.engine.organization.exception.OrganizationRunTimeException;
import com.engine.organization.mapper.personnelcard.CardAccessMapper; import com.engine.organization.mapper.personnelcard.CardAccessMapper;
import com.engine.organization.service.CardAccessService; import com.engine.organization.service.CardAccessService;
import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.HasRightUtil;
import com.engine.organization.util.OrganizationAssert;
import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.db.MapperProxyFactory;
import org.apache.commons.lang.StringUtils;
import weaver.general.BaseBean;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
import weaver.hrm.resource.ResourceComInfo;
import java.util.*; import java.util.*;
@ -95,60 +88,4 @@ public class CardAccessServiceImpl extends Service implements CardAccessService
return getCardAccessMapper().updateTabName(name, id); return getCardAccessMapper().updateTabName(name, id);
} }
/**
*
*
* @param typeId ID
* @param userId EcId
* @return
*/
public boolean hasGroupAccess(Integer typeId, String userId) {
// 人员信息有误,返回false
OrganizationAssert.notBlank(userId, "未获取到对应人员");
// 系统管理员、查看本人卡片直接返回true
if (user.isAdmin() || userId.equals(String.valueOf(user.getUID()))) {
return true;
}
boolean hasAccess = false;
CardAccessPO cardAccessPO = getCardAccessMapper().selectById(typeId);
OrganizationAssert.notNull(cardAccessPO, "未查询到对应卡片权限,");
// 所有人返回true
if (1 == cardAccessPO.getAllPeople()) {
return true;
}
try {
ResourceComInfo resourceComInfo = new ResourceComInfo();
// 上级
if ("1".equals(Util.null2String(cardAccessPO.getSuperior()))) {
String managerID = resourceComInfo.getManagerID(userId);
hasAccess = Arrays.asList(managerID.split(",")).contains(Util.null2String(user.getUID()));
}
// 所有上级
if (!hasAccess || "1".equals(Util.null2String(cardAccessPO.getAllSuperior()))) {
String managersIDs = resourceComInfo.getManagersIDs(userId);
hasAccess = hasAccess || Arrays.asList(managersIDs.split(",")).contains(Util.null2String(user.getUID()));
}
} catch (Exception e) {
new BaseBean().writeLog(e);
throw new OrganizationRunTimeException("人员卡片权限");
}
// 角色判断
if (!hasAccess || StringUtils.isNotBlank(cardAccessPO.getCustom())) {
List<String> accessRoleIds = Arrays.asList(cardAccessPO.getCustom().split(","));
HrmCommonService hrmCommonService = new HrmCommonServiceImpl();
List<Object> roleInfo = hrmCommonService.getRoleInfo(user.getUID());
for (Object o : roleInfo) {
Map<String, String> roleDetailMap = (Map<String, String>) o;
int roleid = Util.getIntValue(roleDetailMap.get("roleid"), -1);
// 判断角色是否满足,角色等级是否满足
hasAccess = hasAccess || accessRoleIds.contains(Util.null2String(roleid));
}
}
return hasAccess;
}
} }

@ -50,30 +50,30 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
item.put("companyname", rs.getString("companyname")); item.put("companyname", rs.getString("companyname"));
fclasslist.add(item); fclasslist.add(item);
} }
String sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype in (0, 1) order by ftype , id "; String sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype in (0, 1) order by ftype , id,fdateend desc ";
// 分部分权过滤 // 分部分权过滤
DetachUtil detachUtil = new DetachUtil(user.getUID()); DetachUtil detachUtil = new DetachUtil(user.getUID());
if (detachUtil.isDETACH()) { if (detachUtil.isDETACH()) {
String jclRoleLevels = detachUtil.getJclRoleLevels(); String jclRoleLevels = detachUtil.getJclRoleLevels();
if (StringUtils.isNotBlank(jclRoleLevels)) { if (StringUtils.isNotBlank(jclRoleLevels)) {
sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) order by ftype , id"; sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) order by ftype , id,fdateend desc";
} else { } else {
sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype = 0 order by ftype , id"; sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype = 0 order by ftype , id,fdateend desc";
} }
} }
rs.executeQuery(sql); rs.executeQuery(sql);
List<Map<String, Object>> companylist = new ArrayList<>(); Set<OrgSelectItem> companySet = new HashSet<>();
while (rs.next()) { while (rs.next()) {
Map<String, Object> item = new HashMap<>(); OrgSelectItem item = new OrgSelectItem();
item.put("id", rs.getString("id")); item.setId(rs.getString("id"));
item.put("fnumber", rs.getString("fnumber")); item.setFnumber(rs.getString("fnumber"));
item.put("fname", rs.getString("fname")); item.setFname(rs.getString("fname"));
companylist.add(item); companySet.add(item);
} }
result.put("api_status", true); result.put("api_status", true);
result.put("fclasslist", fclasslist); result.put("fclasslist", fclasslist);
result.put("companylist", companylist); result.put("companylist", companySet);
return result; return result;
} }
@ -268,15 +268,22 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
item.put("fname", rs.getString("fname")); item.put("fname", rs.getString("fname"));
item.put("ftype", rs.getString("ftype")); item.put("ftype", rs.getString("ftype"));
item.put("parentId", null); item.put("parentId", null);
item.put("fleadername", rs.getString("fleadername")); if ("0".equals(id)) {
item.put("fleaderimg", rs.getString("fleaderimg")); item.put("fleadername", "");
item.put("fleaderjob", rs.getString("fleaderjob")); item.put("fleaderimg", "");
item.put("fleaderjob", "");
item.put("fleader", "");
} else {
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("fplan", rs.getString("fplan")); item.put("fplan", rs.getString("fplan"));
item.put("fonjob", rs.getString("fonjob")); item.put("fonjob", rs.getString("fonjob"));
item.put("hasChildren", hasChildren(rs.getString("id"), false)); item.put("hasChildren", hasChildren(rs.getString("id"), false));
item.put("expand", "1"); item.put("expand", "1");
item.put("fnumber", rs.getString("fnumber")); item.put("fnumber", rs.getString("fnumber"));
item.put("fleader", rs.getString("fleader"));
item.put("fobjid", rs.getString("fobjid")); item.put("fobjid", rs.getString("fobjid"));
item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); item.put("fleaderlv", convertLevel(rs.getString("fleaderlv")));
item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); item.put("fleaderst", convertGrade(rs.getString("fleaderst")));
@ -489,4 +496,48 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
} }
}); });
} }
static class OrgSelectItem {
private String id;
private String fnumber;
private String fname;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getFnumber() {
return fnumber;
}
public void setFnumber(String fnumber) {
this.fnumber = fnumber;
}
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof OrgSelectItem) {
OrgSelectItem item = (OrgSelectItem) obj;
return this.getId().equals(item.getId());
}
return false;
}
@Override
public int hashCode() {
return Integer.parseInt(this.getId());
}
}
} }

Loading…
Cancel
Save