feat:工单类型不分页查询
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
dev_ljl 2025-08-06 14:00:01 +08:00
parent c78d90a316
commit 2b19146c70
4 changed files with 37 additions and 7 deletions

View File

@ -65,7 +65,7 @@ public class ServiceWorkOrdersTypeController extends BaseController {
@SaCheckPermission("system:workOrdersType:query")
@GetMapping("/{id}")
public R<ServiceWorkOrdersTypeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@PathVariable("id") Long id) {
return R.ok(serviceWorkOrdersTypeService.queryById(id));
}
@ -110,6 +110,18 @@ public class ServiceWorkOrdersTypeController extends BaseController {
@SaCheckPermission("system:workOrdersType:list")
@GetMapping("/typeTree")
public R<List<ServiceWorkOrdersTypeVo>> typeTree() {
return R.ok(serviceWorkOrdersTypeService.typeTree()) ;
return R.ok(serviceWorkOrdersTypeService.typeTree());
}
/**
* 工单类型不分页查询
*
* @param bo 工单类型
* @return 工单类型列表
*/
@SaCheckPermission("system:workOrdersType:list")
@GetMapping("/queryList")
public R<List<ServiceWorkOrdersTypeVo>> queryList(ServiceWorkOrdersTypeBo bo) {
return R.ok(serviceWorkOrdersTypeService.queryList(bo));
}
}

View File

@ -65,6 +65,7 @@ public class ServiceWorkOrdersType extends TenantEntity {
/**
*上级类型id
*/
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private Long parentId;
}

View File

@ -65,4 +65,11 @@ public class ServiceWorkOrdersTypeBo extends BaseEntity {
*/
private Long parentId;
/**
* 是否过滤子级
*/
private Boolean filterSubNodes;
private Long excludeId;
}

View File

@ -1,6 +1,8 @@
package org.dromara.property.service.impl;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -43,7 +45,7 @@ public class ServiceWorkOrdersTypeServiceImpl implements IServiceWorkOrdersTypeS
* @return 工单类型
*/
@Override
public ServiceWorkOrdersTypeVo queryById(Long id){
public ServiceWorkOrdersTypeVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@ -81,6 +83,8 @@ public class ServiceWorkOrdersTypeServiceImpl implements IServiceWorkOrdersTypeS
lqw.like(StringUtils.isNotBlank(bo.getOrderTypeName()), ServiceWorkOrdersType::getOrderTypeName, bo.getOrderTypeName());
lqw.eq(StringUtils.isNotBlank(bo.getOperationMode()), ServiceWorkOrdersType::getOperationMode, bo.getOperationMode());
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), ServiceWorkOrdersType::getSearchValue, bo.getSearchValue());
lqw.isNull(bo.getFilterSubNodes() != null && bo.getFilterSubNodes(), ServiceWorkOrdersType::getParentId);
lqw.ne(bo.getExcludeId()!=null,ServiceWorkOrdersType::getId,bo.getExcludeId());
return lqw;
}
@ -120,7 +124,7 @@ public class ServiceWorkOrdersTypeServiceImpl implements IServiceWorkOrdersTypeS
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(ServiceWorkOrdersType entity){
private void validEntityBeforeSave(ServiceWorkOrdersType entity) {
//TODO 做一些数据校验,如唯一约束
}
@ -134,7 +138,11 @@ public class ServiceWorkOrdersTypeServiceImpl implements IServiceWorkOrdersTypeS
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
if (isValid) {
Long count = baseMapper.selectCount(new LambdaQueryWrapper<ServiceWorkOrdersType>().in(ServiceWorkOrdersType::getParentId, ids));
if (count > 0) {
throw new ServiceException("当前工单类型下存在子级类型,无法直接删除。");
}
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
@ -142,18 +150,20 @@ public class ServiceWorkOrdersTypeServiceImpl implements IServiceWorkOrdersTypeS
/**
* 查询工单类型树结构
*
* @return 工单类型树结构
*/
@Override
public List<ServiceWorkOrdersTypeVo> typeTree() {
List<ServiceWorkOrdersTypeVo> list = baseMapper.selectVoList();
return buildTree(list,null);
return buildTree(list, null);
}
/**
* 递归构建树结构
* @param types 所有类型列表
*
* @param types 所有类型列表
* @param parentId 父节点id
* @return 树结构列表
*/