待办中心-项目法规任务,法规评估任务,待办、已办、已发列表优化。
禅道bug修改62251
This commit is contained in:
+6
@@ -6332,6 +6332,12 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
treeDictItem(categoryList, entry, treeFieldList, cut,null);
|
||||
}
|
||||
record1.put("technology_territory_id",technology_territory);
|
||||
|
||||
if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
if(record.containsKey("title") && record.containsKey("title_en")){
|
||||
record.put("title",record.get("title_en"));
|
||||
}
|
||||
}
|
||||
}
|
||||
return infoPage;
|
||||
}
|
||||
|
||||
+6
@@ -381,6 +381,12 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
record1.put("sarFileSplitInfoList",sarFileSplitInfoList);
|
||||
}
|
||||
}
|
||||
|
||||
if(com.jero.modules.system.util.StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
if(record.containsKey("title") && record.containsKey("title_en")){
|
||||
record.put("title",record.get("title_en"));
|
||||
}
|
||||
}
|
||||
}
|
||||
return infoPage;
|
||||
}
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ public enum ProjectRoleEnum {
|
||||
PREHOMODUTY("prehomo确认-责任人","8",""),
|
||||
VERIFYINITIATOR("验证符合性确认-发起人","9",""),
|
||||
VERIFYDUTY("验证符合性确认-责任人","10",""),
|
||||
MANAGER("验证符合性确认-责任人","11",""),
|
||||
MANAGER("manage","11",""),
|
||||
ADMIN("系统管理员","12",""),
|
||||
;
|
||||
|
||||
|
||||
+8
-2
@@ -74,6 +74,7 @@ import com.jero.modules.wkflow.feginClient.impl.TaskFeignClientImpl;
|
||||
import com.jero.modules.wkflow.feginClient.impl.WorkFlowFeignClientImpl;
|
||||
import com.jero.modules.wkflow.service.IProcessHistoryEOService;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.collections4.MapUtils;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
@@ -129,6 +130,7 @@ import static com.jero.modules.document.service.impl.BussDocumentLibraryEOServic
|
||||
* @Date: 2022-04-14
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
|
||||
public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsInventoryEOMapper, ProjectLawsInventoryEO> implements IProjectLawsInventoryEOService {
|
||||
@@ -710,6 +712,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
@Override
|
||||
public List<ProjectLawsInventoryEO> queryList(ProjectLawsInventoryEO projectLawsInventoryEO, HttpServletRequest req) {
|
||||
|
||||
long startTime = System.currentTimeMillis();
|
||||
String dutyTerritoryStr = "";
|
||||
if (StringUtils.isNotEmpty(projectLawsInventoryEO.getDutyTerritory())) {
|
||||
dutyTerritoryStr = projectLawsInventoryEO.getDutyTerritory();
|
||||
@@ -749,6 +752,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
//if(isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue())){
|
||||
int isProjectRole = Integer.parseInt(projectLawsInventoryEO.getRoleCode());
|
||||
|
||||
log.info("一阶段消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
|
||||
if(isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue())
|
||||
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.MANAGER.getValue())
|
||||
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.ADMIN.getValue())){
|
||||
@@ -758,10 +763,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
});
|
||||
}
|
||||
List<ProjectLawsInventoryEO> result = super.baseMapper.selectList(projectLawsInventoryEOQueryWrapper);
|
||||
log.info("二阶段消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
dataDispose(result,currentUser,isProjectRole,projectLawsInventoryEO.getCut());
|
||||
long startTime = System.currentTimeMillis();
|
||||
log.info("三阶段消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
dataDictDispose(result,projectLawsInventoryEO.getCut());
|
||||
log.debug("处理数据字典消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
log.info("四阶段消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
+4
-62
@@ -57,22 +57,8 @@
|
||||
concat(pli.serial_number,'、',bdl.title_en) as standard_info,
|
||||
</if>
|
||||
pi.flow_type,
|
||||
createBy.username as "create_by",
|
||||
pi.create_by,
|
||||
pi.end_time,
|
||||
(
|
||||
select
|
||||
detail.task_id
|
||||
from
|
||||
process_info_detail detail
|
||||
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} order by submit_time desc limit 1
|
||||
) as task_id,
|
||||
(
|
||||
select
|
||||
detail.task_definition_key
|
||||
from
|
||||
process_info_detail detail
|
||||
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} order by submit_time desc limit 1
|
||||
) as task_definition_key,
|
||||
pi.status,
|
||||
pi.prc_num,
|
||||
pi.prc_name,
|
||||
@@ -87,7 +73,6 @@
|
||||
left join project_name_info pni on pni.id = plb.project_name_id
|
||||
left join project_year_name_info pyni on pyni.id = plb.year_name_id
|
||||
left join project_laws_inventory pli on pi.project_laws_inventory_id = pli.id
|
||||
LEFT JOIN sys_user createBy on createBy.id = pi.create_by
|
||||
LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id
|
||||
<where>
|
||||
<if test="params.queryType != 'issuedProcess'">
|
||||
@@ -141,22 +126,8 @@
|
||||
concat(pli.serial_number,'、',bdl.title_en) as standard_info,
|
||||
</if>
|
||||
pi.flow_type,
|
||||
createBy.username AS "create_by",
|
||||
pi.create_by,
|
||||
pi.end_time,
|
||||
(
|
||||
select
|
||||
detail.task_id
|
||||
from
|
||||
process_info_detail detail
|
||||
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = 'NotDone' limit 1
|
||||
) as task_id,
|
||||
(
|
||||
select
|
||||
detail.task_definition_key
|
||||
from
|
||||
process_info_detail detail
|
||||
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = 'NotDone' limit 1
|
||||
) as task_definition_key,
|
||||
pi.STATUS,
|
||||
pi.prc_num,
|
||||
pi.prc_name,
|
||||
@@ -171,7 +142,6 @@
|
||||
LEFT JOIN project_name_info pni ON pni.id = plb.project_name_id
|
||||
LEFT JOIN project_year_name_info pyni ON pyni.id = plb.year_name_id
|
||||
LEFT JOIN project_laws_inventory pli ON pi.project_laws_inventory_id = pli.id
|
||||
LEFT JOIN sys_user createBy ON createBy.id = pi.create_by
|
||||
LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id
|
||||
where
|
||||
(
|
||||
@@ -201,7 +171,7 @@
|
||||
'' as title,
|
||||
'' as title_en,
|
||||
pi.flow_type,
|
||||
createBy.username AS "create_by",
|
||||
pi.create_by,
|
||||
(
|
||||
select
|
||||
pid.end_time
|
||||
@@ -209,8 +179,6 @@
|
||||
process_info_detail pid
|
||||
where pid.process_info_id = pi.id and pid.STATUS = 'NotDone' order by pid.end_time asc limit 1
|
||||
) as end_time,
|
||||
'' as task_id,
|
||||
'' as task_definition_key,
|
||||
pi.STATUS,
|
||||
pi.prc_num,
|
||||
pi.prc_name,
|
||||
@@ -225,7 +193,6 @@
|
||||
LEFT JOIN project_name_info pni ON pni.id = plb.project_name_id
|
||||
LEFT JOIN project_year_name_info pyni ON pyni.id = plb.year_name_id
|
||||
LEFT JOIN project_laws_inventory pli ON pi.project_laws_inventory_id = pli.id
|
||||
LEFT JOIN sys_user createBy ON createBy.id = pi.create_by
|
||||
WHERE
|
||||
(
|
||||
pi.id IN (
|
||||
@@ -260,37 +227,12 @@
|
||||
pi.STATUS,
|
||||
pi.prc_num,
|
||||
pi.prc_name,
|
||||
(
|
||||
select
|
||||
detail.task_id
|
||||
from
|
||||
process_info_detail detail
|
||||
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId}
|
||||
<if test="params.taskStatus != null and params.taskStatus != ''">
|
||||
and detail.`status` = #{params.taskStatus}
|
||||
</if>
|
||||
order by detail.submit_time desc
|
||||
limit 1
|
||||
) as task_id,
|
||||
(
|
||||
select
|
||||
detail.task_definition_key
|
||||
from
|
||||
process_info_detail detail
|
||||
where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId}
|
||||
<if test="params.taskStatus != null and params.taskStatus != ''">
|
||||
and detail.`status` = #{params.taskStatus}
|
||||
</if>
|
||||
order by detail.submit_time desc
|
||||
limit 1
|
||||
) as task_definition_key,
|
||||
createBy.username AS create_by,
|
||||
pi.create_by,
|
||||
pi.acti_proc_inst_id,
|
||||
pi.create_time
|
||||
FROM
|
||||
process_info pi
|
||||
LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id
|
||||
LEFT JOIN sys_user createBy on createBy.id = pi.create_by
|
||||
<where>
|
||||
pi.flow_type IN
|
||||
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
|
||||
|
||||
+46
-7
@@ -206,7 +206,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessTodoTaskListList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
this.disposeData(result.getRecords(),cut,TaskStatusEnum.NOT_DONE.getValue());
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -226,7 +226,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessPageList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
this.disposeData(result.getRecords(),cut,"");
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessPageList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
this.disposeData(result.getRecords(),cut,"");
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -340,7 +340,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
this.disposeData(result.getRecords(),cut,TaskStatusEnum.NOT_DONE.getValue());
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -363,7 +363,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
this.disposeData(result.getRecords(),cut,TaskStatusEnum.HAVE_DONE.getValue());
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -386,7 +386,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
this.disposeData(result.getRecords(),cut,TaskStatusEnum.HAVE_DONE.getValue());
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -403,7 +403,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
* @param datas
|
||||
* @param cut
|
||||
*/
|
||||
public void disposeData(List<ProcessInfoVO> datas, String cut){
|
||||
public void disposeData(List<ProcessInfoVO> datas, String cut, String taskStatus){
|
||||
if(CollectionUtils.isNotEmpty(datas)){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date currentDate = new Date();
|
||||
@@ -557,6 +557,45 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
data.setEndTimePastDueFlag(true);
|
||||
}
|
||||
});
|
||||
|
||||
// 优化待办中心查询效率
|
||||
List<String> createByUserIdList = datas.stream().map(ProcessInfoVO::getCreateBy).distinct().collect(Collectors.toList());
|
||||
List<SysUser> createByUserList = this.sysUserService.querySysUserListByIdList(createByUserIdList);
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
datas.forEach(data -> {
|
||||
// 设置发起人的名称
|
||||
if(CollectionUtils.isNotEmpty(createByUserList) && StringUtils.isNotEmpty(data.getCreateBy())){
|
||||
String createBy = createByUserList.stream().filter(createByUser -> {
|
||||
boolean flag = false;
|
||||
if(StringUtils.equals(createByUser.getId(),data.getCreateBy())){
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(SysUser::getUsername).distinct().collect(Collectors.joining(","));
|
||||
data.setCreateBy(createBy);
|
||||
}
|
||||
|
||||
if(!StringUtils.equals(data.getFlowType(),FlowTypeEnum.QDQR.getValue())){
|
||||
// 获取当前用户所拥有的待办任务信息
|
||||
List<ProcessInfoDetailEO> currentUserProcessInfoDetailInfos = processInfoDetailEOList.stream().filter(detail -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.isNotEmpty(taskStatus)) {
|
||||
flag = (StringUtils.equals(detail.getProcessInfoId(), data.getId()) && StringUtils.equals(detail.getUserId(), currentUser.getId()) && StringUtils.equals(taskStatus, detail.getStatus()));
|
||||
} else {
|
||||
flag = (StringUtils.equals(detail.getProcessInfoId(), data.getId()) && StringUtils.equals(detail.getUserId(), currentUser.getId()));
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(currentUserProcessInfoDetailInfos)){
|
||||
// 设置taskId
|
||||
data.setTaskId(currentUserProcessInfoDetailInfos.get(0).getTaskId());
|
||||
// 设置taskDefinitionKey
|
||||
data.setTaskDefinitionKey(currentUserProcessInfoDetailInfos.get(0).getTaskDefinitionKey());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user