From a829a5a0c96c150eb555962cb0c2ffc3aae18510 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Mon, 19 Dec 2022 11:27:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=AF=BC=E5=87=BA=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E7=AE=A1=E7=90=86=E5=88=97=E8=A1=A8-=E8=A1=A8?= =?UTF-8?q?=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-boot/db/蔚来标准sql/dev_2nd_period.sql | 4 + .../ParamsExportTemplateEOController.java | 109 ++++++++++++++++-- .../report/entity/ParamsExportTemplateEO.java | 5 + .../ParamsTemplateEOController.java | 2 +- 4 files changed, 110 insertions(+), 10 deletions(-) diff --git a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql index e82b5a50b..dfb5cb5a2 100644 --- a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql +++ b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql @@ -68,3 +68,7 @@ ADD COLUMN `brand` varchar(255) NULL COMMENT '品牌' AFTER `prc_num`; -- 法规意见收集表添加字段 ALTER TABLE `laws_opinion_gather` ADD COLUMN `brand` varchar(255) NULL COMMENT '品牌' AFTER `evaluator_ids`; + +-- 参数导出模板管理添加字段 2022-12-19(未同步生产库) +ALTER TABLE `params_export_template` +ADD COLUMN `region` varchar(1000) NULL COMMENT '适用地区' AFTER `file_connect_id`; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java index 259554efa..635fd989f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java @@ -9,7 +9,10 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.modules.cert.report.entity.ParamsExportTemplateEO; import com.jero.modules.cert.report.enums.ExportTemplateStateEnum; import com.jero.modules.cert.report.service.IParamsExportTemplateEOService; -import com.jero.modules.ocr.util.LineHumpUtil; +import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum; +import com.jero.modules.dummy.enums.OrderEnum; +import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.mapper.SysDictItemMapper; import com.jero.modules.system.util.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -17,14 +20,25 @@ import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.text.Collator; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.Map; +import java.util.stream.Collectors; /** @@ -40,7 +54,9 @@ import java.util.Map; public class ParamsExportTemplateEOController extends JeroController { @Autowired private IParamsExportTemplateEOService paramsExportTemplateEOService; - + @Autowired + private SysDictItemMapper sysDictItemMapper; + /** * 分页列表查询 * @@ -62,17 +78,30 @@ public class ParamsExportTemplateEOController extends JeroController queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().like(StringUtils.isNotEmpty(paramsExportTemplateEO.getTemplateName()), ParamsExportTemplateEO::getTemplateName, paramsExportTemplateEO.getTemplateName()); - queryWrapper.orderBy(StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField()), "1".equals(paramsExportTemplateEO.getOrderBy())?true:false, paramsExportTemplateEO.getOrderByField()) - .orderBy(StringUtils.isBlank(paramsExportTemplateEO.getOrderByField()), false, "create_time"); // 默认按创建时间降序 + if(StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField())){ + if("template_name".equals(paramsExportTemplateEO.getOrderByField()) + || "update_time".equals(paramsExportTemplateEO.getOrderByField())){ + queryWrapper.orderBy(org.apache.commons.lang.StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField()), + OrderEnum.POSITIVE.getValue().equals(paramsExportTemplateEO.getOrderBy())?true:false, + "convert("+paramsExportTemplateEO.getOrderByField()+" using gbk)"); + } + }else{ + queryWrapper.orderBy(StringUtils.isBlank(paramsExportTemplateEO.getOrderByField()), false, "create_time"); + } Page page = new Page(pageNo, pageSize); IPage pageList = paramsExportTemplateEOService.page(page, queryWrapper); + + //适用地区排序(特殊处理) + pageList = regionSort(paramsExportTemplateEO,pageNo,pageSize,queryWrapper,pageList); + // 处理 状态 中英文 List rows = pageList.getRecords(); Map stateMap = ExportTemplateStateEnum.toMap(cut); @@ -82,6 +111,68 @@ public class ParamsExportTemplateEOController extends JeroController regionSort(ParamsExportTemplateEO paramsExportTemplateEO, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + QueryWrapper queryWrapper, + IPage pageList) { + if(org.apache.commons.lang.StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField()) + && "region".equals(paramsExportTemplateEO.getOrderByField())){ + List regionDictItemList = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.REGION.getValue()); + List list = paramsExportTemplateEOService.list(queryWrapper); + for (ParamsExportTemplateEO paramsExportTemplateEOTemp : list) { + if(org.apache.commons.lang.StringUtils.isNotEmpty(paramsExportTemplateEOTemp.getRegion())){ + StringBuilder regionBuilder = new StringBuilder(); + for (String s : paramsExportTemplateEOTemp.getRegion().split(",")) { + String regionName = regionDictItemList.stream().filter(e -> e.getItemValue().equals(s)).map(f -> f.getItemText()).collect(Collectors.joining(",")); + regionBuilder.append(regionName).append(","); + } + paramsExportTemplateEOTemp.setRegionName(regionBuilder.substring(0, regionBuilder.toString().length() - 1)); + }else{ + paramsExportTemplateEOTemp.setRegionName(""); + } + } + Collator comparator = Collator.getInstance(Locale.CHINESE); + if (OrderEnum.POSITIVE.getValue().equals(paramsExportTemplateEO.getOrderBy())) { + Collections.sort(list, (e1, e2) -> { + return comparator.compare(e1.getRegionName(), e2.getRegionName()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(paramsExportTemplateEO.getOrderBy())) { + Collections.sort(list, (e1, e2) -> { + return comparator.compare(e2.getRegionName(), e1.getRegionName()); + }); + } + pageList = getPages(pageNo, pageSize, list); + } + return pageList; + } + public Page getPages(Integer currentPage, Integer pageSize, List list){ + Page page =new Page(); + if(list==null){ + return null; + } + int size = list.size(); + if(pageSize > size){ + pageSize = size; + } + if(pageSize!=0){ + //求出最⼤页数,防⽌currentPage越界 + int maxPage = size % pageSize ==0? size / pageSize : size / pageSize +1; + if(currentPage > maxPage){ + currentPage = maxPage; + } + } + //当前页第⼀条数据的下标 + int curIdx = currentPage >1?(currentPage -1)* pageSize :0; + List pageList =new ArrayList(); + //将当前页的数据放进pageList + for(int i =0; i < pageSize && curIdx + i < size; i++){ + pageList.add(list.get(curIdx + i)); + } + page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList); + return page; + } + /** * 列表查询 * diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java index 35e411dce..37e482426 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java @@ -91,4 +91,9 @@ public class ParamsExportTemplateEO implements Serializable { @TableField(exist = false) private String orderByField; // 字段 + //适用地区 + private String region; + @TableField(exist = false) + private String regionName; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java index 42320aa1a..13f88bac3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java @@ -117,7 +117,7 @@ public class ParamsTemplateEOController extends JeroController