From ad48a195c352d5783828a9029ac5f7abddf924cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=89=E7=82=AE?= <15856818120@163.com> Date: Fri, 20 Jun 2025 18:23:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=85=E9=81=93bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../safetycheck/PitfallDelayApprovalVo.java | 11 +++ .../bonus/flowable/utils/FlowTaskUtils.java | 2 +- .../controller/OutsourcingProController.java | 2 +- .../project/mapper/SecurityCheckMapper.java | 6 ++ .../impl/AdmissionRequestServiceImpl.java | 3 +- .../impl/SecurityCheckServiceImpl.java | 81 +++++++++++++++++++ .../safetycheck/SecurityCheckMapper.xml | 19 ++++- .../mapper/system/AdmissionRequestMapper.xml | 1 + 8 files changed, 121 insertions(+), 4 deletions(-) diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/PitfallDelayApprovalVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/PitfallDelayApprovalVo.java index e49eeda..4c06c63 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/PitfallDelayApprovalVo.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/safetycheck/PitfallDelayApprovalVo.java @@ -154,4 +154,15 @@ public class PitfallDelayApprovalVo extends BaseBean { */ private String peoId; + /** + * 当前审批人id + */ + private String checkUserId; + + private String examineType; + + private Integer auditStatus; + + private String isActive; + } diff --git a/bonus-modules/bonus-flowable/src/main/java/com/bonus/flowable/utils/FlowTaskUtils.java b/bonus-modules/bonus-flowable/src/main/java/com/bonus/flowable/utils/FlowTaskUtils.java index 8942049..40a81ad 100644 --- a/bonus-modules/bonus-flowable/src/main/java/com/bonus/flowable/utils/FlowTaskUtils.java +++ b/bonus-modules/bonus-flowable/src/main/java/com/bonus/flowable/utils/FlowTaskUtils.java @@ -557,7 +557,7 @@ public class FlowTaskUtils extends FlowServiceFactory { .taskAssignee(userId) .singleResult(); if (Objects.isNull(task)) { - return AjaxResult.error("任务不存在,当前审核流程已结束,请先退出刷新列表!"); + return AjaxResult.error("不在当前审核节点!"); } boolean tf = false; String id = ""; diff --git a/bonus-modules/bonus-project/src/main/java/com/bonus/project/controller/OutsourcingProController.java b/bonus-modules/bonus-project/src/main/java/com/bonus/project/controller/OutsourcingProController.java index 9678eb7..ad0937d 100644 --- a/bonus-modules/bonus-project/src/main/java/com/bonus/project/controller/OutsourcingProController.java +++ b/bonus-modules/bonus-project/src/main/java/com/bonus/project/controller/OutsourcingProController.java @@ -165,7 +165,7 @@ public class OutsourcingProController extends BaseController { } @PostMapping("/exportSupervisorPerson") @SysLog(title = "工程管理", businessType = OperaType.EXPORT,logType = 0,module = "工程管理->外委外包工程",details = "导出监理人员基本信息") - public void exportSupervisorPerson(HttpServletResponse response, SupervisorPerson supervisorPerson) { + public void exportSupervisorPerson(HttpServletResponse response,@RequestBody SupervisorPerson supervisorPerson) { try{ List list = service.listSupervisorPerson(supervisorPerson); for (SupervisorPerson person : list) { diff --git a/bonus-modules/bonus-project/src/main/java/com/bonus/project/mapper/SecurityCheckMapper.java b/bonus-modules/bonus-project/src/main/java/com/bonus/project/mapper/SecurityCheckMapper.java index 193c70f..ea1c36a 100644 --- a/bonus-modules/bonus-project/src/main/java/com/bonus/project/mapper/SecurityCheckMapper.java +++ b/bonus-modules/bonus-project/src/main/java/com/bonus/project/mapper/SecurityCheckMapper.java @@ -318,4 +318,10 @@ public interface SecurityCheckMapper { int withdrawalOfExtension(String id); int updateHiddenDangerRectification2(NewHiddenDangerDto dto); + + String getThisCheckUser(String taskId); + + List approvalHistoryUser(String taskId); + + List getThisCheckUserStatus(String taskId); } 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 b6c0690..04817e8 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 @@ -239,7 +239,8 @@ public class AdmissionRequestServiceImpl implements AdmissionRequestService { } //查询是否在其他工程 已入场 AdmissionRequest proUser = arMapper.getUserInToPro(bean); - if(proUser!=null){ + //如果是承包商负责人允许入多个工程 + if(proUser!=null && !"0".equals(proUser.getPost())){ if(!"3".equals(proUser.getOutStatus())){ return new AjaxResult(201,"该人员已在其他工程入场,请先出场后再入场"); } 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 a5a4054..4c9d18b 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 @@ -782,9 +782,90 @@ public class SecurityCheckServiceImpl implements SecurityCheckService { data.setFinalCheck(checkMaps.get(data.getProcInsId())); } }); + + //判断当前节点是谁审批 + for (PitfallDelayApprovalVo pitfallDelayApprovalVo:list) { + if (pitfallDelayApprovalVo.getTaskId()!=null){ + List pitfallDelayApprovalVoList = mapper.approvalHistoryUser(pitfallDelayApprovalVo.getTaskId()); + for (PitfallDelayApprovalVo PitfallDelayApprovalVo:pitfallDelayApprovalVoList ) { + if ("4".equals(PitfallDelayApprovalVo.getAuditStatus())){ + pitfallDelayApprovalVo.setCheckUserId(PitfallDelayApprovalVo.getUserId()); + } + } + approvalHistoryUser(pitfallDelayApprovalVo); + String userId = mapper.getThisCheckUser(pitfallDelayApprovalVo.getTaskId()); + pitfallDelayApprovalVo.setCheckUserId(userId); + } + } return list; } + public List approvalHistoryUser(PitfallDelayApprovalVo pitfallDelayApprovalVo) { + List pitfallDelayApprovalVoList = mapper.approvalHistoryUser(pitfallDelayApprovalVo.getTaskId()); + List finalList = new ArrayList<>(); + for (PitfallDelayApprovalVo bean : pitfallDelayApprovalVoList) { + List ss = Arrays.asList(bean.getUserId().split(",")); + String examineType = bean.getExamineType(); + if ("0".equals(examineType)) { + for (int i = 0; i < ss.size(); i++) { + PitfallDelayApprovalVo newBean = new PitfallDelayApprovalVo(); + newBean.setId(bean.getId()); + newBean.setAuditStatus(bean.getAuditStatus()); + newBean.setTaskId(bean.getTaskId()); + newBean.setExamineType(bean.getExamineType()); + newBean.setCreateTime(bean.getCreateTime()); + newBean.setUserId(ss.get(i)); + finalList.add(newBean); + } + } else { + PitfallDelayApprovalVo newBean = new PitfallDelayApprovalVo(); + newBean.setId(bean.getId()); + newBean.setAuditStatus(bean.getAuditStatus()); + newBean.setTaskId(bean.getTaskId()); + newBean.setExamineType(bean.getExamineType()); + newBean.setCreateTime(bean.getCreateTime()); + newBean.setUserId(bean.getUserId()); + finalList.add(newBean); + } + + } + String userId = mapper.getThisCheckUser(pitfallDelayApprovalVo.getTaskId()); + if (userId != null) { + for (PitfallDelayApprovalVo bb : finalList) { + String users = bb.getUserId(); + if (users != null && Arrays.asList(users.split(",")).contains(userId)) { + bb.setIsActive("1"); + } + } + } else { + List types = mapper.getThisCheckUserStatus(pitfallDelayApprovalVo.getTaskId()); + if (StringUtils.isNotEmpty(types)) { + finalList.get(0).setType(types.get(0)); + } + finalList.get(0).setIsActive("10"); + } + + boolean isBh=true; + for (PitfallDelayApprovalVo configurationVo : finalList) { + if (configurationVo.getAuditStatus() !=null) { + if (configurationVo.getAuditStatus() == 2) { + isBh = false; + break; + } + } + } + if(isBh){ + for (PitfallDelayApprovalVo configurationVo : finalList) { + if(configurationVo.getAuditStatus() ==null){ + configurationVo.setAuditStatus(4); + break; + } + } + } + + return finalList; + } + // @Override // public List getReviewOfDeferredApprovalList(SecurityCheckDto dto) { // List list = mapper.getReviewOfDeferredApprovalList(dto); 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 975b2f2..c3d6639 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 @@ -543,7 +543,8 @@ ypi.delay_reject_reason AS delayRejectReason, ypi.is_delay AS isDelayCheck, ypi.rejection_delay AS rejectionDelay, - ypd.delay_reason AS delayReason + ypd.delay_reason AS delayReason, + ypd.user_id As userId FROM yh_pitfall_info ypi LEFT JOIN yh_pitfall_detaills ypd ON ypi.pitfall_id = ypd.pitfall_id LEFT JOIN sys_dict_data sdd @@ -625,4 +626,20 @@ AND is_active = 1) AS total_counts; + + + 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 c2d4a77..c03bf4d 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 @@ -452,6 +452,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT pcp.cons_name AS consName, pcp.id_card AS idCard, pcp.cons_user_id as id, + pcp.post AS post, lcp.uuid,lcp.out_status outStatus FROM pt_cons_person pcp LEFT JOIN lk_cont_person lcp ON lcp.cons_persion_id = pcp.cons_user_id