Merge remote-tracking branch 'origin/develop' into feature/ml
This commit is contained in:
commit
5e981c8163
|
|
@ -19,12 +19,14 @@ import com.engine.organization.mapper.department.DepartmentMapper;
|
|||
import com.engine.organization.util.OrganizationFormItemUtil;
|
||||
import com.engine.organization.util.db.DBType;
|
||||
import com.engine.organization.util.db.MapperProxyFactory;
|
||||
import com.engine.organization.util.detach.DetachUtil;
|
||||
import com.engine.organization.util.tree.SearchTreeUtil;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
|
|
@ -134,6 +136,9 @@ public class JobBrowserService extends BrowserService {
|
|||
* @return
|
||||
*/
|
||||
private List<TreeNode> getCurrentTreeNode(SearchTreeParams params) {
|
||||
// 分权
|
||||
DetachUtil detachUtil = new DetachUtil(user.getUID());
|
||||
List<Long> jclRoleLevelList = Arrays.asList(detachUtil.getJclRoleLevels().split(",")).stream().map(Long::parseLong).collect(Collectors.toList());
|
||||
List<TreeNode> treeNodes = new ArrayList<>();
|
||||
if (StringUtils.isBlank(params.getId())) {
|
||||
// 集团总部
|
||||
|
|
@ -142,18 +147,32 @@ public class JobBrowserService extends BrowserService {
|
|||
treeNodes.add(topGroup);
|
||||
} else {
|
||||
// 分部存在下级的ID
|
||||
List<String> compHasSubs = MapperProxyFactory.getProxy(CompMapper.class).hasSubs();
|
||||
List<String> compHasSubs;
|
||||
if (detachUtil.isDETACH()) {
|
||||
compHasSubs = MapperProxyFactory.getProxy(CompMapper.class).hasDetachSubs(jclRoleLevelList);
|
||||
} else {
|
||||
compHasSubs = MapperProxyFactory.getProxy(CompMapper.class).hasSubs();
|
||||
}
|
||||
// 部门存在下级的ID
|
||||
List<String> hasSubDepartment = MapperProxyFactory.getProxy(DepartmentMapper.class).hasSubs();
|
||||
|
||||
if ("0".equals(params.getId())) {
|
||||
List<CompPO> compList = MapperProxyFactory.getProxy(CompMapper.class).listParent();
|
||||
List<CompPO> compList;
|
||||
if (detachUtil.isDETACH()) {
|
||||
compList = MapperProxyFactory.getProxy(CompMapper.class).getCompsByIds(jclRoleLevelList);
|
||||
detachUtil.filterCompanyList(compList);
|
||||
}else{
|
||||
compList = MapperProxyFactory.getProxy(CompMapper.class).listParent();
|
||||
}
|
||||
// 获取顶层分部
|
||||
compList.stream().sorted(Comparator.comparing(CompPO::getShowOrder)).forEach(item -> buildCompNodes(treeNodes, compHasSubs, item));
|
||||
} else if ("1".equals(params.getType())) {
|
||||
// 当前节点下的元素
|
||||
CompPO compBuild = CompPO.builder().parentCompany(Long.parseLong(params.getId())).forbiddenTag(0).deleteType(0).build();
|
||||
List<CompPO> compList = MapperProxyFactory.getProxy(CompMapper.class).listByFilter(compBuild, "show_order");
|
||||
if (detachUtil.isDETACH()) {
|
||||
detachUtil.filterCompanyList(compList);
|
||||
}
|
||||
DepartmentPO departmentBuild = DepartmentPO.builder().parentComp(Long.parseLong(params.getId())).forbiddenTag(0).deleteType(0).build();
|
||||
List<DepartmentPO> departmentList = MapperProxyFactory.getProxy(DepartmentMapper.class).listByFilter(departmentBuild, "show_order");
|
||||
compList.forEach(item -> buildCompNodes(treeNodes, compHasSubs, item));
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
package com.engine.organization.entity.personnelcard.vo;
|
||||
|
||||
import com.cloudstore.eccom.pc.table.WeaTableType;
|
||||
import com.engine.organization.annotation.OrganizationTable;
|
||||
import com.engine.organization.annotation.OrganizationTableColumn;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
|
|
@ -14,8 +17,45 @@ import java.util.Date;
|
|||
* @Version V1.0
|
||||
**/
|
||||
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@OrganizationTable(pageId = "8df45b09-0cda-4f57-a93a-ca9f96a4cfbf",
|
||||
fields = "t.id," +
|
||||
"t.type_name," +
|
||||
"t.status," +
|
||||
"t.all_people," +
|
||||
"t.superior," +
|
||||
"t.all_superior," +
|
||||
"t.custom",
|
||||
fromSql = "FROM jcl_org_cardaccess t ",
|
||||
orderby = "id",
|
||||
sortway = "asc",
|
||||
primarykey = "id",
|
||||
tableType = WeaTableType.CHECKBOX
|
||||
)
|
||||
public class CardAccessVO {
|
||||
|
||||
@OrganizationTableColumn(column = "id", display = false)
|
||||
private Long id;
|
||||
|
||||
@OrganizationTableColumn(text = "栏目", width = "15%", column = "type_name")
|
||||
private Integer typeName;
|
||||
|
||||
@OrganizationTableColumn(text = "是否启用", width = "15%", column = "status")
|
||||
private Integer status;
|
||||
|
||||
@OrganizationTableColumn(text = "所有人可见", width = "15%", column = "all_people")
|
||||
private Integer allPeople;
|
||||
|
||||
@OrganizationTableColumn(text = "上级可见", width = "15%", column = "superior")
|
||||
private Integer superior;
|
||||
|
||||
@OrganizationTableColumn(text = "所有上级可见", width = "15%", column = "all_superior")
|
||||
private Integer allSuperior;
|
||||
|
||||
@OrganizationTableColumn(text = "查看自定义", width = "15%", column = "custom",transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getRoleLevel")
|
||||
private String custom;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ public interface CompMapper {
|
|||
|
||||
List<String> hasSubs();
|
||||
|
||||
List<String> hasDetachSubs(@Param("companyIds") Collection<Long> companyIds);
|
||||
|
||||
/**
|
||||
* 根据搜索条件查询数据
|
||||
*
|
||||
|
|
|
|||
|
|
@ -442,6 +442,25 @@
|
|||
#{uuid}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="hasDetachSubs" resultType="java.lang.String">
|
||||
select parent_company
|
||||
from jcl_org_comp
|
||||
where forbidden_tag = 0
|
||||
and delete_type = 0
|
||||
and id in
|
||||
<foreach collection="companyIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
union
|
||||
select parent_comp
|
||||
from jcl_org_dept
|
||||
where forbidden_tag = 0
|
||||
and delete_type = 0
|
||||
and parent_comp in
|
||||
<foreach collection="companyIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<update id="updateForbiddenTagById" parameterType="com.engine.organization.entity.sequence.po.SequencePO">
|
||||
update jcl_org_comp
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package com.engine.organization.service;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @Description:
|
||||
|
|
@ -7,4 +9,10 @@ package com.engine.organization.service;
|
|||
* @Version V1.0
|
||||
**/
|
||||
public interface CardAccessService {
|
||||
|
||||
Map<String, Object> tablePage();
|
||||
|
||||
Map<String, Object> hasRight();
|
||||
|
||||
int save(Map<String, Object> params);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,52 @@
|
|||
package com.engine.organization.service.impl;
|
||||
|
||||
import com.cloudstore.eccom.result.WeaResultMsg;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.organization.component.OrganizationWeaTable;
|
||||
import com.engine.organization.entity.detach.vo.ManagerDetachVO;
|
||||
import com.engine.organization.service.CardAccessService;
|
||||
import com.engine.organization.util.HasRightUtil;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @Description:
|
||||
* @Date 2022/11/1
|
||||
* @Version V1.0
|
||||
**/
|
||||
public class CardAccessServiceImpl {
|
||||
public class CardAccessServiceImpl extends Service implements CardAccessService {
|
||||
|
||||
private static final String RIGHT_NAME = "CardAccess:All";
|
||||
|
||||
@Override
|
||||
public Map<String, Object> tablePage() {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
OrganizationWeaTable<ManagerDetachVO> table = new OrganizationWeaTable<>(user, ManagerDetachVO.class);
|
||||
String sqlWhere = " where delete_type = 0";
|
||||
table.setSqlwhere(sqlWhere);
|
||||
WeaResultMsg result = new WeaResultMsg(false);
|
||||
result.putAll(table.makeDataResult());
|
||||
result.success();
|
||||
resultMap.putAll(result.getResultMap());
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> hasRight() {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
boolean hasRight = HasRightUtil.hasRight(user, RIGHT_NAME, true);
|
||||
resultMap.put("hasRight", hasRight);
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int save(Map<String, Object> params) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,24 @@
|
|||
package com.engine.organization.web;
|
||||
|
||||
import com.engine.common.util.ParamUtil;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.organization.entity.detach.param.ManagerDetachParam;
|
||||
import com.engine.organization.util.response.ReturnResult;
|
||||
import com.engine.organization.wrapper.CardAccessWrapper;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
import weaver.hrm.HrmUserVarify;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @Description:
|
||||
|
|
@ -8,4 +27,46 @@ package com.engine.organization.web;
|
|||
**/
|
||||
|
||||
public class CardAccessController {
|
||||
|
||||
public CardAccessWrapper getCardAccessWrapper(User user) {
|
||||
return ServiceUtil.getService(CardAccessWrapper.class,user);
|
||||
}
|
||||
|
||||
|
||||
@GET
|
||||
@Path("/hasRight")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public ReturnResult hasRight(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return ReturnResult.successed(getCardAccessWrapper(user).hasRight());
|
||||
} catch (Exception e) {
|
||||
return ReturnResult.exceptionHandle(e);
|
||||
}
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("/getTable")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public ReturnResult listPage(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return ReturnResult.successed(getCardAccessWrapper(user).listPage());
|
||||
} catch (Exception e) {
|
||||
return ReturnResult.exceptionHandle(e);
|
||||
}
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("/save")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public ReturnResult save(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
Map<String, Object> map = ParamUtil.request2Map(request);
|
||||
return ReturnResult.successed(getCardAccessWrapper(user).save(map));
|
||||
} catch (Exception e) {
|
||||
return ReturnResult.exceptionHandle(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public class ManagerDetachController {
|
|||
@GET
|
||||
@Path("/getTable")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public ReturnResult listScheme(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
public ReturnResult listPage(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
Map<String, Object> map = ParamUtil.request2Map(request);
|
||||
|
|
@ -98,7 +98,7 @@ public class ManagerDetachController {
|
|||
@POST
|
||||
@Path("/save")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public ReturnResult saveScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ManagerDetachParam param) {
|
||||
public ReturnResult saveDetach(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ManagerDetachParam param) {
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return ReturnResult.successed(getManagerDetachWrapper(user).save(param));
|
||||
|
|
@ -110,7 +110,7 @@ public class ManagerDetachController {
|
|||
@POST
|
||||
@Path("/update")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public ReturnResult updateScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ManagerDetachParam param) {
|
||||
public ReturnResult updateDetach(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ManagerDetachParam param) {
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return ReturnResult.successed(getManagerDetachWrapper(user).updateDetach(param));
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
package com.engine.organization.wrapper;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.organization.service.CardAccessService;
|
||||
import com.engine.organization.service.impl.CardAccessServiceImpl;
|
||||
import com.engine.organization.util.OrganizationWrapper;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
|
|
@ -9,4 +15,20 @@ import com.engine.organization.util.OrganizationWrapper;
|
|||
* @Version V1.0
|
||||
**/
|
||||
public class CardAccessWrapper extends OrganizationWrapper {
|
||||
|
||||
public CardAccessService getCardAccessService(User user) {
|
||||
return ServiceUtil.getService(CardAccessServiceImpl.class,user);
|
||||
}
|
||||
|
||||
public Map<String, Object> listPage() {
|
||||
return getCardAccessService(user).tablePage();
|
||||
}
|
||||
|
||||
public Map<String, Object> hasRight() {
|
||||
return getCardAccessService(user).hasRight();
|
||||
}
|
||||
|
||||
public int save(Map<String, Object> params) {
|
||||
return getCardAccessService(user).save(params);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue