fix(征求意见): 详情完善
This commit is contained in:
+10
@@ -111,4 +111,14 @@ public class ProcessFbStandardConsultation implements Serializable {
|
||||
@ApiModelProperty(value = "标准名称/编号")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String standardNameNumber;
|
||||
|
||||
/**收藏标准来源(1国内、2海外、3企标)*/
|
||||
@ApiModelProperty(value = "收藏标准来源(1国内、2海外、3企标)")
|
||||
@TableField(exist = false)
|
||||
private String source;
|
||||
|
||||
/**标准id*/
|
||||
@Excel(name = "标准id", width = 15)
|
||||
@ApiModelProperty(value = "标准id")
|
||||
private java.lang.String standardId;
|
||||
}
|
||||
|
||||
+5
-4
@@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbConsultationList;
|
||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardConsultation;
|
||||
import com.jero.modules.laws.consultation.service.IConsultationService;
|
||||
import com.jero.modules.laws.consultation.vo.ProcessFbConsultationListVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
@@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName: ConsultationController
|
||||
@@ -60,8 +59,10 @@ public class ConsultationController {
|
||||
@ApiOperation(value="征求意见-详情", notes="征求意见-详情")
|
||||
@GetMapping(value = "/queryDetailByBusinessId")
|
||||
@Translation
|
||||
public Result<List<ProcessFbConsultationList>> queryDetailByBusinessId(String businessId) {
|
||||
return Result.OK(consultationService.queryDetailByBusinessId(businessId));
|
||||
public Result<ProcessFbConsultationListVO> queryDetailByBusinessId(String businessId,
|
||||
@ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
return Result.OK(consultationService.queryDetailByBusinessId(businessId, pageNo, pageSize));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+10
@@ -3,6 +3,7 @@ package com.jero.modules.laws.consultation.service;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbConsultationList;
|
||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardConsultation;
|
||||
import com.jero.modules.laws.consultation.vo.ProcessFbConsultationListVO;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -39,4 +40,13 @@ public interface IConsultationService {
|
||||
* @param response
|
||||
*/
|
||||
void exportExcel(String businessId, HttpServletRequest request, HttpServletResponse response);
|
||||
|
||||
/**
|
||||
* 征求意见-详情
|
||||
* @param businessId
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
ProcessFbConsultationListVO queryDetailByBusinessId(String businessId, Integer pageNo, Integer pageSize);
|
||||
}
|
||||
|
||||
+46
-6
@@ -11,8 +11,11 @@ import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardConsultation
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessFbConsultationListService;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessFbStandardConsultationService;
|
||||
import com.jero.modules.laws.consultation.service.IConsultationService;
|
||||
import com.jero.modules.laws.consultation.vo.ProcessFbConsultationListVO;
|
||||
import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
|
||||
import com.jero.modules.laws.standard.entity.LawsOverseasStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
|
||||
import com.jero.modules.laws.standard.service.ILawsOverseasStandardService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.entity.SysDepart;
|
||||
@@ -30,6 +33,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -48,17 +52,20 @@ public class ConsultationServiceImpl implements IConsultationService {
|
||||
private final IProcessFbStandardConsultationService processFbStandardConsultationService;
|
||||
private final IProcessFbConsultationListService processFbConsultationListService;
|
||||
private final ILawsDomesticStandardService lawsDomesticStandardService;
|
||||
private final ILawsOverseasStandardService lawsOverseasStandardService;
|
||||
private final ISysDepartService sysDepartService;
|
||||
private final IOSSFileService ossFileService;
|
||||
|
||||
public ConsultationServiceImpl(IProcessFbStandardConsultationService processFbStandardConsultationService,
|
||||
IProcessFbConsultationListService processFbConsultationListService,
|
||||
ILawsDomesticStandardService lawsDomesticStandardService,
|
||||
ILawsOverseasStandardService lawsOverseasStandardService,
|
||||
ISysDepartService sysDepartService,
|
||||
IOSSFileService ossFileService) {
|
||||
this.processFbStandardConsultationService = processFbStandardConsultationService;
|
||||
this.processFbConsultationListService = processFbConsultationListService;
|
||||
this.lawsDomesticStandardService = lawsDomesticStandardService;
|
||||
this.lawsOverseasStandardService = lawsOverseasStandardService;
|
||||
this.sysDepartService = sysDepartService;
|
||||
this.ossFileService = ossFileService;
|
||||
}
|
||||
@@ -77,20 +84,33 @@ public class ConsultationServiceImpl implements IConsultationService {
|
||||
.or().like(ProcessFbStandardConsultation::getStandardName, processFbStandardConsultation.getStandardNameNumber()));
|
||||
}
|
||||
IPage<ProcessFbStandardConsultation> page = processFbStandardConsultationService.page(new Page<>(pageNo, pageSize), queryWrapper);
|
||||
List<ProcessFbStandardConsultation> records = page.getRecords();
|
||||
fillProperty(records);
|
||||
return page;
|
||||
}
|
||||
|
||||
private void fillProperty(List<ProcessFbStandardConsultation> processFbStandardConsultations) {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
for (ProcessFbStandardConsultation StandardConsultation : page.getRecords()) {
|
||||
LawsDomesticStandard lawsDomesticStandard = lawsDomesticStandardService.getOne(new LambdaQueryWrapper<LawsDomesticStandard>()
|
||||
.eq(LawsDomesticStandard::getStandardNumber, StandardConsultation.getStandardNumber()), false);
|
||||
for (ProcessFbStandardConsultation StandardConsultation : processFbStandardConsultations) {
|
||||
String standardName = StandardConsultation.getStandardName();
|
||||
if (!Objects.isNull(lawsDomesticStandard) && StringUtils.isNotBlank(lawsDomesticStandard.getStandardName())){
|
||||
|
||||
// 国标
|
||||
LawsDomesticStandard lawsDomesticStandard = lawsDomesticStandardService.getById(StandardConsultation.getStandardId());
|
||||
// 海外
|
||||
LawsOverseasStandard lawsOverseasStandard = lawsOverseasStandardService.getById(StandardConsultation.getStandardId());
|
||||
if (!Objects.isNull(lawsDomesticStandard)){
|
||||
standardName = lawsDomesticStandard.getStandardName();
|
||||
StandardConsultation.setSource("1");
|
||||
}else if (!Objects.isNull(lawsOverseasStandard)){
|
||||
standardName = lawsOverseasStandard.getStandardName();
|
||||
StandardConsultation.setSource("2");
|
||||
}
|
||||
|
||||
StandardConsultation.setStandardNameNumber(StandardConsultation.getStandardNumber() + " " + standardName);
|
||||
StandardConsultation.setConsultationPeriod(
|
||||
dateFormat.format(StandardConsultation.getConsultationBeginDate()) + " ~ " +
|
||||
dateFormat.format(StandardConsultation.getConsultationEndDate()));
|
||||
}
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -98,6 +118,11 @@ public class ConsultationServiceImpl implements IConsultationService {
|
||||
List<ProcessFbConsultationList> list = processFbConsultationListService.list(
|
||||
new LambdaQueryWrapper<ProcessFbConsultationList>()
|
||||
.eq(ProcessFbConsultationList::getBusinessId, businessId));
|
||||
setProperty(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
private void setProperty(List<ProcessFbConsultationList> list) {
|
||||
// 提出部门
|
||||
for (ProcessFbConsultationList consultationList : list) {
|
||||
List<SysDepart> sysDeparts = sysDepartService.queryUserDeparts(consultationList.getDesignEngineerId());
|
||||
@@ -112,7 +137,6 @@ public class ConsultationServiceImpl implements IConsultationService {
|
||||
consultationList.setBasisFileName(fileList.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")));
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -153,6 +177,22 @@ public class ConsultationServiceImpl implements IConsultationService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessFbConsultationListVO queryDetailByBusinessId(String businessId, Integer pageNo, Integer pageSize) {
|
||||
ProcessFbConsultationListVO processFbConsultationListVO = new ProcessFbConsultationListVO();
|
||||
ProcessFbStandardConsultation processFbStandardConsultation = processFbStandardConsultationService.getById(businessId);
|
||||
List<ProcessFbStandardConsultation> processFbStandardConsultations = new ArrayList<>();
|
||||
processFbStandardConsultations.add(processFbStandardConsultation);
|
||||
fillProperty(processFbStandardConsultations);
|
||||
processFbConsultationListVO.setProcessFbStandardConsultation(processFbStandardConsultations.get(0));
|
||||
LambdaQueryWrapper<ProcessFbConsultationList> queryWrapper = new LambdaQueryWrapper<ProcessFbConsultationList>()
|
||||
.eq(ProcessFbConsultationList::getBusinessId, businessId);
|
||||
IPage<ProcessFbConsultationList> page = processFbConsultationListService.page(new Page<>(pageNo, pageSize), queryWrapper);
|
||||
setProperty(page.getRecords());
|
||||
processFbConsultationListVO.setProcessFbConsultationList(page);
|
||||
return processFbConsultationListVO;
|
||||
}
|
||||
|
||||
private void setContent(List<ProcessFbConsultationList> processFbConsultationLists, XSSFSheet sheet, CellStyle cellStyle) {
|
||||
for (int i = 0; i < processFbConsultationLists.size(); i++) {
|
||||
int index = i + 2;
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.jero.modules.laws.consultation.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbConsultationList;
|
||||
import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardConsultation;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
/**
|
||||
* @ClassName: ProcessFbConsultationListVO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-12-05 11:33
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class ProcessFbConsultationListVO {
|
||||
/**标准征求意见*/
|
||||
@Excel(name = "标准征求意见流程表", width = 15)
|
||||
@ApiModelProperty(value = "标准征求意见流程表")
|
||||
private ProcessFbStandardConsultation processFbStandardConsultation;
|
||||
/**标准征求意见流程-征求意见列表表*/
|
||||
@Excel(name = "标准征求意见流程-征求意见列表表", width = 15)
|
||||
@ApiModelProperty(value = "标准征求意见流程-征求意见列表表")
|
||||
private IPage<ProcessFbConsultationList> processFbConsultationList;
|
||||
}
|
||||
+98
-30
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.laws.documenttool.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -43,7 +44,9 @@ import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||
import com.jero.modules.split.service.ISarFileSplitMenuEOService;
|
||||
import com.jero.modules.split.service.impl.FileSpiltService;
|
||||
import com.jero.modules.sys.entity.LawsEnterpriseStandardLevel;
|
||||
import com.jero.modules.sys.entity.LawsGrade;
|
||||
import com.jero.modules.sys.service.ILawsEnterpriseStandardLevelService;
|
||||
import com.jero.modules.sys.service.ILawsGradeService;
|
||||
import com.jero.modules.system.entity.SysDict;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
@@ -56,6 +59,7 @@ import com.jero.modules.tag.entity.LawsTag;
|
||||
import com.jero.modules.tag.enums.LawsFieldTypeEnum;
|
||||
import com.jero.modules.tag.enums.TableNameEnum;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
@@ -104,6 +108,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
private final ISysUserService sysUserService;
|
||||
private final EnterpriseStandardAuthDeptService enterpriseStandardAuthDeptService;
|
||||
private final ISysUserDepartService sysUserDepartService;
|
||||
private final ILawsGradeService lawsGradeService;
|
||||
private static final String INFO_ID = "info_id";
|
||||
private static final String ID = "id";
|
||||
private static final String IDS = "ids";
|
||||
@@ -114,6 +119,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
private static final String INTERPRETATION_ARTICLES_LIST = "interpretationArticlesList";
|
||||
private static final String MENU_ID = "menu_id";
|
||||
private static final String CREATE_TIME = "create_time";
|
||||
private static final String SPLIT_STATUS = "split_status";
|
||||
public DocumentSplitServiceImpl(DocumentSplitMapper documentSplitMapper,
|
||||
ISarFileSplitInfoService sarFileSplitInfoService,
|
||||
LawsCommonMapper lawsCommonMapper,
|
||||
@@ -128,7 +134,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
EnterpriseStandardAuthUserService enterpriseStandardAuthUserService,
|
||||
ISysUserService sysUserService,
|
||||
EnterpriseStandardAuthDeptService enterpriseStandardAuthDeptService,
|
||||
ISysUserDepartService sysUserDepartService) {
|
||||
ISysUserDepartService sysUserDepartService,
|
||||
ILawsGradeService lawsGradeService) {
|
||||
this.documentSplitMapper = documentSplitMapper;
|
||||
this.sarFileSplitInfoService = sarFileSplitInfoService;
|
||||
this.lawsCommonMapper = lawsCommonMapper;
|
||||
@@ -144,12 +151,15 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
this.sysUserService = sysUserService;
|
||||
this.enterpriseStandardAuthDeptService = enterpriseStandardAuthDeptService;
|
||||
this.sysUserDepartService = sysUserDepartService;
|
||||
this.lawsGradeService = lawsGradeService;
|
||||
}
|
||||
|
||||
@Value("${jero.path.exportExcelTempPath}")
|
||||
private String exportExcelTempPath;
|
||||
@Value("${draftDepartName}")
|
||||
private String draftDepartName;
|
||||
@Value("#{'${adminRoleCode}'.split(',')}")
|
||||
private List<String> adminRoleCodeList;
|
||||
|
||||
@Override
|
||||
public IPage<DocumentSplitInfo> queryByPage(DocumentSplitInfo documentSplitInfo, Integer pageNo, Integer pageSize) {
|
||||
@@ -351,6 +361,13 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
}
|
||||
// 登陆人信息
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 管理员有所有企标的权限
|
||||
List<String> roleIdList = Arrays.asList(sysUser.getRoleIds().split(","));
|
||||
Collection<String> intersection = CollectionUtils.intersection(adminRoleCodeList, roleIdList);
|
||||
if (!intersection.isEmpty()){
|
||||
// 有权限
|
||||
return;
|
||||
}
|
||||
// 登陆人所在部门
|
||||
List<DepartIdModel> departIdModels = sysUserDepartService.queryDepartIdsOfUser(sysUser.getId());
|
||||
List<String> departIds = departIdModels.stream().map(DepartIdModel::getKey).collect(Collectors.toList());
|
||||
@@ -369,53 +386,98 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
authUserWrapper.eq(EnterpriseStandardAuthUser::getAuthUser, sysUser.getId());
|
||||
authUserWrapper.ge(EnterpriseStandardAuthUser::getAuthExpireDate, date);
|
||||
List<EnterpriseStandardAuthUser> authUserList = enterpriseStandardAuthUserService.list(authUserWrapper);
|
||||
if (!authUserList.isEmpty()){
|
||||
// 有权限
|
||||
return;
|
||||
}
|
||||
|
||||
// 查询授权部门-和临时授权部门
|
||||
LambdaQueryWrapper<EnterpriseStandardAuthDept> authDeptWrapper = new LambdaQueryWrapper<>();
|
||||
authDeptWrapper.eq(EnterpriseStandardAuthDept::getStandardId, id);
|
||||
authDeptWrapper.in(CollUtil.isNotEmpty(departIds), EnterpriseStandardAuthDept::getAuthDept, departIds);
|
||||
List<EnterpriseStandardAuthDept> authDeptList = enterpriseStandardAuthDeptService.list(authDeptWrapper);
|
||||
if (!authDeptList.isEmpty()){
|
||||
LambdaQueryWrapper<EnterpriseStandardAuthDept> tempAuthDeptWrapper = new LambdaQueryWrapper<>();
|
||||
tempAuthDeptWrapper.eq(EnterpriseStandardAuthDept::getStandardId, id);
|
||||
tempAuthDeptWrapper.in(CollUtil.isNotEmpty(departIds), EnterpriseStandardAuthDept::getAuthDept, departIds);
|
||||
tempAuthDeptWrapper.isNotNull(EnterpriseStandardAuthDept::getAuthExpireDate);
|
||||
tempAuthDeptWrapper.isNotNull(EnterpriseStandardAuthDept::getAuthDept);
|
||||
List<EnterpriseStandardAuthDept> tempAuthDeptList = enterpriseStandardAuthDeptService.list(tempAuthDeptWrapper);
|
||||
if (!tempAuthDeptList.isEmpty()){
|
||||
// 有权限
|
||||
return;
|
||||
}
|
||||
authDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
||||
List<EnterpriseStandardAuthDept> authDeptExpireDateList = enterpriseStandardAuthDeptService.list(authDeptWrapper);
|
||||
tempAuthDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
|
||||
List<EnterpriseStandardAuthDept> authDeptExpireDateList = enterpriseStandardAuthDeptService.list(tempAuthDeptWrapper);
|
||||
if (!authDeptExpireDateList.isEmpty()){
|
||||
// 有权限
|
||||
return;
|
||||
}
|
||||
|
||||
// 查询授权部门
|
||||
LambdaQueryWrapper<EnterpriseStandardAuthDept> authDeptWrapper = new LambdaQueryWrapper<>();
|
||||
authDeptWrapper.eq(EnterpriseStandardAuthDept::getStandardId, id);
|
||||
authDeptWrapper.isNull(EnterpriseStandardAuthDept::getAuthExpireDate);
|
||||
List<EnterpriseStandardAuthDept> authDeptList = enterpriseStandardAuthDeptService.list(authDeptWrapper);
|
||||
|
||||
// 企标级别授权的部门
|
||||
List<LawsEnterpriseStandardLevel> standardLevelList = lawsEnterpriseStandardLevelService.list();
|
||||
List<String> levelDeptIds = standardLevelList.stream().map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
||||
LawsGrade one = lawsGradeService.getOne(new LambdaQueryWrapper<LawsGrade>().eq(LawsGrade::getLevel, 1), false);
|
||||
LawsGrade two = lawsGradeService.getOne(new LambdaQueryWrapper<LawsGrade>().eq(LawsGrade::getLevel, 2), false);
|
||||
List<String> levelOneDeptIds = standardLevelList.stream().filter(l -> l.getGradeId().equals(one.getId()))
|
||||
.map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
||||
List<String> levelTwoDeptIds = standardLevelList.stream().filter(l -> l.getGradeId().equals(two.getId()))
|
||||
.map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
|
||||
|
||||
if (levelCheck(lawsEnterpriseStandard, departIds, levelDeptIds)) return;
|
||||
Set<EnterpriseStandardAuthDept> curAuthSet = authDeptList.stream()
|
||||
.filter(e -> e.getAuthDept() != null)
|
||||
.filter(e -> CharSequenceUtil.isNotEmpty(e.getAuthDept()))
|
||||
.filter(e -> e.getStandardId().equals(id))
|
||||
.filter(e -> !e.getAuthDept().equals(lawsEnterpriseStandard.getMainDraftingUnit()))
|
||||
.collect(Collectors.toSet());
|
||||
// 临时权限
|
||||
if (authUserList.stream().map(EnterpriseStandardAuthUser::getStandardId).collect(Collectors.toList()).contains(id)) {
|
||||
// 有权限
|
||||
return;
|
||||
}
|
||||
// 等级分类
|
||||
String gradeClassification = lawsEnterpriseStandard.getGradeClassification();
|
||||
// 创建人可以看
|
||||
if (sysUser.getUsername().equals(lawsEnterpriseStandard.getCreateBy())) {
|
||||
// 有权限
|
||||
return;
|
||||
}
|
||||
|
||||
// 全公司可以看
|
||||
if ("1".equals(gradeClassification)) {
|
||||
// 有权限
|
||||
return;
|
||||
}
|
||||
// 授权部门
|
||||
if (!curAuthSet.isEmpty()) {
|
||||
// 如果授权部门不等于0
|
||||
if (curAuthSet.stream().map(EnterpriseStandardAuthDept::getAuthDept).anyMatch(departIds::contains)) {
|
||||
// 有权限
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
// 企标等级分类级别可查看部门
|
||||
if ("2".equals(gradeClassification)) {
|
||||
if (levelOneDeptIds.stream().anyMatch(departIds::contains)) {
|
||||
// 有权限
|
||||
return;
|
||||
}
|
||||
}
|
||||
if ("3".equals(gradeClassification)) {
|
||||
if (levelTwoDeptIds.stream().anyMatch(departIds::contains)) {
|
||||
// 有权限
|
||||
return;
|
||||
}
|
||||
}
|
||||
if ("4".equals(gradeClassification)) {
|
||||
// 主起草部门有企标的查看权限
|
||||
if (!departNames.isEmpty() && departNames.contains(lawsEnterpriseStandard.getMainDraftingUnit())) {
|
||||
// 有权限
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 无权限
|
||||
noAccess();
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean levelCheck(LawsEnterpriseStandard lawsEnterpriseStandard, List<String> departIds, List<String> levelDeptIds) {
|
||||
// 等级
|
||||
String gradeClassification = lawsEnterpriseStandard.getGradeClassification();
|
||||
|
||||
// 全公司可以看
|
||||
if ("1".equals(gradeClassification)) {
|
||||
// 有权限
|
||||
return true;
|
||||
}
|
||||
|
||||
// 企标等级分类级别可查看部门
|
||||
return ("2".equals(gradeClassification) || "3".equals(gradeClassification))
|
||||
&& levelDeptIds.stream().anyMatch(departIds::contains);
|
||||
}
|
||||
|
||||
private void noAccess() {
|
||||
if(LanguageEnum.CN.equals(MessageUtils.getLanguage())) {
|
||||
throw new JeroBootException("无权限!");
|
||||
@@ -1265,7 +1327,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
// 文本状态
|
||||
queryWrapper.eq(StringUtils.isNotBlank(documentSplitInfo.getFileType()), "file_type", documentSplitInfo.getFileType());
|
||||
// 拆分状态
|
||||
queryWrapper.eq(StringUtils.isNotBlank(documentSplitInfo.getSplitStatus()), "split_status", documentSplitInfo.getSplitStatus());
|
||||
queryWrapper.eq(StringUtils.isNotBlank(documentSplitInfo.getSplitStatus()), SPLIT_STATUS, documentSplitInfo.getSplitStatus());
|
||||
// 编辑人
|
||||
queryWrapper.like(StringUtils.isNotBlank(documentSplitInfo.getAuthor()), "realname", documentSplitInfo.getAuthor());
|
||||
// 发布前id
|
||||
@@ -1274,6 +1336,12 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
||||
}else {
|
||||
queryWrapper.isNull("publish_before_id");
|
||||
}
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// 发布的只有自己可见,发布的数据所有人可见
|
||||
queryWrapper.and(qw ->
|
||||
qw.and(qwi -> qwi.eq(SPLIT_STATUS, DocumentSplitCommon.SPLIT_STATUS1)
|
||||
.eq("author", loginUser.calcNameWorkNo()))
|
||||
.or().eq(SPLIT_STATUS, DocumentSplitCommon.SPLIT_STATUS2));
|
||||
// 逻辑删除
|
||||
queryWrapper.eq("del_flag", 0);
|
||||
// 排序
|
||||
|
||||
Reference in New Issue
Block a user