diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java index 46cdba5bb..b5eeb4c7e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java @@ -105,4 +105,8 @@ public class ProjectLibraryBase implements Serializable { @TableField(exist = false) private String endTime; + + /**目标市场展示名称*/ + @TableField(exist = false) + private java.lang.String targetMarketName; } 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 d031986f3..f6f29e54c 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 @@ -89,4 +89,6 @@ public interface IProjectLibraryBaseService extends IService void exportProjectDetailsStatisticsGroupByTerritoryXls(HttpServletResponse response, HttpServletRequest request, Map params); void checkData(String id, String cut); + + void disposeData(List records,String cut,boolean disposeTargetMarketFlag); } 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 783666259..583d26a56 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 @@ -1,11 +1,13 @@ package com.jero.modules.project.service.impl; +import cn.hutool.core.lang.func.Func1; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.enums.CutEnum; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.LoginUser; import com.jero.modules.cert.collect.service.IParamsManifestEOService; import com.jero.modules.enums.DictCodeEnum; @@ -17,8 +19,10 @@ import com.jero.modules.project.service.IProjectLibraryBaseService; import com.jero.modules.project.service.IProjectLibraryRoleRelEOService; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.enums.DicCodeEnum; import com.jero.modules.system.mapper.SysDictItemMapper; import com.jero.modules.system.mapper.SysUserMapper; +import com.jero.modules.system.service.ISysDictService; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.util.StringUtils; import org.apache.commons.collections4.CollectionUtils; @@ -93,6 +97,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl queryById(String id) { List records = projectLibraryBaseMapper.queryById(id); - disposeData(records); + disposeData(records,"",false); for(ProjectLibraryBase projectLibraryBase: records){ if(StringUtils.isNotBlank(projectLibraryBase.getYearName())){ projectLibraryBase.setProjectName(projectLibraryBase.getProjectName() + "-" + projectLibraryBase.getYearName()); @@ -362,7 +369,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl result = projectLibraryBaseMapper.queryPageList(page, params); List records = result.getRecords(); - disposeData(records); + disposeData(records,"",false); for(ProjectLibraryBase projectLibraryBase: records){ if(StringUtils.isNotBlank(projectLibraryBase.getYearName())){ projectLibraryBase.setProjectName(projectLibraryBase.getProjectName() + "-" + projectLibraryBase.getYearName()); @@ -371,7 +378,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl records) { + @Override + public void disposeData(List records,String cut,boolean disposeTargetMarketFlag) { + List targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); for (ProjectLibraryBase projectLibraryBase : records) { List sysUsers = new ArrayList<>(); //认证工程师多个id查询 @@ -402,6 +411,36 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl { + boolean flag = false; + for (String s : targetMarketArr) { + if (StringUtils.equals(s, targetMarket.getValue())) { + flag = true; + } + } + return flag; + }).map(DictModel::getTextEn).collect(Collectors.joining(",")); + }else { + targetMarketName = targetMarketList.stream().filter(targetMarket -> { + boolean flag = false; + for (String s : targetMarketArr) { + if (StringUtils.equals(s, targetMarket.getValue())) { + flag = true; + } + } + return flag; + }).map(DictModel::getText).collect(Collectors.joining(",")); + } + projectLibraryBase.setTargetMarketName(targetMarketName); + } + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/controller/TaskController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/controller/TaskController.java index 590fa4d09..f7384161d 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/controller/TaskController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/controller/TaskController.java @@ -1,20 +1,29 @@ package com.jero.modules.wkflow.controller; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.vo.LoginUser; +import com.jero.modules.project.entity.ProjectLawsInventoryEO; +import com.jero.modules.project.entity.ProjectLibraryBase; +import com.jero.modules.project.entity.ProjectNameInfoEO; +import com.jero.modules.project.entity.ProjectYearNameInfoEO; +import com.jero.modules.project.service.IProjectLawsInventoryEOService; +import com.jero.modules.project.service.IProjectLibraryBaseService; +import com.jero.modules.project.service.IProjectNameInfoEOService; +import com.jero.modules.project.service.IProjectYearNameInfoEOService; import com.jero.modules.wkflow.entity.BusMes; import com.jero.modules.wkflow.entity.BusProcessName; import com.jero.modules.wkflow.entity.BusProcessNew; import com.jero.modules.wkflow.entity.TaskCommonQuery; +import com.jero.modules.wkflow.enums.FlowTypeEnum; import com.jero.modules.wkflow.feginClient.impl.TaskFeignClientImpl; import com.jero.modules.wkflow.page.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import me.zhyd.oauth.utils.StringUtils; +import org.apache.commons.collections4.CollectionUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -22,6 +31,7 @@ import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Slf4j @Api(tags="待办任务") @@ -31,6 +41,14 @@ public class TaskController { @Autowired private TaskFeignClientImpl taskFeignClient; + @Autowired + private IProjectLawsInventoryEOService projectLawsInventoryEOService; + @Autowired + private IProjectLibraryBaseService projectLibraryBaseService; + @Autowired + private IProjectNameInfoEOService projectNameInfoEOService; + @Autowired + private IProjectYearNameInfoEOService projectYearNameInfoEOService; /** * 通用接口 @@ -75,6 +93,7 @@ public class TaskController { List list1 = this.startPage(busProcessNames, taskCommonQuery.getCurrent(), taskCommonQuery.getSize()); Page pageInfo = new Page(); if(busProcessNames!=null){ + this.disposeTaskToConfirm(busProcessNames,taskCommonQuery); pageInfo.setList(list1); pageInfo.setPageNo(taskCommonQuery.getCurrent()); pageInfo.setCount(Long.valueOf(busProcessNames.size())); @@ -89,6 +108,73 @@ public class TaskController { return pageInfo; } + /** + * 处理任务确认流程回显数据 + * @param busProcessNames + */ + public void disposeTaskToConfirm(List busProcessNames,TaskCommonQuery taskCommonQuery){ + List projectLawsInventoryIdList = busProcessNames.stream().filter(busProcessName -> { + boolean flag = false; + if(org.apache.commons.lang3.StringUtils.equals(busProcessName.getPrcType(), FlowTypeEnum.RWQRLC.getValue())){ + flag = true; + } + return flag; + }).map(BusProcessName::getProjectLawsInventoryId).distinct().collect(Collectors.toList()); + List projectLibraryBaseList = new ArrayList<>(); + List projectLawsInventoryEOList = new ArrayList<>(); + + if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){ + QueryWrapper lawsInventoryQueryWrap = new QueryWrapper<>(); + lawsInventoryQueryWrap.lambda().in(ProjectLawsInventoryEO::getId,projectLawsInventoryIdList); + projectLawsInventoryEOList = this.projectLawsInventoryEOService.list(lawsInventoryQueryWrap); + + List projectLibraryIdList = projectLawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getProjectLibraryId).distinct().collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(projectLibraryIdList)){ + QueryWrapper libraryBaseQueryWrap = new QueryWrapper<>(); + libraryBaseQueryWrap.lambda().in(ProjectLibraryBase::getId,projectLibraryIdList); + projectLibraryBaseList = this.projectLibraryBaseService.list(libraryBaseQueryWrap); + this.projectLibraryBaseService.disposeData(projectLibraryBaseList,taskCommonQuery.getCut(),true); + } + for (BusProcessName busProcessName : busProcessNames) { + if(org.apache.commons.lang3.StringUtils.equals(busProcessName.getPrcType(),FlowTypeEnum.RWQRLC.getValue())){ + if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){ + List projectLawsInventoryS = projectLawsInventoryEOList.stream().filter(lawsInventory -> { + boolean flag = false; + if(org.apache.commons.lang3.StringUtils.equals(busProcessName.getProjectLawsInventoryId(),lawsInventory.getId())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(projectLawsInventoryS) && CollectionUtils.isNotEmpty(projectLibraryBaseList)){ + ProjectLawsInventoryEO projectLawsInventoryEO = projectLawsInventoryS.get(0); + busProcessName.setSerialNumber(projectLawsInventoryEO.getSerialNumber()); + busProcessName.setTitle(projectLawsInventoryEO.getTitle()); + + List projectLibraryBaseS = projectLibraryBaseList.stream().filter(projectLibraryBase -> { + boolean flag = false; + if (org.apache.commons.lang3.StringUtils.equals(projectLibraryBase.getId(), projectLawsInventoryEO.getProjectLibraryId())) { + flag = true; + } + return flag; + }).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(projectLibraryBaseS)){ + ProjectLibraryBase projectLibraryBase = projectLibraryBaseS.get(0); + ProjectNameInfoEO projectNameInfoEO = this.projectNameInfoEOService.getOne( + new QueryWrapper().lambda().eq(ProjectNameInfoEO::getId, projectLibraryBase.getProjectNameId()) + ); + ProjectYearNameInfoEO projectYearNameInfoEO = this.projectYearNameInfoEOService.getOne( + new QueryWrapper().lambda().eq(ProjectYearNameInfoEO::getId, projectLibraryBase.getYearNameId()) + ); + + busProcessName.setProjectName(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + "-" +projectLibraryBase.getTargetMarketName()); + } + } + } + } + } + } + } + @AutoLog(value = "查询草稿") @ApiOperation(value="查询草稿", notes="查询草稿") @PostMapping("/queryTaskDraft") diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/entity/BusProcessName.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/entity/BusProcessName.java index 29eeb524d..2b5bb65a1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/entity/BusProcessName.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/entity/BusProcessName.java @@ -74,4 +74,8 @@ public class BusProcessName implements Serializable { private String handlingTime; private String projectLawsInventoryId; + + private String serialNumber; + + private String title; }