Commit 60d6a1ae by huangjy

Merge remote-tracking branch 'origin/dev' into dev

parents de32fada 0164ee44
......@@ -55,19 +55,6 @@ public class PlatOrgController {
return ApiResponseUtils.success(platOrgService.subOrgList(platOrgQueryDTO));
}
@Action(module = "平台端-组织", name = "树形列表", code = "plat:org:tree")
@ApiOperation("树形列表")
@PostMapping("tree")
public ApiResponseEntity<List<PlatOrg>> tree(@RequestBody PlatOrgQueryDTO tntDept){
return ApiResponseUtils.success(platOrgService.tree(tntDept));
}
@ApiOperation("树形列表(AuthIgnore)")
@PostMapping("treeAuthIgnore")
public ApiResponseEntity<List<PlatOrg>> treeAuthIgnore(@RequestBody PlatOrgQueryDTO tntDept){
return ApiResponseUtils.success(platOrgService.tree(tntDept));
}
@Action(module = "平台端-组织", name = "新增", code = "plat:org:add")
@ApiOperation("新增")
@PostMapping("add")
......@@ -98,16 +85,10 @@ public class PlatOrgController {
return ApiResponseUtils.success();
}
@ApiOperation("左上方组织树")
@PostMapping("deptTree")
public ApiResponseEntity<List<PlatOrg>> tree(){
return ApiResponseUtils.success(platUserService.getDeptTreeList());
}
@ApiOperation("当前账号的权限级别树")
@PostMapping("belongToScopeTree")
public ApiResponseEntity<List<PlatOrg>> belongToScopeTree(@RequestBody BaseIdDTO baseIdDTO){
return ApiResponseUtils.success(platOrgService.belongToOrgTree());
public ApiResponseEntity<List<PlatOrg>> belongToScopeTree(@RequestBody PlatOrg param){
return ApiResponseUtils.success(platOrgService.belongToOrgTree(param));
}
@ApiOperation("启用|禁用")
......
......@@ -150,12 +150,6 @@ public class PlatRoleController {
return ApiResponseUtils.success(platUserService.getHotelList(deptDTO.getOrgId()));
}
@ApiOperation("管理范围可选值2")
@PostMapping("getCandidateDeptList2")
public ApiResponseEntity<List<PlatOrg>> getCandidateDeptList2(@RequestBody BaseOrgDTO deptDTO) {
return ApiResponseUtils.success(platUserService.getCandidateDeptList());
}
@Action(module = "平台端-角色", name = "分配管理权限", code = "tnt:role:assignDeptList")
@ApiOperation("分配管理权限")
@PostMapping("assignDeptList")
......
......@@ -28,5 +28,5 @@ public class SysFileDTOVO extends BaseIdDTO {
private String fullPdfUrl;
@ApiModelProperty("上传key")
private String Key;
private String key;
}
......@@ -3,6 +3,7 @@ package com.makeit.module.controller.wechat.elder;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.elder.PlatElderIdDTO;
import com.makeit.service.platform.elder.PlatElderChildrenInfoService;
import com.makeit.vo.wechat.elder.PlatElderChildrenInfoWechatVO;
import io.swagger.annotations.Api;
......@@ -34,6 +35,19 @@ public class PlatElderChildrenInfoWechatController {
return ApiResponseUtils.success(platElderChildrenInfoService.view());
}
@ApiOperation("绑定")
@PostMapping("bind")
public ApiResponseEntity<?> bind(PlatElderIdDTO dto) {
platElderChildrenInfoService.bind(dto.getElderId());
return ApiResponseUtils.success();
}
@ApiOperation("解绑")
@PostMapping("unbind")
public ApiResponseEntity<?> unbind(PlatElderIdDTO dto) {
platElderChildrenInfoService.unbind(dto.getElderId());
return ApiResponseUtils.success();
}
}
......
package com.makeit.module.controller.workstation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "平台端-工作台")
@RestController
@RequestMapping("/plat/workstation")
public class WorkStationController {
}
......@@ -43,7 +43,7 @@ public class PlatOrg extends BaseBusEntity {
private String status;
/**
* 类型 1-居家 2-机构
* 类型 1-居家 2-机构养老
*/
private String type;
......@@ -57,6 +57,9 @@ public class PlatOrg extends BaseBusEntity {
private List<PlatOrg> children = new ArrayList<>();
@TableField(exist = false)
private String parentNodeId;
@TableField(exist = false)
private PlatOrg parent;
}
\ No newline at end of file
......@@ -22,30 +22,11 @@ public interface PlatOrgService extends IService<PlatOrg> {
List<PlatOrg> list(PlatOrgQueryDTO dto);
List<PlatOrg> tree(PlatOrgQueryDTO dto);
List<PlatOrg> treeCount(PlatOrgQueryDTO dto);
List<PlatOrg> tree(List<PlatOrg> tntDeptList);
List<PlatOrg> treeTop(List<PlatOrg> tntDeptList);
Map<String, PlatOrg> treeParentAndChildren(List<PlatOrg> tntDeptList);
List<PlatOrg> findSelfAndAllChildren(String deptId);
/**
* 根据部门名称获取部门及部门一下部门的数据集合
* @param deptId
* @param deptName
* @return
*/
List<PlatOrg> getDeptSelfAndChildrenByDeptName(String deptId, String deptName);
List<PlatOrg> findSelfAndAllParent(String deptId);
......@@ -89,7 +70,7 @@ public interface PlatOrgService extends IService<PlatOrg> {
* 当前账号所属角色的权限级别,可查看某一级或者某一级及其下级
* @return
*/
List<PlatOrg> belongToOrgTree();
List<PlatOrg> belongToOrgTree(PlatOrg param);
/**
* 启用|禁用
......
......@@ -88,11 +88,6 @@ public interface PlatUserService extends IService<PlatUser> {
PlatRole getMaxRole(String userId);
List<PlatOrg> getDeptTreeList();
/**
* 根据部门名称获取部门列表
*
......@@ -106,8 +101,6 @@ public interface PlatUserService extends IService<PlatUser> {
List<PlatOrg> getHotelList(String deptId);
List<PlatOrg> getCandidateDeptList();
List<PlatMenu> getMenuListByUserId(String userId);
/**
......
......@@ -135,29 +135,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
}
@Override
public List<PlatOrg> tree(List<PlatOrg> tntDeptList) {
Map<String, PlatOrg> map = StreamUtil.toMap(tntDeptList, PlatOrg::getId);
List<PlatOrg> topList = new ArrayList<>(10);
tntDeptList.forEach(e -> {
PlatOrg parent = map.get(e.getParentId());
if (parent != null) {
List<PlatOrg> children = parent.getChildren();
if (children == null) {
children = new ArrayList<>(10);
parent.setChildren(children);
}
children.add(e);
} else {
topList.add(e);
}
});
return topList;
}
@Override
public List<PlatOrg> treeTop(List<PlatOrg> tntDeptList) {
Map<String, PlatOrg> map = StreamUtil.toMap(tntDeptList, PlatOrg::getId);
......@@ -179,30 +156,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
}
@Override
public Map<String, PlatOrg> treeParentAndChildren(List<PlatOrg> tntDeptList) {
Map<String, PlatOrg> map = StreamUtil.toMap(tntDeptList, PlatOrg::getId);
tntDeptList.forEach(e -> {
PlatOrg parent = map.get(e.getParentId());
if (parent != null) {
List<PlatOrg> children = parent.getChildren();
if (children == null) {
children = new ArrayList<>(10);
parent.setChildren(children);
}
children.add(e);
e.setParent(parent);
}
});
return map;
}
@Override
public List<PlatOrg> findSelfAndAllChildren(String deptId) {//只能从酒店或者部门开始
List<PlatOrg> deptList = list(new QueryWrapper<PlatOrg>().lambda()
......@@ -217,24 +170,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
return list;
}
@Override
public List<PlatOrg> getDeptSelfAndChildrenByDeptName(String deptId, String deptName) {
//获取所有酒店层级的部门列表
List<PlatOrg> selfAndChildren = findSelfAndAllChildren(deptId);
if (CollectionUtils.isNotEmpty(selfAndChildren)) {
//获取对应部门名称的部门数据
List<PlatOrg> tntDepts = StreamUtil.filter(selfAndChildren, e -> deptName.equals(e.getName()));
if (CollectionUtils.isNotEmpty(tntDepts)) {
List<PlatOrg> platOrgFilterByName = tree(selfAndChildren, Arrays.asList(tntDepts.get(0).getId()));
List<PlatOrg> tntDeptArrayList = new ArrayList<>(10);
flat(platOrgFilterByName, tntDeptArrayList);
return tntDeptArrayList;
}
}
return new ArrayList<>();
}
@Override
public List<PlatOrg> findSelfAndAllParent(String deptId) {
......@@ -330,44 +265,6 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
}
@Override
public List<PlatOrg> tree(PlatOrgQueryDTO dto) {
List<PlatOrg> list = list(dto);
return tree(list);
}
@Override
public List<PlatOrg> treeCount(PlatOrgQueryDTO dto) {
List<PlatOrg> list = list(dto);
List<PlatOrg> tree = tree(list);
Map<PlatOrg, List<PlatOrg>> deptMap = new HashMap<>(16);
List<PlatOrg> deptList = new ArrayList<>(tree);
for (int i = 0; i < deptList.size(); i++) {
PlatOrg d = deptList.get(i);
List<PlatOrg> c = new ArrayList<>();
c.add(d);
for (int i1 = 0; i1 < c.size(); i1++) {
PlatOrg ctd = c.get(i1);
if (ctd.getChildren() != null) {
c.addAll(ctd.getChildren());
}
}
if (d.getChildren() != null) {
deptList.addAll(d.getChildren());
}
deptMap.put(d, c);
}
return tree;
}
@Transactional
@Override
......@@ -468,18 +365,22 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
/**
* 获取权限范围树
* 当前账号所属角色的权限级别,可查看某一级或者某一级及其下级
* 当前账号所属角色的权限级别
* 越级树结构
*
*
* @return
*/
@Override
public List<PlatOrg> belongToOrgTree() {
public List<PlatOrg> belongToOrgTree(PlatOrg param) {
PlatUserVO userVO = PlatUserUtil.getUserVO();
String isTenant = userVO.getIsTenant();
//如果是租户账号 则有所有权限
if (StringUtils.equals(isTenant, CommonEnum.YES.getValue())) {
List<PlatOrg> orgList = this.list(new LambdaQueryWrapper<PlatOrg>().eq(PlatOrg::getStatus, CommonEnum.YES.getValue()));
return getOrgTree(orgList);
List<PlatOrg> orgList = this.list(new LambdaQueryWrapper<PlatOrg>()
.eq(PlatOrg::getStatus, CommonEnum.YES.getValue())
);
return getOrgTree(orgList, Collections.singletonList(TenantIdUtil.getTenantId()));
}
//平台账号
......@@ -488,14 +389,8 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
if (CollectionUtils.isEmpty(orgList)) {
return new ArrayList<>();
}
Set<String> allOrgIdSet = orgList.stream().flatMap(vo -> {
String path = vo.getPath();
String[] split = StringUtils.split(path, ",");
return Stream.of(split);
}).collect(Collectors.toSet());
List<PlatOrg> allOrgList = this.list(new LambdaQueryWrapper<PlatOrg>().in(BaseEntity::getId, allOrgIdSet).eq(PlatOrg::getStatus, CommonEnum.YES.getValue()));
orgList.addAll(allOrgList);
return getOrgTree(orgList);
return createOrgTree(orgList);
}
/**
......@@ -519,17 +414,55 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
}
/**
* 从租户开始的组织树
* 租户权限的组织树
* @param orgList
* @return
*/
private List<PlatOrg> getOrgTree(List<PlatOrg> orgList) {
private List<PlatOrg> getOrgTree(List<PlatOrg> orgList,List<String> dateScopeList) {
Map<String, List<PlatOrg>> parentIdMap = orgList.stream().collect(Collectors.groupingBy(PlatOrg::getParentId));
orgList.forEach(vo -> {
List<PlatOrg> childList = parentIdMap.get(vo.getId());
vo.setChildren(childList);
});
return orgList.stream().filter(vo -> StringUtils.equals(vo.getTenantId(), vo.getId())).collect(Collectors.toList());
return orgList.stream().filter(vo -> dateScopeList.contains(vo.getId())).collect(Collectors.toList());
}
/**
* 租户权限的组织树
* a,a1,d,d1,d2,e,(e2没权限),e3
* a->a1
* d->d1->d2
* e->e3
* @param orgList
* @return
*/
public List<PlatOrg> createOrgTree(List<PlatOrg> orgList) {
Map<String, PlatOrg> orgMap = orgList.stream().collect(Collectors.toMap(BaseEntity::getId, vo -> vo, (a, b) -> a));
for (PlatOrg platOrg : orgList) {
String[] split = platOrg.getPath().split(",");
findParent(orgMap,platOrg,split,split.length-1);
}
return orgList.stream().filter(vo->StringUtils.isBlank(vo.getParentNodeId())).collect(Collectors.toList());
}
/**
* 寻找最近的父节点
* @param orgMap 有权限的组织
* @param currOrg 当前组织
* @param orgArray 当前组织全路径
* @param index orgArray的下标
*/
private void findParent(Map<String,PlatOrg> orgMap,PlatOrg currOrg,String[] orgArray,int index){
PlatOrg platOrg = orgMap.get(orgArray[index]);
if(platOrg!=null){
platOrg.getChildren().add(currOrg);
currOrg.setParentNodeId(platOrg.getId());
return;
}
if(index==0){
return;
}
findParent(orgMap,currOrg,orgArray,--index);
}
/**
......
......@@ -902,14 +902,6 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
return newList;
}
@Override
public List<PlatOrg> getDeptTreeList() {//给左上角用
List<PlatOrg> newList = getDeptList();
return platOrgService.tree(newList);
}
@Override
public List<PlatOrg> getDeptSelfAndChildrenByDeptName(List<String> deptNames, Map<String, PlatOrg> selfAndChildren) {
if (CollectionUtils.isEmpty(deptNames)) {
......@@ -973,12 +965,6 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
}
@Override
public List<PlatOrg> getCandidateDeptList() {//新增编辑角色 那边的管理范围 //不包含自己
List<PlatOrg> newList = getDeptList();
return platOrgService.tree(newList);
}
@Override
public List<PlatMenu> getMenuListByUserId(String userId) {
return getBaseMapper().getMenuListByUserId(userId);
}
......
......@@ -76,7 +76,7 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
d.setOrgName(o.getName());
});
JoinUtil.joinSplit(voList, platOrgService, PlatDeviceListVO::getOrgId, (d, o) -> {
JoinUtil.joinSplit(voList, platOrgService, PlatDeviceListVO::getOrgPath, (d, o) -> {
d.setOrgName(StreamUtil.join(o, PlatOrg::getName));
});
......
......@@ -8,11 +8,13 @@ import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.elder.PlatElderChildrenInfoEditVO;
import com.makeit.dto.platform.elder.PlatElderChildrenInfoQueryDTO;
import com.makeit.entity.platform.auth.PlatOrg;
import com.makeit.entity.platform.elder.PlatElder;
import com.makeit.entity.platform.elder.PlatElderChildrenInfo;
import com.makeit.enums.CodeMessageEnum;
import com.makeit.exception.BusinessException;
import com.makeit.mapper.platform.elder.PlatElderChildrenInfoMapper;
import com.makeit.service.platform.auth.PlatOrgService;
import com.makeit.service.platform.elder.PlatElderChildrenInfoService;
import com.makeit.service.platform.elder.PlatElderService;
import com.makeit.utils.data.convert.BeanDtoVoUtils;
......@@ -21,6 +23,7 @@ import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.old.StringUtils;
import com.makeit.utils.sql.join.JoinUtil;
import com.makeit.utils.user.wechat.WechatUserUtil;
import com.makeit.vo.platform.device.PlatDeviceListVO;
import com.makeit.vo.platform.elder.PlatElderChildrenInfoListVO;
import com.makeit.vo.wechat.elder.PlatElderChildrenInfoWechatVO;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -44,6 +47,9 @@ public class PlatElderChildrenInfoServiceImpl extends ServiceImpl<PlatElderChild
@Autowired
private PlatElderService platElderService;
@Autowired
private PlatOrgService platOrgService;
private LambdaQueryWrapper<PlatElderChildrenInfo> lambdaQueryWrapper(PlatElderChildrenInfoQueryDTO dto) {
return new QueryWrapper<PlatElderChildrenInfo>().lambda()
.like(StringUtils.isNotBlank(dto.getName()), PlatElderChildrenInfo::getName, dto.getName())
......@@ -56,6 +62,15 @@ public class PlatElderChildrenInfoServiceImpl extends ServiceImpl<PlatElderChild
JoinUtil.joinSplit(voList, platElderService, PlatElderChildrenInfoListVO::getElderId, PlatElder::getId, (c, e) -> {
c.setElderName(StreamUtil.join(e, PlatElder::getName));
});
JoinUtil.join(voList, platOrgService, PlatElderChildrenInfoListVO::getOrgId, (d, o) -> {
d.setOrgName(o.getName());
});
JoinUtil.joinSplit(voList, platOrgService, PlatElderChildrenInfoListVO::getOrgPath, (d, o) -> {
d.setOrgName(StreamUtil.join(o, PlatOrg::getName));
});
}
@Override
......
......@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.elder.*;
import com.makeit.entity.platform.auth.PlatOrg;
import com.makeit.entity.platform.elder.PlatElder;
import com.makeit.entity.platform.elder.PlatElderHealthInfo;
import com.makeit.entity.platform.elder.PlatElderOtherInfo;
......@@ -15,13 +16,16 @@ import com.makeit.enums.CodeMessageEnum;
import com.makeit.enums.FileSuffixEnum;
import com.makeit.exception.BusinessException;
import com.makeit.mapper.platform.elder.PlatElderMapper;
import com.makeit.service.platform.auth.PlatOrgService;
import com.makeit.service.platform.elder.*;
import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.data.excel.ExcelUtil;
import com.makeit.utils.old.StringUtils;
import com.makeit.utils.sql.join.JoinUtil;
import com.makeit.utils.sys.FileUtil;
import com.makeit.vo.platform.device.PlatDeviceListVO;
import com.makeit.vo.platform.elder.PlatElderExportVO;
import com.makeit.vo.platform.elder.PlatElderListVO;
import com.makeit.vo.wechat.elder.PlatElderChildrenInfoWechatVO;
......@@ -58,6 +62,9 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
@Autowired
private PlatElderChildrenInfoService platElderChildrenInfoService;
@Autowired
private PlatOrgService platOrgService;
private LambdaQueryWrapper<PlatElder> lambdaQueryWrapper(PlatElderQueryDTO dto) {
return new QueryWrapper<PlatElder>().lambda()
.like(StringUtils.isNotBlank(dto.getName()), PlatElder::getName, dto.getName())
......@@ -78,6 +85,14 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
List<PlatElderListVO> list = BeanDtoVoUtils.listVo(voList, PlatElderListVO.class);
JoinUtil.join(list, platOrgService, PlatElderListVO::getOrgId, (d, o) -> {
d.setOrgName(o.getName());
});
JoinUtil.joinSplit(list, platOrgService, PlatElderListVO::getOrgPath, (d, o) -> {
d.setOrgName(StreamUtil.join(o, PlatOrg::getName));
});
return PageUtil.toPageVO(list, voPage);
}
......
......@@ -226,7 +226,7 @@ implements PlatTenantService {
//更新组织表
platOrgService.edit(platOrg);
saasOperationLogService.add("平台端-租户账号-编辑", dto.getId());
saasOperationLogService.add("saas端-租户账号-编辑", dto.getId());
}
......@@ -236,6 +236,7 @@ implements PlatTenantService {
platOrg.setName(platTenant.getName());
platOrg.setStatus(platTenant.getStatus());
platOrg.setId(platTenant.getId());
platOrg.setPath("");
//租户没有父级
platOrg.setParentId("1");
return platOrg;
......@@ -247,7 +248,7 @@ implements PlatTenantService {
TntUserJoinUtil.join(platUserService,Arrays.asList(userVO), PlatTenantDTOVO::getPlatUserId,(t,u)->t.setPlatUserVO(BeanDtoVoUtils.convert(u,PlatUserVO.class)) ,PlatUser::getId);
saasOperationLogService.add("平台端-租户账号-详情", id);
saasOperationLogService.add("saas端-租户账号-详情", id);
return userVO;
}
......@@ -257,7 +258,7 @@ implements PlatTenantService {
public void del(String id) {
removeById(id);
saasOperationLogService.add("平台端-租户账号-删除", id);
saasOperationLogService.add("saas端-租户账号-删除", id);
}
......@@ -282,9 +283,9 @@ implements PlatTenantService {
updateById(tntTenant);
if (CommonEnum.YES.getValue().equals(dto.getStatus())) {
saasOperationLogService.add("平台端-租户账号-启用", dto.getId());
saasOperationLogService.add("saas端-租户账号-启用", dto.getId());
} else {
saasOperationLogService.add("平台端-租户账号-禁用", dto.getId());
saasOperationLogService.add("saas端-租户账号-禁用", dto.getId());
}
}
......
......@@ -55,6 +55,9 @@ public class PlatElderChildrenInfoListVO extends BaseTenantDTO {
@ApiModelProperty(value = "组织路径")
private String orgPath;
@ApiModelProperty(value = "组织路径")
private String orgPathName;
/**
* 创建时间
*/
......
......@@ -90,6 +90,27 @@ public class PlatElderListVO extends BaseTenantDTO {
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "组织id")
private String orgId;
@ApiModelProperty(value = "组织id")
private String orgName;
@ApiModelProperty(value = "城市组织id")
private String cityOrgId;
@ApiModelProperty(value = "区组织id")
private String districtOrgId;
@ApiModelProperty(value = "街道组织id")
private String streetOrgId;
@ApiModelProperty(value = "组织路径")
private String orgPath;
@ApiModelProperty(value = "组织路径名称")
private String orgPathName;
/**
* 创建时间
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment