diff --git a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql
index 81f7c30aa..07bd60c80 100644
--- a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql
+++ b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql
@@ -127,6 +127,10 @@ 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`;
+
-- 参数收集清单-操作记录(历史日志) 2022-12-26 未同步生产环境
CREATE TABLE `laws_weilai`.`params_collect_manifest_log` (
`id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java
index 255863335..f8327a592 100644
--- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java
+++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java
@@ -16,6 +16,7 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.SqlInjectionUtil;
import com.jero.common.util.oConvertUtils;
+import com.jero.modules.enums.DictCodeEnum;
import com.jero.modules.enums.FixedFieldEnum;
import com.jero.modules.enums.IsTagDict;
import com.jero.modules.system.entity.SysDict;
@@ -23,8 +24,10 @@ import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.model.SysDictTree;
import com.jero.modules.system.model.TreeSelectModel;
+import com.jero.modules.system.service.IProjectUserBrandService;
import com.jero.modules.system.service.ISysDictItemService;
import com.jero.modules.system.service.ISysDictService;
+import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.vo.SysDictPage;
import com.jero.modules.utils.HanYuPinYinUtil;
import io.swagger.annotations.Api;
@@ -53,6 +56,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
+import java.util.stream.Collectors;
/**
*
@@ -74,6 +78,10 @@ public class SysDictController {
private ISysDictItemService sysDictItemService;
@Autowired
public RedisTemplate redisTemplate;
+ @Autowired
+ private ISysUserService sysUserService;
+ @Autowired
+ private IProjectUserBrandService projectUserBrandService;
@RequestMapping(value = "/page", method = RequestMethod.GET)
@ApiOperation(value = "字典控制器-分页列表查询", notes = "字典控制器-分页列表查询")
@@ -757,4 +765,17 @@ public class SysDictController {
}
}
+ @ApiOperation(value = "查询出当前用户可配置品牌")
+ @GetMapping(value = "/getBrandDict")
+ public Result> getBrandDict() {
+ List dictModels = sysDictService.queryDictItemsByCode(DictCodeEnum.BRAND.getValue());
+ if (!sysUserService.isAdministrator()) {
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ List brands = projectUserBrandService.queryBrandByUserId(sysUser.getId());
+ dictModels = dictModels.stream().filter(dictModel -> brands.contains(dictModel.getValue())).collect(Collectors.toList());
+ }
+ return Result.OK(dictModels);
+ }
+
+
}
diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java
index b061f8eb5..0dc1ac2bd 100644
--- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java
+++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java
@@ -11,11 +11,9 @@ import com.jero.common.constant.CommonConstant;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.oConvertUtils;
import com.jero.modules.system.entity.*;
+import com.jero.modules.system.enums.AdmininstratorAuthRoleEnum;
import com.jero.modules.system.model.TreeModel;
-import com.jero.modules.system.service.ISysPermissionDataRuleService;
-import com.jero.modules.system.service.ISysPermissionService;
-import com.jero.modules.system.service.ISysRolePermissionService;
-import com.jero.modules.system.service.ISysRoleService;
+import com.jero.modules.system.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -36,6 +34,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
+import java.util.stream.Collectors;
/**
*
@@ -62,6 +61,9 @@ public class SysRoleController {
@Autowired
private ISysPermissionService sysPermissionService;
+ @Autowired
+ private ISysUserService sysUserService;
+
/**
* 分页列表查询
* @param role
@@ -187,6 +189,11 @@ public class SysRoleController {
public Result> queryall() {
Result> result = new Result<>();
List list = sysRoleService.list();
+ //系统管理员才能授权的角色
+ if (!sysUserService.isAdministrator()) {
+ List roleCodes = AdmininstratorAuthRoleEnum.getRoleCodes();
+ list = list.stream().filter(sysRole -> !roleCodes.contains(sysRole.getRoleCode())).collect(Collectors.toList());
+ }
if(list==null||list.size()<=0) {
result.error500("未找到角色信息");
}else {
diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/AdmininstratorAuthRoleEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/AdmininstratorAuthRoleEnum.java
new file mode 100644
index 000000000..ac94c8e78
--- /dev/null
+++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/AdmininstratorAuthRoleEnum.java
@@ -0,0 +1,36 @@
+package com.jero.modules.system.enums;
+
+import com.jero.common.util.oConvertUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public enum AdmininstratorAuthRoleEnum {
+
+ admin("admin","系统管理员"),
+ //brand_administrator("BrandAdministrator","品牌管理员"),
+ external_reports_manager("ExternalReportsManager","对外报告管理员"),
+ country_card_manage("countryCardManage","countryCard管理员");
+
+ String roleCode;
+ String roleName;
+
+ AdmininstratorAuthRoleEnum() {
+ }
+
+ AdmininstratorAuthRoleEnum(String roleCode, String roleName) {
+ this.roleCode = roleCode;
+ this.roleName = roleName;
+ }
+ public static List getRoleCodes(){
+ List list = new ArrayList<>();
+ for (AdmininstratorAuthRoleEnum val : AdmininstratorAuthRoleEnum.values()) {
+ list.add(val.roleCode);
+ }
+ return list;
+ }
+
+
+}
+
+
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java
index 8b69c75d7..be60202e5 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java
@@ -109,6 +109,14 @@ public class ParamsManifestEO implements Serializable {
@ApiModelProperty(value = "说明")
private String explanation;
+ //排序字段
+ @TableField(exist = false)
+ private String orderByField;
+
+ //排序规则
+ @TableField(exist = false)
+ private String orderBy;
+
@ApiModelProperty(value = "项目相关版本对应的项目id")
private String projectVersionId;
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml
index 9b618d292..223479319 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml
@@ -73,7 +73,44 @@
from params_manifest pm left join params_template pt on pm.params_template_id = pt.id
) tmp_tb
- order by create_time desc
+
+ order by CONVERT( tmp_tb.create_time USING gbk) COLLATE gbk_chinese_ci
+
+
+ order by CONVERT( tmp_tb.create_by USING gbk) COLLATE gbk_chinese_ci
+
+
+ order by CONVERT( tmp_tb.version USING gbk) COLLATE gbk_chinese_ci
+
+
+ order by CONVERT( tmp_tb.finish_time USING gbk) COLLATE gbk_chinese_ci
+
+
+ order by CONVERT( tmp_tb.project_version USING gbk) COLLATE gbk_chinese_ci
+
+
+ order by CONVERT( tmp_tb.params_template_name USING gbk) COLLATE gbk_chinese_ci
+
+
+ order by CONVERT( tmp_tb.state USING gbk) COLLATE gbk_chinese_ci
+
+
+ order by CONVERT( tmp_tb.title USING gbk) COLLATE gbk_chinese_ci
+
+
+ asc
+
+
+ desc
+
+
+ order by tmp_tb.create_time desc
+
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java
index 1ece7352d..25152045a 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java
@@ -379,6 +379,9 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>();
if(StringUtils.isNotBlank(paramsExportTemplateEO.getRegion())){
queryWrapper.in("region",paramsExportTemplateEO.getRegion());
}
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);
@@ -99,6 +126,69 @@ 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;
+ }
+
+ /**
private String getRegion(ParamsExportTemplateEO paramsExportTemplateEO, List regionList, ParamsExportTemplateEO exportTemplateEO) {
//适用地区
List dictModelList = new ArrayList<>();
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java
index e1962639d..ba63518c4 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java
@@ -4,27 +4,46 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
+import com.jero.common.constant.enums.CutEnum;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.cert.report.entity.ParamsReportConfigEO;
+import com.jero.common.system.vo.DictModel;
import com.jero.modules.cert.report.entity.ParamsReportEO;
import com.jero.modules.cert.report.entity.ParamsReportExportHistoryEO;
import com.jero.modules.cert.report.service.IParamsReportConfigEOService;
import com.jero.modules.cert.report.service.IParamsReportEOService;
import com.jero.modules.cert.report.service.IParamsReportExportHistoryEOService;
+import com.jero.modules.dummy.enums.OrderEnum;
+import com.jero.modules.system.enums.DicCodeEnum;
+import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.util.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
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.util.*;
import java.util.stream.Collectors;
+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.stream.Collectors;
/**
@@ -46,7 +65,11 @@ public class ParamsReportEOController extends JeroController rows = pageList.getRecords();
- for (ParamsReportEO row : rows) {
- row.setPageName(row.getProjectName() + "-" + row.getTargetMarket() + "-" + row.getTitle());
+// IPage page = new Page(pageNo, pageSize);
+// IPage pageList = paramsReportEOService.pageInfo(page, paramsReportEO);
+// List rows = pageList.getRecords();
+// for (ParamsReportEO row : rows) {
+// row.setPageName(row.getProjectName() + "-" + row.getTargetMarket() + "-" + row.getTitle());
+// }
+ //目标市场
+ List targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
+ List paramsReportEOS = paramsReportEOService.listInfo(paramsReportEO);
+ for (ParamsReportEO row : paramsReportEOS) {
+ String market = getMarket(paramsReportEO, targetMarketList, row);
+ if(StringUtils.isNotBlank(row.getProjectName())){
+ if(StringUtils.isBlank(market)){
+ row.setProjectName(row.getProjectName()+ "-00");
+ }else{
+ row.setProjectName(row.getProjectName()+"-" +market+ "-00");
+ }
+ row.setPageName(row.getProjectName());
+ }
}
+ String orderBy = paramsReportEO.getOrderBy();
+ String orderByField = paramsReportEO.getOrderByField();
+ if(ObjectUtils.isNotEmpty(orderByField)) {
+ Collator comparator = Collator.getInstance(Locale.CHINESE);
+ //项目名称 pageName
+ if ("pageName".equals(orderByField)) {
+ if (OrderEnum.POSITIVE.getValue().equals(orderBy)) {
+ Collections.sort(paramsReportEOS, (e1, e2) -> {
+ return comparator.compare(e1.getPageName(), e2.getPageName());
+ });
+ } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) {
+ Collections.sort(paramsReportEOS, (e1, e2) -> {
+ return comparator.compare(e2.getPageName(), e1.getPageName());
+ });
+ }
+ }
+ }
+ IPage pageList = getPages(pageNo,pageSize,paramsReportEOS);
return Result.OK(pageList);
}
@@ -128,6 +183,59 @@ public class ParamsReportEOController extends JeroController targetMarketList, ParamsReportEO row) {
+ List dictModelList = new ArrayList<>();
+ String targetMarket = "";
+ if(StringUtils.isNotBlank(row.getTargetMarket())){
+ for (String s : row.getTargetMarket().split(",")) {
+ List dictModelListTemp = targetMarketList.stream()
+ .filter(e -> s.equals(e.getValue())).collect(Collectors.toList());
+ dictModelList.addAll(dictModelListTemp);
+ }
+ }
+ if(dictModelList.size() != 0){
+ StringBuilder sb = new StringBuilder();
+ for (DictModel dictModel : dictModelList) {
+ if(CutEnum.CN.getValue().equals(paramsReportEO)){
+ sb.append(dictModel.getText()+",");
+ }else{
+ sb.append(dictModel.getTextEn()+",");
+ }
+ }
+ if(StringUtils.isNotBlank(sb)){
+ targetMarket = sb.substring(0,sb.length()-1);
+ }
+ }
+ return targetMarket;
+ }
+
+ 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 fcce32d27..468b24d7a 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
@@ -97,4 +97,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/report/entity/ParamsReportEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java
index 0c501baac..d0fea988f 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java
@@ -81,9 +81,21 @@ public class ParamsReportEO implements Serializable {
@ApiModelProperty(value = "目标市场")
private String targetMarket;
+ @TableField(exist = false)
+ private String cut;
+
@TableField(exist = false)
private String pageName; // 项目名称-国家-清单名称
+ //排序(1->正序, 2->倒序)
+ @TableField(exist = false)
+ private String orderBy;
+
+ //排序字段
+ @TableField(exist = false)
+ private String orderByField;
+
+
@TableField(exist = false)
private List> configList;
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java
index 80e4464e3..18726f1dd 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.cert.report.entity.ParamsReportEO;
import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
/**
* @Description: 上报库
* @Author: jero-boot
@@ -14,5 +16,6 @@ import org.apache.ibatis.annotations.Param;
public interface ParamsReportEOMapper extends BaseMapper {
IPage pageInfo(@Param("page") IPage page, @Param("paramsReportEO") ParamsReportEO paramsReportEO);
+ List listInfo(@Param("paramsReportEO") ParamsReportEO paramsReportEO);
}
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml
index 164200a28..8f9924712 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml
@@ -57,5 +57,17 @@
order by create_time desc
+
-
\ No newline at end of file
+
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java
index 6c2c6bcac..5504cd064 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java
@@ -62,6 +62,7 @@ public interface IParamsReportEOService extends IService {
List queryList();
IPage pageInfo(IPage page, ParamsReportEO paramsReportEO);
+ List listInfo(ParamsReportEO paramsReportEO);
boolean isSync(String oldParamsManifestId, Integer version);
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java
index fd73ae440..85005e384 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java
@@ -138,6 +138,10 @@ public class ParamsReportEOServiceImpl extends ServiceImpl listInfo(ParamsReportEO paramsReportEO) {
+ return paramsReportEOMapper.listInfo(paramsReportEO);
+ }
@Override
public boolean isSync(String oldParamsManifestId, Integer version) {
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 d6640cb1e..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
@@ -9,7 +9,11 @@ import com.jero.common.constant.enums.CutEnum;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
import com.jero.modules.cert.template.service.IParamsTemplateEOService;
+import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum;
+import com.jero.modules.dummy.enums.OrderEnum;
import com.jero.modules.ocr.util.LineHumpUtil;
+import com.jero.modules.system.entity.SysDictItem;
+import com.jero.modules.system.mapper.SysDictItemMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -17,16 +21,28 @@ import org.apache.commons.lang.StringUtils;
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.PutMapping;
+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.stream.Collectors;
- /**
+/**
* @Description: 参数模板表
* @Author: jero-boot
* @Date: 2022-04-21
@@ -39,7 +55,9 @@ import java.util.List;
public class ParamsTemplateEOController extends JeroController {
@Autowired
private IParamsTemplateEOService paramsTemplateEOService;
-
+ @Autowired
+ private SysDictItemMapper sysDictItemMapper;
+
/**
* 分页列表查询
*
@@ -63,22 +81,87 @@ public class ParamsTemplateEOController extends JeroController queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().like(StringUtils.isNotEmpty(paramsTemplateEO.getParamsTemplateName()), ParamsTemplateEO::getParamsTemplateName, paramsTemplateEO.getParamsTemplateName())
.eq(StringUtils.isNotEmpty(paramsTemplateEO.getRegion()), ParamsTemplateEO::getRegion, paramsTemplateEO.getRegion());
-// .eq(StringUtils.isNotEmpty(paramsTemplateEO.getState()), ParamsTemplateEO::getState, paramsTemplateEO.getState())
- queryWrapper.orderBy(StringUtils.isNotBlank(paramsTemplateEO.getOrderByField()), "1".equals(paramsTemplateEO.getOrderBy())?true:false, paramsTemplateEO.getOrderByField())
- .orderBy(StringUtils.isBlank(paramsTemplateEO.getOrderByField()), false, "update_time");
-
+ if(StringUtils.isNotBlank(paramsTemplateEO.getOrderByField())){
+ if("params_template_name".equals(paramsTemplateEO.getOrderByField())
+ || "create_time".equals(paramsTemplateEO.getOrderByField())
+ || "update_time".equals(paramsTemplateEO.getOrderByField())){
+ queryWrapper.orderBy(StringUtils.isNotBlank(paramsTemplateEO.getOrderByField()),
+ OrderEnum.POSITIVE.getValue().equals(paramsTemplateEO.getOrderBy())?true:false,
+ "convert("+paramsTemplateEO.getOrderByField()+" using gbk)");
+ }
+ }else{
+ queryWrapper.orderBy(StringUtils.isBlank(paramsTemplateEO.getOrderByField()), false, "update_time");
+ }
Page page = new Page(pageNo, pageSize);
IPage pageList = paramsTemplateEOService.page(page, queryWrapper);
+
+ //适用地区排序(特殊处理)
+ pageList = regionSort(paramsTemplateEO, pageNo, pageSize, queryWrapper, pageList);
return Result.OK(cut, pageList);
}
+ private IPage regionSort(ParamsTemplateEO paramsTemplateEO, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, QueryWrapper queryWrapper, IPage pageList) {
+ if(StringUtils.isNotBlank(paramsTemplateEO.getOrderByField())
+ && "region".equals(paramsTemplateEO.getOrderByField())){
+ List regionDictItemList = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.REGION.getValue());
+ List list = paramsTemplateEOService.list(queryWrapper);
+ for (ParamsTemplateEO templateEO : list) {
+ if(StringUtils.isNotEmpty(templateEO.getRegion())){
+ StringBuilder regionBuilder = new StringBuilder();
+ for (String s : templateEO.getRegion().split(",")) {
+ String regionName = regionDictItemList.stream().filter(e -> e.getItemValue().equals(s)).map(f -> f.getItemText()).collect(Collectors.joining(","));
+ regionBuilder.append(regionName).append(",");
+ }
+ templateEO.setRegionName(regionBuilder.substring(0, regionBuilder.toString().length() - 1));
+ }else{
+ templateEO.setRegionName("");
+ }
+ }
+ Collator comparator = Collator.getInstance(Locale.CHINESE);
+ if (OrderEnum.POSITIVE.getValue().equals(paramsTemplateEO.getOrderBy())) {
+ Collections.sort(list, (e1, e2) -> {
+ return comparator.compare(e1.getRegionName(), e2.getRegionName());
+ });
+ } else if (OrderEnum.REVERSE.getValue().equals(paramsTemplateEO.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/template/entity/ParamsTemplateEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/entity/ParamsTemplateEO.java
index f0358630f..a0d633a64 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/entity/ParamsTemplateEO.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/entity/ParamsTemplateEO.java
@@ -76,6 +76,8 @@ public class ParamsTemplateEO implements Serializable {
@Dict(dicCode = "region")
@ApiModelProperty(value = "适用地区")
private java.lang.String region;
+ @TableField(exist = false)
+ private java.lang.String regionName;
/**内容说明*/
@Excel(name = "内容说明", width = 15)
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/OnlCgformCollectionMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/OnlCgformCollectionMapper.java
index c32719cb8..ff3a85cce 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/OnlCgformCollectionMapper.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/OnlCgformCollectionMapper.java
@@ -3,8 +3,8 @@ package com.jero.modules.collection.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.collection.entity.OnlCgformCollection;
+import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
-import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Map;
@@ -22,4 +22,6 @@ public interface OnlCgformCollectionMapper extends BaseMapper queryListByDocumentId(@Param("document_id") String document_id);
IPage queryPageList(IPage page,@Param("params") Map params);
+
+ List