Merge remote-tracking branch 'origin/feature_dev_20221008_TODO' into feature_dev_20221008_TODO
This commit is contained in:
+47
-2
@@ -5,13 +5,14 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.modules.system.enums.SysPermissionEnum;
|
||||
import com.jero.modules.system.mapper.TodoCenterMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.apache.shiro.authz.annotation.RequiresRoles;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.system.util.JwtUtil;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.MD5Util;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
@@ -54,6 +55,9 @@ public class SysPermissionController {
|
||||
@Autowired
|
||||
private ISysDepartPermissionService sysDepartPermissionService;
|
||||
|
||||
@Autowired
|
||||
private TodoCenterMapper todoCenterMapper;
|
||||
|
||||
/**
|
||||
* 加载数据节点
|
||||
*
|
||||
@@ -641,6 +645,47 @@ public class SysPermissionController {
|
||||
if (isWWWHttpUrl(permission.getUrl())) {
|
||||
meta.put("url", permission.getUrl());
|
||||
}
|
||||
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
Map<String,Object> params = new HashMap<>();
|
||||
params.put("currentUserId",currentUser.getId());
|
||||
|
||||
List<String> flowTypeList = new ArrayList<>();
|
||||
//项目法规任务
|
||||
if(StringUtils.equals(permission.getId(), SysPermissionEnum.PROJECT_REGULATION_TASKS.getId())){
|
||||
flowTypeList.add("1");
|
||||
flowTypeList.add("2");
|
||||
flowTypeList.add("3");
|
||||
flowTypeList.add("4");
|
||||
flowTypeList.add("10");
|
||||
params.put("flowTypeList",flowTypeList);
|
||||
//存在待办任务标识,true为有
|
||||
boolean existTaskFlag = false;
|
||||
int result = todoCenterMapper.todoCenterTaskCount(params);
|
||||
if(result > 0){
|
||||
existTaskFlag = true;
|
||||
}
|
||||
//查询当前登录用户是否有项目法规任务
|
||||
meta.put("existTask",existTaskFlag);
|
||||
}
|
||||
//法规评估任务
|
||||
if(StringUtils.equals(permission.getId(), SysPermissionEnum.REGULATORY_ASSESSMENT_TASKS.getId())){
|
||||
flowTypeList.add("5");
|
||||
flowTypeList.add("6");
|
||||
params.put("flowTypeList",flowTypeList);
|
||||
int result = todoCenterMapper.todoCenterTaskCount(params);
|
||||
boolean existTaskFlag = false;
|
||||
if(result > 0){
|
||||
existTaskFlag = true;
|
||||
}
|
||||
meta.put("existTask",existTaskFlag);
|
||||
}
|
||||
//项目参数任务
|
||||
if(StringUtils.equals(permission.getId(), SysPermissionEnum.PROJECT_PARAMETER_TASKS.getId())){
|
||||
boolean existTaskFlag = false;
|
||||
meta.put("existTask",existTaskFlag);
|
||||
}
|
||||
json.put("meta", meta);
|
||||
}
|
||||
|
||||
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
package com.jero.modules.system.enums;
|
||||
|
||||
/**
|
||||
* 菜单权限枚举类
|
||||
* @Author: wzj
|
||||
* @Date: 2022/10/26 16:14
|
||||
**/
|
||||
public enum SysPermissionEnum {
|
||||
|
||||
PROJECT_REGULATION_TASKS("项目法规任务","1580735287309119489",""),
|
||||
REGULATORY_ASSESSMENT_TASKS("法规评估任务","1580735611793059842",""),
|
||||
PROJECT_PARAMETER_TASKS("项目参数任务","1580735965892980738","");
|
||||
|
||||
private String name;
|
||||
private String id;
|
||||
private String value;
|
||||
|
||||
private SysPermissionEnum(String name,String id, String value) {
|
||||
this.name = name;
|
||||
this.id = id;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.modules.system.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 待办中心mapper层
|
||||
* @Author: wzj
|
||||
* @Date: 2022/10/26 16:41
|
||||
**/
|
||||
public interface TodoCenterMapper {
|
||||
int todoCenterTaskCount(@Param("params") Map<String, Object> params);
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.system.mapper.TodoCenterMapper">
|
||||
|
||||
<select id="todoCenterTaskCount" resultType="java.lang.Integer">
|
||||
select
|
||||
count(1)
|
||||
from
|
||||
process_info pi
|
||||
where
|
||||
pi.id in (
|
||||
select detail.process_info_id from process_info_detail detail where detail.status = 'NotDone' and detail.user_id = #{params.currentUserId}
|
||||
)
|
||||
<if test="params.flowTypeList != null ">
|
||||
and pi.flow_type in
|
||||
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
+15
@@ -2,6 +2,7 @@ package com.jero.modules.lawsOpinionGather.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.constant.enums.MessageTypeEnum;
|
||||
@@ -28,6 +29,10 @@ import com.jero.modules.system.entity.SysCategory;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoEO;
|
||||
import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum;
|
||||
import com.jero.modules.todoCenter.service.IProcessInfoEOService;
|
||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||
import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -68,6 +73,8 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
|
||||
private ILawsOpinionAssessmentResultEOService lawsOpinionAssessmentResultEOService;
|
||||
@Autowired
|
||||
private WorkFlowFeignClient workFlowFeignClient;
|
||||
@Autowired
|
||||
private IProcessInfoEOService processInfoEOService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -127,6 +134,8 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
|
||||
QueryWrapper deleteWrapper = new QueryWrapper();
|
||||
deleteWrapper.in("laws_opinion_gather_id",ids);
|
||||
this.lawsOpinionAssessmentResultEOService.remove(deleteWrapper);
|
||||
|
||||
this.processInfoEOService.deleteByIds(actiProcInstIdList);
|
||||
}else {
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
throw new JeroBootException("删除失败,请联系管理员!");
|
||||
@@ -330,6 +339,12 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
|
||||
lawsOpinionGatherEO.setGatherResult(GatherResultEnum.COMPLETED.getValue());
|
||||
});
|
||||
this.updateBatchById(lawsOpinionGatherEOList);
|
||||
|
||||
LambdaUpdateWrapper<ProcessInfoEO> processInfoUpdateWrap = new LambdaUpdateWrapper<>();
|
||||
processInfoUpdateWrap.set(ProcessInfoEO::getStatus, TodoCenterStatusEnum.COMPLETED.getValue());
|
||||
processInfoUpdateWrap.in(ProcessInfoEO::getId,actiProcInstIdList);
|
||||
processInfoUpdateWrap.eq(ProcessInfoEO::getFlowType, FlowTypeEnum.FGYJSJLC.getValue());
|
||||
this.processInfoEOService.update(processInfoUpdateWrap);
|
||||
}
|
||||
}
|
||||
return new Result<>().success("手动结束成功!");
|
||||
|
||||
+19
-2
@@ -2,6 +2,7 @@ package com.jero.modules.lawsTechnologyEvaluation.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
@@ -32,6 +33,10 @@ import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
|
||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoEO;
|
||||
import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum;
|
||||
import com.jero.modules.todoCenter.service.IProcessInfoEOService;
|
||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||
import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
@@ -95,6 +100,8 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
private ILawsTechnologyEvaluationComplianceResultEOService lawsTechnologyEvaluationComplianceResultEOService;
|
||||
@Autowired
|
||||
private WorkFlowFeignClient workFlowFeignClient;
|
||||
@Autowired
|
||||
private IProcessInfoEOService processInfoEOService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -154,7 +161,8 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
List<LawsTechnologyEvaluationFlowDetailEO> lawsTechnologyEvaluationFlowDetailEOList = lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailEOQueryWrapper);
|
||||
|
||||
if(CollectionUtils.isNotEmpty(lawsTechnologyEvaluationFlowDetailEOList)){
|
||||
String prcIds = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(","));
|
||||
List<String> actiProcInstIdList = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.toList());
|
||||
String prcIds = actiProcInstIdList.stream().collect(Collectors.joining(","));
|
||||
Result<String> result = this.workFlowFeignClient.deleteProcessInstanceByPrcIds(prcIds);
|
||||
if(result.getCode().equals(CommonConstant.SC_OK_200)){
|
||||
removeByIds(ids);
|
||||
@@ -168,6 +176,8 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
this.lawsTechnologyEvaluationResultEOService.remove(deleteWrapper);
|
||||
|
||||
this.lawsTechnologyEvaluationComplianceResultEOService.remove(deleteWrapper);
|
||||
|
||||
this.processInfoEOService.deleteByIds(actiProcInstIdList);
|
||||
}else {
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
throw new JeroBootException("删除失败,请联系管理员!");
|
||||
@@ -683,13 +693,20 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
List<LawsTechnologyEvaluationFlowDetailEO> lawsTechnologyEvaluationFlowDetailEOList = lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailEOQueryWrapper);
|
||||
|
||||
if(CollectionUtils.isNotEmpty(lawsTechnologyEvaluationFlowDetailEOList)){
|
||||
String actiProcInstIds = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(","));
|
||||
List<String> actiProcInstIdList = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.toList());
|
||||
String actiProcInstIds = actiProcInstIdList.stream().collect(Collectors.joining(","));
|
||||
Result<String> result = this.workFlowFeignClient.completeLawsTechnologyEvaluationTaskByPids(actiProcInstIds);
|
||||
if(result.getCode().equals(CommonConstant.SC_OK_200)){
|
||||
lawsTechnologyEvaluationEOList.forEach(lawsTechnologyEvaluationEO -> {
|
||||
lawsTechnologyEvaluationEO.setFlowStatus(GatherResultEnum.COMPLETED.getValue());
|
||||
});
|
||||
this.updateBatchById(lawsTechnologyEvaluationEOList);
|
||||
|
||||
LambdaUpdateWrapper<ProcessInfoEO> processInfoUpdateWrap = new LambdaUpdateWrapper<>();
|
||||
processInfoUpdateWrap.set(ProcessInfoEO::getStatus, TodoCenterStatusEnum.COMPLETED.getValue());
|
||||
processInfoUpdateWrap.in(ProcessInfoEO::getId,actiProcInstIdList);
|
||||
processInfoUpdateWrap.eq(ProcessInfoEO::getFlowType, FlowTypeEnum.FGJSPG.getValue());
|
||||
this.processInfoEOService.update(processInfoUpdateWrap);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+7
@@ -9,10 +9,13 @@ import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.feishu.vo.FeishuMsgVo;
|
||||
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||
import com.jero.modules.system.entity.SysRole;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoEO;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -149,4 +152,8 @@ public interface IProjectLawsInventoryEOService extends IService<ProjectLawsInve
|
||||
Result<?> expediting(JSONObject json);
|
||||
|
||||
List<SysRole> getRoleByUserId(String projectLibraryId,String cut);
|
||||
|
||||
void addProcessInfo(ProcessInfoEO processInfoEO, String projectLibraryId, Date endTime);
|
||||
|
||||
void addProcessInfoDetail(String processInfoId, List<ProcessInfoDetailEO> processInfoDetailEOList, Date endTime);
|
||||
}
|
||||
|
||||
+42
-23
@@ -576,9 +576,20 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
this.projectTaskInventoryDetailEOService.updateById(projectTaskInventoryDetailEO);
|
||||
}
|
||||
}
|
||||
//更新待办中心流程信息明细表,处理人
|
||||
this.updateProcessInfoDetailAssignee(projectLawsInventoryEO,pId,flowType);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新待办中心流程信息明细表,处理人
|
||||
* @param projectLawsInventoryEO
|
||||
* @param pId
|
||||
* @param flowType
|
||||
*/
|
||||
public void updateProcessInfoDetailAssignee(ProjectLawsInventoryEO projectLawsInventoryEO,String pId,String flowType){
|
||||
this.processInfoDetailEOService.updateProcessInfoDetailUserId(projectLawsInventoryEO,pId,flowType);
|
||||
}
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
@@ -1441,6 +1452,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getHomologationEngineerId());
|
||||
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.HOMOLOGATION_ENGINEER_AUDIT.getKey());
|
||||
processInfoDetailEO.setEndTime(endTime);
|
||||
processInfoDetailEO.setCreateTime(new Date());
|
||||
processInfoDetailEO.setCreateBy(currentUser.getId());
|
||||
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
if(regulationOwnerFlag){
|
||||
@@ -1452,10 +1467,27 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getRegulationOwnerId());
|
||||
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.REGULATION_OWNER_AUDIT.getKey());
|
||||
processInfoDetailEO.setEndTime(endTime);
|
||||
processInfoDetailEO.setCreateTime(new Date());
|
||||
processInfoDetailEO.setCreateBy(currentUser.getId());
|
||||
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
|
||||
if(homologationEngineerFlag || regulationOwnerFlag){
|
||||
//创建一条当前发起清单确认的studio的已办任务。
|
||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||
processInfoDetailEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
|
||||
processInfoDetailEO.setUserId(currentUser.getId());
|
||||
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.INITIATED_BY_STUDIO_ENGINEERS.getKey());
|
||||
processInfoDetailEO.setEndTime(endTime);
|
||||
processInfoDetailEO.setCreateTime(new Date());
|
||||
processInfoDetailEO.setCreateBy(currentUser.getId());
|
||||
processInfoDetailEO.setStatus(TaskStatusEnum.HAVE_DONE.getValue());
|
||||
|
||||
processInfoDetailEO.setSubmitTime(new Date());
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
|
||||
super.update(projectLawsInventoryEO, updateWrapper);
|
||||
}
|
||||
}
|
||||
@@ -5015,6 +5047,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
params.put("pIds",pIds);
|
||||
//根据流程实例id 、 法规清单id 删除相关流程。
|
||||
workFlowFeignClient.deleteProcessInstanceByProjectLawsInventoryIds(params);
|
||||
|
||||
//清除流程中心对应的数据
|
||||
params.put("ids",ids);
|
||||
this.processInfoEOService.change(params);
|
||||
}
|
||||
return Result.OK("变更成功!");
|
||||
}
|
||||
@@ -8631,7 +8667,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
* @param projectLibraryId
|
||||
* @param endTime
|
||||
*/
|
||||
public void addProcessInfo(ProcessInfoEO processInfoEO,String projectLibraryId,Date endTime){
|
||||
@Override
|
||||
public void addProcessInfo(ProcessInfoEO processInfoEO, String projectLibraryId, Date endTime){
|
||||
String id = null;
|
||||
//查询当前项目之前有没有启动过清单确认
|
||||
QueryWrapper<ProcessInfoEO> processInfoQueryWrap = new QueryWrapper<>();
|
||||
@@ -8664,13 +8701,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
* @param processInfoDetailEOList
|
||||
* @param endTime
|
||||
*/
|
||||
public void addProcessInfoDetail(String processInfoId,List<ProcessInfoDetailEO> processInfoDetailEOList,Date endTime){
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
@Override
|
||||
public void addProcessInfoDetail(String processInfoId, List<ProcessInfoDetailEO> processInfoDetailEOList, Date endTime){
|
||||
processInfoDetailEOList.forEach(detail -> {
|
||||
detail.setCreateTime(new Date());
|
||||
detail.setCreateBy(currentUser.getId());
|
||||
detail.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||
detail.setProcessInfoId(processInfoId);
|
||||
detail.setFlowType(FlowTypeEnum.QDQR.getValue());
|
||||
|
||||
@@ -8680,25 +8713,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
this.processInfoDetailEOService.remove(deleteDetailWrap);
|
||||
});
|
||||
|
||||
//创建一条当前发起清单确认的studio的已办任务。
|
||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||
processInfoDetailEO.setStatus(TaskStatusEnum.HAVE_DONE.getValue());
|
||||
processInfoDetailEO.setUserId(currentUser.getId());
|
||||
processInfoDetailEO.setProcessInfoId(processInfoId);
|
||||
processInfoDetailEO.setFlowType(FlowTypeEnum.QDQR.getValue());
|
||||
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.INITIATED_BY_STUDIO_ENGINEERS.getKey());
|
||||
processInfoDetailEO.setSubmitTime(new Date());
|
||||
processInfoDetailEO.setCreateTime(new Date());
|
||||
processInfoDetailEO.setUpdateTime(new Date());
|
||||
processInfoDetailEO.setCreateBy(currentUser.getId());
|
||||
processInfoDetailEO.setEndTime(endTime);
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
|
||||
//删除studio在这个项目的清单确认已办任务。
|
||||
QueryWrapper<ProcessInfoDetailEO> deleteStudioDetailWrap = new QueryWrapper<>();
|
||||
/*QueryWrapper<ProcessInfoDetailEO> deleteStudioDetailWrap = new QueryWrapper<>();
|
||||
deleteStudioDetailWrap.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,InventoryAffirmNodeEnum.INITIATED_BY_STUDIO_ENGINEERS.getKey());
|
||||
deleteStudioDetailWrap.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,processInfoId);
|
||||
this.processInfoDetailEOService.remove(deleteStudioDetailWrap);
|
||||
this.processInfoDetailEOService.remove(deleteStudioDetailWrap);*/
|
||||
|
||||
this.processInfoDetailEOService.saveBatch(processInfoDetailEOList);
|
||||
}
|
||||
|
||||
+6
-4
@@ -222,10 +222,12 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
|
||||
if(StringUtils.equals(projectTaskInventoryDetailEO.getStatus(),TaskStatusEnum.HAVE_DONE.getValue())
|
||||
|| StringUtils.equals(projectTaskInventoryDetailEO.getStatus(),TaskStatusEnum.NOT_DONE.getValue())){
|
||||
ProjectTaskInventoryDetailEO taskInventoryDetailById = this.baseMapper.selectById(projectTaskInventoryDetailEO.getId());
|
||||
LambdaUpdateWrapper<ProcessInfoDetailEO> processInfoDetailUpdateWrap= new LambdaUpdateWrapper();
|
||||
processInfoDetailUpdateWrap.eq(ProcessInfoDetailEO::getTaskId,taskInventoryDetailById.getTaskId());
|
||||
processInfoDetailUpdateWrap.set(ProcessInfoDetailEO::getStatus,projectTaskInventoryDetailEO.getStatus());
|
||||
this.processInfoDetailEOService.update(processInfoDetailUpdateWrap);
|
||||
if(taskInventoryDetailById != null){
|
||||
LambdaUpdateWrapper<ProcessInfoDetailEO> processInfoDetailUpdateWrap= new LambdaUpdateWrapper();
|
||||
processInfoDetailUpdateWrap.eq(ProcessInfoDetailEO::getTaskId,taskInventoryDetailById.getTaskId());
|
||||
processInfoDetailUpdateWrap.set(ProcessInfoDetailEO::getStatus,projectTaskInventoryDetailEO.getStatus());
|
||||
this.processInfoDetailEOService.update(processInfoDetailUpdateWrap);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
package com.jero.modules.todoCenter.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.modules.todoCenter.service.IProcessInfoEOService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Api(tags="待办中心-法规评估")
|
||||
@RestController
|
||||
@RequestMapping("/todoCenter/lawsAssess")
|
||||
@Slf4j
|
||||
public class LawsAssessTodoCenterController {
|
||||
|
||||
@Autowired
|
||||
private IProcessInfoEOService processInfoEOService;
|
||||
|
||||
@AutoLog(value = "分页查询-待办任务列表")
|
||||
@ApiOperation(value="分页查询-待办任务列表", notes="分页查询-待办任务列表")
|
||||
@GetMapping(value = "/todoTaskList")
|
||||
public Result<?> todoTaskList(@RequestParam Map<String,Object> params) {
|
||||
IPage page = this.processInfoEOService.lawsAssessTodoTaskList(params);
|
||||
return Result.OK(page);
|
||||
}
|
||||
|
||||
@AutoLog(value = "分页查询-已办任务列表")
|
||||
@ApiOperation(value="分页查询-已办任务列表", notes="分页查询-已办任务列表")
|
||||
@GetMapping(value = "/doneProcess")
|
||||
public Result<?> doneProcess(@RequestParam Map<String,Object> params) {
|
||||
IPage page = this.processInfoEOService.lawsAssessDoneProcess(params);
|
||||
return Result.OK(page);
|
||||
}
|
||||
|
||||
@AutoLog(value = "分页查询-已发任务列表")
|
||||
@ApiOperation(value="分页查询-已发任务列表", notes="分页查询-已发任务列表")
|
||||
@GetMapping(value = "/issuedProcess")
|
||||
public Result<?> issuedProcess(@RequestParam Map<String,Object> params) {
|
||||
IPage page = this.processInfoEOService.lawsAssessIssuedProcess(params);
|
||||
return Result.OK(page);
|
||||
}
|
||||
}
|
||||
+10
-3
@@ -28,7 +28,7 @@ public class ProjectProcessTodoCenterController {
|
||||
@ApiOperation(value="分页查询-待办任务列表", notes="分页查询-待办任务列表")
|
||||
@GetMapping(value = "/todoTaskList")
|
||||
public Result<?> todoTaskList(@RequestParam Map<String,Object> params) {
|
||||
IPage page = this.processInfoEOService.todoTaskList(params);
|
||||
IPage page = this.processInfoEOService.projectProcessTodoTaskList(params);
|
||||
return Result.OK(page);
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ public class ProjectProcessTodoCenterController {
|
||||
@ApiOperation(value="分页查询-已办任务列表", notes="分页查询-已办任务列表")
|
||||
@GetMapping(value = "/doneProcess")
|
||||
public Result<?> doneProcess(@RequestParam Map<String,Object> params) {
|
||||
IPage page = this.processInfoEOService.doneProcess(params);
|
||||
IPage page = this.processInfoEOService.projectProcessDoneProcess(params);
|
||||
return Result.OK(page);
|
||||
}
|
||||
|
||||
@@ -44,7 +44,14 @@ public class ProjectProcessTodoCenterController {
|
||||
@ApiOperation(value="分页查询-已发任务列表", notes="分页查询-已发任务列表")
|
||||
@GetMapping(value = "/issuedProcess")
|
||||
public Result<?> issuedProcess(@RequestParam Map<String,Object> params) {
|
||||
IPage page = this.processInfoEOService.issuedProcess(params);
|
||||
IPage page = this.processInfoEOService.projectProcessIssuedProcess(params);
|
||||
return Result.OK(page);
|
||||
}
|
||||
|
||||
@AutoLog(value = "待办中心-法规评估-初始化历史数据")
|
||||
@ApiOperation(value="待办中心-法规评估-初始化历史数据", notes="待办中心-法规评估-初始化历史数据")
|
||||
@GetMapping(value = "/initHistoryData")
|
||||
public Result<?> initHistoryData(@RequestParam Map<String,Object> params) {
|
||||
return this.processInfoEOService.initHistoryData(params);
|
||||
}
|
||||
}
|
||||
|
||||
+21
-2
@@ -14,8 +14,27 @@ import com.jero.modules.todoCenter.vo.ProcessInfoVO;
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface ProcessInfoEOMapper extends BaseMapper<ProcessInfoEO> {
|
||||
/**
|
||||
* 查询项目流程分页列表(已办、已发使用)
|
||||
* @param page
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessInfoVO> queryProjectProcessPageList(IPage page, Map<String, Object> params);
|
||||
|
||||
IPage<ProcessInfoVO> queryPageList(IPage page, Map<String, Object> params);
|
||||
|
||||
/**+
|
||||
* 查询项目流程-待办列表
|
||||
* @param page
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessInfoVO> queryProjectProcessTodoTaskListList(IPage page,Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 查询法规评估流程分页列表
|
||||
* @param page
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessInfoVO> queryLawsAssessPageList(IPage page, Map<String, Object> params);
|
||||
}
|
||||
|
||||
+200
-92
@@ -19,80 +19,102 @@
|
||||
|
||||
<sql id="BaseQuerySql">
|
||||
<where>
|
||||
(
|
||||
pi.id IN (
|
||||
SELECT
|
||||
pid.process_info_id
|
||||
FROM
|
||||
process_info_detail pid
|
||||
<where>
|
||||
pid.user_id = #{params.currentUserId}
|
||||
<if test="params.taskStatus != null and params.taskStatus != ''">
|
||||
and pid.status = #{params.taskStatus}
|
||||
</if>
|
||||
</where>
|
||||
)
|
||||
)
|
||||
<if test="params.projectName != null and params.projectName !=''">
|
||||
and (
|
||||
pni.project_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
|
||||
or pyni.year_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
|
||||
temp.project_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
|
||||
or temp.year_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
|
||||
)
|
||||
</if>
|
||||
<if test="params.serialNumber != null and params.serialNumber !=''">
|
||||
and (
|
||||
pli.serial_number like CONCAT(CONCAT('%',#{params.serialNumber}),'%')
|
||||
)
|
||||
<if test="params.standardInfo != null and params.standardInfo !=''">
|
||||
and temp.standard_info like CONCAT(CONCAT('%',#{params.standardInfo}),'%')
|
||||
</if>
|
||||
<if test="params.flowType != null and params.flowType !=''">
|
||||
and pi.flow_type = #{params.flowType}
|
||||
and temp.flow_type = #{params.flowType}
|
||||
</if>
|
||||
<if test="params.status != null and params.status !=''">
|
||||
and pi.status = #{params.status}
|
||||
</if>
|
||||
<if test="params.flowTypeList != null">
|
||||
and pi.flow_type in
|
||||
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="params.createBy != null and params.createBy != ''">
|
||||
and pi.create_by = #{params.createBy}
|
||||
and temp.status = #{params.status}
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
<select id="queryPageList" resultType="com.jero.modules.todoCenter.vo.ProcessInfoVO">
|
||||
SELECT
|
||||
pi.id,
|
||||
pi.project_library_id,
|
||||
pi.project_laws_inventory_id,
|
||||
pi.buss_document_library_id,
|
||||
pi.acti_proc_inst_id,
|
||||
pni.project_name,
|
||||
pyni.year_name,
|
||||
pli.serial_number,
|
||||
pli.title,
|
||||
pi.flow_type,
|
||||
createBy.username as "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} 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} limit 1) as task_definition_key,
|
||||
pi.status,
|
||||
pi.prc_num,
|
||||
pi.prc_name,
|
||||
plb.project_name_id,
|
||||
plb.target_market,
|
||||
plb.studio_engineer
|
||||
FROM
|
||||
process_info pi
|
||||
left join project_library_base plb on plb.id = pi.project_library_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_laws_inventory pli on pi.project_laws_inventory_id = pli.id
|
||||
LEFT JOIN sys_user createBy on createBy.id = pi.create_by
|
||||
<select id="queryProjectProcessPageList" resultType="com.jero.modules.todoCenter.vo.ProcessInfoVO">
|
||||
select temp.* from (
|
||||
SELECT
|
||||
pi.id,
|
||||
pi.project_library_id,
|
||||
pi.project_laws_inventory_id,
|
||||
pi.buss_document_library_id,
|
||||
pi.acti_proc_inst_id,
|
||||
pni.project_name,
|
||||
pyni.year_name,
|
||||
pli.serial_number,
|
||||
pli.title,
|
||||
bdl.title_en,
|
||||
<if test="params.cut == 'cn'">
|
||||
concat(pli.serial_number,'、',pli.title) as standard_info,
|
||||
</if>
|
||||
<if test="params.cut == 'en'">
|
||||
concat(pli.serial_number,'、',bdl.title_en) as standard_info,
|
||||
</if>
|
||||
pi.flow_type,
|
||||
createBy.username as "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,
|
||||
plb.project_name_id,
|
||||
plb.target_market,
|
||||
plb.studio_engineer
|
||||
FROM
|
||||
process_info pi
|
||||
left join project_library_base plb on plb.id = pi.project_library_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_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>
|
||||
and pi.id IN (
|
||||
SELECT
|
||||
pid.process_info_id
|
||||
FROM
|
||||
process_info_detail pid
|
||||
<where>
|
||||
pid.user_id = #{params.currentUserId}
|
||||
<if test="params.taskStatus != null and params.taskStatus != ''">
|
||||
and pid.status = #{params.taskStatus}
|
||||
</if>
|
||||
</where>
|
||||
)
|
||||
<if test="params.flowTypeList != null">
|
||||
and pi.flow_type in
|
||||
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="params.queryType == 'issuedProcess'">
|
||||
<if test="params.createBy != null and params.createBy != ''">
|
||||
and pi.create_by = #{params.createBy}
|
||||
</if>
|
||||
</if>
|
||||
</where>
|
||||
) temp
|
||||
<include refid="BaseQuerySql"/>
|
||||
order by pi.create_time desc
|
||||
order by temp.end_time desc
|
||||
</select>
|
||||
<select id="queryProjectProcessTodoTaskListList" resultType="com.jero.modules.todoCenter.vo.ProcessInfoVO">
|
||||
select temp.* from (
|
||||
@@ -106,11 +128,30 @@
|
||||
pyni.year_name,
|
||||
pli.serial_number,
|
||||
pli.title,
|
||||
bdl.title_en,
|
||||
<if test="params.cut == 'cn'">
|
||||
concat(pli.serial_number,'、',pli.title) as standard_info,
|
||||
</if>
|
||||
<if test="params.cut == 'en'">
|
||||
concat(pli.serial_number,'、',bdl.title_en) as standard_info,
|
||||
</if>
|
||||
pi.flow_type,
|
||||
createBy.username AS "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,
|
||||
(
|
||||
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,
|
||||
@@ -124,6 +165,7 @@
|
||||
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
|
||||
(
|
||||
pi.id IN (
|
||||
@@ -131,8 +173,7 @@
|
||||
pid.process_info_id
|
||||
FROM
|
||||
process_info_detail pid
|
||||
where
|
||||
pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
|
||||
where pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
|
||||
)
|
||||
)
|
||||
AND pi.flow_type IN
|
||||
@@ -148,11 +189,19 @@
|
||||
pi.acti_proc_inst_id,
|
||||
pni.project_name,
|
||||
pyni.year_name,
|
||||
pli.serial_number,
|
||||
pli.title,
|
||||
'--' as serial_number,
|
||||
'--' as standard_info,
|
||||
'' as title,
|
||||
'' as title_en,
|
||||
pi.flow_type,
|
||||
createBy.username AS "create_by",
|
||||
(select pid.end_time from 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,
|
||||
(
|
||||
select
|
||||
pid.end_time
|
||||
from
|
||||
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,
|
||||
@@ -175,34 +224,93 @@
|
||||
pid.process_info_id
|
||||
FROM
|
||||
process_info_detail pid
|
||||
where
|
||||
pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
|
||||
where pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus}
|
||||
)
|
||||
)
|
||||
AND pi.flow_type = #{params.qdqrFlowTypeValue}
|
||||
)temp
|
||||
<where>
|
||||
<if test="params.projectName != null and params.projectName !=''">
|
||||
and (
|
||||
temp.project_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
|
||||
or temp.year_name like CONCAT(CONCAT('%',#{params.projectName}),'%')
|
||||
)
|
||||
</if>
|
||||
<if test="params.serialNumber != null and params.serialNumber !=''">
|
||||
and (
|
||||
temp.serial_number like CONCAT(CONCAT('%',#{params.serialNumber}),'%')
|
||||
)
|
||||
</if>
|
||||
<if test="params.flowType != null and params.flowType !=''">
|
||||
and temp.flow_type = #{params.flowType}
|
||||
</if>
|
||||
<if test="params.status != null and params.status !=''">
|
||||
and temp.status = #{params.status}
|
||||
</if>
|
||||
<if test="params.createBy != null and params.createBy != ''">
|
||||
and temp.create_by = #{params.createBy}
|
||||
</if>
|
||||
</where>
|
||||
<include refid="BaseQuerySql"/>
|
||||
order by temp.end_time asc
|
||||
</select>
|
||||
<select id="queryLawsAssessPageList" resultType="com.jero.modules.todoCenter.vo.ProcessInfoVO">
|
||||
select temp.* from (
|
||||
SELECT
|
||||
pi.id,
|
||||
pi.buss_document_library_id,
|
||||
bdl.serial_number,
|
||||
bdl.title,
|
||||
bdl.title_en,
|
||||
<if test="params.cut == 'cn'">
|
||||
concat(bdl.serial_number,'、',bdl.title) as standard_info,
|
||||
</if>
|
||||
<if test="params.cut == 'en'">
|
||||
concat(bdl.serial_number,'、',bdl.title_en) as standard_info,
|
||||
</if>
|
||||
pi.flow_type,
|
||||
pi.end_time,
|
||||
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.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=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
and (
|
||||
pi.id IN (
|
||||
SELECT
|
||||
pid.process_info_id
|
||||
FROM
|
||||
process_info_detail pid
|
||||
where pid.user_id = #{params.currentUserId}
|
||||
<if test="params.taskStatus != null and params.taskStatus != ''">
|
||||
and pid.status = #{params.taskStatus}
|
||||
</if>
|
||||
)
|
||||
)
|
||||
<if test="params.queryType == 'issuedProcess'">
|
||||
and pi.create_by = #{params.createBy}
|
||||
</if>
|
||||
|
||||
</where>
|
||||
) temp
|
||||
<include refid="BaseQuerySql"/>
|
||||
<if test="params.queryType == 'todoProcess' ">
|
||||
order by temp.end_time asc
|
||||
</if>
|
||||
<if test="params.queryType != 'todoProcess' ">
|
||||
order by temp.end_time desc
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+9
@@ -2,6 +2,7 @@ package com.jero.modules.todoCenter.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.List;
|
||||
@@ -73,4 +74,12 @@ public interface IProcessInfoDetailEOService extends IService<ProcessInfoDetailE
|
||||
* @param processInfoDetailEOList
|
||||
*/
|
||||
void batchInsertDreUserTask(List<ProcessInfoDetailEO> processInfoDetailEOList);
|
||||
|
||||
/**
|
||||
* 更新待办中心流程信息明细表,处理人
|
||||
* @param projectLawsInventoryEO
|
||||
* @param pId
|
||||
* @param flowType
|
||||
*/
|
||||
void updateProcessInfoDetailUserId(ProjectLawsInventoryEO projectLawsInventoryEO, String pId, String flowType);
|
||||
}
|
||||
|
||||
+35
-6
@@ -71,23 +71,52 @@ public interface IProcessInfoEOService extends IService<ProcessInfoEO> {
|
||||
Result<?> processCall(JSONObject jsonObject);
|
||||
|
||||
/**
|
||||
* 待办任务列表
|
||||
* 项目流程-待办任务列表
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
IPage todoTaskList(Map<String,Object> params);
|
||||
IPage projectProcessTodoTaskList(Map<String,Object> params);
|
||||
|
||||
/**
|
||||
* 已办任务列表
|
||||
* 项目流程-已办任务列表
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
IPage doneProcess(Map<String, Object> params);
|
||||
IPage projectProcessDoneProcess(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 已发任务列表
|
||||
* 项目流程-已发任务列表
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
IPage issuedProcess(Map<String, Object> params);
|
||||
IPage projectProcessIssuedProcess(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 法规清单变更,清除对应待办中心数据。
|
||||
* @param params
|
||||
*/
|
||||
void change(Map<String,Object> params);
|
||||
|
||||
/**
|
||||
* 法规评估-待办任务列表
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
IPage lawsAssessTodoTaskList(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 法规评估-已办任务列表
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
IPage lawsAssessDoneProcess(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 法规评估-已发任务列表
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
IPage lawsAssessIssuedProcess(Map<String, Object> params);
|
||||
|
||||
Result<?> initHistoryData(Map<String, Object> params);
|
||||
}
|
||||
|
||||
+48
@@ -6,11 +6,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||
import com.jero.modules.project.enums.OperatorTypeEnum;
|
||||
import com.jero.modules.project.enums.RequestSourceEnum;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
|
||||
import com.jero.modules.todoCenter.mapper.ProcessInfoDetailEOMapper;
|
||||
import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService;
|
||||
import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum;
|
||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -175,4 +179,48 @@ public class ProcessInfoDetailEOServiceImpl extends ServiceImpl<ProcessInfoDetai
|
||||
|
||||
this.saveBatch(processInfoDetailEOList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProcessInfoDetailUserId(ProjectLawsInventoryEO projectLawsInventoryEO, String pId, String flowType) {
|
||||
QueryWrapper<ProcessInfoDetailEO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(ProcessInfoDetailEO::getActiProcInstId,pId);
|
||||
queryWrapper.lambda().eq(ProcessInfoDetailEO::getFlowType,flowType);
|
||||
List<ProcessInfoDetailEO> processInfoDetailEOList = this.list(queryWrapper);
|
||||
if(CollectionUtils.isNotEmpty(processInfoDetailEOList)){
|
||||
for (ProcessInfoDetailEO processInfoDetailEO : processInfoDetailEOList) {
|
||||
if(StringUtils.equals(flowType, FlowTypeEnum.SJFHXSHLC.getValue())){
|
||||
if(StringUtils.equals(processInfoDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.THE_RESPONSIBLE_PERSON_HANDLES_THE_TASK.getKey())){
|
||||
//更新责任人的任务
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getDesignDutyId());
|
||||
}
|
||||
if(StringUtils.equals(processInfoDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.SPONSOR_REVIEW.getKey())){
|
||||
//更新发起人的任务
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getDesignInitiatorId());
|
||||
}
|
||||
}
|
||||
if(StringUtils.equals(flowType, FlowTypeEnum.PREHOMOQRLC.getValue())){
|
||||
if(StringUtils.equals(processInfoDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.THE_RESPONSIBLE_PERSON_HANDLES_THE_TASK.getKey())){
|
||||
//更新责任人的任务
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getPrehomoDutyId());
|
||||
}
|
||||
if(StringUtils.equals(processInfoDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.SPONSOR_REVIEW.getKey())){
|
||||
//更新发起人的任务
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getPrehomoInitiatorId());
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){
|
||||
if(StringUtils.equals(processInfoDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.THE_RESPONSIBLE_PERSON_HANDLES_THE_TASK.getKey())){
|
||||
//更新责任人的任务
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getVerifyDutyId());
|
||||
}
|
||||
if(StringUtils.equals(processInfoDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.SPONSOR_REVIEW.getKey())){
|
||||
//更新发起人的任务
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getVerifyInitiatorId());
|
||||
}
|
||||
}
|
||||
this.baseMapper.updateById(processInfoDetailEO);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+731
-10
@@ -7,11 +7,21 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO;
|
||||
import com.jero.modules.lawsOpinionGather.service.ILawsOpinionGatherEOService;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService;
|
||||
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||
import com.jero.modules.project.entity.ProjectLibraryBase;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO;
|
||||
import com.jero.modules.project.enums.OperatorTypeEnum;
|
||||
import com.jero.modules.project.enums.RequestSourceEnum;
|
||||
import com.jero.modules.project.enums.TaskStatusEnum;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
|
||||
import com.jero.modules.project.enums.*;
|
||||
import com.jero.modules.project.service.IProjectLawsInventoryEOService;
|
||||
import com.jero.modules.project.service.IProjectLibraryBaseService;
|
||||
import com.jero.modules.project.service.IProjectTaskInventoryDetailEOService;
|
||||
import com.jero.modules.project.service.IProjectTaskInventoryEOService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
|
||||
@@ -22,12 +32,15 @@ import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService;
|
||||
import com.jero.modules.todoCenter.service.IProcessInfoEOService;
|
||||
import com.jero.modules.todoCenter.vo.ProcessInfoVO;
|
||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||
import com.jero.modules.wkflow.feginClient.impl.WorkFlowFeignClientImpl;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -51,6 +64,20 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private IProjectTaskInventoryDetailEOService projectTaskInventoryDetailEOService;
|
||||
@Autowired
|
||||
private IProjectTaskInventoryEOService projectTaskInventoryEOService;
|
||||
@Autowired
|
||||
private IProjectLawsInventoryEOService projectLawsInventoryEOService;
|
||||
@Autowired
|
||||
private WorkFlowFeignClientImpl workFlowFeignClient;
|
||||
@Autowired
|
||||
private IProjectLibraryBaseService projectLibraryBaseService;
|
||||
@Autowired
|
||||
private ILawsOpinionGatherEOService lawsOpinionGatherEOService;
|
||||
@Autowired
|
||||
private ILawsTechnologyEvaluationEOService lawsTechnologyEvaluationEOService;
|
||||
@Autowired
|
||||
private ILawsTechnologyEvaluationFlowDetailEOService lawsTechnologyEvaluationFlowDetailEOService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -99,6 +126,10 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
|
||||
QueryWrapper<ProcessInfoDetailEO> detailRemoveWrap = new QueryWrapper<>();
|
||||
detailRemoveWrap.lambda().in(ProcessInfoDetailEO::getProcessInfoId,ids);
|
||||
this.processInfoDetailEOService.remove(detailRemoveWrap);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -150,7 +181,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage todoTaskList(Map<String, Object> params) {
|
||||
public IPage projectProcessTodoTaskList(Map<String, Object> params) {
|
||||
Integer pageNo = Integer.parseInt(params.get("pageNo").toString());
|
||||
Integer pageSize = Integer.parseInt(params.get("pageSize").toString());
|
||||
String cut = (String) params.get("cut");
|
||||
@@ -174,7 +205,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage doneProcess(Map<String, Object> params) {
|
||||
public IPage projectProcessDoneProcess(Map<String, Object> params) {
|
||||
Integer pageNo = Integer.parseInt(params.get("pageNo").toString());
|
||||
Integer pageSize = Integer.parseInt(params.get("pageSize").toString());
|
||||
String cut = (String) params.get("cut");
|
||||
@@ -188,13 +219,13 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
params.put("currentUserId",currentUser.getId());
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryPageList(page,params);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessPageList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage issuedProcess(Map<String, Object> params) {
|
||||
public IPage projectProcessIssuedProcess(Map<String, Object> params) {
|
||||
Integer pageNo = Integer.parseInt(params.get("pageNo").toString());
|
||||
Integer pageSize = Integer.parseInt(params.get("pageSize").toString());
|
||||
String cut = (String) params.get("cut");
|
||||
@@ -206,23 +237,175 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
this.setFlowTypeList(flowTypeList);
|
||||
params.put("flowTypeList",flowTypeList);
|
||||
params.put("currentUserId",currentUser.getId());
|
||||
params.put("queryType","issuedProcess");
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryPageList(page,params);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryProjectProcessPageList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void change(Map<String, Object> params) {
|
||||
//需要清除数据的法规清单ids
|
||||
String ids = (String)params.get("ids");
|
||||
List<String> projectLawsInventoryIdList = Arrays.asList(ids.split(","));
|
||||
if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){
|
||||
//清除清单确认相关数据
|
||||
QueryWrapper<ProcessInfoDetailEO> qdqrDetailRemoveWrap = new QueryWrapper<>();
|
||||
qdqrDetailRemoveWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId,projectLawsInventoryIdList);
|
||||
qdqrDetailRemoveWrap.lambda().eq(ProcessInfoDetailEO::getFlowType,FlowTypeEnum.QDQR.getValue());
|
||||
this.processInfoDetailEOService.remove(qdqrDetailRemoveWrap);
|
||||
|
||||
//查询出所有的清单确认流程
|
||||
QueryWrapper<ProcessInfoEO> qdqrProcessInfoWrap = new QueryWrapper<>();
|
||||
qdqrProcessInfoWrap.lambda().eq(ProcessInfoEO::getFlowType,FlowTypeEnum.QDQR.getValue());
|
||||
List<ProcessInfoEO> qdqrProcessInfoList = this.list(qdqrProcessInfoWrap);
|
||||
if(CollectionUtils.isNotEmpty(qdqrProcessInfoList)){
|
||||
List<String> qdqrProcessInfoIdList = qdqrProcessInfoList.stream().map(ProcessInfoEO::getId).distinct().collect(Collectors.toList());
|
||||
|
||||
QueryWrapper<ProcessInfoDetailEO> qdqrDetailQueryWrap = new QueryWrapper<>();
|
||||
qdqrDetailQueryWrap.lambda().in(ProcessInfoDetailEO::getProcessInfoId,qdqrProcessInfoIdList);
|
||||
List<ProcessInfoDetailEO> qdqrDetailList = this.processInfoDetailEOService.list(qdqrDetailQueryWrap);
|
||||
if(CollectionUtils.isNotEmpty(qdqrDetailList)){
|
||||
qdqrProcessInfoIdList = qdqrProcessInfoIdList.stream().filter(qdqrProcessInfoId -> {
|
||||
boolean flag = true;
|
||||
for (ProcessInfoDetailEO processInfoDetailEO : qdqrDetailList) {
|
||||
if (StringUtils.equals(qdqrProcessInfoId, processInfoDetailEO.getProcessInfoId())) {
|
||||
flag = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).distinct().collect(Collectors.toList());
|
||||
}else {
|
||||
qdqrProcessInfoIdList.addAll(qdqrProcessInfoIdList);
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(qdqrProcessInfoIdList)){
|
||||
this.baseMapper.deleteBatchIds(qdqrProcessInfoIdList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1.清除任务确认相关数据
|
||||
* 2.清除设计符合性流程相关数据
|
||||
* 3.清除Pre-Homo确认流程相关数据
|
||||
* 4.清除验证符合性流程相关数据
|
||||
*/
|
||||
List<String> flowTypeList = new ArrayList<>();
|
||||
flowTypeList.add(FlowTypeEnum.RWQRLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.SJFHXSHLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.PREHOMOQRLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.YZFHXSCLC.getValue());
|
||||
|
||||
//根据法规清单id,查询待办中心数据
|
||||
QueryWrapper<ProcessInfoEO> processInfoQueryWrap = new QueryWrapper<>();
|
||||
processInfoQueryWrap.lambda().in(ProcessInfoEO::getProjectLawsInventoryId,projectLawsInventoryIdList);
|
||||
processInfoQueryWrap.lambda().in(ProcessInfoEO::getFlowType,flowTypeList);
|
||||
List<ProcessInfoEO> processInfoEOList = this.list(processInfoQueryWrap);
|
||||
if(CollectionUtils.isNotEmpty(processInfoEOList)){
|
||||
List<String> processInfoIdList = processInfoEOList.stream().map(ProcessInfoEO::getId).distinct().collect(Collectors.toList());
|
||||
/*QueryWrapper<ProcessInfoDetailEO> detailRemoveWrap = new QueryWrapper<>();
|
||||
detailRemoveWrap.lambda().in(ProcessInfoDetailEO::getProcessInfoId,processInfoIdList);
|
||||
this.processInfoDetailEOService.remove(detailRemoveWrap);*/
|
||||
this.deleteByIds(processInfoIdList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage lawsAssessTodoTaskList(Map<String, Object> params) {
|
||||
Integer pageNo = Integer.parseInt(params.get("pageNo").toString());
|
||||
Integer pageSize = Integer.parseInt(params.get("pageSize").toString());
|
||||
String cut = (String) params.get("cut");
|
||||
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
params.put("createBy",currentUser.getId());
|
||||
params.put("queryType","todoProcess");
|
||||
|
||||
List<String> flowTypeList = new ArrayList<>();
|
||||
flowTypeList.add(FlowTypeEnum.FGYJSJLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.FGJSPG.getValue());
|
||||
params.put("flowTypeList",flowTypeList);
|
||||
params.put("currentUserId",currentUser.getId());
|
||||
params.put("taskStatus", TaskStatusEnum.NOT_DONE.getValue());
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage lawsAssessDoneProcess(Map<String, Object> params) {
|
||||
Integer pageNo = Integer.parseInt(params.get("pageNo").toString());
|
||||
Integer pageSize = Integer.parseInt(params.get("pageSize").toString());
|
||||
String cut = (String) params.get("cut");
|
||||
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
params.put("createBy",currentUser.getId());
|
||||
params.put("queryType","doneProcess");
|
||||
|
||||
List<String> flowTypeList = new ArrayList<>();
|
||||
flowTypeList.add(FlowTypeEnum.FGYJSJLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.FGJSPG.getValue());
|
||||
params.put("flowTypeList",flowTypeList);
|
||||
params.put("currentUserId",currentUser.getId());
|
||||
params.put("taskStatus", TaskStatusEnum.HAVE_DONE.getValue());
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage lawsAssessIssuedProcess(Map<String, Object> params) {
|
||||
Integer pageNo = Integer.parseInt(params.get("pageNo").toString());
|
||||
Integer pageSize = Integer.parseInt(params.get("pageSize").toString());
|
||||
String cut = (String) params.get("cut");
|
||||
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
params.put("createBy",currentUser.getId());
|
||||
params.put("queryType","issuedProcess");
|
||||
|
||||
List<String> flowTypeList = new ArrayList<>();
|
||||
flowTypeList.add(FlowTypeEnum.FGYJSJLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.FGJSPG.getValue());
|
||||
params.put("flowTypeList",flowTypeList);
|
||||
params.put("currentUserId",currentUser.getId());
|
||||
params.put("taskStatus", TaskStatusEnum.HAVE_DONE.getValue());
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage<ProcessInfoVO> result = this.baseMapper.queryLawsAssessPageList(page,params);
|
||||
this.disposeData(result.getRecords(),cut);
|
||||
return result;
|
||||
}
|
||||
|
||||
public void setFlowTypeList(List<String> flowTypeList){
|
||||
flowTypeList.add(FlowTypeEnum.QDQR.getValue());
|
||||
//flowTypeList.add(FlowTypeEnum.QDQR.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.RWQRLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.SJFHXSHLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.YZFHXSCLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.PREHOMOQRLC.getValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理项目流程数据
|
||||
* @param datas
|
||||
* @param cut
|
||||
*/
|
||||
public void disposeData(List<ProcessInfoVO> datas, String cut){
|
||||
if(CollectionUtils.isNotEmpty(datas)){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date currentDate = new Date();
|
||||
try {
|
||||
currentDate = sdf.parse(sdf.format(currentDate));
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
List<String> processInfoIdList = datas.stream().map(ProcessInfoVO::getId).distinct().collect(Collectors.toList());
|
||||
|
||||
QueryWrapper<ProcessInfoDetailEO> processInfoDetailQueryWrap = new QueryWrapper<>();
|
||||
@@ -244,9 +427,10 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.groupingBy(ProcessInfoDetailEO::getProcessInfoId));
|
||||
//设置责任人反馈意见
|
||||
this.setPersonChargeFeedback(datas);
|
||||
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
|
||||
datas.forEach(data -> {
|
||||
//设置上一个操作人。
|
||||
for (Map.Entry<String, List<ProcessInfoDetailEO>> detailMap : lastAssigneeDetailMap.entrySet()) {
|
||||
@@ -289,6 +473,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
|
||||
List<SysUser> sysUserList = this.sysUserService.querySysUserListByIdList(userIdList);
|
||||
|
||||
Date finalCurrentDate = currentDate;
|
||||
datas.forEach(data -> {
|
||||
if(StringUtils.isNotEmpty(data.getFlowType())){
|
||||
data.setFlowTypeShow(FlowTypeEnum.getTextByValue(data.getFlowType(),cut));
|
||||
@@ -338,7 +523,543 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
}).map(ProjectTaskInventoryDetailEO::getId).collect(Collectors.joining(","));
|
||||
data.setPrimaryKeyId(primaryKeyId);
|
||||
}
|
||||
|
||||
//判断当前任务是否过期
|
||||
Date endTime = data.getEndTime();
|
||||
try {
|
||||
endTime = sdf.parse(sdf.format(endTime));
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(finalCurrentDate.after(endTime) || finalCurrentDate.equals(endTime)){
|
||||
data.setEndTimePastDueFlag(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置符合性流程中责任人反馈意见
|
||||
* @param datas
|
||||
*/
|
||||
public void setPersonChargeFeedback(List<ProcessInfoVO> datas){
|
||||
//符合性流程实例id
|
||||
List<String> complianceProcessPrcIdList = datas.stream().filter(data -> {
|
||||
boolean designFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue());
|
||||
boolean preHomoFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue());
|
||||
boolean verifyFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue());
|
||||
boolean flag = false;
|
||||
if(designFlowFlag || preHomoFlowFlag || verifyFlowFlag){
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(ProcessInfoVO::getActiProcInstId).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(complianceProcessPrcIdList)){
|
||||
QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrap = new QueryWrapper<>();
|
||||
taskInventoryQueryWrap.and(queryWrap -> {
|
||||
queryWrap.lambda().in(ProjectTaskInventoryEO::getDesignPId,complianceProcessPrcIdList)
|
||||
.or().in(ProjectTaskInventoryEO::getPrehomoPId,complianceProcessPrcIdList)
|
||||
.or().in(ProjectTaskInventoryEO::getVerifyPId,complianceProcessPrcIdList);
|
||||
});
|
||||
//查询出符合性流程相关的任务清单信息。
|
||||
List<ProjectTaskInventoryEO> taskInventoryList = this.projectTaskInventoryEOService.list(taskInventoryQueryWrap);
|
||||
|
||||
datas.forEach(data -> {
|
||||
boolean designFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue());
|
||||
boolean preHomoFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue());
|
||||
boolean verifyFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue());
|
||||
String personChargeFeedback = taskInventoryList.stream().filter(taskInventory -> {
|
||||
boolean flag = false;
|
||||
if(designFlowFlag){
|
||||
if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getDesignPId())){
|
||||
flag = true;
|
||||
}
|
||||
}else if(preHomoFlowFlag){
|
||||
if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getPrehomoPId())){
|
||||
flag = true;
|
||||
}
|
||||
}else if(verifyFlowFlag){
|
||||
if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getVerifyPId())){
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).map(ProjectTaskInventoryEO::getDesignPersonChargeFeedback).collect(Collectors.joining(","));
|
||||
|
||||
data.setPersonChargeFeedback(personChargeFeedback);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Result<?> initHistoryData(Map<String, Object> params) {
|
||||
/**
|
||||
* disposeType:处理类型
|
||||
* value:
|
||||
* 10:清单确认
|
||||
* 1:任务确认
|
||||
* 2:设计符合性
|
||||
* 3:prehomo确认
|
||||
* 4:验证符合性
|
||||
* 5:法规意见收集
|
||||
* 6:法规技术评估
|
||||
* 多个之间使用英文逗号分隔.
|
||||
*/
|
||||
String disposeType = (String) params.get("disposeType");
|
||||
//查询出所有的法规清单数据
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = this.projectLawsInventoryEOService.list();
|
||||
//查询出所有项目库信息
|
||||
List<ProjectLibraryBase> projectLibraryBaseList = this.projectLibraryBaseService.list();
|
||||
|
||||
//1、清单确认
|
||||
if(StringUtils.contains(disposeType,FlowTypeEnum.QDQR.getValue())){
|
||||
this.initQdqr(projectLawsInventoryEOList,projectLibraryBaseList);
|
||||
}
|
||||
|
||||
//2.任务确认
|
||||
if(StringUtils.contains(disposeType,FlowTypeEnum.RWQRLC.getValue())){
|
||||
this.initRwqr(projectLawsInventoryEOList);
|
||||
}
|
||||
|
||||
List<ProjectTaskInventoryEO> taskInventoryEOList = this.projectTaskInventoryEOService.list();
|
||||
|
||||
QueryWrapper<ProjectTaskInventoryDetailEO> taskInventoryDetailQueryWrap = new QueryWrapper<>();
|
||||
taskInventoryDetailQueryWrap.lambda().eq(ProjectTaskInventoryDetailEO::getStatus,TaskStatusEnum.NOT_DONE.getValue());
|
||||
List<ProjectTaskInventoryDetailEO> taskInventoryDetailEOList = this.projectTaskInventoryDetailEOService.list(taskInventoryDetailQueryWrap);
|
||||
|
||||
//3.设计符合性流程
|
||||
if(StringUtils.contains(disposeType,FlowTypeEnum.SJFHXSHLC.getValue())){
|
||||
this.initConformance(FlowTypeEnum.SJFHXSHLC.getValue(),projectLawsInventoryEOList,taskInventoryEOList,taskInventoryDetailEOList);
|
||||
}
|
||||
//4.prehomo流程
|
||||
if(StringUtils.contains(disposeType,FlowTypeEnum.PREHOMOQRLC.getValue())){
|
||||
this.initConformance(FlowTypeEnum.PREHOMOQRLC.getValue(),projectLawsInventoryEOList,taskInventoryEOList,taskInventoryDetailEOList);
|
||||
}
|
||||
//5.验证符合性流程
|
||||
if(StringUtils.contains(disposeType,FlowTypeEnum.YZFHXSCLC.getValue())){
|
||||
this.initConformance(FlowTypeEnum.YZFHXSCLC.getValue(),projectLawsInventoryEOList,taskInventoryEOList,taskInventoryDetailEOList);
|
||||
}
|
||||
//6.法规技术评估
|
||||
if(StringUtils.contains(disposeType,FlowTypeEnum.FGJSPG.getValue())){
|
||||
this.initFgjspg();
|
||||
}
|
||||
//7.法规意见收集
|
||||
if(StringUtils.contains(disposeType,FlowTypeEnum.FGYJSJLC.getValue())){
|
||||
this.initFgyjsj();
|
||||
}
|
||||
|
||||
//8.处理之前流程数据在发起的时候,在bus_process_new中没有任务数据
|
||||
if(StringUtils.contains(disposeType,"disposeBusProcessNew")){
|
||||
this.workFlowFeignClient.dispostHistoryBusProcessNewData();
|
||||
}
|
||||
return Result.OK("初始化数据成功",disposeType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化清单确认
|
||||
* @param projectLawsInventoryEOList
|
||||
* @param projectLibraryBaseList
|
||||
*/
|
||||
public void initQdqr(List<ProjectLawsInventoryEO> projectLawsInventoryEOList,List<ProjectLibraryBase> projectLibraryBaseList){
|
||||
Map<String, List<ProjectLawsInventoryEO>> qdqrMap = projectLawsInventoryEOList.stream().filter(lawsInventory -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(lawsInventory.getInventoryAffirmStatus(), InventoryAffirmStatusEnum.LIST_TO_CONFIRM.getValue())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.groupingBy(ProjectLawsInventoryEO::getProjectLibraryId));
|
||||
|
||||
if(!Objects.isNull(qdqrMap)){
|
||||
for (Map.Entry<String, List<ProjectLawsInventoryEO>> map : qdqrMap.entrySet()) {
|
||||
String projectLibraryId = map.getKey();
|
||||
ProjectLibraryBase projectLibraryBaseEO = projectLibraryBaseList.stream().filter(projectLibraryBase -> {
|
||||
boolean flag = false;
|
||||
if(StringUtils.equals(projectLibraryId,projectLibraryBase.getId())){
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList()).get(0);
|
||||
|
||||
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||
|
||||
List<ProjectLawsInventoryEO> qdqrLawsInventoryList = map.getValue();
|
||||
if(CollectionUtils.isNotEmpty(qdqrLawsInventoryList)){
|
||||
qdqrLawsInventoryList.forEach(projectLawsInventoryEO-> {
|
||||
boolean homologationEngineerFlag = (
|
||||
StringUtils.isEmpty(projectLawsInventoryEO.getHomologationEngineerSubmitStatus())
|
||||
|| StringUtils.equals(projectLawsInventoryEO.getHomologationEngineerSubmitStatus(),"1")
|
||||
);
|
||||
boolean regulationOwnerFlag = (
|
||||
StringUtils.isEmpty(projectLawsInventoryEO.getRegulationOwnerSubmitStatus())
|
||||
|| StringUtils.equals(projectLawsInventoryEO.getRegulationOwnerSubmitStatus(),"1")
|
||||
);
|
||||
|
||||
if(homologationEngineerFlag){
|
||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||
processInfoDetailEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getHomologationEngineerId());
|
||||
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.HOMOLOGATION_ENGINEER_AUDIT.getKey());
|
||||
processInfoDetailEO.setEndTime(projectLawsInventoryEO.getInventoryAffirmDueDate());
|
||||
processInfoDetailEO.setCreateTime(new Date());
|
||||
processInfoDetailEO.setCreateBy(projectLibraryBaseEO.getStudioEngineer());
|
||||
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
if(regulationOwnerFlag){
|
||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||
processInfoDetailEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
|
||||
processInfoDetailEO.setUserId(projectLawsInventoryEO.getRegulationOwnerId());
|
||||
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.REGULATION_OWNER_AUDIT.getKey());
|
||||
processInfoDetailEO.setEndTime(projectLawsInventoryEO.getInventoryAffirmDueDate());
|
||||
processInfoDetailEO.setCreateTime(new Date());
|
||||
processInfoDetailEO.setCreateBy(projectLibraryBaseEO.getStudioEngineer());
|
||||
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
|
||||
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
});
|
||||
|
||||
//往待办中心添加数据。
|
||||
ProcessInfoEO processInfoEO = new ProcessInfoEO();
|
||||
this.projectLawsInventoryEOService.addProcessInfo(processInfoEO,projectLibraryId,null);
|
||||
this.projectLawsInventoryEOService.addProcessInfoDetail(processInfoEO.getId(),processInfoDetailEOList,null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化任务确认
|
||||
* @param projectLawsInventoryEOList
|
||||
*/
|
||||
public void initRwqr(List<ProjectLawsInventoryEO> projectLawsInventoryEOList){
|
||||
String flowType = FlowTypeEnum.RWQRLC.getValue();
|
||||
List<Map<String,Object>> rwqrResult = this.workFlowFeignClient.queryProcessInfoByPrcType(flowType);
|
||||
if(CollectionUtils.isNotEmpty(rwqrResult)){
|
||||
for (Map<String, Object> rwqrMap : rwqrResult) {
|
||||
List<ProjectLawsInventoryEO> lawsInventoryList = projectLawsInventoryEOList.stream().filter(projectLawsInventory -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals((String) rwqrMap.get("projectLawsInventoryId"), projectLawsInventory.getId())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(lawsInventoryList)){
|
||||
ProjectLawsInventoryEO projectLawsInventoryEO = lawsInventoryList.get(0);
|
||||
|
||||
rwqrMap.put("projectLibraryId",projectLawsInventoryEO.getProjectLibraryId());
|
||||
rwqrMap.put("projectLawsInventoryId",projectLawsInventoryEO.getId());
|
||||
rwqrMap.put("standId",projectLawsInventoryEO.getStandId());
|
||||
rwqrMap.put("flowType",flowType);
|
||||
|
||||
List<Map<String,Object>> taskMapList = (List<Map<String,Object>>)rwqrMap.get("taskMapList");
|
||||
if(CollectionUtils.isNotEmpty(taskMapList)){
|
||||
String status = TodoCenterStatusEnum.COMPLETED.getValue();
|
||||
for (Map<String, Object> taskMap : taskMapList) {
|
||||
String deleteReason = (String) taskMap.get("deleteReason");
|
||||
if(StringUtils.isEmpty(deleteReason)){
|
||||
//如果是dre确认节点,将状态设置为询问,否则就是待确认。
|
||||
if(StringUtils.equals((String)taskMap.get("taskDefinitionKey"),"dreqr")){
|
||||
status = TodoCenterStatusEnum.INQUIRY.getValue();
|
||||
}else {
|
||||
status = TodoCenterStatusEnum.LIST_TO_CONFIRM.getValue();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
rwqrMap.put("status",status);
|
||||
this.addProcessInfo(rwqrMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化符合性流程
|
||||
* @param flowType
|
||||
*/
|
||||
public void initConformance(String flowType,List<ProjectLawsInventoryEO> projectLawsInventoryEOList,List<ProjectTaskInventoryEO> taskInventoryEOList,List<ProjectTaskInventoryDetailEO> taskInventoryDetailEOList){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
List<Map<String,Object>> conformanceResult = this.workFlowFeignClient.queryProcessInfoByPrcType(flowType);
|
||||
if(CollectionUtils.isNotEmpty(conformanceResult)){
|
||||
for (Map<String, Object> conformanceMap : conformanceResult) {
|
||||
String actiProcInstId = (String) conformanceMap.get("actiProcInstId");
|
||||
List<ProjectTaskInventoryEO> taskInventoryListTemp = taskInventoryEOList.stream().filter(taskInventoryEO -> {
|
||||
boolean flag = false;
|
||||
if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){
|
||||
if (StringUtils.equals(taskInventoryEO.getDesignPId(), actiProcInstId)) {
|
||||
flag = true;
|
||||
}
|
||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())){
|
||||
if (StringUtils.equals(taskInventoryEO.getPrehomoPId(), actiProcInstId)) {
|
||||
flag = true;
|
||||
}
|
||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){
|
||||
if (StringUtils.equals(taskInventoryEO.getVerifyPId(), actiProcInstId)) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(taskInventoryListTemp)){
|
||||
List<Map<String,Object>> taskMapList = (List<Map<String,Object>>)conformanceMap.get("taskMapList");
|
||||
if(CollectionUtils.isNotEmpty(taskMapList)){
|
||||
for (Map<String, Object> taskMap : taskMapList) {
|
||||
String taskId = (String) taskMap.get("taskId");
|
||||
String userId = "";
|
||||
for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : taskInventoryDetailEOList) {
|
||||
if(StringUtils.equals(taskId,projectTaskInventoryDetailEO.getTaskId())){
|
||||
userId = projectTaskInventoryDetailEO.getUserId();
|
||||
}
|
||||
}
|
||||
taskMap.put("userId",userId);
|
||||
}
|
||||
String endTimeStr = "";
|
||||
if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue()) && taskInventoryListTemp.get(0).getDesignDueDate() != null){
|
||||
endTimeStr = sdf.format(taskInventoryListTemp.get(0).getDesignDueDate());
|
||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue()) && taskInventoryListTemp.get(0).getPrehomoDueDate() != null){
|
||||
endTimeStr = sdf.format(taskInventoryListTemp.get(0).getPrehomoDueDate());
|
||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue()) && taskInventoryListTemp.get(0).getVerifyDueDate() != null){
|
||||
endTimeStr = sdf.format(taskInventoryListTemp.get(0).getVerifyDueDate());
|
||||
}
|
||||
|
||||
String projectLawsInventoryId = taskInventoryListTemp.get(0).getProjectLawsInventoryId();
|
||||
String projectLibraryId = "";
|
||||
String bussDocumentLibraryId = "";
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryListTemp = projectLawsInventoryEOList.stream().filter(lawsInventory -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(lawsInventory.getId(), projectLawsInventoryId)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(projectLawsInventoryListTemp)){
|
||||
projectLibraryId = projectLawsInventoryListTemp.get(0).getProjectLibraryId();
|
||||
bussDocumentLibraryId = projectLawsInventoryListTemp.get(0).getStandId();
|
||||
}
|
||||
conformanceMap.put("flowType",flowType);
|
||||
conformanceMap.put("endTime",endTimeStr);
|
||||
conformanceMap.put("projectLibraryId",projectLibraryId);
|
||||
conformanceMap.put("projectLawsInventoryId",projectLawsInventoryId);
|
||||
conformanceMap.put("bussDocumentLibraryId",bussDocumentLibraryId);
|
||||
|
||||
String status = TodoCenterStatusEnum.COMPLETED.getValue();
|
||||
for (Map<String, Object> taskMap : taskMapList) {
|
||||
String deleteReason = (String) taskMap.get("deleteReason");
|
||||
if(StringUtils.isEmpty(deleteReason)){
|
||||
//如果是发起人审查节点,状态应该为 待审核,否则就是待提交
|
||||
if(StringUtils.equals((String)taskMap.get("taskDefinitionKey"),"fqrsh")){
|
||||
status = TodoCenterStatusEnum.TO_AUDIT.getValue();
|
||||
}else {
|
||||
status = TodoCenterStatusEnum.TO_SUBMIT.getValue();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
conformanceMap.put("status",status);
|
||||
|
||||
this.addProcessInfo(conformanceMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化法规技术评估
|
||||
*/
|
||||
public void initFgjspg(){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String flowType = FlowTypeEnum.FGJSPG.getValue();
|
||||
List<Map<String,Object>> fgjspgResult = this.workFlowFeignClient.queryProcessInfoByPrcType(flowType);
|
||||
if(CollectionUtils.isNotEmpty(fgjspgResult)){
|
||||
List<LawsTechnologyEvaluationEO> lawsTechnologyEvaluationEOList = this.lawsTechnologyEvaluationEOService.list();
|
||||
List<LawsTechnologyEvaluationFlowDetailEO> flowDetailEOList = this.lawsTechnologyEvaluationFlowDetailEOService.list();
|
||||
|
||||
for (Map<String, Object> fgjspgMap : fgjspgResult) {
|
||||
List<Map<String,Object>> taskMapList = (List<Map<String,Object>>)fgjspgMap.get("taskMapList");
|
||||
if(CollectionUtils.isNotEmpty(taskMapList)){
|
||||
String standId = "";
|
||||
String endTimeStr = "";
|
||||
String actiProcInstId = (String) fgjspgMap.get("actiProcInstId");
|
||||
|
||||
List<LawsTechnologyEvaluationFlowDetailEO> flowDetailEOListTemp = flowDetailEOList.stream().filter(flowDetailEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(actiProcInstId, flowDetailEO.getActiProcInstId())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(flowDetailEOListTemp)){
|
||||
String lawsTechnologyEvaluationId = flowDetailEOListTemp.get(0).getLawsTechnologyEvaluationId();
|
||||
List<LawsTechnologyEvaluationEO> technologyEvaluationEOListTemp = lawsTechnologyEvaluationEOList.stream().filter(lawsTechnologyEvaluation -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(lawsTechnologyEvaluationId, lawsTechnologyEvaluation.getId())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(technologyEvaluationEOListTemp)){
|
||||
standId = technologyEvaluationEOListTemp.get(0).getStandId();
|
||||
endTimeStr = sdf.format(technologyEvaluationEOListTemp.get(0).getEndTime());
|
||||
}
|
||||
}
|
||||
|
||||
fgjspgMap.put("standId",standId);
|
||||
fgjspgMap.put("endTime",endTimeStr);
|
||||
fgjspgMap.put("flowType",flowType);
|
||||
|
||||
String status = TodoCenterStatusEnum.COMPLETED.getValue();
|
||||
for (Map<String, Object> taskMap : taskMapList) {
|
||||
String deleteReason = (String) taskMap.get("deleteReason");
|
||||
if(StringUtils.isEmpty(deleteReason)){
|
||||
//如果是发起人审查节点,状态应该为 待审核,否则就是待提交
|
||||
if(StringUtils.equals((String)taskMap.get("taskDefinitionKey"),"fqrsc")){
|
||||
status = TodoCenterStatusEnum.TO_AUDIT.getValue();
|
||||
}else {
|
||||
status = TodoCenterStatusEnum.TO_SUBMIT.getValue();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
fgjspgMap.put("status",status);
|
||||
this.addProcessInfo(fgjspgMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化法规意见收集
|
||||
*/
|
||||
public void initFgyjsj(){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String flowType = FlowTypeEnum.FGYJSJLC.getValue();
|
||||
List<Map<String,Object>> fgyjsjResult = this.workFlowFeignClient.queryProcessInfoByPrcType(flowType);
|
||||
|
||||
if(CollectionUtils.isNotEmpty(fgyjsjResult)){
|
||||
List<LawsOpinionGatherEO> lawsOpinionGatherEOList = this.lawsOpinionGatherEOService.list();
|
||||
for (Map<String, Object> fgyjsjMap : fgyjsjResult) {
|
||||
List<Map<String,Object>> taskMapList = (List<Map<String,Object>>)fgyjsjMap.get("taskMapList");
|
||||
if(CollectionUtils.isNotEmpty(taskMapList)){
|
||||
String standId = "";
|
||||
String endTimeStr = "";
|
||||
String actiProcInstId = (String) fgyjsjMap.get("actiProcInstId");
|
||||
List<LawsOpinionGatherEO> lawsOpinionGatherTempList = lawsOpinionGatherEOList.stream().filter(lawsOpinionGatherEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(lawsOpinionGatherEO.getActiProcInstId(), actiProcInstId)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(lawsOpinionGatherTempList)){
|
||||
standId = lawsOpinionGatherTempList.get(0).getStandId();
|
||||
endTimeStr = sdf.format(lawsOpinionGatherTempList.get(0).getEndTime());
|
||||
}
|
||||
fgyjsjMap.put("standId",standId);
|
||||
fgyjsjMap.put("endTime",endTimeStr);
|
||||
fgyjsjMap.put("flowType",flowType);
|
||||
|
||||
String status = TodoCenterStatusEnum.COMPLETED.getValue();
|
||||
for (Map<String, Object> taskMap : taskMapList) {
|
||||
String deleteReason = (String) taskMap.get("deleteReason");
|
||||
if(StringUtils.isEmpty(deleteReason)){
|
||||
//如果还有没提交的任务
|
||||
status = TodoCenterStatusEnum.TO_SUBMIT.getValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
fgyjsjMap.put("status",status);
|
||||
this.addProcessInfo(fgyjsjMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void addProcessInfo(Map<String,Object> params){
|
||||
String prcNum = (String) params.get("prcNum");
|
||||
String prcName = (String) params.get("prcName");
|
||||
String actiProcInstId = (String) params.get("actiProcInstId");
|
||||
String flowType = (String) params.get("flowType");
|
||||
String endTimeStr = "";
|
||||
String projectLibraryId = "";
|
||||
String projectLawsInventoryId = "";
|
||||
String standId = "";
|
||||
String status = (String) params.get("status");
|
||||
String createBy = (String) params.get("createBy");
|
||||
if(StringUtils.equals(flowType,FlowTypeEnum.RWQRLC.getValue())){
|
||||
projectLibraryId = (String) params.get("projectLibraryId");
|
||||
projectLawsInventoryId = (String) params.get("projectLawsInventoryId");
|
||||
standId = (String) params.get("standId");
|
||||
endTimeStr = (String) params.get("endTime");
|
||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.FGYJSJLC.getValue()) || StringUtils.equals(flowType,FlowTypeEnum.FGJSPG.getValue())){
|
||||
standId = (String) params.get("standId");
|
||||
endTimeStr = (String) params.get("endTime");
|
||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue()) || StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())|| StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){
|
||||
projectLibraryId = (String) params.get("projectLibraryId");
|
||||
projectLawsInventoryId = (String) params.get("projectLawsInventoryId");
|
||||
standId = (String) params.get("bussDocumentLibraryId");
|
||||
endTimeStr = (String) params.get("endTime");
|
||||
}
|
||||
|
||||
ProcessInfoEO processInfoEO = new ProcessInfoEO();
|
||||
processInfoEO.setId(actiProcInstId);
|
||||
processInfoEO.setProjectLibraryId(projectLibraryId);
|
||||
processInfoEO.setProjectLawsInventoryId(projectLawsInventoryId);
|
||||
processInfoEO.setActiProcInstId(actiProcInstId);
|
||||
processInfoEO.setFlowType(flowType);
|
||||
processInfoEO.setPrcNum(prcNum);
|
||||
processInfoEO.setPrcName(prcName);
|
||||
processInfoEO.setBussDocumentLibraryId(standId);
|
||||
|
||||
//截止日期
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date endTime = new Date();
|
||||
try {
|
||||
endTime = sdf.parse(endTimeStr);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
processInfoEO.setEndTime(endTime);
|
||||
processInfoEO.setStatus(status);
|
||||
processInfoEO.setCreateBy(createBy);
|
||||
this.baseMapper.insert(processInfoEO);
|
||||
|
||||
List<Map<String,Object>> taskMapList = (List<Map<String,Object>>)params.get("taskMapList");
|
||||
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||
for (Map<String, Object> taskMap : taskMapList) {
|
||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||
processInfoDetailEO.setActiProcInstId((String) taskMap.get("actiProcInstId"));
|
||||
processInfoDetailEO.setTaskId((String) taskMap.get("taskId"));
|
||||
processInfoDetailEO.setTaskDefinitionKey((String) taskMap.get("taskDefinitionKey"));
|
||||
processInfoDetailEO.setUserId((String) taskMap.get("userId"));
|
||||
String taskStatus = (String) taskMap.get("status");
|
||||
if(StringUtils.equals(taskStatus,TaskStatusEnum.HAVE_DONE.getValue())){
|
||||
try {
|
||||
processInfoDetailEO.setSubmitTime(sdf.parse((String) taskMap.get("submitTime")));
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
processInfoDetailEO.setStatus(taskStatus);
|
||||
processInfoDetailEO.setProcessInfoId(processInfoEO.getId());
|
||||
processInfoDetailEO.setFlowType(flowType);
|
||||
processInfoDetailEO.setProjectLawsInventoryId(projectLawsInventoryId);
|
||||
processInfoDetailEO.setCreateTime(new Date());
|
||||
processInfoDetailEO.setCreateBy(createBy);
|
||||
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
|
||||
this.processInfoDetailEOService.saveBatch(processInfoDetailEOList);
|
||||
}
|
||||
}
|
||||
|
||||
+10
-1
@@ -80,8 +80,10 @@ public class ProcessInfoVO implements Serializable {
|
||||
|
||||
/**标准编号*/
|
||||
private String serialNumber;
|
||||
/**标准标题*/
|
||||
/**标准标题-中文*/
|
||||
private String title;
|
||||
/**标准标题-英文*/
|
||||
private String titleEn;
|
||||
/**项目名称*/
|
||||
private String projectName;
|
||||
/**年份*/
|
||||
@@ -98,4 +100,11 @@ public class ProcessInfoVO implements Serializable {
|
||||
private String studioEngineer;
|
||||
/**任务清单明细表id,任务清单明细数据与待办中心明细表 是taskId一对一的关系**/
|
||||
private String primaryKeyId;
|
||||
/**符合性流程:责任人填写反馈意见*/
|
||||
private String personChargeFeedback;
|
||||
/**截止日期 过期标识:true为已经过期 false为没有过期**/
|
||||
private boolean endTimePastDueFlag = false;
|
||||
|
||||
/**标准信息**/
|
||||
private String standardInfo;
|
||||
}
|
||||
|
||||
+14
@@ -181,4 +181,18 @@ public interface WorkFlowFeignClient {
|
||||
|
||||
@RequestMapping(value = "/bat-wkflow/deleteProcessInstanceByPrcIds",method = RequestMethod.GET)
|
||||
Result<String> deleteProcessInstanceByPrcIds(@RequestParam("prcIds") String prcIds);
|
||||
|
||||
/**
|
||||
* 根据流程类型,查询未完成的流程信息
|
||||
* @param prcType
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/bat-wkflow/datas/bus-process-name/queryProcessInfoByPrcType",method = RequestMethod.GET)
|
||||
List<Map<String, Object>> queryProcessInfoByPrcType(@RequestParam("prcType") String prcType);
|
||||
|
||||
/**
|
||||
* 处理历史数据-之前的数据发起的时候在busProcessNew中没有待办信息
|
||||
*/
|
||||
@RequestMapping(value = "/bat-wkflow/datas/bus-process-new/dispostHistoryBusProcessNewData",method = RequestMethod.GET)
|
||||
Result dispostHistoryBusProcessNewData();
|
||||
}
|
||||
|
||||
+16
@@ -196,4 +196,20 @@ public class WorkFlowFeignClientImpl{
|
||||
public Result<String> deleteProcessInstanceByTaskId(@RequestParam("taskId")String taskId){
|
||||
return workFlowFeignClient.deleteProcessInstance(taskId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据流程类型,查询未完成的流程信息
|
||||
* @param prcType
|
||||
* @return
|
||||
*/
|
||||
public List<Map<String, Object>> queryProcessInfoByPrcType(String prcType) {
|
||||
return workFlowFeignClient.queryProcessInfoByPrcType(prcType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理历史数据-之前的数据发起的时候在busProcessNew中没有待办信息
|
||||
*/
|
||||
public Result dispostHistoryBusProcessNewData() {
|
||||
return workFlowFeignClient.dispostHistoryBusProcessNewData();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -509,8 +509,8 @@ module.exports = {
|
||||
AddProcess: '添加流程',
|
||||
RelatedItems: '相关项目',
|
||||
Sponsor: '发起人',
|
||||
CurrentProcessor: '当前处理人',
|
||||
LastProcessor: '上一处理人',
|
||||
CurrentProcessor: '当前操作人',
|
||||
LastProcessor: '上一操作人',
|
||||
ProcessingTime: '办理时间',
|
||||
cutoffTime: '截止时间',
|
||||
ProcessStatus: '流程状态',
|
||||
@@ -1425,9 +1425,9 @@ module.exports = {
|
||||
filledBy:'待分配填写人',
|
||||
parameterToBeInitiated:'参数待发起',
|
||||
listTaskConfirmation:'清单任务确认',
|
||||
completednum: '待填写数量',
|
||||
filledBynum:'待分配填写人数量',
|
||||
parameterToBeInitiatednum:'参数待发起数量',
|
||||
completednum: '待填写',
|
||||
filledBynum:'待分配填写人',
|
||||
parameterToBeInitiatednum:'参数待发起',
|
||||
listToConfirm:'待确认',
|
||||
toSubmit:'待提交',
|
||||
toAudit:'待审核',
|
||||
|
||||
@@ -109,8 +109,10 @@ export default {
|
||||
props = { to: { path: menu.path } }
|
||||
}
|
||||
|
||||
const attrs = { href: menu.path, target: menu.meta.target , title:menu.meta.title }
|
||||
|
||||
const attrs = { href: menu.path, target: menu.meta.target, title: menu.meta.title }
|
||||
if (menu.meta && menu.meta.existTask) {
|
||||
attrs.style = 'color:red'
|
||||
}
|
||||
if (menu.children && menu.alwaysShow) {
|
||||
// 把有子菜单的 并且 父菜单是要隐藏子菜单的
|
||||
// 都给子菜单增加一个 hidden 属性
|
||||
@@ -162,7 +164,8 @@ export default {
|
||||
span
|
||||
slot = 'title' >
|
||||
{ this.renderIcon(menu.meta.icon) }
|
||||
< span title={menu.meta.title}> { menu.meta.title } < /span>
|
||||
< span
|
||||
title = { menu.meta.title } > { menu.meta.title } < /span>
|
||||
< /span>
|
||||
{
|
||||
itemArr
|
||||
|
||||
@@ -10,11 +10,17 @@
|
||||
<div class="myList-box-content" v-if="dataSource.length > 0">
|
||||
<div class="myList-box-content-box" v-for="(item,index) in dataSource" :key="index" @click="prcClick(item)">
|
||||
<div class="top">
|
||||
<span class="top-text" :title="item.prcName">{{item.prcName}}</span>
|
||||
<!-- <span class="top-admin" :title="prcTypeName[item.prcType]">{{prcTypeName[item.prcType]}}</span>-->
|
||||
<span class="top-text" v-if="item.flowType == 10"
|
||||
:title="item.flowTypeShow+'-'+item.projectName">
|
||||
{{item.flowTypeShow+'-'+item.projectName}}
|
||||
</span>
|
||||
<span class="top-text" :title="item.flowTypeShow+'-'+item.serialNumber">
|
||||
{{item.flowTypeShow+'-'+item.serialNumber}}
|
||||
</span>
|
||||
<!-- <span class="top-admin" :title="prcTypeName[item.prcType]">{{prcTypeName[item.prcType]}}</span>-->
|
||||
</div>
|
||||
<div class="button">
|
||||
{{item.creatTime}}
|
||||
{{item.endTime}}
|
||||
</div>
|
||||
<div class="with">
|
||||
{{$t('Pending')}}
|
||||
@@ -43,9 +49,13 @@
|
||||
dataSource: [],
|
||||
loading: false,
|
||||
prcTypeName: {
|
||||
1: this.$t('taskConfirmationProcess'),
|
||||
5:this.$t('collectionOfRegulatoryOpinionsProcess'),
|
||||
6:this.$t('regulatoryTechnologyAssessmentProcess')
|
||||
1: this.$t('listTaskConfirmation'),
|
||||
2: this.$t('designComplianceReview'),
|
||||
3: this.$t('preHomeConfirmation'),
|
||||
4: this.$t('verificationComplianceReview'),
|
||||
10: this.$t('confirmationOfRegulationsList'),
|
||||
5: this.$t('collectionOfRegulatoryOpinionsProcess'),
|
||||
6: this.$t('regulatoryTechnologyAssessmentProcess')
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -74,11 +84,11 @@
|
||||
queryProcess() {
|
||||
this.loading = true
|
||||
let parmes = {}
|
||||
parmes.current = this.pageNo
|
||||
parmes.size = this.pageSize
|
||||
parmes.userId = this.userInfo().userId
|
||||
postAction('task/todoTaskList', parmes).then((res) => {
|
||||
this.dataSource = res.list || []
|
||||
parmes.pageNo = this.pageNo
|
||||
parmes.pageSize = this.pageSize
|
||||
// parmes.userId = this.userInfo().userId
|
||||
getAction('/todoCenter/projectProcess/todoTaskList', parmes).then((res) => {
|
||||
this.dataSource = res.result.records || []
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
@@ -88,29 +98,138 @@
|
||||
})
|
||||
},
|
||||
prcClick(row) {
|
||||
// let index = row.taskIds.lastIndexOf(',')
|
||||
// row.taskIds = row.taskIds.slice(0, index)
|
||||
let query = {}
|
||||
row.router = this.$route.path
|
||||
if (row.prcType == '1') {
|
||||
if (row.flowType == '1') {
|
||||
query = {
|
||||
taskDefinitionKey: row.taskDefinitionKey,
|
||||
taskIds: row.taskId,
|
||||
prcType: row.flowType,
|
||||
prcNum: row.prcNum,
|
||||
isTrue: true
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/handshakeProcess',
|
||||
query: row
|
||||
query: query
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
} else if (row.prcType == '5') {
|
||||
} else if (row.flowType == '10') {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/regulatoryProcessReview',
|
||||
query: row
|
||||
path: '/ProjectDetails',
|
||||
query: {
|
||||
id: row.projectLibraryId,
|
||||
projectName: row.projectName,
|
||||
projectNameId: row.projectNameId,
|
||||
targetMarket: row.targetMarket,
|
||||
studioEngineer: row.studioEngineer,
|
||||
type: '102'
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
} else if (row.prcType == '6') {
|
||||
} else if (row.flowType == '2') {
|
||||
row.taskId = row.taskId + ''
|
||||
if (row.taskId.length > 30) {
|
||||
row.taskId = ''
|
||||
}
|
||||
query = {
|
||||
router: row.router,
|
||||
taskIds: row.taskId,
|
||||
actiProcInstId: row.actiProcInstId,
|
||||
projectTaskInventoryId: row.projectLawsInventoryId,
|
||||
projectLibraryId: row.projectLibraryId,
|
||||
id: row.projectLibraryId,
|
||||
studioEngineer: row.studioEngineer,
|
||||
serialNumber: row.serialNumber,
|
||||
TaskKey: row.taskDefinitionKey,
|
||||
isDisplay: true,
|
||||
flowType: 2,
|
||||
Sponsor: 'designInitiatorName',
|
||||
personLiable: 'designDutyName',
|
||||
typeOfDeliverables: 'designDeliverableTypeName',
|
||||
deliverableTemplate: 'designDeliverableTemplate',
|
||||
DueDate: 'designDueDate',
|
||||
remarks: 'designRemark',
|
||||
projectName: row.projectName,
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/evaluationProcess',
|
||||
query: row
|
||||
path: '/taskListProcess',
|
||||
query: query
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
} else if (row.flowType == '3') {
|
||||
row.taskId = row.taskId + ''
|
||||
if (row.taskId.length > 30) {
|
||||
row.taskId = ''
|
||||
}
|
||||
query = {
|
||||
router: row.router,
|
||||
taskIds: row.taskId,
|
||||
actiProcInstId: row.actiProcInstId,
|
||||
projectTaskInventoryId: row.projectLawsInventoryId,
|
||||
studioEngineer: row.studioEngineer,
|
||||
projectLibraryId: row.projectLibraryId,
|
||||
serialNumber: row.serialNumber,
|
||||
TaskKey: row.taskDefinitionKey,
|
||||
flowType: 3,
|
||||
isDisplay: true,
|
||||
id: row.projectLibraryId,
|
||||
Sponsor: 'prehomoInitiatorName',
|
||||
personLiable: 'prehomoDutyName',
|
||||
typeOfDeliverables: 'prehomoDeliverableTypeName',
|
||||
deliverableTemplate: 'prehomoDeliverableTemplate',
|
||||
DueDate: 'prehomoDueDate',
|
||||
remarks: 'prehomoRemark',
|
||||
projectName: row.projectName,
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/taskListProcess',
|
||||
query: query
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
} else if (row.flowType == '4') {
|
||||
row.taskId = row.taskId + ''
|
||||
if (row.taskId.length > 30) {
|
||||
row.taskId = ''
|
||||
}
|
||||
query = {
|
||||
router: row.router,
|
||||
taskIds: row.taskId,
|
||||
actiProcInstId: row.actiProcInstId,
|
||||
id: row.projectLibraryId,
|
||||
projectLibraryId: row.projectLibraryId,
|
||||
studioEngineer: row.studioEngineer,
|
||||
serialNumber: row.serialNumber,
|
||||
projectTaskInventoryId: row.projectLawsInventoryId,
|
||||
TaskKey: row.taskDefinitionKey,
|
||||
flowType: 4,
|
||||
isDisplay: true,
|
||||
Sponsor: 'verifyInitiatorName',
|
||||
personLiable: 'verifyDutyName',
|
||||
typeOfDeliverables: 'verifyDeliverableTypeName',
|
||||
deliverableTemplate: 'verifyDeliverableTemplate',
|
||||
DueDate: 'verifyDueDate',
|
||||
remarks: 'verifyRemark',
|
||||
projectName: row.projectName,
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/taskListProcess',
|
||||
query: query
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -167,6 +286,7 @@
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/*.top-admin {*/
|
||||
/* font-size: 16px;*/
|
||||
/* font-family: Blue Sky Noto;*/
|
||||
|
||||
@@ -15,7 +15,15 @@
|
||||
<span class="title-text-text" :title="$t('complianceResults')">{{$t('complianceResults')}}</span>
|
||||
</div>
|
||||
<div class="title-text-right" v-if="disabled">
|
||||
{{formInline.complianceResult == 'Compliance'?$t('accord'):$t('nonConformity')}}
|
||||
<span v-if="formInline.complianceResult == 'Compliance'">
|
||||
{{$t('accord')}}
|
||||
</span>
|
||||
<span v-else-if="formInline.complianceResult == 'Non-Compliance'">
|
||||
{{$t('nonConformity')}}
|
||||
</span>
|
||||
<span v-else>
|
||||
--
|
||||
</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" v-if="!disabled" :prop="!disabled?'complianceResult':''">
|
||||
<a-radio-group style="margin-top: 2px" class="box-input"
|
||||
@@ -51,7 +59,7 @@
|
||||
<span class="title-text-text" :title="$t('relevantSections')">{{$t('relevantSections')}}</span>
|
||||
</div>
|
||||
<div class="title-text-right" :title="item.relatedSection" v-if="disabled">
|
||||
{{item.relatedSection}}
|
||||
{{item.relatedSection ?item.relatedSection : '--'}}
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" v-if="!disabled"
|
||||
:prop="'dataList.'+index+'.relatedSection'"
|
||||
@@ -73,7 +81,7 @@
|
||||
:title="$t('problemDescription')">{{$t('problemDescription')}}</span>
|
||||
</div>
|
||||
<div class="title-text-right" :title="item.issueOrSuggest" v-if="disabled">
|
||||
{{item.issueOrSuggest}}
|
||||
{{item.issueOrSuggest ? item.issueOrSuggest :'--'}}
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="'dataList.'+index+'.issueOrSuggest'" v-if="!disabled"
|
||||
:rules="[{ required: true, message: $t('problemDescription') + $t('cannotEmpty'), trigger: 'blur'},
|
||||
@@ -121,7 +129,7 @@
|
||||
<span class="title-text-text" :title="$t('relevantSections')">{{$t('relevantSections')}}</span>
|
||||
</div>
|
||||
<div class="title-text-right" :class="{'title-text-right-text':disabled}" :title="item.relatedSection">
|
||||
{{item.relatedSection}}
|
||||
{{item.relatedSection?item.relatedSection : '--'}}
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -132,7 +140,7 @@
|
||||
:title="$t('problemDescription')">{{$t('problemDescription')}}</span>
|
||||
</div>
|
||||
<div class="title-text-right" :class="{'title-text-right-text':disabled}" :title="item.issueOrSuggest">
|
||||
{{item.issueOrSuggest}}
|
||||
{{item.issueOrSuggest ? item.issueOrSuggest:'--'}}
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -156,7 +164,8 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
<div class="box-text" style="margin-top: 10px" v-if="disabled && $route.query.taskDefinitionKey == 'fqrsc'">
|
||||
<div class="box-text" style="margin-top: 10px"
|
||||
v-if="disabled && $route.query.taskDefinitionKey == 'fqrsc' && !isTrue">
|
||||
<div class="header-text">
|
||||
{{$t('sponsorReview')}}
|
||||
</div>
|
||||
@@ -175,18 +184,18 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" v-if="disabled && $route.query.taskDefinitionKey == 'fqrsc' && isTrue">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('reviewComments')">{{$t('reviewComments')}}</span>
|
||||
</div>
|
||||
<div class="title-text-right" :class="{'title-text-right-text':disabled}" :title="formInline.approvalOpinion">
|
||||
{{formInline.approvalOpinion}}
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- <a-row :gutter="24" v-if="disabled && $route.query.taskDefinitionKey == 'fqrsc' && isTrue">-->
|
||||
<!-- <a-col :span="24">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text" :title="$t('reviewComments')">{{$t('reviewComments')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="title-text-right" :class="{'title-text-right-text':disabled}" :title="formInline.approvalOpinion">-->
|
||||
<!-- {{formInline.approvalOpinion}}-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </a-row>-->
|
||||
</a-form-model>
|
||||
</div>
|
||||
<uploadFile ref="uploadFile" :disabled="disabled" @uploadSuccess="uploadSuccess"></uploadFile>
|
||||
@@ -272,7 +281,7 @@
|
||||
disabled: false,
|
||||
uploadIndex: '',
|
||||
dataList: [],
|
||||
isTrue:false,
|
||||
isTrue: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -462,4 +471,5 @@
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -74,7 +74,9 @@
|
||||
<span v-else>--</span>
|
||||
</span>
|
||||
<span slot="Results" slot-scope="text,result">
|
||||
{{text == 'Compliance' ? $t('accord'):$t('nonConformity')}}
|
||||
<span v-if="text == 'Compliance'">{{$t('accord')}}</span>
|
||||
<span v-else-if="text == 'Non-Compliance'">{{$t('nonConformity')}}</span>
|
||||
<span v-else>--</span>
|
||||
</span>
|
||||
<span slot="sponsorFeedback" slot-scope="text,result">
|
||||
<a-textarea :placeholder="$t('pleaseEnter')+$t('sponsorFeedback')"
|
||||
@@ -371,7 +373,11 @@
|
||||
antTableHeader[0].style = 'margin-bottom: -8px;padding-bottom: 0px;min-width: 8px;overflow: hidden'
|
||||
})
|
||||
}
|
||||
if (this.$route.query.taskDefinitionKey != 'pgrqr') {
|
||||
let disabled = false
|
||||
if (this.$route.query.isDisabled) {
|
||||
disabled = JSON.parse(this.$route.query.isDisabled)
|
||||
}
|
||||
if (this.$route.query.taskDefinitionKey != 'pgrqr' && !disabled) {
|
||||
this.dataSource.forEach(res => {
|
||||
res.sponsorFeedback = ''
|
||||
})
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text" :title="$t('relevantSections')">{{$t('relevantSections')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
@@ -33,6 +33,7 @@
|
||||
}]">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
:title="item.relatedSection"
|
||||
v-model="item.relatedSection"
|
||||
:placeholder="$t('PleaseEnter')+$t('relevantSections')"/>
|
||||
</a-form-model-item>
|
||||
@@ -58,7 +59,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('questionsSuggestions')">{{$t('questionsSuggestions')}}</span>
|
||||
</div>
|
||||
@@ -68,6 +69,7 @@
|
||||
}]">
|
||||
<a-textarea :placeholder="$t('PleaseEnter')+$t('questionsSuggestions')"
|
||||
:disabled="disabled"
|
||||
:title="item.issueOrSuggest"
|
||||
v-model="item.issueOrSuggest" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -75,7 +77,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text" :title="$t('reason')">{{$t('reason')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
@@ -85,6 +87,7 @@
|
||||
{max: 300,message: $t('reason') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]">
|
||||
<a-textarea :placeholder="$t('PleaseEnter')+$t('reason')"
|
||||
:title="item.reason"
|
||||
:disabled="disabled"
|
||||
v-model="item.reason" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
@@ -104,11 +107,13 @@
|
||||
}]">
|
||||
<a-textarea :placeholder="$t('PleaseEnter')+$t('clauseContent')"
|
||||
:disabled="disabled"
|
||||
:title="item.clauseContent"
|
||||
v-model="item.clauseContent" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
</div>
|
||||
</a-form-model>
|
||||
</div>
|
||||
@@ -300,4 +305,7 @@
|
||||
margin-left: 8px;
|
||||
cursor: pointer;
|
||||
}
|
||||
::v-deep .ant-input-disabled{
|
||||
color: #000F16;
|
||||
}
|
||||
</style>
|
||||
@@ -72,7 +72,7 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" v-if="$route.query.TaskKey == 'dreDispose'">
|
||||
<a-col :span="12">
|
||||
<a-col :span="12" v-if="$route.query.isDisplay">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text-fq">
|
||||
<span class="Required" v-if="$route.query.isDisplay">*</span>
|
||||
@@ -88,16 +88,29 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="24" v-else>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text-fq">
|
||||
<span class="title-text-text"
|
||||
:title="$t('feedbackFromTheEngineer')">{{$t('feedbackFromTheEngineer')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel">
|
||||
<span class="text-header">
|
||||
{{formInline.engineerFeedbackContent}}
|
||||
</span>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" v-if="$route.query.TaskKey == 'dreDispose'">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text-fq">
|
||||
<!-- <span class="Required" v-if="this.$route.query.isDisplay">*</span>-->
|
||||
<!-- <span class="Required" v-if="this.$route.query.isDisplay">*</span>-->
|
||||
<span class="title-text-text"
|
||||
:title="$t('Deliverables')">{{$t('Deliverables')}}</span>
|
||||
</div>
|
||||
<!-- :prop="!this.$route.query.isDisplay?'':'fileId'"-->
|
||||
<!-- :prop="!this.$route.query.isDisplay?'':'fileId'"-->
|
||||
<a-form-model-item class="itemModel">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('fileId')">
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
methods: {
|
||||
getList() {
|
||||
let query = {
|
||||
actiProcInstId: this.$route.query.actiProcInstId
|
||||
actiProcInstId: this.$route.query.actiProcInstId || this.$route.query.prcId
|
||||
}
|
||||
this.loading = true
|
||||
getAction('/wkflow/processHistoryEO/list', query).then((res) => {
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
this.loading = true
|
||||
getAction(this.url.queryTaskDetailByTaskIds, { taskIds: this.$route.query.taskIds }).then((res) => {
|
||||
if (res instanceof String) {
|
||||
this.queryBy = JSON.parse(res)
|
||||
this.queryBy = JSON.parse(res) || {}
|
||||
callback()
|
||||
} else {
|
||||
this.queryBy = res
|
||||
this.queryBy = res || {}
|
||||
callback()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
</div>
|
||||
<regulatoryCirculationHistory :isTrue="isTrue"
|
||||
v-if="$route.query.prcType == '5' || $route.query.prcType == '6'"/>
|
||||
<taskCirculationHistory v-else-if="$route.query.prcType == '2' || $route.query.prcType == '3' || $route.query.prcType == '4'"/>
|
||||
<circulationHistory v-else/>
|
||||
</div>
|
||||
</template>
|
||||
@@ -22,6 +23,7 @@
|
||||
<script>
|
||||
import circulationHistory from '../../components/circulationHistory'
|
||||
import regulatoryCirculationHistory from '../../components/regulatoryCirculationHistory'
|
||||
import taskCirculationHistory from '../../components/taskCirculationHistory'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
@@ -30,7 +32,8 @@
|
||||
name: 'processDetails',
|
||||
components: {
|
||||
circulationHistory,
|
||||
regulatoryCirculationHistory
|
||||
regulatoryCirculationHistory,
|
||||
taskCirculationHistory
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
@@ -124,10 +124,16 @@
|
||||
})
|
||||
},
|
||||
lawsOpinionAssessmentResult() {
|
||||
let createBy = ''
|
||||
if (this.$route.query.taskDefinitionKey == 'gcsfq' && this.disabled){
|
||||
createBy = ''
|
||||
}else{
|
||||
createBy = this.userInfo().username
|
||||
}
|
||||
getAction(this.url.list, {
|
||||
lawsOpinionGatherId: this.queryProject.id,
|
||||
actiProcInstId: this.$route.query.prcId,
|
||||
createBy: this.userInfo().username
|
||||
createBy: createBy
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.feedbackDataList = res.result || []
|
||||
|
||||
@@ -401,10 +401,10 @@
|
||||
this.loading = true
|
||||
getAction(this.url.queryTaskDetailByTaskIds, { taskIds: this.$route.query.taskIds }).then((res) => {
|
||||
if (res instanceof String) {
|
||||
this.queryBy = JSON.parse(res)
|
||||
this.queryBy = JSON.parse(res) || {}
|
||||
callback()
|
||||
} else {
|
||||
this.queryBy = res
|
||||
this.queryBy = res || {}
|
||||
callback()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
<a href="javascript:;" @click="handleDataRule(record)">{{$t('DataRules')}}</a>
|
||||
</a-menu-item>
|
||||
|
||||
<a-menu-item>
|
||||
<a-menu-item v-if="isTrue(record)">
|
||||
<a-popconfirm :title="$t('areYouSure')" @confirm="() => handleDelete(record.id)">
|
||||
<a>{{$t('delete')}}</a>
|
||||
</a-popconfirm>
|
||||
@@ -187,6 +187,16 @@
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
isTrue(record) {
|
||||
if (record.id == '1580735287309119489' ||
|
||||
record.id == '1580735611793059842' ||
|
||||
record.id == '1580735965892980738' ||
|
||||
record.id == '1580734309507805185' ||
|
||||
record.id == '1580762600394469378') {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
loadData() {
|
||||
this.dataSource = []
|
||||
getPermissionList().then((res) => {
|
||||
|
||||
@@ -21,7 +21,10 @@
|
||||
<a @click="RelatedItemsClick(record)" :title="text">{{text}}</a>
|
||||
</span>
|
||||
<span slot="standardInformation" slot-scope="text,record">
|
||||
<a @click="standardInformationClick(record)" :title="text">{{text}}</a>
|
||||
<a @click="standardInformationClick(record)" v-if="text && text != '--'" :title="text">
|
||||
{{text}}
|
||||
</a>
|
||||
<span v-else>--</span>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
@@ -60,7 +63,7 @@
|
||||
{
|
||||
title: this.$t('standardInformation'),
|
||||
align: 'center',
|
||||
dataIndex: 'serialNumber',
|
||||
dataIndex: 'standardInfo',
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
@@ -86,13 +89,13 @@
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
// {
|
||||
// title: this.$t('TaskCutOffTime'),
|
||||
// align: 'center',
|
||||
// dataIndex: 'endTime',
|
||||
// ellipsis: true,
|
||||
// width: 170
|
||||
// },
|
||||
{
|
||||
title: this.$t('TaskCutOffTime'),
|
||||
align: 'center',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
title: this.$t('taskStatus'),
|
||||
align: 'center',
|
||||
@@ -211,7 +214,7 @@
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.PersonChargeFeedback
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/taskListProcess',
|
||||
@@ -245,7 +248,7 @@
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.PersonChargeFeedback
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/taskListProcess',
|
||||
@@ -279,7 +282,7 @@
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.PersonChargeFeedback
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/taskListProcess',
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
:columns="columns"
|
||||
>
|
||||
<!-- -->
|
||||
<span slot="endTime" slot-scope="text,record">
|
||||
<span :title="text" :class="{'activeRed':record.endTimePastDueFlag}">{{text}}</span>
|
||||
</span>
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation"
|
||||
@click="ProcessingClick(record)">{{$t('Processing')}}</a>
|
||||
@@ -19,7 +22,10 @@
|
||||
<a @click="RelatedItemsClick(record)" :title="text">{{text}}</a>
|
||||
</span>
|
||||
<span slot="standardInformation" slot-scope="text,record">
|
||||
<a @click="standardInformationClick(record)" :title="text">{{text}}</a>
|
||||
<a @click="standardInformationClick(record)" v-if="text && text != '--'" :title="text">
|
||||
{{text}}
|
||||
</a>
|
||||
<span v-else>--</span>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
@@ -58,7 +64,7 @@
|
||||
{
|
||||
title: this.$t('standardInformation'),
|
||||
align: 'center',
|
||||
dataIndex: 'serialNumber',
|
||||
dataIndex: 'standardInfo',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
width: 170
|
||||
@@ -82,7 +88,8 @@
|
||||
align: 'center',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 170,
|
||||
scopedSlots: { customRender: 'endTime' }
|
||||
},
|
||||
{
|
||||
title: this.$t('taskStatus'),
|
||||
@@ -191,7 +198,7 @@
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.PersonChargeFeedback
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/taskListProcess',
|
||||
@@ -225,7 +232,7 @@
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.PersonChargeFeedback
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/taskListProcess',
|
||||
@@ -259,7 +266,7 @@
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.PersonChargeFeedback
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/taskListProcess',
|
||||
@@ -325,4 +332,7 @@
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.activeRed {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
@@ -18,10 +18,15 @@
|
||||
@click="viewClick(record)">{{$t('view')}}</a>
|
||||
</span>
|
||||
<span slot="RelatedItems" slot-scope="text,record">
|
||||
<a @click="RelatedItemsClick(record)" :title="text">{{text}}</a>
|
||||
<a @click="RelatedItemsClick(record)" :title="text">
|
||||
{{text}}
|
||||
</a>
|
||||
</span>
|
||||
<span slot="standardInformation" slot-scope="text,record">
|
||||
<a @click="standardInformationClick(record)" :title="text">{{text}}</a>
|
||||
<a @click="standardInformationClick(record)" v-if="text && text != '--'" :title="text">
|
||||
{{text}}
|
||||
</a>
|
||||
<span v-else>--</span>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
@@ -64,7 +69,7 @@
|
||||
{
|
||||
title: this.$t('standardInformation'),
|
||||
align: 'center',
|
||||
dataIndex: 'serialNumber',
|
||||
dataIndex: 'standardInfo',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
width: 170
|
||||
@@ -90,13 +95,13 @@
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
// {
|
||||
// title: this.$t('TaskCutOffTime'),
|
||||
// align: 'center',
|
||||
// dataIndex: 'endTime',
|
||||
// ellipsis: true,
|
||||
// width: 170
|
||||
// },
|
||||
{
|
||||
title: this.$t('TaskCutOffTime'),
|
||||
align: 'center',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
title: this.$t('taskStatus'),
|
||||
align: 'center',
|
||||
@@ -211,7 +216,7 @@
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.PersonChargeFeedback
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/taskListProcess',
|
||||
@@ -245,7 +250,7 @@
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.PersonChargeFeedback
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/taskListProcess',
|
||||
@@ -279,7 +284,7 @@
|
||||
targetMarket: row.targetMarket,
|
||||
projectNameId: row.projectNameId,
|
||||
primaryKeyId: row.primaryKeyId,
|
||||
PersonChargeFeedback: row.PersonChargeFeedback
|
||||
PersonChargeFeedback: row.personChargeFeedback
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/taskListProcess',
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<span>{{$t('standardInformation')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standardInformation')"
|
||||
v-model="queryParam.serialNumber"></a-input>
|
||||
v-model="queryParam.standardInfo"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
|
||||
@@ -18,7 +18,9 @@
|
||||
@click="viewClick(record)">{{$t('view')}}</a>
|
||||
</span>
|
||||
<span slot="standardInformation" slot-scope="text,record">
|
||||
<a @click="standardInformationClick(record)" :title="text">{{text}}</a>
|
||||
<a @click="standardInformationClick(record)" :title="text">
|
||||
{{text}}
|
||||
</a>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
@@ -46,13 +48,13 @@
|
||||
dataSource: [],
|
||||
loading: false,
|
||||
url: {
|
||||
list: ''
|
||||
list: '/todoCenter/lawsAssess/issuedProcess'
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('standardInformation'),
|
||||
align: 'center',
|
||||
dataIndex: 'serialNumber',
|
||||
dataIndex: 'standardInfo',
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
@@ -78,13 +80,13 @@
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
// {
|
||||
// title: this.$t('TaskCutOffTime'),
|
||||
// align: 'center',
|
||||
// dataIndex: 'TaskCutOffTime',
|
||||
// ellipsis: true,
|
||||
// width: 170
|
||||
// },
|
||||
{
|
||||
title: this.$t('TaskCutOffTime'),
|
||||
align: 'center',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
title: this.$t('taskStatus'),
|
||||
align: 'center',
|
||||
@@ -107,6 +109,9 @@
|
||||
queryParam: {}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
monitoringProcessClick(row) {
|
||||
let newUrl = this.$router.resolve({
|
||||
|
||||
@@ -15,8 +15,13 @@
|
||||
<a class="text-operation"
|
||||
@click="ProcessingClick(record)">{{$t('Processing')}}</a>
|
||||
</span>
|
||||
<span slot="endTime" slot-scope="text,record">
|
||||
<span :title="text" :class="{'activeRed':record.endTimePastDueFlag}">{{text}}</span>
|
||||
</span>
|
||||
<span slot="standardInformation" slot-scope="text,record">
|
||||
<a @click="standardInformationClick(record)" :title="text">{{text}}</a>
|
||||
<a @click="standardInformationClick(record)" :title="text">
|
||||
{{text}}
|
||||
</a>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
@@ -47,7 +52,7 @@
|
||||
{
|
||||
title: this.$t('standardInformation'),
|
||||
align: 'center',
|
||||
dataIndex: 'serialNumber',
|
||||
dataIndex: 'standardInfo',
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
@@ -71,7 +76,8 @@
|
||||
align: 'center',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 170,
|
||||
scopedSlots: { customRender: 'endTime' }
|
||||
},
|
||||
{
|
||||
title: this.$t('taskStatus'),
|
||||
@@ -92,12 +98,15 @@
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
url: {
|
||||
list: ''
|
||||
list: '/todoCenter/lawsAssess/todoTaskList'
|
||||
},
|
||||
total: 0,
|
||||
queryParam: {}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
standardInformationClick(item) {
|
||||
let newUrl = this.$router.resolve({
|
||||
@@ -199,5 +208,7 @@
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.activeRed{
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
@@ -18,7 +18,9 @@
|
||||
@click="viewClick(record)">{{$t('view')}}</a>
|
||||
</span>
|
||||
<span slot="standardInformation" slot-scope="text,record">
|
||||
<a @click="standardInformationClick(record)" :title="text">{{text}}</a>
|
||||
<a @click="standardInformationClick(record)" :title="text">
|
||||
{{text}}
|
||||
</a>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
@@ -49,7 +51,7 @@
|
||||
{
|
||||
title: this.$t('standardInformation'),
|
||||
align: 'center',
|
||||
dataIndex: 'serialNumber',
|
||||
dataIndex: 'standardInfo',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
width: 170
|
||||
@@ -75,13 +77,13 @@
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
// {
|
||||
// title: this.$t('TaskCutOffTime'),
|
||||
// align: 'center',
|
||||
// dataIndex: 'TaskCutOffTime',
|
||||
// ellipsis: true,
|
||||
// width: 170
|
||||
// },
|
||||
{
|
||||
title: this.$t('TaskCutOffTime'),
|
||||
align: 'center',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
title: this.$t('taskStatus'),
|
||||
align: 'center',
|
||||
@@ -103,10 +105,13 @@
|
||||
total: 0,
|
||||
queryParam: {},
|
||||
url: {
|
||||
list: ''
|
||||
list: '/todoCenter/lawsAssess/doneProcess'
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
monitoringProcessClick(row) {
|
||||
let newUrl = this.$router.resolve({
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<span>{{$t('standardInformation')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standardInformation')"
|
||||
v-model="queryParam.serialNumber"></a-input>
|
||||
v-model="queryParam.standardInfo"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
|
||||
@@ -9,6 +9,17 @@
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
>
|
||||
<template slot="footer">
|
||||
<a-button key="back" @click="handleCancel">
|
||||
{{$t('cancel')}}
|
||||
</a-button>
|
||||
<a-button type="danger" :loading="confirmLoading" v-if="taskDefinitionKey == 'dreqr'" @click="sendBackClick">
|
||||
{{$t('sendBack')}}
|
||||
</a-button>
|
||||
<a-button type="primary" :loading="confirmLoading" @click="handleOk">
|
||||
{{$t('confirm')}}
|
||||
</a-button>
|
||||
</template>
|
||||
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
||||
<a-row :gutter="24" v-if="taskDefinitionKey != 'dreqr'">
|
||||
<a-col :span="24">
|
||||
@@ -68,6 +79,7 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
|
||||
</a-modal>
|
||||
</div>
|
||||
</template>
|
||||
@@ -138,6 +150,10 @@
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
})
|
||||
},
|
||||
sendBackClick() {
|
||||
this.formInline.flag = '1'
|
||||
this.handleOk()
|
||||
},
|
||||
flagChange(event) {
|
||||
if (event.target.value == 3) {
|
||||
this.isTrue = true
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<span>{{$t('standardInformation')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standardInformation')"
|
||||
v-model="queryParam.serialNumber"></a-input>
|
||||
v-model="queryParam.standardInfo"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
@@ -104,7 +104,7 @@
|
||||
{
|
||||
title: this.$t('standardInformation'),
|
||||
align: 'center',
|
||||
dataIndex: 'serialNumber',
|
||||
dataIndex: 'standardInfo',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
width: 170
|
||||
@@ -181,6 +181,7 @@
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
batchProcessingForm() {
|
||||
this.selectedRowKeys = []
|
||||
this.getList()
|
||||
},
|
||||
batchProcessingClick() {
|
||||
@@ -202,10 +203,12 @@
|
||||
}
|
||||
},
|
||||
searchQuery() {
|
||||
this.selectedRowKeys = []
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
searchReset() {
|
||||
this.selectedRowKeys = []
|
||||
this.pageNo = 1
|
||||
this.queryParam = {}
|
||||
this.getList()
|
||||
|
||||
Reference in New Issue
Block a user