From 5503111cbaf0eedaa0dafc025e164d5938455f35 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Mon, 12 Jun 2023 13:51:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=9C=BA=E7=AB=AF-=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=BB=BB=E5=8A=A1=E6=8E=A5=E5=8F=A3=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ToDoCenterController.java | 32 ++ .../phone/service/IToDoCenterService.java | 9 + .../service/impl/ToDoCenterServiceImpl.java | 400 ++++++++++++++++++ .../mapper/ProcessInfoEOMapper.java | 7 + .../mapper/xml/ProcessInfoEOMapper.xml | 157 +++++++ .../service/IProcessInfoEOService.java | 6 + .../impl/ProcessInfoEOServiceImpl.java | 2 + 7 files changed, 613 insertions(+) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/controller/ToDoCenterController.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/IToDoCenterService.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/ToDoCenterServiceImpl.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/controller/ToDoCenterController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/controller/ToDoCenterController.java new file mode 100644 index 000000000..ab705cdfd --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/controller/ToDoCenterController.java @@ -0,0 +1,32 @@ +package com.jero.modules.phone.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.phone.service.IToDoCenterService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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("/phone/toDoCenter") +public class ToDoCenterController { + + @Autowired + private IToDoCenterService toDoCenterService; + + @AutoLog(value = "手机端-待办中心-查询待办任务分页列表") + @ApiOperation(value = "手机端-待办中心-查询待办任务分页列表", notes = "手机端-待办中心-查询待办任务分页列表") + @GetMapping(value = "/queryTodoTaskPage") + public Result queryTodoTaskPage(@RequestParam Map params) { + IPage page = this.toDoCenterService.queryTodoTaskPage(params); + return Result.OK(page); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/IToDoCenterService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/IToDoCenterService.java new file mode 100644 index 000000000..14bd74181 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/IToDoCenterService.java @@ -0,0 +1,9 @@ +package com.jero.modules.phone.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.Map; + +public interface IToDoCenterService { + IPage queryTodoTaskPage(Map params); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/ToDoCenterServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/ToDoCenterServiceImpl.java new file mode 100644 index 000000000..8164f8793 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/ToDoCenterServiceImpl.java @@ -0,0 +1,400 @@ +package com.jero.modules.phone.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.system.vo.LoginUser; +import com.jero.modules.phone.service.IToDoCenterService; +import com.jero.modules.project.entity.ProjectLawsInventoryEO; +import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO; +import com.jero.modules.project.enums.CertificationFlowNodeEnum; +import com.jero.modules.project.enums.ProjectInventoryFieldEnum; +import com.jero.modules.project.enums.TaskStatusEnum; +import com.jero.modules.project.service.IProjectLawsInventoryEOService; +import com.jero.modules.project.service.IProjectTaskInventoryDetailEOService; +import com.jero.modules.project.service.IProjectTaskInventoryEOService; +import com.jero.modules.system.entity.SysCategory; +import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysCategoryService; +import com.jero.modules.system.service.ISysUserService; +import com.jero.modules.system.service.impl.SysDictItemServiceImpl; +import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO; +import com.jero.modules.todoCenter.enums.DesignComplianceFlowNodeKeyEnum; +import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum; +import com.jero.modules.todoCenter.enums.VerifyComplianceFlowNodeKeyEnum; +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.DesignComplianceNodeEnum; +import com.jero.modules.wkflow.enums.FlowTypeEnum; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.BeanUtils; +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; + +@Service +public class ToDoCenterServiceImpl implements IToDoCenterService { + + @Autowired + private ProcessInfoEOMapper processInfoEOMapper; + @Autowired + private IProcessInfoEOService processInfoEOService; + @Autowired + private IProcessInfoDetailEOService processInfoDetailEOService; + @Autowired + private IProjectTaskInventoryDetailEOService projectTaskInventoryDetailEOService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private IProjectLawsInventoryEOService projectLawsInventoryEOService; + @Autowired + private ISysCategoryService sysCategoryService; + @Autowired + private SysDictItemServiceImpl sysDictItemServiceImpl; + + @Override + public IPage queryTodoTaskPage(Map params) { + String cut = (String) params.get("cut"); + Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); + Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + List flowTypeList = new ArrayList<>(); + flowTypeList.add(FlowTypeEnum.RWQRLC.getValue()); + flowTypeList.add(FlowTypeEnum.SJFHXSHLC.getValue()); + flowTypeList.add(FlowTypeEnum.YZFHXSCLC.getValue()); + + params.put("flowTypeList", flowTypeList); + params.put("taskStatus", TaskStatusEnum.NOT_DONE.getValue()); + params.put("currentUserId", currentUser.getId()); + + List qdqrFlowTypeValue = new ArrayList<>(); + qdqrFlowTypeValue.add(FlowTypeEnum.QDQR.getValue()); + qdqrFlowTypeValue.add(FlowTypeEnum.CERTIFICATION_LC.getValue()); + params.put("qdqrFlowTypeValue", qdqrFlowTypeValue); + + IPage page = new Page(pageNo, pageSize); + + IPage result = this.processInfoEOMapper.queryPhoneTodoTaskListList(page, params); + List datas = result.getRecords(); + + this.disposeData(cut, datas); + + return result; + } + + private void disposeData(String cut, List datas) { + if(CollectionUtils.isNotEmpty(datas)){ + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + QueryWrapper pidQueryWrap = new QueryWrapper<>(); + pidQueryWrap.lambda().eq(ProcessInfoDetailEO::getFlowType,FlowTypeEnum.CERTIFICATION_LC.getValue()); + pidQueryWrap.lambda().eq(ProcessInfoDetailEO::getUserId,currentUser.getId()); + pidQueryWrap.lambda().eq(ProcessInfoDetailEO::getStatus,TaskStatusEnum.NOT_DONE.getValue()); + List pidEoList = this.processInfoDetailEOService.list(pidQueryWrap); + Iterator datasIt = datas.iterator(); + List datasTemp = new ArrayList<>(); + while (datasIt.hasNext()) { + ProcessInfoVO data = datasIt.next(); + if (StringUtils.equals(data.getFlowType(), FlowTypeEnum.CERTIFICATION_LC.getValue())) { + List pidEos = pidEoList.stream().filter(pidEo -> { + boolean flag = StringUtils.equals(pidEo.getProcessInfoId(), data.getId()); + return flag; + }).collect(Collectors.toList()); + + // 判断当前用户在这个认证流程中 有几个任务。 责任人 接受、责任人 提交交付物、认证工程审批 + if(CollectionUtils.isNotEmpty(pidEos)){ + List zrrjsrwPidEos = pidEos.stream().filter(pidEo -> { + return StringUtils.equals(pidEo.getTaskDefinitionKey(), CertificationFlowNodeEnum.ZRRJSRW.getKey()); + }).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(zrrjsrwPidEos)){ + ProcessInfoVO processInfoVOTemp = new ProcessInfoVO(); + BeanUtils.copyProperties(data,processInfoVOTemp); + processInfoVOTemp.setTaskDefinitionKey(CertificationFlowNodeEnum.TASK_RESPONSIBILITY_CONFIRMATION.getKey()); + datasTemp.add(processInfoVOTemp); + } + + List rzgcsscPidEos = pidEos.stream().filter(pidEo -> { + return StringUtils.equals(pidEo.getTaskDefinitionKey(), CertificationFlowNodeEnum.RZGCSSC.getKey()); + }).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(rzgcsscPidEos)){ + ProcessInfoVO processInfoVOTemp = new ProcessInfoVO(); + BeanUtils.copyProperties(data,processInfoVOTemp); + processInfoVOTemp.setTaskDefinitionKey(CertificationFlowNodeEnum.TASK_REVIEW.getKey()); + datasTemp.add(processInfoVOTemp); + } + + List zrrtjrwPidEos = pidEos.stream().filter(pidEo -> { + return StringUtils.equals(pidEo.getTaskDefinitionKey(), CertificationFlowNodeEnum.ZRRTJRW.getKey()); + }).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(zrrtjrwPidEos)){ + ProcessInfoVO processInfoVOTemp = new ProcessInfoVO(); + BeanUtils.copyProperties(data,processInfoVOTemp); + processInfoVOTemp.setTaskDefinitionKey(CertificationFlowNodeEnum.TASK_HANDLING.getKey()); + datasTemp.add(processInfoVOTemp); + } + } + datasIt.remove(); + } + } + datas.addAll(datasTemp); + this.disposeData(datas, cut, TaskStatusEnum.NOT_DONE.getValue()); + } + } + + public void disposeData(List datas, String cut, String taskStatus) { + 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 processInfoIdList = datas.stream().map(ProcessInfoVO::getId).distinct().collect(Collectors.toList()); + + QueryWrapper processInfoDetailQueryWrap = new QueryWrapper<>(); + processInfoDetailQueryWrap.lambda().in(ProcessInfoDetailEO::getProcessInfoId, processInfoIdList); + List processInfoDetailEOList = this.processInfoDetailEOService.list(processInfoDetailQueryWrap); + + Map> lastAssigneeDetailMap = processInfoDetailEOList.stream().filter(processInfoDetailEO -> { + boolean flag = false; + if (StringUtils.equals(processInfoDetailEO.getStatus(), TaskStatusEnum.HAVE_DONE.getValue()) && processInfoDetailEO.getSubmitTime() != null) { + flag = true; + } + return flag; + }).collect(Collectors.groupingBy(ProcessInfoDetailEO::getProcessInfoId)); + + Map> assigneeDetailMap = processInfoDetailEOList.stream().filter(processInfoDetailEO -> { + boolean flag = false; + if (StringUtils.equals(processInfoDetailEO.getStatus(), TaskStatusEnum.NOT_DONE.getValue()) && processInfoDetailEO.getSubmitTime() == null) { + flag = true; + } + return flag; + }).collect(Collectors.groupingBy(ProcessInfoDetailEO::getProcessInfoId)); + //设置责任人反馈意见 + this.processInfoEOService.setPersonChargeFeedback(datas); + + List userIdList = new ArrayList<>(); + datas.forEach(data -> { + String standardInfo = data.getStandardInfo(); + if (StringUtils.isNotBlank(standardInfo)) { + String standardInfoTemp = standardInfo.replaceAll("、", " "); + data.setStandardInfo(standardInfoTemp); + } + //设置上一个操作人。 + for (Map.Entry> detailMap : lastAssigneeDetailMap.entrySet()) { + if (StringUtils.equals(data.getId(), detailMap.getKey())) { + List detailEOList = detailMap.getValue(); + + Collections.sort(detailEOList, new Comparator() { + @Override + public int compare(ProcessInfoDetailEO o1, ProcessInfoDetailEO o2) { + return o2.getSubmitTime().compareTo(o1.getSubmitTime()); + } + }); + + String userId = detailEOList.get(0).getUserId(); + userIdList.add(userId); + data.setLastAssignee(userId); + break; + } + } + + //设置当前操作人 + for (Map.Entry> detailMap : assigneeDetailMap.entrySet()) { + if (StringUtils.equals(data.getId(), detailMap.getKey())) { + List detailEOList = detailMap.getValue(); + data.setAssignee(detailEOList.stream().map(ProcessInfoDetailEO::getUserId).collect(Collectors.joining(","))); + userIdList.addAll(detailEOList.stream().map(ProcessInfoDetailEO::getUserId).collect(Collectors.toList())); + + // 如果上一操作人是空,则证明该流程当前处理人也是上一个操作人。 + if (StringUtils.isEmpty(data.getLastAssignee())) { + List collect = detailEOList.stream().filter(detailEO -> { + return (StringUtils.equals(detailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.THE_RESPONSIBLE_PERSON_HANDLES_THE_TASK.getKey()) + || StringUtils.equals(detailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.SPONSOR_REVIEW.getKey())); + }).map(ProcessInfoDetailEO::getUserId).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(collect)) { + data.setLastAssignee(collect.get(0)); + } + } + break; + } + } + }); + + List 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); + + Date finalCurrentDate = currentDate; + datas.forEach(data -> { + if (StringUtils.isNotEmpty(data.getFlowType())) { + data.setFlowTypeShow(FlowTypeEnum.getTextByValue(data.getFlowType(), cut)); + } + if (StringUtils.isNotEmpty(data.getStatus())) { + data.setStatusShow(TodoCenterStatusEnum.getTextByValue(data.getStatus(), cut)); + } + + if (CollectionUtils.isNotEmpty(sysUserList)) { + if (StringUtils.isNotEmpty(data.getLastAssignee())) { + String lastUserName = sysUserList.stream().filter(sysUser -> { + boolean flag = false; + if (StringUtils.equals(data.getLastAssignee(), sysUser.getId())) { + flag = true; + } + return flag; + }).map(SysUser::getUsername).collect(Collectors.joining(",")); + data.setLastAssigneeName(lastUserName); + } + //如果流程没有结束,才可以展示当前处理人。 + if (!StringUtils.equals(data.getStatus(), TodoCenterStatusEnum.COMPLETED.getValue())) { + if (StringUtils.isNotEmpty(data.getAssignee())) { + String[] assigneeArr = data.getAssignee().split(","); + String currentUserName = sysUserList.stream().filter(sysUser -> { + boolean flag = false; + for (String assignee : assigneeArr) { + if (StringUtils.equals(assignee, sysUser.getId())) { + flag = true; + } + } + return flag; + }).map(SysUser::getUsername).collect(Collectors.joining(",")); + data.setAssigneeName(currentUserName); + } + } + } + + //设置任务清单明细表id + if (CollectionUtils.isNotEmpty(finalTaskInventoryDetailList)) { + String primaryKeyId = finalTaskInventoryDetailList.stream().filter(taskInventoryDetail -> { + boolean flag = false; + if (StringUtils.equals(data.getTaskId(), taskInventoryDetail.getTaskId())) { + flag = true; + } + return flag; + }).map(ProjectTaskInventoryDetailEO::getId).collect(Collectors.joining(",")); + data.setPrimaryKeyId(primaryKeyId); + } + + //判断当前任务是否过期 + Date endTime = data.getEndTime(); + if (ObjectUtils.isNotEmpty(endTime)) { + try { + endTime = sdf.parse(sdf.format(endTime)); + } catch (ParseException e) { + e.printStackTrace(); + } + if (finalCurrentDate.after(endTime) || finalCurrentDate.equals(endTime)) { + data.setEndTimePastDueFlag(true); + } + } + }); + + List createByUserIdList = datas.stream().map(ProcessInfoVO::getCreateBy).distinct().collect(Collectors.toList()); + List createByUserList = this.sysUserService.querySysUserListByIdList(createByUserIdList); + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + List projectLawsInventoryIdList = datas.stream().filter(data -> { + boolean flag = false; + if (StringUtils.isNotEmpty(data.getProjectLawsInventoryId())) { + flag = true; + } + return flag; + }).map(ProcessInfoVO::getProjectLawsInventoryId).collect(Collectors.toList()); + + List projectLawsInventoryEOList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(projectLawsInventoryIdList)) { + QueryWrapper lawsInventoryEOQueryWrapper = new QueryWrapper<>(); + lawsInventoryEOQueryWrapper.lambda().in(ProjectLawsInventoryEO::getId, projectLawsInventoryIdList); + projectLawsInventoryEOList = this.projectLawsInventoryEOService.list(lawsInventoryEOQueryWrapper); + } + List categoryList = this.sysCategoryService.list(); + + List sysDictItems = this.sysDictItemServiceImpl.getBaseMapper().selectItemsAll(); + for (ProcessInfoVO data : datas) { + if (CollectionUtils.isNotEmpty(projectLawsInventoryEOList)) { + // 处理展示的交付物类型信息 + String projectLawsInventoryId = data.getProjectLawsInventoryId(); + String deliverableTypeName = this.projectLawsInventoryEOService.getDeliverableTypeNameById(projectLawsInventoryId, cut, data.getFlowType(), projectLawsInventoryEOList, categoryList); + data.setDeliverableTypeName(deliverableTypeName); + + // 处理责任领域展示信息 + String dutyTerritoryName = this.projectLawsInventoryEOService.getDutyTerritoryNameById(projectLawsInventoryId, cut, projectLawsInventoryEOList, sysDictItems, ProjectInventoryFieldEnum.DUTY_TERRITORY.getValue()); + data.setDutyTerritoryName(dutyTerritoryName); + } + } + datas.forEach(data -> { + // 设置发起人的名称 + if (CollectionUtils.isNotEmpty(createByUserList) && StringUtils.isNotEmpty(data.getCreateBy())) { + String createBy = createByUserList.stream().filter(createByUser -> { + boolean flag = false; + if (StringUtils.equals(createByUser.getId(), data.getCreateBy())) { + flag = true; + } + return flag; + }).map(SysUser::getUsername).distinct().collect(Collectors.joining(",")); + data.setCreateBy(createBy); + } + + if (!StringUtils.equals(data.getFlowType(), FlowTypeEnum.QDQR.getValue()) && !StringUtils.equals(data.getFlowType(), FlowTypeEnum.CERTIFICATION_LC.getValue())) { + // 获取当前用户所拥有的待办任务信息 + List currentUserProcessInfoDetailInfos = processInfoDetailEOList.stream().filter(detail -> { + boolean flag = false; + if (StringUtils.isNotEmpty(taskStatus)) { + flag = (StringUtils.equals(detail.getProcessInfoId(), data.getId()) && StringUtils.equals(detail.getUserId(), currentUser.getId()) && StringUtils.equals(taskStatus, detail.getStatus())); + } else { + flag = (StringUtils.equals(detail.getProcessInfoId(), data.getId()) && StringUtils.equals(detail.getUserId(), currentUser.getId())); + } + return flag; + }).collect(Collectors.toList()); + + if (CollectionUtils.isNotEmpty(currentUserProcessInfoDetailInfos)) { + // 设置taskId + data.setTaskId(currentUserProcessInfoDetailInfos.get(0).getTaskId()); + // 设置taskDefinitionKey + data.setTaskDefinitionKey(currentUserProcessInfoDetailInfos.get(0).getTaskDefinitionKey()); + String taskDefinitionKeyName = ""; + if (StringUtils.equals(data.getFlowType(), FlowTypeEnum.SJFHXSHLC.getValue())) { + taskDefinitionKeyName = DesignComplianceFlowNodeKeyEnum.getTextByValue(currentUserProcessInfoDetailInfos.get(0).getTaskDefinitionKey(), cut); + } else if (StringUtils.equals(data.getFlowType(), FlowTypeEnum.YZFHXSCLC.getValue())) { + taskDefinitionKeyName = VerifyComplianceFlowNodeKeyEnum.getTextByValue(currentUserProcessInfoDetailInfos.get(0).getTaskDefinitionKey(), cut); + } + data.setTaskDefinitionKeyName(taskDefinitionKeyName); + } + } + // 如果是清单确认流程,将任务节点设置为 清单校核:Checklist verification + if (StringUtils.equals(data.getFlowType(), FlowTypeEnum.QDQR.getValue())) { + String taskDefinitionKeyName = "清单校核"; + if (StringUtils.equals(cut, CutEnum.EN.getValue())) { + taskDefinitionKeyName = "Checklist verification"; + } + data.setTaskDefinitionKeyName(taskDefinitionKeyName); + } + // 如果是Pre-Homo流程 + if (StringUtils.equals(data.getFlowType(), FlowTypeEnum.CERTIFICATION_LC.getValue()) && data.getEndTime() != null) { + data.setTaskDefinitionKeyName(CertificationFlowNodeEnum.getTextByValue(data.getTaskDefinitionKey(), cut)); + } + }); + } + } +} 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 86b9a32f8..f83950d1c 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 @@ -37,4 +37,11 @@ public interface ProcessInfoEOMapper extends BaseMapper { * @return */ IPage queryLawsAssessPageList(IPage page, Map params); + + /** + * 手机端-查询待办任务数据 + * @param params + * @return + */ + IPage queryPhoneTodoTaskListList(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 cb44f30ac..9ff407fcf 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 @@ -374,4 +374,161 @@ order by temp.end_time desc + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java index b0bcd234b..c0c5d82da 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.common.api.vo.Result; import com.jero.modules.todoCenter.entity.ProcessInfoEO; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.todoCenter.vo.ProcessInfoVO; + import java.util.List; import java.util.Map; @@ -126,4 +128,8 @@ public interface IProcessInfoEOService extends IService { * @return */ Result complianceDataMigration(Map params); + + void disposeData(List datas, String cut, String taskStatus); + + public void setPersonChargeFeedback(List datas); } 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 01c1ba96f..1a4c5a5aa 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 @@ -528,6 +528,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl datas, String cut, String taskStatus){ if(CollectionUtils.isNotEmpty(datas)){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); @@ -847,6 +848,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl datas){ //符合性流程实例id List complianceProcessPrcIdList = datas.stream().filter(data -> {