待办列表优化:待办接口-单独处理任务确认流程数据。回显编号、标题为 法规清单的编号、标题。

This commit is contained in:
wangzhijiang
2022-09-28 18:16:11 +08:00
parent 0cf53352e6
commit 4f0cf1f6c8
5 changed files with 139 additions and 3 deletions
@@ -105,4 +105,9 @@ public class ProjectLibraryBase implements Serializable {
@TableField(exist = false)
private String endTime;
/**目标市场展示名称*/
@TableField(exist = false)
private java.lang.String targetMarketName;
}
@@ -89,4 +89,6 @@ public interface IProjectLibraryBaseService extends IService<ProjectLibraryBase>
void exportProjectDetailsStatisticsGroupByTerritoryXls(HttpServletResponse response, HttpServletRequest request, Map<String, Object> params);
void checkData(String id, String cut);
void disposeData(List<ProjectLibraryBase> records,String cut,boolean disposeTargetMarketFlag);
}
@@ -6,6 +6,7 @@ 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 +18,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 +96,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
@Autowired
private IParamsManifestEOService paramsManifestEOService;
@Autowired
private ISysDictService sysDictService;
/**
* 保存
*
@@ -330,7 +336,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
@Override
public List<ProjectLibraryBase> queryById(String id) {
List<ProjectLibraryBase> 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 +368,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
IPage page = new Page(pageNo, pageSize);
IPage<ProjectLibraryBase> result = projectLibraryBaseMapper.queryPageList(page, params);
List<ProjectLibraryBase> 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 +377,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
return result;
}
public void disposeData(List<ProjectLibraryBase> records) {
@Override
public void disposeData(List<ProjectLibraryBase> records,String cut,boolean disposeTargetMarketFlag) {
List<DictModel> targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
for (ProjectLibraryBase projectLibraryBase : records) {
List<SysUser> sysUsers = new ArrayList<>();
//认证工程师多个id查询
@@ -402,6 +410,34 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
}
}
}
if(disposeTargetMarketFlag){
if(StringUtils.isNotEmpty(projectLibraryBase.getTargetMarket())){
String targetMarketName = "";
String[] targetMarketArr = projectLibraryBase.getTargetMarket().split(",");
if(StringUtils.equals(cut,CutEnum.EN.getValue())){
targetMarketName = targetMarketList.stream().filter(targetMarket -> {
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);
}
}
}
}
@@ -1,20 +1,31 @@
package com.jero.modules.wkflow.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
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 +33,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 +43,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 +95,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 +110,74 @@ public class TaskController {
return pageInfo;
}
/**
* 处理任务确认流程回显数据
* @param busProcessNames
*/
public void disposeTaskToConfirm(List<BusProcessName> busProcessNames,TaskCommonQuery taskCommonQuery){
List<String> 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<ProjectLibraryBase> projectLibraryBaseList = new ArrayList<>();
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = new ArrayList<>();
if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryQueryWrap = new QueryWrapper<>();
lawsInventoryQueryWrap.lambda().in(ProjectLawsInventoryEO::getId,projectLawsInventoryIdList);
projectLawsInventoryEOList = this.projectLawsInventoryEOService.list(lawsInventoryQueryWrap);
List<String> projectLibraryIdList = projectLawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getProjectLibraryId).distinct().collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(projectLibraryIdList)){
QueryWrapper<ProjectLibraryBase> 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<ProjectLawsInventoryEO> 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<ProjectLibraryBase> 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<ProjectNameInfoEO>().lambda().eq(ProjectNameInfoEO::getId, projectLibraryBase.getProjectNameId())
);
ProjectYearNameInfoEO projectYearNameInfoEO = this.projectYearNameInfoEOService.getOne(
new QueryWrapper<ProjectYearNameInfoEO>().lambda().eq(ProjectYearNameInfoEO::getId, projectLibraryBase.getYearNameId())
);
busProcessName.setProjectName(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + "-" +projectLibraryBase.getTargetMarketName());
}
}
}
}
}
}
}
@AutoLog(value = "查询草稿")
@ApiOperation(value="查询草稿", notes="查询草稿")
@PostMapping("/queryTaskDraft")
@@ -74,4 +74,8 @@ public class BusProcessName implements Serializable {
private String handlingTime;
private String projectLawsInventoryId;
private String serialNumber;
private String title;
}