From 8839414fbab630fd502820b09f3dcb780f070600 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Wed, 19 Oct 2022 11:21:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83-=E7=AC=A6?= =?UTF-8?q?=E5=90=88=E6=80=A7=E6=B5=81=E7=A8=8B=E5=BC=80=E5=8F=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ojectTaskInventoryDetailEOServiceImpl.java | 43 +++++++- .../mapper/ProcessInfoEOMapper.java | 5 +- .../mapper/xml/ProcessInfoEOMapper.xml | 19 +++- .../service/IProcessInfoDetailEOService.java | 6 ++ .../impl/ProcessInfoDetailEOServiceImpl.java | 14 +++ .../impl/ProcessInfoEOServiceImpl.java | 36 ++++++- .../modules/todoCenter/vo/ProcessInfoVO.java | 101 ++++++++++++++++++ 7 files changed, 210 insertions(+), 14 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ProcessInfoVO.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java index 9201fba57..882059144 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java @@ -3,6 +3,7 @@ package com.jero.modules.project.service.impl; import com.alibaba.fastjson.JSONArray; 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.extension.service.impl.ServiceImpl; import com.jero.common.api.vo.Result; import com.jero.common.constant.enums.CutEnum; @@ -14,6 +15,7 @@ import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.JumpLinkEnum; import com.jero.modules.project.enums.MsgTypeEnum; import com.jero.modules.project.enums.SendMsgFlagEnum; +import com.jero.modules.project.enums.TaskStatusEnum; import com.jero.modules.project.mapper.*; import com.jero.modules.project.service.IFeedbackHistoryService; import com.jero.modules.project.service.IProjectTaskInventoryDetailEOService; @@ -21,6 +23,8 @@ import com.jero.modules.project.service.IProjectTaskInventoryFeedbackEOService; import com.jero.modules.project.util.SendMessageUtils; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; +import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO; +import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; @@ -61,6 +65,9 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl createByList = new ArrayList<>(); List projectTaskInventoryFeedbackEOList = new ArrayList<>(); + List processInfoDetailEOList = new ArrayList<>(); String serialNumber = projectTaskInventoryFeedbackEOService.createSerialNumber(); for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : projectTaskInventoryDetailEOAddList) { @@ -138,6 +147,17 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl sendUserIdList = projectTaskInventoryDetailEOAddList.stream().filter(e -> { boolean flag = true; @@ -195,6 +218,15 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl processInfoDetailUpdateWrap= new LambdaUpdateWrapper(); + processInfoDetailUpdateWrap.eq(ProcessInfoDetailEO::getTaskId,taskInventoryDetailById.getTaskId()); + processInfoDetailUpdateWrap.set(ProcessInfoDetailEO::getStatus,projectTaskInventoryDetailEO.getStatus()); + this.processInfoDetailEOService.update(processInfoDetailUpdateWrap); + } } /** @@ -205,8 +237,9 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO = this.baseMapper.selectById(id); + removeById(id); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getProjectTaskInventoryId,id); List list = this.projectTaskInventoryFeedbackEOService.list(queryWrapper); if(CollectionUtils.isNotEmpty(list)){ @@ -216,6 +249,12 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl processInfoDetailRemoveWrap = new QueryWrapper<>(); + processInfoDetailRemoveWrap.lambda().eq(ProcessInfoDetailEO::getTaskId,projectTaskInventoryDetailEO.getTaskId()); + this.processInfoDetailEOService.remove(processInfoDetailRemoveWrap); + } } /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/ProcessInfoEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/ProcessInfoEOMapper.java index a7fc3b188..5c746561b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/ProcessInfoEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/ProcessInfoEOMapper.java @@ -5,6 +5,7 @@ import java.util.Map; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.todoCenter.entity.ProcessInfoEO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.todoCenter.vo.ProcessInfoVO; /** * @Description: 流程信息表 @@ -14,7 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface ProcessInfoEOMapper extends BaseMapper { - IPage queryPageList(IPage page,Map params); + IPage queryPageList(IPage page, Map params); - IPage queryProjectProcessTodoTaskListList(IPage page,Map params); + IPage queryProjectProcessTodoTaskListList(IPage page,Map params); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml index ff3ea66ae..8c9e1df41 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml @@ -62,7 +62,7 @@ - SELECT pi.id, pi.project_library_id, @@ -80,7 +80,10 @@ (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 + 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 @@ -91,7 +94,7 @@ order by pi.create_time desc - select temp.* from ( SELECT pi.id, @@ -110,7 +113,10 @@ (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 + 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 @@ -151,7 +157,10 @@ '' as task_definition_key, pi.STATUS, pi.prc_num, - pi.prc_name + 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 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoDetailEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoDetailEOService.java index fc14c3569..f72da7cba 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoDetailEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoDetailEOService.java @@ -67,4 +67,10 @@ public interface IProcessInfoDetailEOService extends IService processCall(JSONObject jsonObject); + + /** + * 批量插入dre工程师的待办任务 + * @param processInfoDetailEOList + */ + void batchInsertDreUserTask(List processInfoDetailEOList); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoDetailEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoDetailEOServiceImpl.java index 5b793755e..89f5ae0d2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoDetailEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoDetailEOServiceImpl.java @@ -158,4 +158,18 @@ public class ProcessInfoDetailEOServiceImpl extends ServiceImpl().success("调用成功!"); } + + @Override + public void batchInsertDreUserTask(List processInfoDetailEOList) { + processInfoDetailEOList.forEach(detail -> { + QueryWrapper removeWrap = new QueryWrapper<>(); + removeWrap.lambda().eq(ProcessInfoDetailEO::getUserId,detail.getUserId()); + removeWrap.lambda().eq(ProcessInfoDetailEO::getFlowType,detail.getFlowType()); + removeWrap.lambda().eq(ProcessInfoDetailEO::getActiProcInstId,detail.getActiProcInstId()); + removeWrap.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,detail.getTaskDefinitionKey()); + this.remove(removeWrap); + }); + + this.saveBatch(processInfoDetailEOList); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java index 92b05bd5e..7bc7a9b8c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java @@ -7,9 +7,11 @@ 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.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.service.IProjectTaskInventoryDetailEOService; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO; @@ -18,6 +20,7 @@ import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum; import com.jero.modules.todoCenter.mapper.ProcessInfoEOMapper; 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 org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -43,6 +46,8 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl result = this.baseMapper.queryProjectProcessTodoTaskListList(page,params); + IPage result = this.baseMapper.queryProjectProcessTodoTaskListList(page,params); this.disposeData(result.getRecords(),cut); return result; } @@ -180,7 +185,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl result = this.baseMapper.queryPageList(page,params); + IPage result = this.baseMapper.queryPageList(page,params); this.disposeData(result.getRecords(),cut); return result; } @@ -200,7 +205,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl result = this.baseMapper.queryPageList(page,params); + IPage result = this.baseMapper.queryPageList(page,params); this.disposeData(result.getRecords(),cut); return result; } @@ -213,9 +218,9 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl datas,String cut){ + public void disposeData(List datas, String cut){ if(CollectionUtils.isNotEmpty(datas)){ - List processInfoIdList = datas.stream().map(ProcessInfoEO::getId).distinct().collect(Collectors.toList()); + List processInfoIdList = datas.stream().map(ProcessInfoVO::getId).distinct().collect(Collectors.toList()); QueryWrapper processInfoDetailQueryWrap = new QueryWrapper<>(); processInfoDetailQueryWrap.lambda().in(ProcessInfoDetailEO::getProcessInfoId,processInfoIdList); @@ -270,6 +275,15 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl taskIdList = datas.stream().map(ProcessInfoVO::getTaskId).distinct().collect(Collectors.toList()); + List taskInventoryDetailList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(taskIdList)){ + QueryWrapper taskInventoryDetailQueryWrap = new QueryWrapper<>(); + taskInventoryDetailQueryWrap.lambda().in(ProjectTaskInventoryDetailEO::getTaskId,taskIdList); + taskInventoryDetailList = this.projectTaskInventoryDetailEOService.list(taskInventoryDetailQueryWrap); + } + List finalTaskInventoryDetailList = taskInventoryDetailList; + List sysUserList = this.sysUserService.querySysUserListByIdList(userIdList); datas.forEach(data -> { @@ -306,6 +320,18 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl { + boolean flag = false; + if (StringUtils.equals(data.getTaskId(), taskInventoryDetail.getTaskId())) { + flag = true; + } + return flag; + }).map(ProjectTaskInventoryDetailEO::getId).collect(Collectors.joining(",")); + data.setPrimaryKeyId(primaryKeyId); + } }); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ProcessInfoVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ProcessInfoVO.java new file mode 100644 index 000000000..89626d3c6 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ProcessInfoVO.java @@ -0,0 +1,101 @@ +package com.jero.modules.todoCenter.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + +/** + * 流程信息表VO类 + */ +@Data +public class ProcessInfoVO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + private String id; + + /**创建人*/ + private String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private java.util.Date createTime; + + /**更新人*/ + private String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private java.util.Date updateTime; + + /**所属部门*/ + private String sysOrgCode; + + /**项目库id*/ + private String projectLibraryId; + + /**法规清单id*/ + private String projectLawsInventoryId; + + /**文档库id/标准id*/ + private String bussDocumentLibraryId; + + /**流程实例id*/ + private String actiProcInstId; + + /**流程类型*/ + private String flowType; + + /**截止日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private java.util.Date endTime; + + /**任务状态*/ + private String status; + + /**流程编号**/ + private String prcNum; + + /**流程名称*/ + private String prcName; + + /**流程类型展示字段*/ + private String flowTypeShow; + + /**任务状态展示字段*/ + private String statusShow; + + /**上一个操作人 用户id*/ + private String lastAssignee; + private String lastAssigneeName; + + /**当前操作人/代理人 用户id*/ + private String assignee; + private String assigneeName; + + /**标准编号*/ + private String serialNumber; + /**标准标题*/ + private String title; + /**项目名称*/ + private String projectName; + /**年份*/ + private String yearName; + /**待办id*/ + private String taskId; + /**任务节点定义key*/ + private String taskDefinitionKey; + /**项目名称id*/ + private String projectNameId; + /**目标市场*/ + private String targetMarket; + /**studio*/ + private String studioEngineer; + /**任务清单明细表id,任务清单明细数据与待办中心明细表 是taskId一对一的关系**/ + private String primaryKeyId; +}