From 95b08d24cfbe729754d367377c8b83e27647fe95 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Mon, 31 Mar 2025 09:42:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A0=91=E8=A1=A8=E6=80=A7?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E5=B7=A6=E6=A0=91=E5=8F=B3=E8=A1=A8=E8=81=94?= =?UTF-8?q?=E5=8A=A8=E6=97=B6=EF=BC=8C=E5=87=8F=E5=B0=91=E4=B8=80=E6=AC=A1?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/cms/web/CategoryController.java | 14 +++--- .../biz/web/BizCategoryController.java | 11 +++-- .../modules/sys/web/AreaController.java | 7 ++- .../modules/sys/web/CompanyController.java | 10 +++-- .../modules/sys/web/DictDataController.java | 8 +++- .../modules/sys/web/MenuController.java | 16 +++---- .../modules/sys/web/OfficeController.java | 11 +++-- .../templates/modules/gen/crud/controller.xml | 39 ++++++++++------ .../templates/modules/gen/crud_cloud/api.xml | 2 +- .../modules/gen/crud_cloud/controller.xml | 44 +++++++++++++------ .../modules/gen/query/controller.xml | 36 +++++++++------ .../resources/views/modules/sys/menuList.html | 6 +-- .../modules/test/web/TestTreeController.java | 15 ++++--- 13 files changed, 142 insertions(+), 77 deletions(-) diff --git a/modules/cms/src/main/java/com/jeesite/modules/cms/web/CategoryController.java b/modules/cms/src/main/java/com/jeesite/modules/cms/web/CategoryController.java index e7e10b1e..360f2a0f 100644 --- a/modules/cms/src/main/java/com/jeesite/modules/cms/web/CategoryController.java +++ b/modules/cms/src/main/java/com/jeesite/modules/cms/web/CategoryController.java @@ -16,7 +16,6 @@ import com.jeesite.modules.cms.entity.Site; import com.jeesite.modules.cms.service.CategoryService; import com.jeesite.modules.cms.service.FileTempleteService; import com.jeesite.modules.cms.utils.CmsUtils; -import com.jeesite.modules.sys.entity.Office; import com.jeesite.modules.sys.utils.DictUtils; import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -29,6 +28,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.List; import java.util.Map; @@ -52,7 +52,10 @@ public class CategoryController extends BaseController { * 获取数据 */ @ModelAttribute - public Category get(String categoryCode, boolean isNewRecord) { + public Category get(String categoryCode, boolean isNewRecord, HttpServletRequest request) { + if (StringUtils.endsWith(request.getRequestURI(), "listData")) { + return new Category(); + } return categoryService.get(categoryCode, isNewRecord); } @@ -88,12 +91,13 @@ public class CategoryController extends BaseController { @ResponseBody public List listData(Category category) { if (StringUtils.isBlank(category.getParentCode())) { - category.setParentCode(Office.ROOT_CODE); + category.setParentCode(Category.ROOT_CODE); } if (StringUtils.isBlank(category.getSite().getSiteCode())) { category.setSite(new Site(Site.getCurrentSiteCode())); } - if (StringUtils.isNotBlank(category.getCategoryCode_like()) + if (StringUtils.isNotBlank(category.getCategoryCode()) + || StringUtils.isNotBlank(category.getCategoryCode_like()) || StringUtils.isNotBlank(category.getCategoryName()) || StringUtils.isNotBlank(category.getRemarks())) { category.setParentCode(null); @@ -222,7 +226,7 @@ public class CategoryController extends BaseController { public String disable(Category category) { Category where = new Category(); where.setStatus(Category.STATUS_NORMAL); - where.setParentCodes("," + category.getId() + ","); + where.setParentCodes_rightLike(category.getParentCodes() + category.getId() + ","); long count = categoryService.findCount(where); if (count > 0) { return renderResult(Global.FALSE, text("该栏目表包含未停用的子栏目表!")); diff --git a/modules/core/src/main/java/com/jeesite/modules/biz/web/BizCategoryController.java b/modules/core/src/main/java/com/jeesite/modules/biz/web/BizCategoryController.java index 3b7b5526..31be784b 100644 --- a/modules/core/src/main/java/com/jeesite/modules/biz/web/BizCategoryController.java +++ b/modules/core/src/main/java/com/jeesite/modules/biz/web/BizCategoryController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -43,7 +44,10 @@ public class BizCategoryController extends BaseController { * 获取数据 */ @ModelAttribute - public BizCategory get(String categoryCode, boolean isNewRecord) { + public BizCategory get(String categoryCode, boolean isNewRecord, HttpServletRequest request) { + if (StringUtils.endsWith(request.getRequestURI(), "listData")) { + return new BizCategory(); + } return bizCategoryService.get(categoryCode, isNewRecord); } @@ -77,7 +81,8 @@ public class BizCategoryController extends BaseController { if (StringUtils.isBlank(bizCategory.getParentCode())) { bizCategory.setParentCode(BizCategory.ROOT_CODE); } - if (StringUtils.isNotBlank(bizCategory.getViewCode()) + if (StringUtils.isNotBlank(bizCategory.getCategoryCode()) + || StringUtils.isNotBlank(bizCategory.getViewCode()) || StringUtils.isNotBlank(bizCategory.getViewCode_like()) || StringUtils.isNotBlank(bizCategory.getCategoryName()) || StringUtils.isNotBlank(bizCategory.getRemarks())){ @@ -148,7 +153,7 @@ public class BizCategoryController extends BaseController { public String disable(BizCategory bizCategory) { BizCategory where = new BizCategory(); where.setStatus(BizCategory.STATUS_NORMAL); - where.setParentCodes("," + bizCategory.getId() + ","); + where.setParentCodes_rightLike(bizCategory.getParentCodes() + bizCategory.getId() + ","); long count = bizCategoryService.findCount(where); if (count > 0) { return renderResult(Global.FALSE, text("该业务分类包含未停用的子业务分类!")); diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java index 3a2eeb14..2e3a0e72 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java @@ -49,7 +49,10 @@ public class AreaController extends BaseController { * 获取区域 */ @ModelAttribute - public Area get(String areaCode, boolean isNewRecord) { + public Area get(String areaCode, boolean isNewRecord, HttpServletRequest request) { + if (StringUtils.endsWithAny(request.getRequestURI(), "listData", "listPageData")) { + return new Area(); + } return areaService.get(areaCode, isNewRecord); } @@ -173,7 +176,7 @@ public class AreaController extends BaseController { public String disable(Area area) { Area where = new Area(); where.setStatus(Area.STATUS_NORMAL); - where.setParentCodes("," + area.getId() + ","); + where.setParentCodes_rightLike(area.getParentCodes() + area.getId() + ","); long count = areaService.findCount(where); if (count > 0) { return renderResult(Global.FALSE, text("该区域包含未停用的子区域!")); diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java index e940a0c5..e89ac470 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java @@ -54,7 +54,10 @@ public class CompanyController extends BaseController { * 获取公司 */ @ModelAttribute - public Company get(String companyCode, boolean isNewRecord) { + public Company get(String companyCode, boolean isNewRecord, HttpServletRequest request) { + if (StringUtils.endsWith(request.getRequestURI(), "listData")) { + return new Company(); + } return companyService.get(companyCode, isNewRecord); } @@ -92,7 +95,8 @@ public class CompanyController extends BaseController { if (StringUtils.isBlank(company.getParentCode())) { company.setParentCode(Company.ROOT_CODE); } - if (StringUtils.isNotBlank(company.getViewCode()) + if (StringUtils.isNotBlank(company.getCompanyCode()) + || StringUtils.isNotBlank(company.getViewCode()) || StringUtils.isNotBlank(company.getViewCode_like()) || StringUtils.isNotBlank(company.getCompanyName()) || StringUtils.isNotBlank(company.getFullName())){ @@ -181,7 +185,7 @@ public class CompanyController extends BaseController { public String disable(Company company) { Company where = new Company(); where.setStatus(Company.STATUS_NORMAL); - where.setParentCodes("," + company.getId() + ","); + where.setParentCodes_rightLike(company.getParentCodes() + company.getId() + ","); long count = companyService.findCount(where); if (count > 0) { return renderResult(Global.FALSE, text("该公司包含未停用的子公司!")); diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/DictDataController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/DictDataController.java index 04a9ae05..d778d38b 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/DictDataController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/DictDataController.java @@ -31,6 +31,7 @@ import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; + /** * 字典管理Controller * @author ThinkGem @@ -51,7 +52,10 @@ public class DictDataController extends BaseController { * 获取数据 */ @ModelAttribute - public DictData get(String dictCode, boolean isNewRecord) { + public DictData get(String dictCode, boolean isNewRecord, HttpServletRequest request) { + if (StringUtils.endsWith(request.getRequestURI(), "listData")) { + return new DictData(); + } return dictDataService.get(dictCode, isNewRecord); } @@ -185,7 +189,7 @@ public class DictDataController extends BaseController { } // DictData where = new DictData(); // where.setStatus(DictData.STATUS_NORMAL); -// where.setParentCodes("," + dictData.getId() + ","); +// where.setParentCodes_rightLike(dictData.getParentCodes() + dictData.getId() + ","); // long count = dictDataService.findCount(where); // if (count > 0) { // return renderResult(Global.FALSE, text("该字典包含未停用的子字典!")); diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/MenuController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/MenuController.java index 5eeea310..0f7af187 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/MenuController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/MenuController.java @@ -48,7 +48,10 @@ public class MenuController extends BaseController { private ModuleService moduleService; @ModelAttribute - public Menu get(String menuCode, boolean isNewRecord) { + public Menu get(String menuCode, boolean isNewRecord, HttpServletRequest request) { + if (StringUtils.endsWith(request.getRequestURI(), "listData")) { + return new Menu(); + } return menuService.get(menuCode, isNewRecord); } @@ -79,13 +82,10 @@ public class MenuController extends BaseController { if (StringUtils.isBlank(menu.getParentCode())) { menu.setParentCode(Menu.ROOT_CODE); } - if (StringUtils.isNotBlank(menu.getMenuNameRaw())){ - menu.setParentCode(null); - } - if (StringUtils.isNotBlank(menu.getMenuHref())){ - menu.setParentCode(null); - } - if (StringUtils.isNotBlank(menu.getPermission())){ + if (StringUtils.isNotBlank(menu.getMenuCode()) + || StringUtils.isNotBlank(menu.getMenuNameRaw()) + || StringUtils.isNotBlank(menu.getMenuHref()) + || StringUtils.isNotBlank(menu.getPermission())){ menu.setParentCode(null); } List list = menuService.findList(menu); diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java index b2344c40..666c8f50 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java @@ -31,6 +31,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -57,7 +58,10 @@ public class OfficeController extends BaseController { * 获取机构 */ @ModelAttribute - public Office get(String officeCode, boolean isNewRecord) { + public Office get(String officeCode, boolean isNewRecord, HttpServletRequest request) { + if (StringUtils.endsWith(request.getRequestURI(), "listData")) { + return new Office(); + } return officeService.get(officeCode, isNewRecord); } @@ -95,7 +99,8 @@ public class OfficeController extends BaseController { if (StringUtils.isBlank(office.getParentCode())){ office.setParentCode(Office.ROOT_CODE); } - if (StringUtils.isNotBlank(office.getViewCode()) + if (StringUtils.isNotBlank(office.getOfficeCode()) + || StringUtils.isNotBlank(office.getViewCode()) || StringUtils.isNotBlank(office.getViewCode_like()) || StringUtils.isNotBlank(office.getOfficeName()) || StringUtils.isNotBlank(office.getFullName()) @@ -235,7 +240,7 @@ public class OfficeController extends BaseController { public String disable(Office office) { Office where = new Office(); where.setStatus(Office.STATUS_NORMAL); - where.setParentCodes("," + office.getId() + ","); + where.setParentCodes_rightLike(office.getParentCodes() + office.getId() + ","); long count = officeService.findCount(where); if (count > 0) { return renderResult(Global.FALSE, text("该机构包含未停用的子机构!")); diff --git a/modules/core/src/main/resources/templates/modules/gen/crud/controller.xml b/modules/core/src/main/resources/templates/modules/gen/crud/controller.xml index 5bd6f0e9..7e6a7b70 100644 --- a/modules/core/src/main/resources/templates/modules/gen/crud/controller.xml +++ b/modules/core/src/main/resources/templates/modules/gen/crud/controller.xml @@ -11,9 +11,11 @@ package ${packageName}.${moduleName}.web${isNotEmpty(subModuleName)?'.'+subModul <% if (table.isTreeEntity){ %> import java.util.Map; <% } %> +<% if (table.isTreeEntity || toBoolean(table.optionMap['isImportExport'])){ %> import java.util.List; -<% if (!table.isTreeEntity || toBoolean(table.optionMap['isImportExport'])){ %> +<% } %> import javax.servlet.http.HttpServletRequest; +<% if (!table.isTreeEntity || toBoolean(table.optionMap['isImportExport'])){ %> import javax.servlet.http.HttpServletResponse; <% } %> @@ -71,7 +73,12 @@ public class ${ClassName}Controller extends BaseController { * 获取数据 */ @ModelAttribute - public ${ClassName} get(<% for(pk in table.pkList){ %>${pkLP.index!=1?', ':''}${pk.simpleAttrType} ${pk.simpleAttrName}<% } %>, boolean isNewRecord) { + public ${ClassName} get(<% for(pk in table.pkList){ %>${pkLP.index!=1?', ':''}${pk.simpleAttrType} ${pk.simpleAttrName}<% } %>, boolean isNewRecord<% if (table.isTreeEntity){ %>, HttpServletRequest request<% } %>) { + <% if (table.isTreeEntity){ %> + if (StringUtils.endsWith(request.getRequestURI(), "listData")) { + return new ${ClassName}(); + } + <% } %> <% if (table.pkList.~size == 1){ %> return ${className}Service.get(<% for(pk in table.pkList){ %>${pkLP.index!=1?', ':''}${pk.simpleAttrName}<% } %>, isNewRecord); <% }else{ %> @@ -117,19 +124,23 @@ public class ${ClassName}Controller extends BaseController { if (StringUtils.isBlank(${className}.getParentCode())) { ${className}.setParentCode(${ClassName}.ROOT_CODE); } - <% for(c in table.columnList){ %> - <% if(c.isQuery == "1" && !c.isTreeEntityColumn && c.attrName != 'status'){ %> - <% if(c.attrType == 'String'){ %> - if (StringUtils.isNotBlank(${className}.${c.attrNameForGetMethod})){ + <% var where = { + for(c in table.columnList){ + if(c.isPk == "1" || (c.isQuery == "1" && !c.isTreeEntityColumn && c.attrName != 'status')){ + if(c.attrType == 'String'){ %> + || StringUtils.isNotBlank(${className}.${c.attrNameForGetMethod}) + <% }else{ %> + || ${className}.${c.attrNameForGetMethod} != null + <% } + } + } + }; + where = @StringUtils.trim(@ObjectUtils.toString(where)); + if (isNotBlank(where)){ %> + if (${@StringUtils.substring(where, 3)}){ ${className}.setParentCode(null); } - <% }else{ %> - if (${className}.${c.attrNameForGetMethod} != null){ - ${className}.setParentCode(null); - } - <% } %> - <% } %> - <% } %> + <% } %> List<${ClassName}> list = ${className}Service.findList(${className}); return list; } @@ -268,7 +279,7 @@ public class ${ClassName}Controller extends BaseController { <% if(table.isTreeEntity){ %> ${ClassName} where = new ${ClassName}(); where.setStatus(${ClassName}.STATUS_NORMAL); - where.setParentCodes("," + ${className}.getId() + ","); + where.setParentCodes_rightLike(${className}.getParentCodes() + ${className}.getId() + ","); long count = ${className}Service.findCount(where); if (count > 0) { return renderResult(Global.FALSE, text("该${functionNameSimple}包含未停用的子${functionNameSimple}!")); diff --git a/modules/core/src/main/resources/templates/modules/gen/crud_cloud/api.xml b/modules/core/src/main/resources/templates/modules/gen/crud_cloud/api.xml index e6a974df..954b2f2b 100644 --- a/modules/core/src/main/resources/templates/modules/gen/crud_cloud/api.xml +++ b/modules/core/src/main/resources/templates/modules/gen/crud_cloud/api.xml @@ -2,7 +2,7 @@