@Override public boolean canDelete() throws JxException { boolean b = super.canDelete(); if (b) { JboSetIFace childDeptSet = getRelationJboSet("PUB_DEPARTMENTSUPER_DEPARTMENT_IDP"); List<JboIFace> childs = childDeptSet.getJbolist(); if (childs.isEmpty()) { JboSetIFace deptUserJboSet = getRelationJboSet("PUB_USERDEPARTMENT_IDP"); if (!deptUserJboSet.getJbolist().isEmpty()) { throw new JxException(JxLangResourcesUtil.getString("app.pubdepartment.DEL.HASUSER")); } } else { for (int i = 0; i < childs.size(); i++) { JboIFace jbo = childs.get(i); JboSetIFace deptUserJboSet = jbo.getRelationJboSet("PUB_USERDEPARTMENT_IDP"); if (!deptUserJboSet.getJbolist().isEmpty()) { getJboSet().rollback(); throw new JxException(JxLangResourcesUtil.getString("app.pubdepartment.DEL.HASUSER")); } else { jbo.delete(); } } } } return b; }