fix(任务转交): 80379

This commit is contained in:
yjz
2024-01-18 14:21:02 +08:00
parent 9dee3a93c5
commit c16b22ed8d
5 changed files with 74 additions and 5 deletions
@@ -13,6 +13,7 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -43,6 +44,7 @@ public class LawsTaskTransferController {
@AutoLog(value = "任务转交-基础库信息分页查询")
@ApiOperation(value="任务转交-基础库信息分页查询", notes="任务转交-基础库信息分页查询")
@GetMapping(value = "/queryBaseDB")
@RequiresPermissions("taskCareOf:basicInfo:search")
public Result<IPage<LawsBaseDB>> queryBaseDB(LawsBaseDB lawsBaseDB,
@ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
@@ -56,6 +58,7 @@ public class LawsTaskTransferController {
@AutoLog(value = "任务转交-基础库信息转交")
@ApiOperation(value="任务转交-基础库信息转交", notes="任务转交-基础库信息转交")
@PostMapping(value = "/baseDBTransfer")
@RequiresPermissions("taskCareOf:basicInfo:transfer")
public Result<T> baseDBTransfer(@RequestBody LawsBaseDB lawsBaseDB) {
lawsTaskTransferService.baseDBTransfer(lawsBaseDB);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
@@ -68,6 +71,7 @@ public class LawsTaskTransferController {
@AutoLog(value = "任务转交-基础库信息转交(批量)")
@ApiOperation(value="任务转交-基础库信息转交(批量)", notes="任务转交-基础库信息转交(批量)")
@PostMapping(value = "/baseDBTransferBatch")
@RequiresPermissions("taskCareOf:basicInfo:batchTransfer")
public Result<T> baseDBTransferBatch(@RequestBody List<LawsBaseDB> lawsBaseDBList) {
lawsTaskTransferService.baseDBTransferBatch(lawsBaseDBList);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
@@ -80,6 +84,7 @@ public class LawsTaskTransferController {
@AutoLog(value = "任务转交-流程信息分页查询")
@ApiOperation(value="任务转交-流程信息分页查询", notes="任务转交-流程信息分页查询")
@GetMapping(value = "/queryProcessDB")
@RequiresPermissions("taskCareOf:processInfo:search")
public Result<IPage<LawsProcessDB>> queryProcessDB(LawsProcessDB lawsProcessDb,
@ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
@@ -93,6 +98,7 @@ public class LawsTaskTransferController {
@AutoLog(value = "任务转交-流程信息转交")
@ApiOperation(value="任务转交-流程信息转交", notes="任务转交-流程信息转交")
@PostMapping(value = "/processDBTransfer")
@RequiresPermissions("taskCareOf:processInfo:transfer")
public Result<IPage<LawsProcessDB>> processDBTransfer(@RequestBody LawsProcessDB lawsProcessDB) {
lawsTaskTransferService.processDBTransfer(lawsProcessDB);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
@@ -105,6 +111,7 @@ public class LawsTaskTransferController {
@AutoLog(value = "任务转交-流程信息转交(批量)")
@ApiOperation(value="任务转交-流程信息转交(批量)", notes="任务转交-流程信息转交(批量)")
@PostMapping(value = "/processDBTransferBatch")
@RequiresPermissions("taskCareOf:processInfo:batchTransfer")
public Result<IPage<LawsProcessDB>> processDBTransferBatch(@RequestBody List<LawsProcessDB> lawsProcessDBList) {
lawsTaskTransferService.processDBTransferBatch(lawsProcessDBList);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
@@ -1,5 +1,6 @@
package com.jero.modules.laws.tasktransfer.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -37,4 +38,8 @@ public class LawsBaseDB {
/**转交人*/
@ApiModelProperty(value = "转交人")
private String transferUser;
/**ids 查询用*/
@ApiModelProperty(value = "ids 查询用")
@TableField(exist = false)
private String ids;
}
@@ -7,6 +7,8 @@ import com.jero.modules.laws.tasktransfer.entity.LawsBaseDB;
import com.jero.modules.laws.tasktransfer.entity.LawsProcessDB;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @ClassName: LawsTaskTransferMapper
* @Description:
@@ -18,16 +20,24 @@ public interface LawsTaskTransferMapper {
/**
* 任务转交-基础库信息分页查询
* @param queryWrapper
* @param objectPage
* @param page
* @return
*/
IPage<LawsBaseDB> queryBaseDB(@Param(Constants.WRAPPER) QueryWrapper<LawsBaseDB> queryWrapper, IPage<LawsBaseDB> objectPage);
IPage<LawsBaseDB> queryBaseDB(@Param(Constants.WRAPPER) QueryWrapper<LawsBaseDB> queryWrapper, IPage<LawsBaseDB> page);
/**
* 任务转交-基础库信息分页查询
* @param queryWrapper
* @return
*/
List<LawsBaseDB> queryBaseDB(@Param(Constants.WRAPPER) QueryWrapper<LawsBaseDB> queryWrapper);
/**
* 任务转交-流程信息分页查询
* @param queryWrapper
* @param objectPage
* @param page
* @return
*/
IPage<LawsProcessDB> queryProcessDB(@Param(Constants.WRAPPER) QueryWrapper<LawsProcessDB> queryWrapper, IPage<LawsProcessDB> objectPage);
IPage<LawsProcessDB> queryProcessDB(@Param(Constants.WRAPPER) QueryWrapper<LawsProcessDB> queryWrapper, IPage<LawsProcessDB> page);
}
@@ -23,6 +23,13 @@ public interface ILawsTaskTransferService {
*/
IPage<LawsBaseDB> queryBaseDB(LawsBaseDB lawsBaseDB, Integer pageNo, Integer pageSize);
/**
* 任务转交-基础库信息列表查询
* @param lawsBaseDB
* @return
*/
List<LawsBaseDB> queryBaseDB(LawsBaseDB lawsBaseDB);
/**
* 任务转交-基础库信息转交
* @param lawsBaseDB
@@ -55,4 +62,10 @@ public interface ILawsTaskTransferService {
* @param lawsProcessDBList
*/
void processDBTransferBatch(List<LawsProcessDB> lawsProcessDBList);
/**
* 任务转交-是否水平越权
* @param ids
*/
void isHorizontalOverstep(String ids);
}
@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.constant.enums.LanguageEnum;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.MessageUtils;
import com.jero.modules.activiti.enums.FinishFlagEnum;
import com.jero.modules.activiti.enums.ProcessStatusEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
@@ -28,10 +31,12 @@ import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -76,6 +81,12 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService {
@Override
public IPage<LawsBaseDB> queryBaseDB(LawsBaseDB lawsBaseDB, Integer pageNo, Integer pageSize) {
QueryWrapper<LawsBaseDB> queryWrapper = getLawsBaseDBQueryWrapper(lawsBaseDB);
return lawsTaskTransferMapper.queryBaseDB(queryWrapper, new Page<>(pageNo, pageSize));
}
@NotNull
private static QueryWrapper<LawsBaseDB> getLawsBaseDBQueryWrapper(LawsBaseDB lawsBaseDB) {
QueryWrapper<LawsBaseDB> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StringUtils.isNotBlank(lawsBaseDB.getUser()), "u.realname", lawsBaseDB.getUser());
queryWrapper.eq(StringUtils.isNotBlank(lawsBaseDB.getType()), "t.type", lawsBaseDB.getType());
@@ -86,7 +97,16 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService {
if (!roleIds.contains("admin")){
queryWrapper.eq("t.user", loginUser.getId());
}
return lawsTaskTransferMapper.queryBaseDB(queryWrapper, new Page<>(pageNo, pageSize));
if (StringUtils.isNotBlank(lawsBaseDB.getIds())){
queryWrapper.in("t.id", Arrays.asList(lawsBaseDB.getIds().split(",")));
}
return queryWrapper;
}
@Override
public List<LawsBaseDB> queryBaseDB(LawsBaseDB lawsBaseDB) {
QueryWrapper<LawsBaseDB> queryWrapper = getLawsBaseDBQueryWrapper(lawsBaseDB);
return lawsTaskTransferMapper.queryBaseDB(queryWrapper);
}
@Override
@@ -130,6 +150,20 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService {
}
}
@Override
public void isHorizontalOverstep(String ids) {
LawsBaseDB lawsBaseDB = new LawsBaseDB();
lawsBaseDB.setIds(ids);
List<LawsBaseDB> lawsBaseDBList = queryBaseDB(lawsBaseDB);
if (Objects.isNull(lawsBaseDBList) || lawsBaseDBList.size() != ids.split(",").length) {
if(LanguageEnum.CN.equals(MessageUtils.getLanguage())) {
throw new JeroBootException("无权限!");
}else{
throw new JeroBootException("No access!");
}
}
}
@Override
public void baseDBTransfer(LawsBaseDB lawsBaseDB) {
List<LawsBaseDB> lawsBaseDBList = new ArrayList<>();