合并分支 'fix_2nd_period' 到 'master'

Fix 2nd period

查看合并请求 laws-nio/laws-weilai!250
This commit is contained in:
高嵩
2022-11-18 18:36:03 +08:00
18 changed files with 188 additions and 110 deletions
@@ -486,8 +486,8 @@ public class QueryGenerator {
} }
name = oConvertUtils.camelToUnderline(name); name = oConvertUtils.camelToUnderline(name);
log.info("--查询规则-->"+name+" "+rule.getValue()+" "+value); log.info("--查询规则-->"+name+" "+rule.getValue()+" "+value);
if(" is null ".equals(value)){ if("is null".equals(value)){
queryWrapper.isNull(name); queryWrapper.isNull(name).or().eq(name, "");
}else{ }else{
switch (rule) { switch (rule) {
case GT: case GT:
@@ -142,6 +142,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/opensso/**", "anon"); //单点登录 filterChainDefinitionMap.put("/opensso/**", "anon"); //单点登录
filterChainDefinitionMap.put("/project/projectLawsInventoryEO/processCall", "anon"); // 项目库-法规清单 工作流处理数据接口排除 filterChainDefinitionMap.put("/project/projectLawsInventoryEO/processCall", "anon"); // 项目库-法规清单 工作流处理数据接口排除
filterChainDefinitionMap.put("/project/projectLawsInventoryEO/updateFlowInfoByProjectLibraryIds", "anon"); // 项目库-法规清单 根据项目库id更新符合性流程发起人、责任人接口排除
filterChainDefinitionMap.put("/project/projectTaskInventoryEO/processCall", "anon"); // 项目库-任务清单 工作流处理数据接口排除 filterChainDefinitionMap.put("/project/projectTaskInventoryEO/processCall", "anon"); // 项目库-任务清单 工作流处理数据接口排除
filterChainDefinitionMap.put("/wkflow/processHistoryEO/processCall", "anon"); // 流程历史 工作流处理数据接口排除 filterChainDefinitionMap.put("/wkflow/processHistoryEO/processCall", "anon"); // 流程历史 工作流处理数据接口排除
filterChainDefinitionMap.put("/lawsOpinionGather/lawsOpinionGatherEO/processCall", "anon"); // 法规收集表 工作流处理数据接口排除 filterChainDefinitionMap.put("/lawsOpinionGather/lawsOpinionGatherEO/processCall", "anon"); // 法规收集表 工作流处理数据接口排除
@@ -83,7 +83,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
// 处理 状态 中英文 // 处理 状态 中英文
Map<String, String> stateMap = ManifestStateEnum.toMap(cut); Map<String, String> stateMap = ManifestStateEnum.toMap(cut);
rows.forEach(manifestEO -> { rows.forEach(manifestEO -> {
manifestEO.setProjectName(paramsManifestEOService.getProjectById(manifestEO.getProjectId()).getProjectName()); manifestEO.setProjectName(paramsManifestEOService.getProjectById(manifestEO.getProjectId(), manifestEO.getProjectVersion()).getProjectName());
manifestEO.setState(stateMap.get(manifestEO.getState())); manifestEO.setState(stateMap.get(manifestEO.getState()));
}); });
return Result.OK(cut, pageList); return Result.OK(cut, pageList);
@@ -164,7 +164,7 @@
select tmp_tb.* from( select tmp_tb.* from(
select select
plb.id as project_id, plb.id as project_id,
concat(pni.project_name,'-',pyni.year_name,'-',target_market,'-',project_version) as project_name concat(pni.project_name,'-',pyni.year_name,'-',target_market) as project_name
from project_library_base plb from project_library_base plb
left join project_name_info as pni on plb.project_name_id = pni.id left join project_name_info as pni on plb.project_name_id = pni.id
left join project_year_name_info as pyni on plb.year_name_id = pyni.id left join project_year_name_info as pyni on plb.year_name_id = pyni.id
@@ -89,7 +89,7 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
ParamsManifestEO copy(ParamsManifestEO paramsManifestEO, String sourceManifestId); ParamsManifestEO copy(ParamsManifestEO paramsManifestEO, String sourceManifestId);
ParamsManifestVO getProjectById(String projectId); ParamsManifestVO getProjectById(String projectId, String projectVersion);
List<Map<String, String>> labelListForProjectDetails(String projectId); List<Map<String, String>> labelListForProjectDetails(String projectId);
@@ -1301,7 +1301,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
//日期 //日期
String deadline = new SimpleDateFormat("yyyy-MM-dd").format(paramsCollectManifestEO.getDeadline()); String deadline = new SimpleDateFormat("yyyy-MM-dd").format(paramsCollectManifestEO.getDeadline());
//项目名称 //项目名称
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(paramsManifestEO.getProjectId()); // 获取项目信息 ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(paramsManifestEO.getProjectId(), paramsManifestEO.getProjectVersion()); // 获取项目信息
//url //url
String urlParamsStr = parseUrlParams(paramsManifestEO); String urlParamsStr = parseUrlParams(paramsManifestEO);
String hrefFeishu = backUrl + "/ParameterItemCollection" + urlParamsStr; String hrefFeishu = backUrl + "/ParameterItemCollection" + urlParamsStr;
@@ -1507,8 +1507,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId(); String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录人 LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录人
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId); // 获取项目信息
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId); // 获取清单信息 ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId); // 获取清单信息
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId, paramsManifestEO.getProjectVersion()); // 获取项目信息
paramsManifestEO.setProjectName(projectInfo.getProjectName()); paramsManifestEO.setProjectName(projectInfo.getProjectName());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -1619,8 +1619,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
Date deadline = paramsCollectManifestVO.getDeadline(); Date deadline = paramsCollectManifestVO.getDeadline();
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录人 LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录人
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId); // 获取项目信息
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId); // 获取清单信息 ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId); // 获取清单信息
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId, paramsManifestEO.getProjectVersion()); // 获取项目信息
paramsManifestEO.setProjectName(projectInfo.getProjectName()); paramsManifestEO.setProjectName(projectInfo.getProjectName());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -1751,8 +1751,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
Date deadline = paramsCollectManifestVO.getDeadline(); Date deadline = paramsCollectManifestVO.getDeadline();
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录人 LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录人
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId); // 获取项目信息
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId); // 获取清单信息 ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId); // 获取清单信息
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId, paramsManifestEO.getProjectVersion()); // 获取项目信息
paramsManifestEO.setProjectName(projectInfo.getProjectName()); paramsManifestEO.setProjectName(projectInfo.getProjectName());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -4446,7 +4446,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
List<ParamsManifestEO> manifestEOS = paramsManifestEOService.list(queryWrapper); List<ParamsManifestEO> manifestEOS = paramsManifestEOService.list(queryWrapper);
for (ParamsManifestEO manifestEO : manifestEOS) { for (ParamsManifestEO manifestEO : manifestEOS) {
//项目名称 //项目名称
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(manifestEO.getProjectId()); ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(manifestEO.getProjectId(), manifestEO.getProjectVersion());
if (ObjectUtils.isNotEmpty(projectInfo)) { if (ObjectUtils.isNotEmpty(projectInfo)) {
//url //url
String urlParamsStr = parseUrlParams(manifestEO); String urlParamsStr = parseUrlParams(manifestEO);
@@ -669,8 +669,10 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
} }
@Override @Override
public ParamsManifestVO getProjectById(String projectId) { public ParamsManifestVO getProjectById(String projectId, String projectVersion) {
return paramsManifestEOMapper.getProjectById(projectId); ParamsManifestVO paramsManifestVO = paramsManifestEOMapper.getProjectById(projectId);
paramsManifestVO.setProjectName(paramsManifestVO.getProjectName() + "-" + projectVersion); // 项目名称加上 相关项目版本
return paramsManifestVO;
} }
@Override @Override
@@ -6332,6 +6332,12 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
treeDictItem(categoryList, entry, treeFieldList, cut,null); treeDictItem(categoryList, entry, treeFieldList, cut,null);
} }
record1.put("technology_territory_id",technology_territory); 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; return infoPage;
} }
@@ -381,6 +381,12 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
record1.put("sarFileSplitInfoList",sarFileSplitInfoList); 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; return infoPage;
} }
@@ -466,4 +466,10 @@ public class ProjectLawsInventoryEOController extends JeroController<ProjectLaws
} }
@AutoLog(value = "项目库-法规清单表-根据项目库id更新符合性流程发起人、责任人接口")
@ApiOperation(value="项目库-法规清单表-根据项目库id更新符合性流程发起人、责任人接口", notes="项目库-法规清单表-根据项目库id更新符合性流程发起人、责任人接口")
@GetMapping(value = "/updateFlowInfoByProjectLibraryIds")
public Result<?> updateFlowInfoByProjectLibraryIds(@RequestParam("projectLibraryIds") String projectLibraryIds){
return this.projectLawsInventoryEOService.updateFlowInfoByProjectLibraryIds(projectLibraryIds);
}
} }
@@ -18,7 +18,7 @@ public enum ProjectRoleEnum {
PREHOMODUTY("prehomo确认-责任人","8",""), PREHOMODUTY("prehomo确认-责任人","8",""),
VERIFYINITIATOR("验证符合性确认-发起人","9",""), VERIFYINITIATOR("验证符合性确认-发起人","9",""),
VERIFYDUTY("验证符合性确认-责任人","10",""), VERIFYDUTY("验证符合性确认-责任人","10",""),
MANAGER("验证符合性确认-责任人","11",""), MANAGER("manage","11",""),
ADMIN("系统管理员","12",""), ADMIN("系统管理员","12",""),
; ;
@@ -160,4 +160,5 @@ public interface IProjectLawsInventoryEOService extends IService<ProjectLawsInve
Result<?> taskUrg(ProjectTaskUrgVo projectTaskUrgVo); Result<?> taskUrg(ProjectTaskUrgVo projectTaskUrgVo);
Result<?> updateFlowInfoByProjectLibraryIds(String projectLibraryIds);
} }
@@ -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.feginClient.impl.WorkFlowFeignClientImpl;
import com.jero.modules.wkflow.service.IProcessHistoryEOService; import com.jero.modules.wkflow.service.IProcessHistoryEOService;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
@@ -129,6 +130,7 @@ import static com.jero.modules.document.service.impl.BussDocumentLibraryEOServic
* @Date: 2022-04-14 * @Date: 2022-04-14
* @Version: V1.0 * @Version: V1.0
*/ */
@Slf4j
@Service @Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsInventoryEOMapper, ProjectLawsInventoryEO> implements IProjectLawsInventoryEOService { public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsInventoryEOMapper, ProjectLawsInventoryEO> implements IProjectLawsInventoryEOService {
@@ -473,12 +475,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
// setContentLog(infoDiff,contentLog,infoDiffEn,enContentLog,projectLawsInventoryEO.getProjectLibraryId()); // setContentLog(infoDiff,contentLog,infoDiffEn,enContentLog,projectLawsInventoryEO.getProjectLibraryId());
//验证用户是否是该法规上级 项目库的studio 如果是则同步更新流程 // //验证用户是否是该法规上级 项目库的studio 如果是则同步更新流程
int roleCode = checkUserRole(projectLawsInventoryEO.getProjectLibraryId(), currentUser.getId(), ""); // int roleCode = checkUserRole(projectLawsInventoryEO.getProjectLibraryId(), currentUser.getId(), "");
if (StringUtils.equals(String.valueOf(roleCode),ProjectRoleEnum.STUDIO_ENGINEER.getValue())){ // if (StringUtils.equals(String.valueOf(roleCode),ProjectRoleEnum.STUDIO_ENGINEER.getValue())){
//更新流程信息 // //更新流程信息
updateFlowInfo(projectLawsInventoryEO); // updateFlowInfo(projectLawsInventoryEO);
} // }
this.updateFlowInfo(projectLawsInventoryEO);
}else { }else {
throw new JeroBootException("该用户没有权限操作该数据!"); throw new JeroBootException("该用户没有权限操作该数据!");
} }
@@ -710,6 +713,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
@Override @Override
public List<ProjectLawsInventoryEO> queryList(ProjectLawsInventoryEO projectLawsInventoryEO, HttpServletRequest req) { public List<ProjectLawsInventoryEO> queryList(ProjectLawsInventoryEO projectLawsInventoryEO, HttpServletRequest req) {
long startTime = System.currentTimeMillis();
String dutyTerritoryStr = ""; String dutyTerritoryStr = "";
if (StringUtils.isNotEmpty(projectLawsInventoryEO.getDutyTerritory())) { if (StringUtils.isNotEmpty(projectLawsInventoryEO.getDutyTerritory())) {
dutyTerritoryStr = projectLawsInventoryEO.getDutyTerritory(); dutyTerritoryStr = projectLawsInventoryEO.getDutyTerritory();
@@ -749,6 +753,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//if(isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue())){ //if(isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue())){
int isProjectRole = Integer.parseInt(projectLawsInventoryEO.getRoleCode()); int isProjectRole = Integer.parseInt(projectLawsInventoryEO.getRoleCode());
log.info("一阶段消耗时间:" + (System.currentTimeMillis() - startTime));
if(isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue()) if(isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue())
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.MANAGER.getValue()) && isProjectRole != Integer.parseInt(ProjectRoleEnum.MANAGER.getValue())
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.ADMIN.getValue())){ && isProjectRole != Integer.parseInt(ProjectRoleEnum.ADMIN.getValue())){
@@ -758,10 +764,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}); });
} }
List<ProjectLawsInventoryEO> result = super.baseMapper.selectList(projectLawsInventoryEOQueryWrapper); List<ProjectLawsInventoryEO> result = super.baseMapper.selectList(projectLawsInventoryEOQueryWrapper);
log.info("二阶段消耗时间:" + (System.currentTimeMillis() - startTime));
dataDispose(result,currentUser,isProjectRole,projectLawsInventoryEO.getCut()); dataDispose(result,currentUser,isProjectRole,projectLawsInventoryEO.getCut());
long startTime = System.currentTimeMillis(); log.info("三阶段消耗时间:" + (System.currentTimeMillis() - startTime));
dataDictDispose(result,projectLawsInventoryEO.getCut()); dataDictDispose(result,projectLawsInventoryEO.getCut());
log.debug("处理数据字典消耗时间:" + (System.currentTimeMillis() - startTime)); log.info("四阶段消耗时间:" + (System.currentTimeMillis() - startTime));
return result; return result;
} }
@@ -9339,5 +9346,24 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
} }
@Override
public Result<?> updateFlowInfoByProjectLibraryIds(String projectLibraryIds) {
if(StringUtils.isEmpty(projectLibraryIds)){
throw new JeroBootException("项目库id不能为空");
}
List<String> projectLibraryIdList = Arrays.asList(projectLibraryIds.split(","));
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryQueryWrap = new QueryWrapper<>();
lawsInventoryQueryWrap.lambda().in(ProjectLawsInventoryEO::getProjectLibraryId,projectLibraryIdList);
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = this.baseMapper.selectList(lawsInventoryQueryWrap);
projectLawsInventoryEOList.forEach(lawsInventoryEO -> {
this.updateFlowInfo(lawsInventoryEO);
});
return new Result<>().success("操作成功!");
}
} }
@@ -57,22 +57,8 @@
concat(pli.serial_number,'、',bdl.title_en) as standard_info, concat(pli.serial_number,'、',bdl.title_en) as standard_info,
</if> </if>
pi.flow_type, pi.flow_type,
createBy.username as "create_by", pi.create_by,
pi.end_time, 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.status,
pi.prc_num, pi.prc_num,
pi.prc_name, pi.prc_name,
@@ -87,7 +73,6 @@
left join project_name_info pni on pni.id = plb.project_name_id 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_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 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 LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id
<where> <where>
<if test="params.queryType != 'issuedProcess'"> <if test="params.queryType != 'issuedProcess'">
@@ -141,22 +126,8 @@
concat(pli.serial_number,'、',bdl.title_en) as standard_info, concat(pli.serial_number,'、',bdl.title_en) as standard_info,
</if> </if>
pi.flow_type, pi.flow_type,
createBy.username AS "create_by", pi.create_by,
pi.end_time, 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.STATUS,
pi.prc_num, pi.prc_num,
pi.prc_name, pi.prc_name,
@@ -171,7 +142,6 @@
LEFT JOIN project_name_info pni ON pni.id = plb.project_name_id 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_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 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 LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id
where where
( (
@@ -201,7 +171,7 @@
'' as title, '' as title,
'' as title_en, '' as title_en,
pi.flow_type, pi.flow_type,
createBy.username AS "create_by", pi.create_by,
( (
select select
pid.end_time pid.end_time
@@ -209,8 +179,6 @@
process_info_detail pid process_info_detail pid
where pid.process_info_id = pi.id and pid.STATUS = 'NotDone' order by pid.end_time asc limit 1 where pid.process_info_id = pi.id and pid.STATUS = 'NotDone' order by pid.end_time asc limit 1
) as end_time, ) as end_time,
'' as task_id,
'' as task_definition_key,
pi.STATUS, pi.STATUS,
pi.prc_num, pi.prc_num,
pi.prc_name, pi.prc_name,
@@ -225,7 +193,6 @@
LEFT JOIN project_name_info pni ON pni.id = plb.project_name_id 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_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 project_laws_inventory pli ON pi.project_laws_inventory_id = pli.id
LEFT JOIN sys_user createBy ON createBy.id = pi.create_by
WHERE WHERE
( (
pi.id IN ( pi.id IN (
@@ -260,37 +227,12 @@
pi.STATUS, pi.STATUS,
pi.prc_num, pi.prc_num,
pi.prc_name, pi.prc_name,
( pi.create_by,
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.acti_proc_inst_id, pi.acti_proc_inst_id,
pi.create_time pi.create_time
FROM FROM
process_info pi process_info pi
LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id 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> <where>
pi.flow_type IN pi.flow_type IN
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")"> <foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
@@ -35,6 +35,7 @@ import com.jero.modules.todoCenter.mapper.ProcessInfoEOMapper;
import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService; import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService;
import com.jero.modules.todoCenter.service.IProcessInfoEOService; import com.jero.modules.todoCenter.service.IProcessInfoEOService;
import com.jero.modules.todoCenter.vo.ProcessInfoVO; import com.jero.modules.todoCenter.vo.ProcessInfoVO;
import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum;
import com.jero.modules.wkflow.enums.FlowTypeEnum; import com.jero.modules.wkflow.enums.FlowTypeEnum;
import com.jero.modules.wkflow.feginClient.impl.WorkFlowFeignClientImpl; import com.jero.modules.wkflow.feginClient.impl.WorkFlowFeignClientImpl;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@@ -206,7 +207,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
IPage page = new Page(pageNo, pageSize); IPage page = new Page(pageNo, pageSize);
IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessTodoTaskListList(page,params); IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessTodoTaskListList(page,params);
this.disposeData(result.getRecords(),cut); this.disposeData(result.getRecords(),cut,TaskStatusEnum.NOT_DONE.getValue());
return result; return result;
} }
@@ -226,7 +227,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
IPage page = new Page(pageNo, pageSize); IPage page = new Page(pageNo, pageSize);
IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessPageList(page,params); IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessPageList(page,params);
this.disposeData(result.getRecords(),cut); this.disposeData(result.getRecords(),cut,"");
return result; return result;
} }
@@ -248,7 +249,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
IPage page = new Page(pageNo, pageSize); IPage page = new Page(pageNo, pageSize);
IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessPageList(page,params); IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessPageList(page,params);
this.disposeData(result.getRecords(),cut); this.disposeData(result.getRecords(),cut,"");
return result; return result;
} }
@@ -340,7 +341,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
IPage page = new Page(pageNo, pageSize); IPage page = new Page(pageNo, pageSize);
IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params); IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params);
this.disposeData(result.getRecords(),cut); this.disposeData(result.getRecords(),cut,TaskStatusEnum.NOT_DONE.getValue());
return result; return result;
} }
@@ -363,7 +364,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
IPage page = new Page(pageNo, pageSize); IPage page = new Page(pageNo, pageSize);
IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params); IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params);
this.disposeData(result.getRecords(),cut); this.disposeData(result.getRecords(),cut,TaskStatusEnum.HAVE_DONE.getValue());
return result; return result;
} }
@@ -386,7 +387,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
IPage page = new Page(pageNo, pageSize); IPage page = new Page(pageNo, pageSize);
IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params); IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params);
this.disposeData(result.getRecords(),cut); this.disposeData(result.getRecords(),cut,TaskStatusEnum.HAVE_DONE.getValue());
return result; return result;
} }
@@ -403,7 +404,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
* @param datas * @param datas
* @param cut * @param cut
*/ */
public void disposeData(List<ProcessInfoVO> datas, String cut){ public void disposeData(List<ProcessInfoVO> datas, String cut, String taskStatus){
if(CollectionUtils.isNotEmpty(datas)){ if(CollectionUtils.isNotEmpty(datas)){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date currentDate = new Date(); Date currentDate = new Date();
@@ -464,6 +465,19 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
List<ProcessInfoDetailEO> detailEOList = detailMap.getValue(); List<ProcessInfoDetailEO> detailEOList = detailMap.getValue();
data.setAssignee(detailEOList.stream().map(ProcessInfoDetailEO::getUserId).collect(Collectors.joining(","))); data.setAssignee(detailEOList.stream().map(ProcessInfoDetailEO::getUserId).collect(Collectors.joining(",")));
userIdList.addAll(detailEOList.stream().map(ProcessInfoDetailEO::getUserId).collect(Collectors.toList())); userIdList.addAll(detailEOList.stream().map(ProcessInfoDetailEO::getUserId).collect(Collectors.toList()));
// 如果上一操作人是空,则证明该流程当前处理人也是上一个操作人。
if(StringUtils.isEmpty(data.getLastAssignee())){
List<String> collect = detailEOList.stream().filter(detailEO -> {
return (
StringUtils.equals(detailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.THE_RESPONSIBLE_PERSON_HANDLES_THE_TASK.getKey())
|| StringUtils.equals(detailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.SPONSOR_REVIEW.getKey())
);
}).map(ProcessInfoDetailEO::getUserId).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(collect)){
data.setLastAssignee(collect.get(0));
}
}
break; break;
} }
} }
@@ -557,6 +571,45 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
data.setEndTimePastDueFlag(true); 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());
}
}
});
} }
} }
@@ -603,6 +603,18 @@
text: this.$t('parameterBatch'), text: this.$t('parameterBatch'),
dictCode: 'params_batch' dictCode: 'params_batch'
}, },
{
type: '',
value: 'sdt',
text: this.$t('sdt'),
dictCode: 'sdt'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
{
type: '',
value: 'dre',
text: this.$t('dre'),
dictCode: 'dre'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
},
], ],
selectedRowKeys: [], selectedRowKeys: [],
textLoading: false, textLoading: false,
@@ -421,6 +421,10 @@
let query = {} let query = {}
switch (num) { switch (num) {
case 1: case 1:
val.designTaskId = val.designTaskId + ''
if (val.designTaskId.length > 30) {
val.designTaskId = ''
}
query = { query = {
taskIds: val.designTaskId, taskIds: val.designTaskId,
actiProcInstId: val.designPId, actiProcInstId: val.designPId,
@@ -446,6 +450,10 @@
} }
break break
case 2: case 2:
val.prehomoTaskId = val.prehomoTaskId + ''
if (val.prehomoTaskId.length > 30) {
val.prehomoTaskId = ''
}
query = { query = {
taskIds: val.prehomoTaskId, taskIds: val.prehomoTaskId,
actiProcInstId: val.prehomoPId, actiProcInstId: val.prehomoPId,
@@ -471,6 +479,10 @@
} }
break break
case 3: case 3:
val.verifyTaskId = val.verifyTaskId + ''
if (val.verifyTaskId.length > 30) {
val.verifyTaskId = ''
}
query = { query = {
taskIds: val.verifyTaskId, taskIds: val.verifyTaskId,
actiProcInstId: val.verifyPId, actiProcInstId: val.verifyPId,
@@ -16,7 +16,7 @@
<span class="Required">*</span> <span class="Required">*</span>
<span class="title-text-text" :title="$t('title')">{{$t('title')}}</span> <span class="title-text-text" :title="$t('title')">{{$t('title')}}</span>
</div> </div>
<a-form-model-item class="itemModel" :prop='title'> <a-form-model-item class="itemModel" prop='title'>
<!-- <a-input class="box-input"--> <!-- <a-input class="box-input"-->
<!-- :disabled="disabled"--> <!-- :disabled="disabled"-->
<!-- v-model="formInline[item.db_field_name]"--> <!-- v-model="formInline[item.db_field_name]"-->
@@ -38,12 +38,13 @@
<a-col :span='11'> <a-col :span='11'>
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" <span class="title-text-text"
:title="$t('relatedProjectVersion')">{{$t('relatedProjectVersion')}}</span> :title="$t('relatedProjectVersion')">{{$t('relatedProjectVersion')}}</span>
</div> </div>
<a-form-model-item class="itemModel" style="height: 40px"> <a-form-model-item class="itemModel" prop='projectVersion'>
<a-select mode="multiple" <a-select
class="box-input" class="box-input propbox"
style="width: 100%" style="width: 100%"
v-model='formData.projectVersion' v-model='formData.projectVersion'
:placeholder="$t('PleaseSelect')+$t('relatedProjectVersion')"> :placeholder="$t('PleaseSelect')+$t('relatedProjectVersion')">
@@ -224,19 +225,23 @@
trigger: 'blur' trigger: 'blur'
} }
], ],
explanation: [ projectVersion: [
{ { required: true, message: this.$t('PleaseSelect')+this.$t('relatedProjectVersion'), trigger: 'change' },
max: 500, ],
message: this.$t('explain') + this.$t('cannotExceed') + 500 + this.$t('Characters'), // explanation: [
trigger: 'blur' // {
} // max: 500,
] // message: this.$t('explain') + this.$t('cannotExceed') + 500 + this.$t('Characters'),
// trigger: 'blur'
// }
// ]
}, },
areaTable: [], areaTable: [],
flag: false, //表单提交标识 flag: false, //表单提交标识
spinLoading: false, spinLoading: false,
confirmLoading: false, confirmLoading: false,
selectedRowKeys: [], selectedRowKeys: [],
projectName:'',
num:'', num:'',
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
@@ -261,6 +266,10 @@
} }
}, },
mounted() { mounted() {
let str =this.$route.query.projectName
let index = str.lastIndexOf("-");
this.projectName = str.substr(index+1,str.length);
this.formData.projectVersion = this.projectName
this.loadData() this.loadData()
this.getProjectVersion() this.getProjectVersion()
}, },
@@ -328,11 +337,11 @@
// 编辑一行的数据 // 编辑一行的数据
this.num = num this.num = num
let query = JSON.parse(JSON.stringify(edit)) let query = JSON.parse(JSON.stringify(edit))
if (query.projectVersion) { // if (query.projectVersion) {
query.projectVersion = query.projectVersion.split(',') // query.projectVersion = query.projectVersion.split(',')
}else{ // }else{
query.projectVersion = [] // query.projectVersion = []
} // }
this.row = query this.row = query
this.formData = { ...query } this.formData = { ...query }
this.selectedRowKeys = query.paramsTemplateId.split(',') this.selectedRowKeys = query.paramsTemplateId.split(',')
@@ -344,9 +353,9 @@
} else if (this.selectedRowKeys.length > 1) { } else if (this.selectedRowKeys.length > 1) {
this.$message.warning(this.$t('OnlyOneSelected')) this.$message.warning(this.$t('OnlyOneSelected'))
} else { } else {
if (this.formData.title !== undefined) { // if (this.formData.title !== undefined) {
this.formData.title = this.formData.title.trim() // this.formData.title = this.formData.title.trim()
} // }
this.$refs.ruleForm.validate(valid => { this.$refs.ruleForm.validate(valid => {
if (valid) { if (valid) {
this.flag = true this.flag = true
@@ -469,7 +478,9 @@
color: red; color: red;
} }
} }
/deep/.propbox .ant-form-explain{
margin-top: -17px !important;
}
.drawer-bootom-button { .drawer-bootom-button {
position: absolute; position: absolute;
bottom: 0; bottom: 0;