Merge remote-tracking branch 'origin/master'
This commit is contained in:
+2
-3
@@ -134,12 +134,11 @@ public class WorkCenterController {
|
||||
public Result<?> getApprovalRecordList(ProcessApprovalRecord processApprovalRecord,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
@RequestParam(name = "type") String type,
|
||||
HttpServletRequest req) {
|
||||
@RequestParam(name = "type") String type) {
|
||||
Page<ProcessApprovalRecord> page = new Page<>(pageNo, pageSize);
|
||||
Page<ProcessApprovalRecord> pageList;
|
||||
try {
|
||||
pageList = processApprovalRecordService.pageList(page, processApprovalRecord, type, req);
|
||||
pageList = processApprovalRecordService.pageList(page, processApprovalRecord, type);
|
||||
}catch (Exception e){
|
||||
return Result.error(MessageUtils.getMessage(ResultCommon.ERROR));
|
||||
}
|
||||
|
||||
+43
-3
@@ -1,10 +1,13 @@
|
||||
package com.jero.modules.activiti.process.standardComplianceCheck.listener;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheck;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheckDetail;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckDetailService;
|
||||
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary;
|
||||
import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibraryDetail;
|
||||
import com.jero.modules.assessmentLibrary.entity.LawsEvaluationNotMetLibrary;
|
||||
@@ -24,8 +27,9 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.jero.modules.activiti.process.standardComplianceCheck.common.ProcessStandardComplianceCheckConstants.DISCREPANCY;
|
||||
import static com.jero.modules.activiti.process.standardComplianceCheck.common.ProcessStandardComplianceCheckConstants.NOT_INVOLVE;
|
||||
import static com.jero.modules.activiti.common.ActivitiCommon.DISTRIBUTE;
|
||||
import static com.jero.modules.activiti.process.standardComplianceCheck.common.ProcessStandardComplianceCheckConstants.*;
|
||||
import static com.jero.modules.activiti.service.ProcessApprovalRecordService.COMPLETED_RECORD_LIST;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
@@ -52,10 +56,39 @@ public class ProcessSCCEndListener implements ExecutionListener {
|
||||
|
||||
@Resource
|
||||
private ILawsStandardMasterPlanService lawsStandardMasterPlanService;
|
||||
|
||||
@Resource
|
||||
private ProcessApprovalRecordService processApprovalRecordService;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateExecution delegateExecution) {
|
||||
log.info("法规符合性排查流程结束监听器开始执行");
|
||||
// 找到流程的所有审批人员
|
||||
Page<ProcessApprovalRecord> page = new Page<>(1, Integer.MAX_VALUE);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
processApprovalRecord.setProcessInstanceId(delegateExecution.getProcessInstanceId());
|
||||
Page<ProcessApprovalRecord> processApprovalRecordPage = processApprovalRecordService
|
||||
.pageList(page, processApprovalRecord, COMPLETED_RECORD_LIST);
|
||||
List<ProcessApprovalRecord> processApprovalRecordList = processApprovalRecordPage.getRecords();
|
||||
// 找到流程的所有评估人
|
||||
boolean distribute = (boolean) delegateExecution.getVariable(DISTRIBUTE);
|
||||
String allAssessors;
|
||||
if (distribute) {
|
||||
allAssessors = processApprovalRecordList.stream()
|
||||
.filter(task -> task.getNodeId().equals(DESIGNER_ENGINEER_EVALUATION))
|
||||
.map(ProcessApprovalRecord::getUserId)
|
||||
.distinct()
|
||||
.collect(Collectors.joining(","));
|
||||
} else {
|
||||
allAssessors = (String) delegateExecution.getVariable(MAIN_CHECK_USER);
|
||||
}
|
||||
String allApprovalUsers = processApprovalRecordList.stream()
|
||||
.filter(task -> task.getNodeId().equals(COUNTERSIGN) ||
|
||||
task.getNodeId().equals(SENIOR_MANAGER_APPROVAL) ||
|
||||
task.getNodeId().equals(DESIGNER_ENGINEER_EVALUATION))
|
||||
.map(ProcessApprovalRecord::getUserId)
|
||||
.distinct()
|
||||
.collect(Collectors.joining(","));
|
||||
LambdaQueryWrapper<ProcessStandardComplianceCheck> sccWrapper = new LambdaQueryWrapper<>();
|
||||
LambdaQueryWrapper<ProcessStandardComplianceCheckDetail> sccDetailWrapper = new LambdaQueryWrapper<>();
|
||||
// 找到流程数据
|
||||
@@ -73,6 +106,8 @@ public class ProcessSCCEndListener implements ExecutionListener {
|
||||
if (lawsConformityAssessmentLibrary == null) {
|
||||
lawsConformityAssessmentLibrary = BeanCopyUtils.copyBean(scc, LawsConformityAssessmentLibrary.class);
|
||||
lawsConformityAssessmentLibrary.setId(null);
|
||||
lawsConformityAssessmentLibrary.setAllApprovalUser(allApprovalUsers);
|
||||
lawsConformityAssessmentLibrary.setAllAssessor(allAssessors);
|
||||
calService.save(lawsConformityAssessmentLibrary);
|
||||
lawsStandardMasterPlanService.syncRegulatoryComplianceInvestigation(lawsConformityAssessmentLibrary);
|
||||
} else {
|
||||
@@ -82,6 +117,8 @@ public class ProcessSCCEndListener implements ExecutionListener {
|
||||
lawsConformityAssessmentLibrary.setValuationTime(latestEvaluation
|
||||
.map(ProcessStandardComplianceCheckDetail::getValuationTime).orElse(null));
|
||||
// 更新评估日期
|
||||
lawsConformityAssessmentLibrary.setAllApprovalUser(allApprovalUsers);
|
||||
lawsConformityAssessmentLibrary.setAllAssessor(allAssessors);
|
||||
calService.updateById(lawsConformityAssessmentLibrary);
|
||||
}
|
||||
|
||||
@@ -96,7 +133,10 @@ public class ProcessSCCEndListener implements ExecutionListener {
|
||||
.stream().filter(detail -> detail.getResult().equals(DISCREPANCY) ||
|
||||
detail.getResult().equals(NOT_INVOLVE)).collect(Collectors.toList());
|
||||
List<LawsEvaluationNotMetLibrary> lawsEvaluationNotMetLibraries = BeanCopyUtils.copyBeanList(notList, LawsEvaluationNotMetLibrary.class);
|
||||
lawsEvaluationNotMetLibraries.forEach(detail -> detail.setId(null));
|
||||
lawsEvaluationNotMetLibraries.forEach(detail -> {
|
||||
detail.setId(null);
|
||||
detail.setAllApprovalUser(allApprovalUsers);
|
||||
});
|
||||
notMetService.saveBatch(lawsEvaluationNotMetLibraries);
|
||||
log.info("法规符合性排查流程结束监听器结束执行");
|
||||
}
|
||||
|
||||
+1
-2
@@ -19,7 +19,6 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -60,7 +59,7 @@ public class ProcessApprovalRecordService extends ServiceImpl<ProcessApprovalRec
|
||||
return this.getOne(wrapper);
|
||||
}
|
||||
|
||||
public Page<ProcessApprovalRecord> pageList(Page<ProcessApprovalRecord> page, ProcessApprovalRecord processApprovalRecord, String type, HttpServletRequest req) {
|
||||
public Page<ProcessApprovalRecord> pageList(Page<ProcessApprovalRecord> page, ProcessApprovalRecord processApprovalRecord, String type) {
|
||||
boolean allSnapshotFlag = type.equals(ALL_RECORD_LIST);
|
||||
String curUserId = UserUtils.getUserId();
|
||||
QueryWrapper<ProcessApprovalRecord> wrapper = new QueryWrapper<>();
|
||||
|
||||
+12
@@ -69,6 +69,18 @@ public class LawsConformityAssessmentLibrary implements Serializable {
|
||||
@ApiModelProperty(value = "结束评估日期")
|
||||
private Date endValuationTime;
|
||||
|
||||
/**
|
||||
* 所有审批人员
|
||||
*/
|
||||
@ApiModelProperty(value = "所有审批人员")
|
||||
private String allApprovalUser;
|
||||
|
||||
/**
|
||||
* 所有审批人员
|
||||
*/
|
||||
@ApiModelProperty(value = "所有审批人员")
|
||||
private String allAssessor;
|
||||
|
||||
/**
|
||||
* 适用市场
|
||||
*/
|
||||
|
||||
+6
@@ -248,6 +248,12 @@ public class LawsEvaluationNotMetLibrary implements Serializable {
|
||||
@Excel(name = "标准编号", width = 15, orderNum = "4")
|
||||
private String standardName;
|
||||
|
||||
/**
|
||||
* 这条数据的所有审批人员
|
||||
*/
|
||||
@ApiModelProperty(value = "这条数据的所有审批人员")
|
||||
private String allApprovalUser;
|
||||
|
||||
/**
|
||||
* 关闭用主键ids
|
||||
*/
|
||||
|
||||
+13
-4
@@ -9,14 +9,15 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【laws_conformity_assessment_library(法规符合性评估库)】的数据库操作Service
|
||||
* @createDate 2024-06-24 14:47:19
|
||||
*/
|
||||
* @author ThinkBook
|
||||
* @description 针对表【laws_conformity_assessment_library(法规符合性评估库)】的数据库操作Service
|
||||
* @createDate 2024-06-24 14:47:19
|
||||
*/
|
||||
public interface ILawsConformityAssessmentLibraryService extends IService<LawsConformityAssessmentLibrary> {
|
||||
|
||||
/**
|
||||
* 分页列表
|
||||
*
|
||||
* @param lawsConformityAssessmentLibrary
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
@@ -27,6 +28,7 @@ public interface ILawsConformityAssessmentLibraryService extends IService<LawsCo
|
||||
|
||||
/**
|
||||
* 查看 分页列表
|
||||
*
|
||||
* @param lawsConformityAssessmentLibraryDetail
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
@@ -37,6 +39,7 @@ public interface ILawsConformityAssessmentLibraryService extends IService<LawsCo
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*
|
||||
* @param lawsConformityAssessmentLibrary
|
||||
* @return
|
||||
*/
|
||||
@@ -44,4 +47,10 @@ public interface ILawsConformityAssessmentLibraryService extends IService<LawsCo
|
||||
String fileName, String sheetName, HttpServletRequest req);
|
||||
|
||||
LawsConformityAssessmentLibrary queryOne(LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary);
|
||||
|
||||
/**
|
||||
* 是否 不是超级管理员或者法规管理员
|
||||
* @return
|
||||
*/
|
||||
boolean noAdminAuth();
|
||||
}
|
||||
|
||||
+36
-3
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.FileUtils;
|
||||
import com.jero.common.util.ZipUtil;
|
||||
import com.jero.common.util.obs.ObsBootUtil;
|
||||
@@ -18,6 +19,7 @@ import com.jero.modules.assessmentLibrary.service.ILawsConformityAssessmentLibra
|
||||
import com.jero.modules.laws.enterprise.util.BeanCopyUtils;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import com.jero.modules.system.util.SysWaterMarkUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -36,6 +38,7 @@ import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.*;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
@@ -61,9 +64,20 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl<Laws
|
||||
@Resource
|
||||
private LawsConformityAssessmentLibraryMapper lawsConformityAssessmentLibraryMapper;
|
||||
|
||||
/**
|
||||
* 法规管理员
|
||||
*/
|
||||
@Value("${sys_role.laws_admin}")
|
||||
private String lawsAdmin;
|
||||
/**
|
||||
* 超级管理员
|
||||
*/
|
||||
@Value("${sys_role.super_admin}")
|
||||
private String superAdmin;
|
||||
|
||||
|
||||
@Override
|
||||
public IPage<LawsConformityAssessmentLibrary> queryPage(LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary, Integer pageNo, Integer pageSize) {
|
||||
// TODO 数据权限
|
||||
QueryWrapper<LawsConformityAssessmentLibrary> queryWrapper = new QueryWrapper<>();
|
||||
Page<LawsConformityAssessmentLibrary> page = new Page<>(pageNo, pageSize);
|
||||
queryWrapper.like(StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getStandardNumber()),
|
||||
@@ -79,8 +93,11 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl<Laws
|
||||
queryWrapper.between(lawsConformityAssessmentLibrary.getValuationTime() != null,
|
||||
"valuation_time", lawsConformityAssessmentLibrary.getStartValuationTime(), lawsConformityAssessmentLibrary.getEndValuationTime());
|
||||
queryWrapper.orderByDesc("cs.create_time");
|
||||
Page<LawsConformityAssessmentLibrary> result = lawsConformityAssessmentLibraryMapper.queryByPage(page, queryWrapper);
|
||||
return result;
|
||||
if (noAdminAuth()) {
|
||||
String userId = UserUtils.getUserId();
|
||||
queryWrapper.like("cs.all_approval_user", userId);
|
||||
}
|
||||
return lawsConformityAssessmentLibraryMapper.queryByPage(page, queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -100,6 +117,16 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl<Laws
|
||||
}
|
||||
queryWrapper.like(StringUtils.isNotBlank(lawsConformityAssessmentLibraryDetail.getAssessor()),
|
||||
"CONCAT(u.realname, '(', u.username, ')')", lawsConformityAssessmentLibraryDetail.getAssessor());
|
||||
if (noAdminAuth()) {
|
||||
String userId = UserUtils.getUserId();
|
||||
String bindId = lawsConformityAssessmentLibraryDetail.getBindId();
|
||||
LawsConformityAssessmentLibrary cal = this.getById(bindId);
|
||||
String allApprovalUser = "";
|
||||
allApprovalUser = cal.getAllApprovalUser();
|
||||
if (StringUtils.isBlank(allApprovalUser) || !allApprovalUser.contains(userId)) {
|
||||
queryWrapper.eq("assessor", userId);
|
||||
}
|
||||
}
|
||||
return lawsConformityAssessmentLibraryMapper.detail(page, queryWrapper);
|
||||
}
|
||||
|
||||
@@ -257,6 +284,12 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl<Laws
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean noAdminAuth() {
|
||||
LoginUser currentUser = UserUtils.getCurrentUser();
|
||||
return Stream.of(currentUser.getRoleIds()).noneMatch(roleId -> roleId.equals(lawsAdmin) || roleId.equals(superAdmin));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
+9
-12
@@ -12,9 +12,11 @@ import com.jero.common.util.FileUtils;
|
||||
import com.jero.common.util.ZipUtil;
|
||||
import com.jero.modules.assessmentLibrary.entity.LawsEvaluationNotMetLibrary;
|
||||
import com.jero.modules.assessmentLibrary.mapper.LawsEvaluationNotMetLibraryMapper;
|
||||
import com.jero.modules.assessmentLibrary.service.ILawsConformityAssessmentLibraryService;
|
||||
import com.jero.modules.assessmentLibrary.service.ILawsEvaluationNotMetLibraryService;
|
||||
import com.jero.modules.laws.utils.ExcelExportUtilPro;
|
||||
import com.jero.modules.projectLibrary.common.AssessCommon;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
@@ -47,24 +49,14 @@ public class LawsEvaluationNotMetLibraryServiceImpl extends ServiceImpl<LawsEval
|
||||
private LawsEvaluationNotMetLibraryMapper notMetMapper;
|
||||
@Resource
|
||||
private ExcelExportUtilPro excelExportUtilPro;
|
||||
@Resource
|
||||
private ILawsConformityAssessmentLibraryService calService;
|
||||
|
||||
@Value("${jero.path.exportExcelTempPath}")
|
||||
private String exportExcelTempPath;
|
||||
private static final String EXPORT_EXCEL_TEMP = "exportExcelTemp";
|
||||
/**
|
||||
* 法规管理员
|
||||
*/
|
||||
@Value("${sys_role.laws_admin}")
|
||||
private String lawsAdmin;
|
||||
/**
|
||||
* 超级管理员
|
||||
*/
|
||||
@Value("${sys_role.super_admin}")
|
||||
private String superAdmin;
|
||||
|
||||
@Override
|
||||
public IPage<LawsEvaluationNotMetLibrary> queryPage(LawsEvaluationNotMetLibrary lawsEvaluationNotMet, Integer pageNo, Integer pageSize, HttpServletRequest req) {
|
||||
// TODO 权限
|
||||
QueryWrapper<LawsEvaluationNotMetLibrary> queryWrapper = QueryGenerator.initQueryWrapper(lawsEvaluationNotMet, req.getParameterMap());
|
||||
queryWrapper.like(StringUtils.isNotBlank(lawsEvaluationNotMet.getStandardNumber()),
|
||||
"nm.standard_number", lawsEvaluationNotMet.getStandardNumber());
|
||||
@@ -82,6 +74,11 @@ public class LawsEvaluationNotMetLibraryServiceImpl extends ServiceImpl<LawsEval
|
||||
if (StringUtils.isNotBlank(lawsEvaluationNotMet.getSelections())) {
|
||||
queryWrapper.in("nm.id", Arrays.asList(lawsEvaluationNotMet.getSelections().split(",")));
|
||||
}
|
||||
if (calService.noAdminAuth()) {
|
||||
String userId = UserUtils.getUserId();
|
||||
queryWrapper.like("nm.all_approval_user", userId).or()
|
||||
.like("nm.assessor", userId);
|
||||
}
|
||||
queryWrapper.orderByDesc("nm.create_time");
|
||||
Page<LawsEvaluationNotMetLibrary> page = new Page<>(pageNo, pageSize);
|
||||
return notMetMapper.pageList(page, queryWrapper, lawsEvaluationNotMet);
|
||||
|
||||
Reference in New Issue
Block a user