From 889b1c786b389d50a36d3e97aff6601872e00f2a Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 19 Sep 2023 14:51:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=B9=B3=E5=8F=B0=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLibraryBaseController.java | 13 +++ .../entity/ProjectLawsInventoryEO.java | 5 +- .../service/IProjectLibraryBaseService.java | 7 ++ .../impl/ProjectLibraryBaseServiceImpl.java | 82 +++++++++++++++++++ 4 files changed, 105 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java index c6ad6bd3b..2ecf13b82 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java @@ -62,6 +62,19 @@ public class ProjectLibraryBaseController extends JeroController listPlatform(@RequestBody Map params) { + List> mapList = projectLibraryBaseService.listPlatform(params); + return Result.OK(params.get("cut").toString(),mapList); + } + /** * 列表查询 * diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java index bec053579..34c78aec1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java @@ -1,12 +1,10 @@ package com.jero.modules.project.entity; -import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; -import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -538,4 +536,7 @@ public class ProjectLawsInventoryEO implements Serializable { /**一级责任领域**/ @TableField(exist = false) private String firstLevelDutyTerritory; + + @TableField(exist = false) + private String projectName;//项目名称 } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java index 1582dcb0c..26a2b99dc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java @@ -85,6 +85,13 @@ public interface IProjectLibraryBaseService extends IService * @return */ List queryPageList(Map params); + + /** + * 法规清单关联平台件 + * @param params + * @return + */ + List> listPlatform(Map params); // IPage queryPageList(Map params); /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 33539db73..1a57078db 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -1261,6 +1261,88 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl> listPlatform(Map params) { + String cut = (String) params.get("cut");//法规清单id + String ids = (String) params.get("ids");//法规清单id + String projectLibraryIds = (String) params.get("projectLibraryIds");//平台件项目id + + //法规清单数据 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(ProjectLawsInventoryEO::getId,Arrays.asList(ids.split(","))); + List lawsInventoryEOList = projectLawsInventoryEOService.list(wrapper); + + //平台件项目对应的法规清单数据 + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.in(ProjectLawsInventoryEO::getProjectLibraryId,Arrays.asList(projectLibraryIds.split(","))); + List lawsInventoryEOS = projectLawsInventoryEOService.list(wrapper1); + + //平台件项目信息 + List projectLibraryBaseList = new ArrayList<>(); + if(!lawsInventoryEOList.isEmpty()){ + List projectIdList = lawsInventoryEOS.stream().map(ProjectLawsInventoryEO::getProjectLibraryId).distinct().collect(Collectors.toList()); + LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.in(ProjectLibraryBase::getId,projectIdList); + projectLibraryBaseList = this.list(wrapper2); + } + + //普通数据字典 + List sysDictItemList = sysDictItemMapper.selectItemsByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue()); + List> mapList = new ArrayList<>(); + for (ProjectLawsInventoryEO projectLawsInventoryEO : lawsInventoryEOList) { + Map map = new HashMap<>(); + List projectLawsInventoryEOS = new ArrayList<>(); + //serialNumber dutyTerritory + String serialNumber = projectLawsInventoryEO.getSerialNumber(); + String dutyTerritory = projectLawsInventoryEO.getDutyTerritory(); + + //责任领域 + List list = new LinkedList<>(); + if(StringUtils.isNotBlank(dutyTerritory)){ + for (String s : dutyTerritory.split(",")) { + List collect = sysDictItemList.stream().filter(e -> e.getItemValue().equals(s)).collect(Collectors.toList()); + if(CutEnum.CN.getValue().equals(cut) && !collect.isEmpty()){ + list.add(collect.get(0).getItemText()); + }else if(CutEnum.EN.getValue().equals(cut) && !collect.isEmpty()){ + list.add(collect.get(0).getEnName()); + } + } + } + String dutyTerritoryNew = ""; + if(!list.isEmpty()){ + dutyTerritoryNew = StringUtils.join(list, ","); + } + + for (ProjectLawsInventoryEO lawsInventoryEO : lawsInventoryEOS) { + String serialNumberTemp = lawsInventoryEO.getSerialNumber(); + String dutyTerritoryTemp = lawsInventoryEO.getDutyTerritory(); + if(serialNumber.equals(serialNumberTemp) && StringUtils.isNotBlank(dutyTerritory) && dutyTerritory.equals(dutyTerritoryTemp)){ + List projectLibraryBases = projectLibraryBaseList.stream().filter(e -> e.getId().equals(lawsInventoryEO.getProjectLibraryId())).collect(Collectors.toList()); + if(!projectLibraryBases.isEmpty()){ + lawsInventoryEO.setProjectName(projectLibraryBases.get(0).getProjectNameId()); + } + if(!list.isEmpty()){ + lawsInventoryEO.setDutyTerritory_dictText(dutyTerritoryNew); + } + projectLawsInventoryEOS.add(lawsInventoryEO); + } + } + + if(!projectLawsInventoryEOS.isEmpty()){ + map.put("title",serialNumber+" "+dutyTerritoryNew+"在平台件项目中包含多条匹配内容,请选择关联"); + map.put("result",projectLawsInventoryEOS); + mapList.add(map); + } + } + + + return mapList; + } private void hearSort(Map params, List resultLast) { if(ObjectUtils.isNotEmpty(params.get("orderByField"))){