From 96496e961f55e93d1a18bc4ceecfc8069397e92e Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Thu, 19 May 2022 14:44:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=8F=98=E6=9B=B4=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rojectTaskInventoryDetailEOController.java | 7 +- ...jectTaskInventoryFeedbackEOController.java | 12 ++++ .../ProjectTaskInventoryFeedbackEO.java | 10 ++- .../enums/CurrentProjectStatusEnum.java | 2 +- .../IProjectTaskInventoryDetailEOService.java | 5 +- ...ProjectTaskInventoryFeedbackEOService.java | 6 ++ ...ojectTaskInventoryDetailEOServiceImpl.java | 67 +++++++++---------- .../ProjectTaskInventoryEOServiceImpl.java | 8 +-- ...ectTaskInventoryFeedbackEOServiceImpl.java | 67 +++++++++++++------ .../wkflow/entity/ProcessHistoryEO.java | 5 ++ .../impl/ProcessHistoryEOServiceImpl.java | 2 +- 11 files changed, 120 insertions(+), 71 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryDetailEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryDetailEOController.java index 81c7bb78a..07d1f6af1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryDetailEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryDetailEOController.java @@ -4,6 +4,7 @@ import java.util.Arrays; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; import com.jero.common.system.query.QueryGenerator; import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO; @@ -74,14 +75,14 @@ public class ProjectTaskInventoryDetailEOController extends JeroController add(@Validated @RequestBody List projectTaskInventoryDetailEOList) { - projectTaskInventoryDetailEOService.add(projectTaskInventoryDetailEOList); + public Result add(@RequestBody JSONObject jsonObject) { + projectTaskInventoryDetailEOService.add(jsonObject); return Result.OK("添加成功!"); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryFeedbackEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryFeedbackEOController.java index ed15333fd..e914f57da 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryFeedbackEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskInventoryFeedbackEOController.java @@ -168,4 +168,16 @@ public class ProjectTaskInventoryFeedbackEOController extends JeroController dreSubmit(@Validated @RequestBody ProjectTaskInventoryFeedbackEO projectTaskInventoryFeedbackEO) { + projectTaskInventoryFeedbackEOService.dreSubmit(projectTaskInventoryFeedbackEO); + return Result.OK("编辑成功!"); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java index ab8b5ab4b..5d5087d44 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java @@ -89,9 +89,9 @@ public class ProjectTaskInventoryFeedbackEO implements Serializable { @ApiModelProperty(value = "流程实例id") private String actiProcInstId; - /**法规清单id*/ - @Excel(name = "法规清单id", width = 15) - @ApiModelProperty(value = "法规清单id") + /**任务清单id*/ + @Excel(name = "任务清单id", width = 15) + @ApiModelProperty(value = "任务清单id") private String projectTaskInventoryId; /**是否是该条数据的创建人**/ @@ -100,4 +100,8 @@ public class ProjectTaskInventoryFeedbackEO implements Serializable { @ApiModelProperty(value = "工程交付要求") private String deliveryRequirements; + + /**待办、已办标识**/ + @TableField(exist = false) + private String status; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CurrentProjectStatusEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CurrentProjectStatusEnum.java index bdbb1cf26..da7b891ff 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CurrentProjectStatusEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CurrentProjectStatusEnum.java @@ -8,10 +8,10 @@ import com.jero.common.constant.enums.CutEnum; */ public enum CurrentProjectStatusEnum { - BLUE("蓝色","0","blue"), RED("红色","1","red"), YELLOW("黄色","2","yellow"), GREEN("绿色","3","green"), + BLUE("蓝色","4","blue"), ; String name; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryDetailEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryDetailEOService.java index 060dba4cf..d07b99b38 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryDetailEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryDetailEOService.java @@ -1,5 +1,6 @@ package com.jero.modules.project.service; +import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO; import com.baomidou.mybatisplus.extension.service.IService; @@ -16,10 +17,10 @@ public interface IProjectTaskInventoryDetailEOService extends IService projectTaskInventoryDetailEOList); + void add(JSONObject jsonObject); /** * 更新 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryFeedbackEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryFeedbackEOService.java index 7d9d551e4..b73956bf6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryFeedbackEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryFeedbackEOService.java @@ -59,4 +59,10 @@ public interface IProjectTaskInventoryFeedbackEOService extends IService queryList(Map params); + + /** + * dre提交 + * @param projectTaskInventoryFeedbackEO + */ + void dreSubmit(ProjectTaskInventoryFeedbackEO projectTaskInventoryFeedbackEO); } 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 3ff388942..a2aa07f22 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 @@ -1,5 +1,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.jero.common.api.vo.Result; import com.jero.common.system.vo.LoginUser; @@ -11,15 +13,12 @@ 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 me.zhyd.oauth.utils.StringUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.shiro.SecurityUtils; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; -import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -50,11 +49,31 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl projectTaskInventoryDetailEOList) { + public void add(JSONObject jsonObject) { + ProjectTaskInventoryDetailEO taskInventoryDetail = JSONObject.parseObject(JSONObject.toJSONString(jsonObject), ProjectTaskInventoryDetailEO.class); + + List projectTaskInventoryDetailEOList = new ArrayList<>(); + //分发工程师数组。 + JSONArray distributionEngineerList = jsonObject.getJSONArray("distributionEngineerList"); + ProjectTaskInventoryDetailEO projectTaskInventoryDetail = null; + for (Object distributionEngineer : distributionEngineerList) { + projectTaskInventoryDetail = JSONObject.parseObject(JSONObject.toJSONString(distributionEngineer), ProjectTaskInventoryDetailEO.class); + + String id = UUID.randomUUID().toString().replace("-", ""); + projectTaskInventoryDetail.setId(id); + projectTaskInventoryDetail.setActiProcInstId(taskInventoryDetail.getActiProcInstId()); + projectTaskInventoryDetail.setFlowType(taskInventoryDetail.getFlowType()); + projectTaskInventoryDetail.setMsgType(taskInventoryDetail.getMsgType()); + projectTaskInventoryDetail.setProjectTaskInventoryId(taskInventoryDetail.getProjectTaskInventoryId()); + projectTaskInventoryDetail.setStatus(taskInventoryDetail.getStatus()); + projectTaskInventoryDetail.setTaskDefinitionKey(taskInventoryDetail.getTaskDefinitionKey()); + projectTaskInventoryDetailEOList.add(projectTaskInventoryDetail); + } + if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOList)){ List userIdList = new ArrayList<>(); List createByList = new ArrayList<>(); @@ -63,6 +82,7 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl sysUserQueryWrapper = new QueryWrapper<>(); + sysUserQueryWrapper.lambda().eq(SysUser::getId,projectTaskInventoryDetailEO.getUserId()); List sysUserList = sysUserService.getBaseMapper().selectList(sysUserQueryWrapper); if(CollectionUtils.isNotEmpty(sysUserList)){ userIdList.add(projectTaskInventoryDetailEO.getUserId()); @@ -71,6 +91,9 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl deleteFeedbackWrapper = new QueryWrapper<>(); - deleteFeedbackWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,projectTaskInventoryDetailEOList.get(0).getActiProcInstId()); + deleteFeedbackWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,taskInventoryDetail.getActiProcInstId()); deleteFeedbackWrapper.lambda().in(ProjectTaskInventoryFeedbackEO::getCreateBy,createByList); projectTaskInventoryFeedbackEOService.remove(deleteFeedbackWrapper); //给每一个dre设置一条反馈任务,让这个用户去进行编辑 @@ -87,41 +110,13 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl deleteWrapper = new QueryWrapper<>(); - deleteWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getActiProcInstId,projectTaskInventoryDetailEOList.get(0).getActiProcInstId()); + deleteWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getActiProcInstId,taskInventoryDetail.getActiProcInstId()); deleteWrapper.lambda().in(ProjectTaskInventoryDetailEO::getUserId,userIdList); this.baseMapper.delete(deleteWrapper); super.saveBatch(projectTaskInventoryDetailEOList); - sendMessage(projectTaskInventoryDetailEOList.get(0),userIdList); + sendMessage(taskInventoryDetail,userIdList); } - /*if(StringUtils.isNotEmpty(projectTaskInventoryDetailEO.getUserIds())){ - Date now = new Date(); - projectTaskInventoryDetailEO.setCreateTime(now); - projectTaskInventoryDetailEO.setUpdateTime(now); - List list = new ArrayList<>(); - LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - List userIdList = Arrays.asList(projectTaskInventoryDetailEO.getUserIds().split(",")); - //过滤掉当前操作人。 - userIdList = userIdList.stream().distinct().filter(userId-> !org.apache.commons.lang3.StringUtils.equals(userId,currentUser.getId())).collect(Collectors.toList()); - if(CollectionUtils.isNotEmpty(userIdList)){ - userIdList.forEach(userId -> { - ProjectTaskInventoryDetailEO taskInventoryDetailEO = new ProjectTaskInventoryDetailEO(); - BeanUtils.copyProperties(projectTaskInventoryDetailEO,taskInventoryDetailEO); - taskInventoryDetailEO.setUserId(userId); - list.add(taskInventoryDetailEO); - }); - - //先删后加,确保一个用户只有一个任务。 - QueryWrapper deleteWrapper = new QueryWrapper<>(); - deleteWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getActiProcInstId,projectTaskInventoryDetailEO.getActiProcInstId()); - deleteWrapper.lambda().in(ProjectTaskInventoryDetailEO::getUserId,userIdList); - this.baseMapper.delete(deleteWrapper); - - super.saveBatch(list); - - sendMessage(projectTaskInventoryDetailEO,userIdList); - } - }*/ } /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java index 7020a7c93..55897172e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java @@ -646,10 +646,10 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl updateFeedbackHistoryDataStatusWrapper = new QueryWrapper<>(); - updateFeedbackHistoryDataStatusWrapper.lambda().eq(FeedbackHistory::getFeedbackId,projectTaskInventoryFeedbackEO.getId()); - updateFeedbackHistoryDataStatusWrapper.lambda().eq(FeedbackHistory::getDataStatus,FeedBackHistoryDataStatusEnum.CUTTENT.getValue()); - feedbackHistoryMapper.update(updateFeedbackHistory,updateFeedbackHistoryDataStatusWrapper); - - //设置历史表数据 - FeedbackHistory feedbackHistory = new FeedbackHistory(); - BeanUtils.copyProperties(projectTaskInventoryFeedbackEO, feedbackHistory); - String id = UUID.randomUUID().toString().replace("-", ""); - feedbackHistory.setId(id); - feedbackHistory.setFeedbackId(projectTaskInventoryFeedbackEO.getId()); - feedbackHistory.setDataStatus(FeedBackHistoryDataStatusEnum.CUTTENT.getValue()); - feedbackHistoryMapper.insert(feedbackHistory); - - this.baseMapper.updateById(projectTaskInventoryFeedbackEO); + Date now = new Date(); + projectTaskInventoryFeedbackEO.setUpdateTime(now); + saveOrUpdate(projectTaskInventoryFeedbackEO); } /** @@ -123,13 +111,50 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl projectTaskInventoryFeedbackEOS = this.baseMapper.selectList(queryWrapper); if(CollectionUtils.isNotEmpty(projectTaskInventoryFeedbackEOS)){ + List idList = projectTaskInventoryFeedbackEOS.stream().distinct().map(ProjectTaskInventoryFeedbackEO::getProjectTaskInventoryId).collect(Collectors.toList()); + QueryWrapper inventoryDetailEOQueryWrapper = new QueryWrapper<>(); + inventoryDetailEOQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getId,idList); + List projectTaskInventoryDetailEOList = projectTaskInventoryDetailEOMapper.selectList(inventoryDetailEOQueryWrapper); + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); for (ProjectTaskInventoryFeedbackEO projectTaskInventoryFeedbackEO : projectTaskInventoryFeedbackEOS) { if (StringUtils.equals(currentUser.getUsername(),projectTaskInventoryFeedbackEO.getCreateBy())) { projectTaskInventoryFeedbackEO.setCreateUser(true); } + List projectTaskInventoryDetailList = projectTaskInventoryDetailEOList.stream() + .filter(detail -> StringUtils.equals(detail.getId(), projectTaskInventoryFeedbackEO.getProjectTaskInventoryId())) + .collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailList)){ + projectTaskInventoryFeedbackEO.setStatus(projectTaskInventoryDetailList.get(0).getStatus()); + } } } return projectTaskInventoryFeedbackEOS; } + + @Override + public void dreSubmit(ProjectTaskInventoryFeedbackEO projectTaskInventoryFeedbackEO) { + Date now = new Date(); + projectTaskInventoryFeedbackEO.setUpdateTime(now); + + //把历史表中的数据为'当前'的 , 更新为'历史' + FeedbackHistory updateFeedbackHistory = new FeedbackHistory(); + updateFeedbackHistory.setDataStatus(FeedBackHistoryDataStatusEnum.HISTORY.getValue()); + QueryWrapper updateFeedbackHistoryDataStatusWrapper = new QueryWrapper<>(); + updateFeedbackHistoryDataStatusWrapper.lambda().eq(FeedbackHistory::getFeedbackId,projectTaskInventoryFeedbackEO.getId()); + updateFeedbackHistoryDataStatusWrapper.lambda().eq(FeedbackHistory::getDataStatus,FeedBackHistoryDataStatusEnum.CUTTENT.getValue()); + feedbackHistoryMapper.update(updateFeedbackHistory,updateFeedbackHistoryDataStatusWrapper); + + //设置历史表数据 + FeedbackHistory feedbackHistory = new FeedbackHistory(); + BeanUtils.copyProperties(projectTaskInventoryFeedbackEO, feedbackHistory); + String id = UUID.randomUUID().toString().replace("-", ""); + feedbackHistory.setId(id); + feedbackHistory.setFeedbackId(projectTaskInventoryFeedbackEO.getId()); + feedbackHistory.setDataStatus(FeedBackHistoryDataStatusEnum.CUTTENT.getValue()); + feedbackHistoryMapper.insert(feedbackHistory); + + this.baseMapper.updateById(projectTaskInventoryFeedbackEO); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/entity/ProcessHistoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/entity/ProcessHistoryEO.java index 0db464597..b3f1f595b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/entity/ProcessHistoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/entity/ProcessHistoryEO.java @@ -94,4 +94,9 @@ public class ProcessHistoryEO implements Serializable { @TableField(exist = false) private String assignee;; + /**操作节点,页面展示字段**/ + @TableField(exist = false) + private String name;; + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/service/impl/ProcessHistoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/service/impl/ProcessHistoryEOServiceImpl.java index dd05ac721..900ed9ee9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/service/impl/ProcessHistoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/service/impl/ProcessHistoryEOServiceImpl.java @@ -150,7 +150,7 @@ public class ProcessHistoryEOServiceImpl extends ServiceImpl