Merge remote-tracking branch 'origin/feature_dev_20221008_TODO' into feature_dev_20221008_TODO

This commit is contained in:
liyawei
2022-10-28 16:52:30 +08:00
43 changed files with 1712 additions and 270 deletions
@@ -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);
}
@@ -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;
}
}
@@ -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);
}
@@ -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>
@@ -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("手动结束成功!");
@@ -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);
}
}
}
@@ -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);
}
@@ -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);
}
@@ -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);
}
}
}
@@ -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);
}
}
@@ -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);
}
}
@@ -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);
}
@@ -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>
@@ -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);
}
@@ -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);
}
@@ -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);
}
}
}
}
@@ -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:设计符合性
* 3prehomo确认
* 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);
}
}
@@ -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;
}
@@ -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();
}
@@ -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();
}
}
+5 -5
View File
@@ -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:'待审核',
+6 -3
View File
@@ -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()
}
})
+11 -1
View File
@@ -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()