diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialCategoryController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialCategoryController.java index 506c0f71..b4adfc2e 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialCategoryController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/MaterialCategoryController.java @@ -97,10 +97,12 @@ public class MaterialCategoryController extends BaseController { @GetMapping(value = "/checkIsNameExist") @ApiOperation(value = "检查名称是否存在") - public String checkIsNameExist(@RequestParam Long id, @RequestParam(value ="name", required = false) String name, + public String checkIsNameExist(@RequestParam Long id, + @RequestParam(value ="name", required = false) String name, + @RequestParam(value ="parentId", required = false) Long parentId, HttpServletRequest request)throws Exception { Map objectMap = new HashMap<>(); - int exist = materialCategoryService.checkIsNameExist(id, name); + int exist = materialCategoryService.checkIsNameExist(id, name, parentId); if(exist > 0) { objectMap.put("status", true); } else { diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/MaterialCategoryService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/MaterialCategoryService.java index 68c78f6d..1b457905 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/MaterialCategoryService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/MaterialCategoryService.java @@ -204,9 +204,13 @@ public class MaterialCategoryService { return result; } - public int checkIsNameExist(Long id, String name)throws Exception { + public int checkIsNameExist(Long id, String name, Long parentId)throws Exception { MaterialCategoryExample example = new MaterialCategoryExample(); - example.createCriteria().andIdNotEqualTo(id).andNameEqualTo(name).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED); + if(parentId!=null) { + example.createCriteria().andIdNotEqualTo(id).andNameEqualTo(name).andParentIdEqualTo(parentId).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED); + } else { + example.createCriteria().andIdNotEqualTo(id).andNameEqualTo(name).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED); + } List list=null; try{ list= materialCategoryMapper.selectByExample(example); diff --git a/jshERP-web/src/views/material/MaterialCategoryList.vue b/jshERP-web/src/views/material/MaterialCategoryList.vue index de17fb7f..519a85d3 100644 --- a/jshERP-web/src/views/material/MaterialCategoryList.vue +++ b/jshERP-web/src/views/material/MaterialCategoryList.vue @@ -375,6 +375,7 @@ export default { validateName(rule, value, callback){ let params = { name: value, + parentId: this.form.getFieldValue('parentId'), id: this.model.id?this.model.id:0 }; checkMaterialCategory(params).then((res)=>{ diff --git a/jshERP-web/src/views/material/modules/MaterialCategoryModal.vue b/jshERP-web/src/views/material/modules/MaterialCategoryModal.vue index 4fe711f7..796a6385 100644 --- a/jshERP-web/src/views/material/modules/MaterialCategoryModal.vue +++ b/jshERP-web/src/views/material/modules/MaterialCategoryModal.vue @@ -154,6 +154,7 @@ validateName(rule, value, callback){ let params = { name: value, + parentId: this.form.getFieldValue('parentId'), id: this.model.id?this.model.id:0 }; checkMaterialCategory(params).then((res)=>{