fix 87698 年度数据锁定--当没有编辑权限时,新增却报错

This commit is contained in:
lijiarao
2024-07-29 16:49:31 +08:00
parent ba28e7a111
commit c431fb0853
3 changed files with 18 additions and 45 deletions
@@ -15,6 +15,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@@ -44,6 +45,7 @@ public class AnnualDataLockingController extends JeroController<AnnualDataLockin
/**
* 分页列表查询
*/
@RequiresPermissions("annualDataLockingList:search")
@ApiOperation(value = "年度数据锁定表-分页列表查询", notes = "年度数据锁定表-分页列表查询")
@GetMapping(value = "/page")
public Result<IPage<AnnualDataLocking>> queryPageList(AnnualDataLocking annualDataLocking,
@@ -59,6 +61,7 @@ public class AnnualDataLockingController extends JeroController<AnnualDataLockin
/**
* 列表查询
*/
@RequiresPermissions("annualDataLockingList:search")
@ApiOperation(value = "年度数据锁定表-列表查询", notes = "年度数据锁定表-列表查询")
@GetMapping(value = "/list")
public Result<List<AnnualDataLocking>> queryList(AnnualDataLocking annualDataLocking,
@@ -71,6 +74,7 @@ public class AnnualDataLockingController extends JeroController<AnnualDataLockin
/**
* 添加
*/
@RequiresPermissions("annualDataLockingList:add")
@AutoLog(value = "年度数据锁定表-添加")
@ApiOperation(value = "年度数据锁定表-添加", notes = "年度数据锁定表-添加")
@PostMapping(value = "/add")
@@ -79,20 +83,10 @@ public class AnnualDataLockingController extends JeroController<AnnualDataLockin
return Result.OK(Result.ADD_SUCCESS);
}
/**
* 编辑
*/
@AutoLog(value = "年度数据锁定表-编辑")
@ApiOperation(value = "年度数据锁定表-编辑", notes = "年度数据锁定表-编辑")
@PostMapping(value = "/edit")
public Result<String> edit(@Validated @RequestBody AnnualDataLocking annualDataLocking) {
annualDataLockingService.editById(annualDataLocking);
return Result.OK(Result.EDIT_SUCCESS);
}
/**
* 通过id删除
*/
@RequiresPermissions("annualDataLockingList:delete")
@AutoLog(value = "年度数据锁定表-通过id删除")
@ApiOperation(value = "年度数据锁定表-通过id删除", notes = "年度数据锁定表-通过id删除")
@PostMapping(value = "/delete")
@@ -108,6 +102,7 @@ public class AnnualDataLockingController extends JeroController<AnnualDataLockin
/**
* 批量删除
*/
@RequiresPermissions("annualDataLockingList:batchDel")
@AutoLog(value = "年度数据锁定表-批量删除")
@ApiOperation(value = "年度数据锁定表-批量删除", notes = "年度数据锁定表-批量删除")
@PostMapping(value = "/deleteBatch")
@@ -121,38 +116,5 @@ public class AnnualDataLockingController extends JeroController<AnnualDataLockin
return Result.OK(Result.DELETE_SUCCESS);
}
/**
* 通过id查询
*/
@AutoLog(value = "年度数据锁定表-通过id查询")
@ApiOperation(value = "年度数据锁定表-通过id查询", notes = "年度数据锁定表-通过id查询")
@GetMapping(value = "/queryById")
public Result<AnnualDataLocking> queryById(@RequestParam(name = "id") String id) {
AnnualDataLocking annualDataLocking = annualDataLockingService.queryById(id);
if (annualDataLocking == null) {
throw new JeroBootException(Result.NULL_DATA);
}
return Result.OK(annualDataLocking);
}
/**
* 导出excel
*/
@ApiOperation(value = "年度数据锁定表-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, AnnualDataLocking annualDataLocking) {
return super.exportXls(request, annualDataLocking, AnnualDataLocking.class, "年度数据锁定表");
}
/**
* 通过excel导入数据
*/
@ApiOperation(value = "年度数据锁定表-通过excel导入数据")
@PostMapping(value = "/importExcel")
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, AnnualDataLocking.class);
}
}
@@ -1,6 +1,9 @@
package com.jero.project.mapper;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import java.util.ArrayList;
import java.util.Collection;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -27,6 +30,9 @@ public interface PayWorkingGroupSubItemContactsMapper extends BaseMapper<PayWork
List<PayWorkingGroupSubItemContacts> getSubItemContacts(@Param("workingGroupSubId") String workingGroupSubId);
default List<PayWorkingGroupSubItemContacts> listByWorkingGroupSubIdIn(Collection<String> workingGroupSubIdCollection) {
if (CollectionUtil.isEmpty(workingGroupSubIdCollection)){
return new ArrayList<>();
}
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> myQuery = Wrappers.lambdaQuery(PayWorkingGroupSubItemContacts.class);
myQuery.in(PayWorkingGroupSubItemContacts::getWorkingGroupSubId, workingGroupSubIdCollection);
return selectList(myQuery);
@@ -105,8 +105,13 @@ public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMappe
private IPayContactsManagementTemporaryService contactsTemporaryService;
public void add(AnnualDataLocking annualDataLocking) {
this.save(annualDataLocking);
String year = annualDataLocking.getYear();
AnnualDataLocking one = lambdaQuery().eq(AnnualDataLocking::getYear, year).one();
if (one != null){
throw new JeroBootException(year+"年年度数据已经锁定");
}
this.save(annualDataLocking);
//第一步先获取所有企业和联系人
List<PayMeetingSituation> meetingSituations = meetingSituationMapper.listByYear(year);
List<PayWorkingGroupSubItem> workingGroupSubItems = payWorkingGroupSubItemMapper.listByYear(year);