参数导出模板管理列表-表头排序
This commit is contained in:
@@ -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`;
|
||||
|
||||
+100
-9
@@ -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<ParamsExportTemplateEO, IParamsExportTemplateEOService> {
|
||||
@Autowired
|
||||
private IParamsExportTemplateEOService paramsExportTemplateEOService;
|
||||
|
||||
@Autowired
|
||||
private SysDictItemMapper sysDictItemMapper;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
@@ -62,17 +78,30 @@ public class ParamsExportTemplateEOController extends JeroController<ParamsExpor
|
||||
paramsExportTemplateEO.setTemplateName(paramsExportTemplateEO.getTemplateName().replace("%", "\\%"));
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField())) {
|
||||
paramsExportTemplateEO.setOrderByField(LineHumpUtil.humpToLine2(paramsExportTemplateEO.getOrderByField()));
|
||||
}
|
||||
|
||||
// if (StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField())) {
|
||||
// paramsExportTemplateEO.setOrderByField(LineHumpUtil.humpToLine2(paramsExportTemplateEO.getOrderByField()));
|
||||
// }
|
||||
paramsExportTemplateEO.setOrderBy("2");
|
||||
paramsExportTemplateEO.setOrderByField("template_name");
|
||||
QueryWrapper<ParamsExportTemplateEO> 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<ParamsExportTemplateEO> page = new Page<ParamsExportTemplateEO>(pageNo, pageSize);
|
||||
IPage<ParamsExportTemplateEO> pageList = paramsExportTemplateEOService.page(page, queryWrapper);
|
||||
|
||||
//适用地区排序(特殊处理)
|
||||
pageList = regionSort(paramsExportTemplateEO,pageNo,pageSize,queryWrapper,pageList);
|
||||
|
||||
// 处理 状态 中英文
|
||||
List<ParamsExportTemplateEO> rows = pageList.getRecords();
|
||||
Map<String, String> stateMap = ExportTemplateStateEnum.toMap(cut);
|
||||
@@ -82,6 +111,68 @@ public class ParamsExportTemplateEOController extends JeroController<ParamsExpor
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
private IPage<ParamsExportTemplateEO> regionSort(ParamsExportTemplateEO paramsExportTemplateEO,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
QueryWrapper<ParamsExportTemplateEO> queryWrapper,
|
||||
IPage<ParamsExportTemplateEO> pageList) {
|
||||
if(org.apache.commons.lang.StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField())
|
||||
&& "region".equals(paramsExportTemplateEO.getOrderByField())){
|
||||
List<SysDictItem> regionDictItemList = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.REGION.getValue());
|
||||
List<ParamsExportTemplateEO> 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<ParamsExportTemplateEO> 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
|
||||
+5
@@ -91,4 +91,9 @@ public class ParamsExportTemplateEO implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String orderByField; // 字段
|
||||
|
||||
//适用地区
|
||||
private String region;
|
||||
@TableField(exist = false)
|
||||
private String regionName;
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -117,7 +117,7 @@ public class ParamsTemplateEOController extends JeroController<ParamsTemplateEO,
|
||||
}
|
||||
templateEO.setRegionName(regionBuilder.substring(0, regionBuilder.toString().length() - 1));
|
||||
}else{
|
||||
templateEO.setRegion("");
|
||||
templateEO.setRegionName("");
|
||||
}
|
||||
}
|
||||
Collator comparator = Collator.getInstance(Locale.CHINESE);
|
||||
|
||||
Reference in New Issue
Block a user