From 28be0a9332270c0e820d52dc10ae9c4e288fa977 Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Wed, 19 Feb 2025 11:20:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=A1=E6=A0=B8=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2=E5=8F=8A=E5=88=86?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/safetycheck/SecurityCheckDto.java | 5 + .../common/safetycheck/ViolationPunishVo.java | 5 + .../common/security/service/TokenService.java | 2 +- .../project/domain/AdmissionRequest.java | 4 + .../com/bonus/project/domain/ProMaterial.java | 5 + .../impl/AdmissionRequestServiceImpl.java | 109 ++++++++++-- .../service/impl/MaterialServiceImpl.java | 56 +++++- .../impl/SecurityCheckServiceImpl.java | 164 ++++++++++++++---- .../impl/ViolationManagementServiceImpl.java | 55 +++++- .../safetycheck/SecurityCheckMapper.xml | 65 ++++--- .../safetycheck/ViolationManagementMapper.xml | 12 +- .../mapper/system/AdmissionRequestMapper.xml | 31 +++- .../mapper/system/MaterialMapper.xml | 12 +- 13 files changed, 424 insertions(+), 101 deletions(-) diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/SecurityCheckDto.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/SecurityCheckDto.java index 8982b4e..53732d3 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/SecurityCheckDto.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/SecurityCheckDto.java @@ -225,4 +225,9 @@ public class SecurityCheckDto { */ private String rejectionDelay; + + private int dataType=0; + + private List proInsId; + } diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/ViolationPunishVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/ViolationPunishVo.java index 04b2571..664b556 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/ViolationPunishVo.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/ViolationPunishVo.java @@ -89,6 +89,11 @@ public class ViolationPunishVo extends BaseBean { private String finalCheck; private String intoStatus; private List personList; + + + private int dataType=0; + + private List proInsId; public interface Query { } } diff --git a/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/service/TokenService.java b/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/service/TokenService.java index 1ecae7b..5937ce6 100644 --- a/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/service/TokenService.java +++ b/bonus-common/bonus-common-security/src/main/java/com/bonus/common/security/service/TokenService.java @@ -66,7 +66,7 @@ public class TokenService if (StringUtils.isNotEmpty(existingToken)) { // 删除已有的 token - delLoginUser(existingToken); + // delLoginUser(existingToken); log.info("用户在其他设备上登录"); } diff --git a/bonus-modules/bonus-project/src/main/java/com/bonus/project/domain/AdmissionRequest.java b/bonus-modules/bonus-project/src/main/java/com/bonus/project/domain/AdmissionRequest.java index 3aed079..9b540e3 100644 --- a/bonus-modules/bonus-project/src/main/java/com/bonus/project/domain/AdmissionRequest.java +++ b/bonus-modules/bonus-project/src/main/java/com/bonus/project/domain/AdmissionRequest.java @@ -223,4 +223,8 @@ public class AdmissionRequest extends BaseBean implements Serializable { * 考勤时间 */ private String time; + + private int dataType=0; + + private List proInsId; } diff --git a/bonus-modules/bonus-project/src/main/java/com/bonus/project/domain/ProMaterial.java b/bonus-modules/bonus-project/src/main/java/com/bonus/project/domain/ProMaterial.java index c42b069..a4aa539 100644 --- a/bonus-modules/bonus-project/src/main/java/com/bonus/project/domain/ProMaterial.java +++ b/bonus-modules/bonus-project/src/main/java/com/bonus/project/domain/ProMaterial.java @@ -5,6 +5,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; +import java.util.List; /** * FileName: ProMaterial @@ -58,4 +59,8 @@ public class ProMaterial extends BaseBean implements Serializable { private String endDate; private String status; private String intoStatus; + + private int dataType=0; + + private List proInsId; } diff --git a/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/AdmissionRequestServiceImpl.java b/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/AdmissionRequestServiceImpl.java index 69ff389..b7f5531 100644 --- a/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/AdmissionRequestServiceImpl.java +++ b/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/AdmissionRequestServiceImpl.java @@ -4,6 +4,7 @@ import com.bonus.common.core.constant.UserConstants; import com.bonus.common.core.domain.R; import com.bonus.common.core.domain.RequestEntity; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.utils.PageUtils; import com.bonus.common.core.utils.StaticVariableUtils; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; @@ -22,6 +23,7 @@ import com.bonus.system.api.RemoteFileService; import com.bonus.system.api.domain.SysFile; import com.bonus.system.api.domain.SysUser; import com.bonus.system.api.model.LoginUser; +import com.google.common.collect.Maps; import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -102,21 +104,56 @@ public class AdmissionRequestServiceImpl implements AdmissionRequestService { @Override public List getContPersonByProIdAndOtherId(AdmissionRequest bean) { - - List list = arMapper.getContPersonByProIdAndOtherId(bean); RequestEntity entity = new RequestEntity(); - entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); - // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 - GenericProcessor processor = new GenericProcessor(); - processor.processEntities(list, entity, flowTaskService); - if (!StringUtils.isEmpty(bean.getStatus()) && ("1".equals(bean.getStatus()) || "2".equals(bean.getStatus()))) { - list = list.stream() - .filter(admissionRequest -> bean.getStatus().equals(admissionRequest.getIntoStatus())) - .collect(Collectors.toList()); + //数据查询 + Map checkMaps= Maps.newHashMap(); + if("1".equals(bean.getStatus()) || "2".equals(bean.getStatus())){ + entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + AjaxResult ajaxResult = flowTaskService.getStayFlow(entity); + if (ajaxResult.isSuccess()) { + List> data = (List>) ajaxResult.get("data"); + List proInsId=new ArrayList<>(); + data.forEach(map->{ + proInsId.add((String)map.get("proInsId")); + checkMaps.put((String)map.get("proInsId"),(String) map.get("finalCheck")); + }); + if(StringUtils.isNotEmpty(data)){ + bean.setDataType(1); + bean.setProInsId(proInsId); + } + } } + PageUtils.startPage(); + List list = arMapper.getContPersonByProIdAndOtherId(bean); + list.forEach(data->{ + if ("2".equals(data.getIntoStatus())) { + data.setIntoStatus("1"); + } + if("1".equals(data.getStatus()) && bean.getDataType()==1){ + data.setFinalCheck(checkMaps.get(data.getProcInsId())); + } + }); return list; } +// @Override +// public List getContPersonByProIdAndOtherId(AdmissionRequest bean) { +// List list = arMapper.getContPersonByProIdAndOtherId(bean); +// RequestEntity entity = new RequestEntity(); +// entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); +// // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 +// GenericProcessor processor = new GenericProcessor(); +// processor.processEntities(list, entity, flowTaskService); +// if (!StringUtils.isEmpty(bean.getStatus()) && ("1".equals(bean.getStatus()) || "2".equals(bean.getStatus()))) { +// list = list.stream() +// .filter(admissionRequest -> bean.getStatus().equals(admissionRequest.getIntoStatus())) +// .collect(Collectors.toList()); +// } +// return list; +// } + + + /** * 处理任务并添加 ID 到集合 */ @@ -352,20 +389,54 @@ public class AdmissionRequestServiceImpl implements AdmissionRequestService { */ @Override public List listEntranceOfPersonnel(AdmissionRequest bean) { - List list = arMapper.listEntranceOfPersonnel(bean); RequestEntity entity = new RequestEntity(); - entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); - // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 - GenericProcessor processor = new GenericProcessor(); - processor.processEntities(list, entity, flowTaskService); - if (!StringUtils.isEmpty(bean.getStatus()) && ("1".equals(bean.getStatus()) || "2".equals(bean.getStatus()))) { - list = list.stream() - .filter(admissionRequest -> bean.getStatus().equals(admissionRequest.getIntoStatus())) - .collect(Collectors.toList()); + //数据查询 + Map checkMaps= Maps.newHashMap(); + if("1".equals(bean.getStatus()) || "2".equals(bean.getStatus())){ + entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + AjaxResult ajaxResult = flowTaskService.getStayFlow(entity); + if (ajaxResult.isSuccess()) { + List> data = (List>) ajaxResult.get("data"); + List proInsId=new ArrayList<>(); + data.forEach(map->{ + proInsId.add((String)map.get("proInsId")); + checkMaps.put((String)map.get("proInsId"),(String) map.get("finalCheck")); + }); + if(StringUtils.isNotEmpty(data)){ + bean.setDataType(1); + bean.setProInsId(proInsId); + } + } } + PageUtils.startPage(); + List list = arMapper.listEntranceOfPersonnel(bean); + list.forEach(data->{ + if ("2".equals(data.getIntoStatus())) { + data.setIntoStatus("1"); + } + if("1".equals(data.getStatus()) && bean.getDataType()==1){ + data.setFinalCheck(checkMaps.get(data.getProcInsId())); + } + }); return list; } +// @Override +// public List listEntranceOfPersonnel(AdmissionRequest bean) { +// List list = arMapper.listEntranceOfPersonnel(bean); +// RequestEntity entity = new RequestEntity(); +// entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); +// // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 +// GenericProcessor processor = new GenericProcessor(); +// processor.processEntities(list, entity, flowTaskService); +// if (!StringUtils.isEmpty(bean.getStatus()) && ("1".equals(bean.getStatus()) || "2".equals(bean.getStatus()))) { +// list = list.stream() +// .filter(admissionRequest -> bean.getStatus().equals(admissionRequest.getIntoStatus())) +// .collect(Collectors.toList()); +// } +// return list; +// } + /** * 校验同工程下施工人员是否唯一 * diff --git a/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/MaterialServiceImpl.java b/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/MaterialServiceImpl.java index 8bec815..7cdbbf3 100644 --- a/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/MaterialServiceImpl.java +++ b/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/MaterialServiceImpl.java @@ -2,8 +2,10 @@ package com.bonus.project.service.impl; import com.bonus.common.core.domain.R; import com.bonus.common.core.domain.RequestEntity; +import com.bonus.common.core.utils.PageUtils; import com.bonus.common.core.utils.StaticVariableUtils; import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.project.controller.GenericProcessor; import com.bonus.project.domain.Equipment; @@ -14,6 +16,7 @@ import com.bonus.project.service.FlowTaskService; import com.bonus.project.service.MaterialService; import com.bonus.system.api.RemoteFileService; import com.bonus.system.api.domain.SysFile; +import com.google.common.collect.Maps; import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -23,6 +26,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.validation.constraints.NotNull; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -52,19 +56,53 @@ public class MaterialServiceImpl implements MaterialService { */ @Override public List getEnterFileList(ProMaterial bean) { - List list = mapper.getEnterFileList(bean); RequestEntity entity = new RequestEntity(); - entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); - // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 - GenericProcessor processor = new GenericProcessor(); - processor.processEntities(list, entity, flowTaskService); - if (!StringUtils.isEmpty(bean.getStatus()) && ("1".equals(bean.getStatus()) || "2".equals(bean.getStatus()))) { - list = list.stream() - .filter(proMaterial -> bean.getStatus().equals(proMaterial.getIntoStatus())) - .collect(Collectors.toList()); + //数据查询 + Map checkMaps= Maps.newHashMap(); + if("1".equals(bean.getStatus()) || "2".equals(bean.getStatus())){ + entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + AjaxResult ajaxResult = flowTaskService.getStayFlow(entity); + if (ajaxResult.isSuccess()) { + List> data = (List>) ajaxResult.get("data"); + List proInsId=new ArrayList<>(); + data.forEach(map->{ + proInsId.add((String)map.get("proInsId")); + checkMaps.put((String)map.get("proInsId"),(String) map.get("finalCheck")); + }); + if(StringUtils.isNotEmpty(data)){ + bean.setDataType(1); + bean.setProInsId(proInsId); + } + } } + PageUtils.startPage(); + List list = mapper.getEnterFileList(bean); + list.forEach(data->{ + if ("2".equals(data.getIntoStatus())) { + data.setIntoStatus("1"); + } + if("1".equals(data.getStatus()) && bean.getDataType()==1){ + data.setFinalCheck(checkMaps.get(data.getProcInsId())); + } + }); return list; } + +// @Override +// public List getEnterFileList(ProMaterial bean) { +// List list = mapper.getEnterFileList(bean); +// RequestEntity entity = new RequestEntity(); +// entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); +// // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 +// GenericProcessor processor = new GenericProcessor(); +// processor.processEntities(list, entity, flowTaskService); +// if (!StringUtils.isEmpty(bean.getStatus()) && ("1".equals(bean.getStatus()) || "2".equals(bean.getStatus()))) { +// list = list.stream() +// .filter(proMaterial -> bean.getStatus().equals(proMaterial.getIntoStatus())) +// .collect(Collectors.toList()); +// } +// return list; +// } /** * 施工材料入场申请 * @param constructionMaterialFile 施工材料文件 diff --git a/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/SecurityCheckServiceImpl.java b/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/SecurityCheckServiceImpl.java index 1bed7c1..b873077 100644 --- a/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/SecurityCheckServiceImpl.java +++ b/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/SecurityCheckServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson2.JSONObject; import com.bonus.common.core.domain.R; import com.bonus.common.core.domain.RequestEntity; +import com.bonus.common.core.utils.PageUtils; import com.bonus.common.core.utils.StaticVariableUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.safetycheck.*; @@ -14,6 +15,7 @@ import com.bonus.project.service.FlowTaskService; import com.bonus.project.service.SecurityCheckService; import com.bonus.system.api.RemoteFileService; import com.bonus.system.api.domain.SysFile; +import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -24,10 +26,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.validation.constraints.NotNull; import java.text.SimpleDateFormat; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -402,20 +401,54 @@ public class SecurityCheckServiceImpl implements SecurityCheckService { */ @Override public List getHiddenDangerRectificationList(SecurityCheckDto dto) { - List list = mapper.getHiddenDangerRectificationList(dto); RequestEntity entity = new RequestEntity(); - entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); - // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 - GenericProcessor processor = new GenericProcessor(); - processor.processEntities(list, entity, flowTaskService); - if (!StringUtils.isEmpty(dto.getStatus()) && ("1".equals(dto.getStatus()) || "2".equals(dto.getStatus()))) { - list = list.stream() - .filter(item -> dto.getStatus().equals(item.getIntoStatus())) - .collect(Collectors.toList()); + //数据查询 + Map checkMaps= Maps.newHashMap(); + if("1".equals(dto.getStatus()) || "2".equals(dto.getStatus())){ + entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + AjaxResult ajaxResult = flowTaskService.getStayFlow(entity); + if (ajaxResult.isSuccess()) { + List> data = (List>) ajaxResult.get("data"); + List proInsId=new ArrayList<>(); + data.forEach(map->{ + proInsId.add((String)map.get("proInsId")); + checkMaps.put((String)map.get("proInsId"),(String) map.get("finalCheck")); + }); + if(com.bonus.common.core.utils.StringUtils.isNotEmpty(data)){ + dto.setDataType(1); + dto.setProInsId(proInsId); + } + } } + PageUtils.startPage(); + List list = mapper.getHiddenDangerRectificationList(dto); + list.forEach(data->{ + if ("2".equals(data.getIntoStatus())) { + data.setIntoStatus("1"); + } + if("1".equals(data.getStatus()) && dto.getDataType()==1){ + data.setFinalCheck(checkMaps.get(data.getProcInsId())); + } + }); return list; } +// @Override +// public List getHiddenDangerRectificationList(SecurityCheckDto dto) { +// List list = mapper.getHiddenDangerRectificationList(dto); +// RequestEntity entity = new RequestEntity(); +// entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); +// // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 +// GenericProcessor processor = new GenericProcessor(); +// processor.processEntities(list, entity, flowTaskService); +// if (!StringUtils.isEmpty(dto.getStatus()) && ("1".equals(dto.getStatus()) || "2".equals(dto.getStatus()))) { +// list = list.stream() +// .filter(item -> dto.getStatus().equals(item.getIntoStatus())) +// .collect(Collectors.toList()); +// } +// return list; +// } + /** * 保存隐患问题整改回传 * @@ -480,20 +513,52 @@ public class SecurityCheckServiceImpl implements SecurityCheckService { */ @Override public List getHiddenDangerRectificationApprovalList(SecurityCheckDto dto) { - List list = mapper.getHiddenDangerRectificationApprovalList(dto); RequestEntity entity = new RequestEntity(); - entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); - // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 - GenericProcessor processor = new GenericProcessor(); - processor.processEntities(list, entity, flowTaskService); - if (!StringUtils.isEmpty(dto.getStatus()) && ("1".equals(dto.getStatus()) || "2".equals(dto.getStatus()))) { - list = list.stream() - .filter(item -> dto.getStatus().equals(item.getIntoStatus())) - .collect(Collectors.toList()); + //数据查询 + Map checkMaps= Maps.newHashMap(); + if("1".equals(dto.getStatus()) || "2".equals(dto.getStatus())){ + entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + AjaxResult ajaxResult = flowTaskService.getStayFlow(entity); + if (ajaxResult.isSuccess()) { + List> data = (List>) ajaxResult.get("data"); + List proInsId=new ArrayList<>(); + data.forEach(map->{ + proInsId.add((String)map.get("proInsId")); + checkMaps.put((String)map.get("proInsId"),(String) map.get("finalCheck")); + }); + if(com.bonus.common.core.utils.StringUtils.isNotEmpty(data)){ + dto.setDataType(1); + dto.setProInsId(proInsId); + } + } } + PageUtils.startPage(); + List list = mapper.getHiddenDangerRectificationApprovalList(dto); + list.forEach(data->{ + if ("2".equals(data.getIntoStatus())) { + data.setIntoStatus("1"); + } + if("1".equals(data.getStatus()) && dto.getDataType()==1){ + data.setFinalCheck(checkMaps.get(data.getProcInsId())); + } + }); return list; } - +// @Override +// public List getHiddenDangerRectificationApprovalList(SecurityCheckDto dto) { +// List list = mapper.getHiddenDangerRectificationApprovalList(dto); +// RequestEntity entity = new RequestEntity(); +// entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); +// // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 +// GenericProcessor processor = new GenericProcessor(); +// processor.processEntities(list, entity, flowTaskService); +// if (!StringUtils.isEmpty(dto.getStatus()) && ("1".equals(dto.getStatus()) || "2".equals(dto.getStatus()))) { +// list = list.stream() +// .filter(item -> dto.getStatus().equals(item.getIntoStatus())) +// .collect(Collectors.toList()); +// } +// return list; +// } /** * 整改方隐患问题整改回传状态修改 * @@ -647,20 +712,55 @@ public class SecurityCheckServiceImpl implements SecurityCheckService { */ @Override public List getReviewOfDeferredApprovalList(SecurityCheckDto dto) { - List list = mapper.getReviewOfDeferredApprovalList(dto); RequestEntity entity = new RequestEntity(); - entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); - // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 - GenericProcessor processor = new GenericProcessor(); - processor.processEntities(list, entity, flowTaskService); - if (!StringUtils.isEmpty(dto.getStatus()) && ("1".equals(dto.getStatus()) || "2".equals(dto.getStatus()))) { - list = list.stream() - .filter(item -> dto.getStatus().equals(item.getIntoStatus())) - .collect(Collectors.toList()); + //数据查询 + Map checkMaps= Maps.newHashMap(); + if("1".equals(dto.getStatus()) || "2".equals(dto.getStatus())){ + entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + AjaxResult ajaxResult = flowTaskService.getStayFlow(entity); + if (ajaxResult.isSuccess()) { + List> data = (List>) ajaxResult.get("data"); + List proInsId=new ArrayList<>(); + data.forEach(map->{ + proInsId.add((String)map.get("proInsId")); + checkMaps.put((String)map.get("proInsId"),(String) map.get("finalCheck")); + }); + if(com.bonus.common.core.utils.StringUtils.isNotEmpty(data)){ + dto.setDataType(1); + dto.setProInsId(proInsId); + } + } } + PageUtils.startPage(); + List list = mapper.getReviewOfDeferredApprovalList(dto); + list.forEach(data->{ + if ("2".equals(data.getIntoStatus())) { + data.setIntoStatus("1"); + } + if("1".equals(data.getStatus()) && dto.getDataType()==1){ + data.setFinalCheck(checkMaps.get(data.getProcInsId())); + } + }); return list; } +// @Override +// public List getReviewOfDeferredApprovalList(SecurityCheckDto dto) { +// List list = mapper.getReviewOfDeferredApprovalList(dto); +// RequestEntity entity = new RequestEntity(); +// entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); +// // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 +// GenericProcessor processor = new GenericProcessor(); +// processor.processEntities(list, entity, flowTaskService); +// if (!StringUtils.isEmpty(dto.getStatus()) && ("1".equals(dto.getStatus()) || "2".equals(dto.getStatus()))) { +// list = list.stream() +// .filter(item -> dto.getStatus().equals(item.getIntoStatus())) +// .collect(Collectors.toList()); +// } +// return list; +// } + + /** * 定时修改隐患状态。一天跑两次中午12点一次晚上11点50一次 * 整改状态: diff --git a/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/ViolationManagementServiceImpl.java b/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/ViolationManagementServiceImpl.java index b731d44..a34a37e 100644 --- a/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/ViolationManagementServiceImpl.java +++ b/bonus-modules/bonus-project/src/main/java/com/bonus/project/service/impl/ViolationManagementServiceImpl.java @@ -2,6 +2,7 @@ package com.bonus.project.service.impl; import com.alibaba.fastjson2.JSONObject; import com.bonus.common.core.domain.RequestEntity; +import com.bonus.common.core.utils.PageUtils; import com.bonus.common.core.utils.StaticVariableUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.entity.SysFileInfo; @@ -13,6 +14,7 @@ import com.bonus.project.mapper.ViolationManagementMapper; import com.bonus.project.service.FlowTaskService; import com.bonus.project.service.SecurityCheckService; import com.bonus.project.service.ViolationManagementService; +import com.google.common.collect.Maps; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -20,7 +22,9 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -144,20 +148,53 @@ public class ViolationManagementServiceImpl implements ViolationManagementServic */ @Override public List getViolationPunishApprovalList(ViolationPunishVo dto) { - List list = mapper.getViolationPunishApprovalList(dto); RequestEntity entity = new RequestEntity(); - entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); - // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 - GenericProcessor processor = new GenericProcessor(); - processor.processEntities(list, entity, flowTaskService); - if (!StringUtils.isEmpty(dto.getStatus()) && ("1".equals(dto.getStatus()) || "2".equals(dto.getStatus()))) { - list = list.stream() - .filter(item -> dto.getStatus().equals(item.getIntoStatus())) - .collect(Collectors.toList()); + //数据查询 + Map checkMaps= Maps.newHashMap(); + if("1".equals(dto.getStatus()) || "2".equals(dto.getStatus())){ + entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + AjaxResult ajaxResult = flowTaskService.getStayFlow(entity); + if (ajaxResult.isSuccess()) { + List> data = (List>) ajaxResult.get("data"); + List proInsId=new ArrayList<>(); + data.forEach(map->{ + proInsId.add((String)map.get("proInsId")); + checkMaps.put((String)map.get("proInsId"),(String) map.get("finalCheck")); + }); + if(com.bonus.common.core.utils.StringUtils.isNotEmpty(data)){ + dto.setDataType(1); + dto.setProInsId(proInsId); + } + } } + PageUtils.startPage(); + List list = mapper.getViolationPunishApprovalList(dto); + list.forEach(data->{ + if ("2".equals(data.getIntoStatus())) { + data.setIntoStatus("1"); + } + if("1".equals(data.getStatus()) && dto.getDataType()==1){ + data.setFinalCheck(checkMaps.get(data.getProcInsId())); + } + }); return list; } +// public List getViolationPunishApprovalList(ViolationPunishVo dto) { +// List list = mapper.getViolationPunishApprovalList(dto); +// RequestEntity entity = new RequestEntity(); +// entity.setUserId(String.valueOf(SecurityUtils.getLoginUser().getUserid())); +// // 创建一个 GenericProcessor 实例 对审批流程数据进行处理 +// GenericProcessor processor = new GenericProcessor(); +// processor.processEntities(list, entity, flowTaskService); +// if (!StringUtils.isEmpty(dto.getStatus()) && ("1".equals(dto.getStatus()) || "2".equals(dto.getStatus()))) { +// list = list.stream() +// .filter(item -> dto.getStatus().equals(item.getIntoStatus())) +// .collect(Collectors.toList()); +// } +// return list; +// } + @Override @Transactional(rollbackFor = Exception.class) public AjaxResult addViolationInfo(AddViolation violation) { diff --git a/bonus-modules/bonus-project/src/main/resources/mapper/safetycheck/SecurityCheckMapper.xml b/bonus-modules/bonus-project/src/main/resources/mapper/safetycheck/SecurityCheckMapper.xml index 0f9a2ea..f987c65 100644 --- a/bonus-modules/bonus-project/src/main/resources/mapper/safetycheck/SecurityCheckMapper.xml +++ b/bonus-modules/bonus-project/src/main/resources/mapper/safetycheck/SecurityCheckMapper.xml @@ -276,7 +276,7 @@ ypi.proc_inst_id AS procInsId, ypi.delay_task_id AS delayTaskId, ypi.delay_proc_inst_id AS delayProcInsId, - '0' as status, + #{dataType} as status, ypi.check_state as intoStatus, ypi.accept_time AS rectificationReceiveTime, ypi.reject_reason AS rejectReason, @@ -284,20 +284,24 @@ ypi.rejection_delay AS rejectionDelay, ypi.is_check AS isCheck FROM yh_pitfall_info ypi - LEFT JOIN yh_pitfall_detaills ypd ON ypi.pitfall_id = ypd.pitfall_id - LEFT JOIN sys_dict_data sdd - ON ypi.is_from = sdd.dict_value AND sdd.dict_type = 'yn_collection_source' AND sdd.status = 0 - LEFT JOIN sys_dict_data sdd1 - ON ypi.check_state = sdd1.dict_value AND sdd1.dict_type = 'sys_approval_state' AND - sdd1.status = 0 - LEFT JOIN sys_dict_data sdd2 - ON ypi.check_status = sdd2.dict_value AND sdd2.dict_type = 'yn_check_status' AND - sdd2.status = 0 - WHERE ypi.is_active = 1 - AND ypd.pro_id = #{proId} + LEFT JOIN yh_pitfall_detaills ypd ON ypi.pitfall_id = ypd.pitfall_id + LEFT JOIN sys_dict_data sdd ON ypi.is_from = sdd.dict_value AND sdd.dict_type = 'yn_collection_source' AND sdd.status = 0 + LEFT JOIN sys_dict_data sdd1 ON ypi.check_state = sdd1.dict_value AND sdd1.dict_type = 'sys_approval_state' AND sdd1.status = 0 + LEFT JOIN sys_dict_data sdd2 ON ypi.check_status = sdd2.dict_value AND sdd2.dict_type = 'yn_check_status' AND sdd2.status = 0 + WHERE ypi.is_active = 1 AND ypd.pro_id = #{proId} AND ypd.pitfall_type_id = #{pitfallTypeId} + + AND ypi.proc_inst_id IN ( + + #{item} + + ) + + + and ypi.check_state = #{status} + AND ypd.pitfall_level_id = #{pitfallLevelId} @@ -389,7 +393,7 @@ sdd.dict_label AS isFrom, ypd.find_time AS findTime, sdd2.dict_label AS checkStatus, - '0' AS status, + #{dataType} AS status, ypi.check_state as intoStatus, ypi.delay_check_state as delayCheckState, ypi.task_id as taskId, @@ -402,19 +406,24 @@ ypi.reject_reason AS rejectReason, ypi.delay_time AS delayTime FROM yh_pitfall_info ypi - LEFT JOIN yh_pitfall_detaills ypd ON ypi.pitfall_id = ypd.pitfall_id - LEFT JOIN sys_dict_data sdd - ON ypi.is_from = sdd.dict_value AND sdd.dict_type = 'yn_collection_source' AND sdd.status = 0 - LEFT JOIN sys_dict_data sdd1 - ON ypi.check_state = sdd1.dict_value AND sdd1.dict_type = 'sys_approval_state' AND - sdd1.status = 0 - LEFT JOIN sys_dict_data sdd2 - ON ypi.check_status = sdd2.dict_value AND sdd2.dict_type = 'yn_check_status' AND - sdd2.status = 0 + LEFT JOIN yh_pitfall_detaills ypd ON ypi.pitfall_id = ypd.pitfall_id + LEFT JOIN sys_dict_data sdd ON ypi.is_from = sdd.dict_value AND sdd.dict_type = 'yn_collection_source' AND sdd.status = 0 + LEFT JOIN sys_dict_data sdd1 ON ypi.check_state = sdd1.dict_value AND sdd1.dict_type = 'sys_approval_state' AND sdd1.status = 0 + LEFT JOIN sys_dict_data sdd2 ON ypi.check_status = sdd2.dict_value AND sdd2.dict_type = 'yn_check_status' AND sdd2.status = 0 WHERE ypi.is_active = 1 AND ypd.user_id = #{userId} + + AND ypi.proc_inst_id IN ( + + #{item} + + ) + + + and ypi.check_state= #{status} + AND ypd.pitfall_type_id = #{pitfallTypeId} @@ -511,7 +520,7 @@ ypd.pitfall_type_name AS pitfallTypeName, ypd.pitfall_level_name AS pitfallLevelName, ypi.is_delay AS isDelay, - '0' AS status, + #{dataType} AS status, ypi.delay_check_state AS intoStatus, ypi.delay_task_id AS taskId, ypi.delay_proc_inst_id AS procInsId, @@ -537,6 +546,16 @@ AND ypd.pitfall_level_id = #{hazardIssueLevel} + + AND ypi.delay_proc_inst_id IN ( + + #{item} + + ) + + + and ypi.delay_check_state = #{status} + AND ypd.pitfall_type_id = #{hazardIssueCategories} diff --git a/bonus-modules/bonus-project/src/main/resources/mapper/safetycheck/ViolationManagementMapper.xml b/bonus-modules/bonus-project/src/main/resources/mapper/safetycheck/ViolationManagementMapper.xml index 157661c..e820150 100644 --- a/bonus-modules/bonus-project/src/main/resources/mapper/safetycheck/ViolationManagementMapper.xml +++ b/bonus-modules/bonus-project/src/main/resources/mapper/safetycheck/ViolationManagementMapper.xml @@ -330,7 +330,7 @@ wvi.director_name as directorName, wvi.create_user_name as findName, wvi.sub_user_name as receiveName, - '0' status, + #{dataType} status, wvi.check_status as intoStatus, wvi.task_id as taskId, wvi.proc_inst_id as procInsId, @@ -342,6 +342,16 @@ and wvi.pro_id = #{proId} + + AND wvi.proc_inst_id IN ( + + #{item} + + ) + + + and wvi.check_status= #{status} + and wvi.sub_user_id = #{personId} diff --git a/bonus-modules/bonus-project/src/main/resources/mapper/system/AdmissionRequestMapper.xml b/bonus-modules/bonus-project/src/main/resources/mapper/system/AdmissionRequestMapper.xml index e1f7889..ad9b72b 100644 --- a/bonus-modules/bonus-project/src/main/resources/mapper/system/AdmissionRequestMapper.xml +++ b/bonus-modules/bonus-project/src/main/resources/mapper/system/AdmissionRequestMapper.xml @@ -294,6 +294,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND lkc.into_status = #{status} + + AND lkc.proc_inst_id IN ( + + #{item} + + ) + + + and lkc.into_status = #{status} + \ No newline at end of file