diff --git a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/controller/WorkTypeController.java b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/controller/WorkTypeController.java index f12cead7..f509e332 100644 --- a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/controller/WorkTypeController.java +++ b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/controller/WorkTypeController.java @@ -94,9 +94,9 @@ public class WorkTypeController extends BaseController { - @DeleteMapping("/detail") + @DeleteMapping("/{typeId}") @Log(title = "工单类型-删除工单类型", businessType = BusinessType.DELETE) - public R deleteTypeInfo(@RequestParam Integer typeId){ + public R deleteTypeInfo(@PathVariable("typeId") Integer typeId){ return R.ok(typeService.deleteTypeInfo(typeId)); } diff --git a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/domain/XhpcWorkTypeDictDomain.java b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/domain/XhpcWorkTypeDictDomain.java index c1d5cc77..b0951d4b 100644 --- a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/domain/XhpcWorkTypeDictDomain.java +++ b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/domain/XhpcWorkTypeDictDomain.java @@ -28,17 +28,17 @@ public class XhpcWorkTypeDictDomain implements Serializable { /** * 状态0-禁用,1-启用 */ - private Integer status; + private Integer status = 1; /** * 删除标识,0-正常,2-已删除 */ - private Integer delFlag; + private Integer delFlag = 0; /** * 排序 */ - private Integer sort; + private Integer sort = 0; /** * 租户ID diff --git a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/impl/WorkTypeServiceImpl.java b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/impl/WorkTypeServiceImpl.java index d197449e..f5e19bae 100644 --- a/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/impl/WorkTypeServiceImpl.java +++ b/xhpc-modules/xhpc-workorder/src/main/java/com/xhpc/workorder/service/impl/WorkTypeServiceImpl.java @@ -8,6 +8,7 @@ import com.xhpc.workorder.service.WorkTypeService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -77,8 +78,13 @@ public class WorkTypeServiceImpl implements WorkTypeService { if(StringUtils.isEmpty(domain.getName())){ throw new CustomException("名称不能为空"); } + + if(domain.getWorkTypeId().equals(domain.getParentTypeId())){ + throw new CustomException("自身不能成为自身的子集"); + } + XhpcWorkTypeDictDomain exitsDomain = typeDictMapper.selectByName(domain.getName()); - if(exitsDomain != null) { + if(exitsDomain != null && !exitsDomain.getWorkTypeId().equals(domain.getWorkTypeId())) { throw new CustomException("名称不能重复"); } return typeDictMapper.updateByPrimaryKeySelective(domain) > 0; @@ -87,6 +93,14 @@ public class WorkTypeServiceImpl implements WorkTypeService { @Override public Boolean deleteTypeInfo(Integer typeId){ + Map params = new HashMap<>(); + params.put("parentTypeId", typeId); + + List> typeList = typeDictMapper.selectMapListByParentParams(params); + if(typeList.size() > 0){ + throw new CustomException("存在类型子集,请先移除下级问题类型"); + } + return typeDictMapper.deleteByPrimaryKeyLogic(typeId) > 0; } } diff --git a/xhpc-modules/xhpc-workorder/src/main/resources/mapper/XhpcWorkTypeDictMapper.xml b/xhpc-modules/xhpc-workorder/src/main/resources/mapper/XhpcWorkTypeDictMapper.xml index 50783906..a4351808 100644 --- a/xhpc-modules/xhpc-workorder/src/main/resources/mapper/XhpcWorkTypeDictMapper.xml +++ b/xhpc-modules/xhpc-workorder/src/main/resources/mapper/XhpcWorkTypeDictMapper.xml @@ -42,7 +42,9 @@