| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357 |
- package com.zd.security.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.zd.common.core.annotation.Log;
- import com.zd.common.core.annotation.PreAuthorize;
- import com.zd.common.core.log.BusinessType;
- import com.zd.common.core.utils.BeanUtils;
- import com.zd.common.core.web.controller.AbstractController;
- import com.zd.model.domain.ResultData;
- import com.zd.model.domain.per.PerFun;
- import com.zd.model.domain.per.PerPrefix;
- import com.zd.security.api.bo.CheckPlanBo;
- import com.zd.security.api.bo.QueryCheckPlanListParam;
- import com.zd.security.api.vo.CheckPlanListVo;
- import com.zd.security.api.vo.CheckPlanVo;
- import com.zd.security.entity.CheckMember;
- import com.zd.security.entity.CheckPlan;
- import com.zd.security.scope.DataPermission;
- import com.zd.security.service.CheckMemberService;
- import com.zd.security.service.CheckPlanService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiOperation;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.time.LocalDate;
- import java.time.temporal.TemporalAdjusters;
- import java.util.*;
- import java.util.concurrent.locks.Lock;
- import java.util.concurrent.locks.ReentrantLock;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 检查计划表 前端控制器
- * </p>
- *
- * @author hzw
- * @since 2023-04-19
- */
- @Api(tags = "检查计划")
- @RestController
- @RequestMapping("/checkPlan")
- public class CheckPlanController extends AbstractController {
- private Lock lock = new ReentrantLock();
- @Autowired
- private CheckPlanService checkPlanService;
- @Autowired
- private CheckMemberService checkMemberService;
- /**
- * 添加检查计划
- *
- * @Param [checkPlanBo]
- * @Return com.zd.model.domain.ResultData
- **/
- @Log(title = "添加检查计划", businessType = BusinessType.INSERT)
- @PreAuthorize(hasAnyPermi = {PerPrefix.SECURITY_CHECK_PLAN + PerFun.ADD,PerPrefix.SECURITY_CHECK_PLAN_1 + PerFun.ADD})
- @ApiOperation("添加检查计划")
- @PostMapping(value = "/add")
- public ResultData add(@RequestBody CheckPlanBo checkPlanBo) {
- //参数检查
- paramCheck.notNull(checkPlanBo).strNotEmpty(checkPlanBo.getTitle()).notNull(checkPlanBo.getCheckType()).notNull(checkPlanBo.getCycleStartTime()).notNull(checkPlanBo.getCycleEndTime()).notNull(checkPlanBo.getCheckRange());
- checkPlanBo.setCreateName(getCurrentUserName());
- if (checkPlanService.addCheckPlan(checkPlanBo)) {
- return ResultData.success("操作成功");
- }
- return ResultData.fail("操作失败");
- }
- /**
- * 小程序添加检查计划
- * @param checkPlanBo
- * @return
- */
- @Log(title = "小程序添加检查计划", businessType = BusinessType.INSERT)
- @ApiOperation("小程序添加检查计划")
- @PostMapping(value = "/appAdd")
- public ResultData appAdd(@RequestBody CheckPlanBo checkPlanBo) {
- //参数检查
- paramCheck.notNull(checkPlanBo).strNotEmpty(checkPlanBo.getTitle()).notNull(checkPlanBo.getCheckType()).notNull(checkPlanBo.getCycleStartTime()).notNull(checkPlanBo.getCycleEndTime()).notNull(checkPlanBo.getCheckRange());
- checkPlanBo.setCreateName(getCurrentUserName());
- if (checkPlanService.addCheckPlan(checkPlanBo)) {
- return ResultData.success("操作成功");
- }
- return ResultData.fail("操作失败");
- }
- /**
- * 修改检查计划
- *
- * @Param [checkPlanBo]
- * @Return com.zd.model.domain.ResultData
- **/
- @Log(title = "修改检查计划", businessType = BusinessType.UPDATE)
- @PreAuthorize(hasAnyPermi = {PerPrefix.SECURITY_CHECK_PLAN + PerFun.EDIT,PerPrefix.SECURITY_CHECK_PLAN_1 + PerFun.EDIT})
- @ApiOperation("修改检查计划")
- @PutMapping(value = "/update")
- public ResultData update(@RequestBody CheckPlanBo checkPlanBo) {
- //参数检查
- paramCheck.notNull(checkPlanBo).strNotEmpty(checkPlanBo.getTitle()).notNull(checkPlanBo.getCheckType()).notNull(checkPlanBo.getCycleStartTime()).notNull(checkPlanBo.getCycleEndTime()).notNull(checkPlanBo.getCheckRange());
- checkPlanBo.setUpdateName(getCurrentUserName());
- if (checkPlanService.updateCheckPlan(checkPlanBo)) {
- return ResultData.success("操作成功");
- }
- return ResultData.fail("操作失败");
- }
- /**
- * 小程序修改检查计划
- *
- * @Param [checkPlanBo]
- * @Return com.zd.model.domain.ResultData
- **/
- @Log(title = "小程序修改检查计划", businessType = BusinessType.UPDATE)
- @ApiOperation("小程序修改检查计划")
- @PutMapping(value = "/appUpdate")
- public ResultData appUpdate(@RequestBody CheckPlanBo checkPlanBo) {
- //参数检查
- paramCheck.notNull(checkPlanBo).strNotEmpty(checkPlanBo.getTitle()).notNull(checkPlanBo.getCheckType()).notNull(checkPlanBo.getCycleStartTime()).notNull(checkPlanBo.getCycleEndTime()).notNull(checkPlanBo.getCheckRange());
- checkPlanBo.setUpdateName(getCurrentUserName());
- if (checkPlanService.updateCheckPlan(checkPlanBo)) {
- return ResultData.success("操作成功");
- }
- return ResultData.fail("操作失败");
- }
- /**
- * 根据id查询计划方法
- *
- * @Param [id 检查计划id]
- * @Return com.zd.model.domain.ResultData
- **/
- @ApiOperation("根据id查询计划方法")
- @PreAuthorize(hasAnyPermi = {PerPrefix.SECURITY_CHECK_PLAN + PerFun.QUERY,PerPrefix.SECURITY_CHECK_PLAN_1 + PerFun.QUERY})
- @GetMapping(value = "/findCheckPlan")
- @ApiImplicitParam(name = "id", value = "检查计划id", required = true, dataTypeClass = Long.class)
- public ResultData find(@RequestParam("id") Long id) {
- CheckPlanVo checkPlanVo = checkPlanService.findCheckPlan(id);
- return ResultData.success(checkPlanVo);
- }
- /**
- * 小程序根据id查询计划方法
- *
- * @Param [id 检查计划id]
- * @Return com.zd.model.domain.ResultData
- **/
- @ApiOperation("小程序根据id查询计划方法")
- @GetMapping(value = "/appFindCheckPlan")
- @ApiImplicitParam(name = "id", value = "检查计划id", required = true, dataTypeClass = Long.class)
- public ResultData appFindCheckPlan(@RequestParam("id") Long id) {
- CheckPlanVo checkPlanVo = checkPlanService.findCheckPlan(id);
- return ResultData.success(checkPlanVo);
- }
- /**
- * 获取检查计划列表(分页)
- *
- * @Param [checkPlanBo]
- * @Return com.zd.model.domain.ResultData
- **/
- @ApiOperation("获取检查计划列表(分页)")
- //@DataPermission(permissionStr = PerPrefix.SECURITY_CHECK_PLAN)
- // @DataPermission(roleKey="checkGentle", tableAlias="*")
- @PreAuthorize(hasAnyPermi = {PerPrefix.SECURITY_CHECK_PLAN + PerFun.LIST,PerPrefix.SECURITY_CHECK_PLAN_1 + PerFun.LIST})
- @PostMapping(value = "/list")
- public ResultData list(@RequestBody QueryCheckPlanListParam queryCheckPlanListParam) {
- LambdaQueryWrapper<CheckPlan> queryWrapper = new LambdaQueryWrapper<>();
- if (!Objects.isNull(queryCheckPlanListParam.getCheckType()) && queryCheckPlanListParam.getCheckType() != 0) {
- queryWrapper.eq(CheckPlan::getCheckType, queryCheckPlanListParam.getCheckType());
- }
- if (!Objects.isNull(queryCheckPlanListParam.getCheckStatus()) && queryCheckPlanListParam.getCheckStatus() != 0) {
- queryWrapper.eq(CheckPlan::getCheckStatus, queryCheckPlanListParam.getCheckStatus());
- }
- if (StringUtils.isNotBlank(queryCheckPlanListParam.getSearchValue())) {
- queryWrapper.and(wrapper -> {
- wrapper.like(CheckPlan::getTitle, queryCheckPlanListParam.getSearchValue()).or().like(CheckPlan::getCreateName, queryCheckPlanListParam.getSearchValue());
- });
- }
- if (!Objects.isNull(queryCheckPlanListParam.getCycleStartTime()) && !Objects.isNull(queryCheckPlanListParam.getCycleEndTime())) {
- queryWrapper.le(CheckPlan::getCycleStartTime, queryCheckPlanListParam.getCycleEndTime())
- .ge(CheckPlan::getCycleEndTime, queryCheckPlanListParam.getCycleStartTime());
- }
- if (Objects.nonNull(queryCheckPlanListParam.getCreateTimeSort()) && queryCheckPlanListParam.getCreateTimeSort() == 1){
- queryWrapper.orderByAsc(CheckPlan::getCreateTime);
- }
- if (Objects.nonNull(queryCheckPlanListParam.getCreateTimeSort()) && queryCheckPlanListParam.getCreateTimeSort() == 2){
- queryWrapper.orderByDesc(CheckPlan::getCreateTime);
- }
- StringBuilder sql = new StringBuilder();
- if(Objects.nonNull(queryCheckPlanListParam.getMyRelated()) && queryCheckPlanListParam.getMyRelated() == 1){
- sql.append(" ( create_by = ").append(getCurrentUserId()).append(" ) ");
- }
- if(Objects.nonNull(queryCheckPlanListParam.getMyRelated()) && queryCheckPlanListParam.getMyRelated() != 1){
- sql.append(" ( create_by = ").append(getCurrentUserId()).append(" OR 1=1 )");
- }
- queryWrapper.apply(sql.toString());
- queryWrapper.orderByDesc(CheckPlan::getId);
- Page<CheckPlan> page = checkPlanService.page(new Page<>(queryCheckPlanListParam.getPageNum(), queryCheckPlanListParam.getPageSize()), queryWrapper);;
- List<CheckPlan> records = page.getRecords();
- if (records!=null && !records.isEmpty()) {
- List<CheckPlanListVo> checkPlanListVos = BeanUtils.copyList2List(records, CheckPlanListVo.class);
- checkPlanListVos.forEach(checkPlanListVo -> {
- if (getCurrentUserId().equals(checkPlanListVo.getCreateBy())) {
- checkPlanListVo.setIsSelfData(1);
- }else {
- checkPlanListVo.setIsSelfData(0);
- }
- });
- Page<CheckPlanListVo> checkManageListVoPage = new Page<>();
- BeanUtils.copyProperties(page, checkManageListVoPage);
- checkManageListVoPage.setRecords(checkPlanListVos);
- return ResultData.success(checkManageListVoPage);
- }
- return ResultData.success(page);
- }
- /**
- * 小程序获取检查计划列表(分页)
- *
- * @Param [checkPlanBo]
- * @Return com.zd.model.domain.ResultData
- **/
- @ApiOperation("小程序获取检查计划列表(分页)")
- //@DataPermission(permissionStr = PerPrefix.SECURITY_CHECK_PLAN)
- @DataPermission(roleKey="checkGentle", tableAlias="*")
- @PostMapping(value = "/appList")
- public ResultData appList(@RequestBody QueryCheckPlanListParam queryCheckPlanListParam) {
- queryCheckPlanListParam.setMyRelated(1);
- LambdaQueryWrapper<CheckPlan> queryWrapper = new LambdaQueryWrapper<>();
- if (!Objects.isNull(queryCheckPlanListParam.getCheckType()) && queryCheckPlanListParam.getCheckType() != 0) {
- queryWrapper.eq(CheckPlan::getCheckType, queryCheckPlanListParam.getCheckType());
- }
- if (!Objects.isNull(queryCheckPlanListParam.getCheckStatus()) && queryCheckPlanListParam.getCheckStatus() != 0) {
- queryWrapper.eq(CheckPlan::getCheckStatus, queryCheckPlanListParam.getCheckStatus());
- }
- if (StringUtils.isNotBlank(queryCheckPlanListParam.getSearchValue())) {
- queryWrapper.and(wrapper -> {
- wrapper.like(CheckPlan::getTitle, queryCheckPlanListParam.getSearchValue()).or().like(CheckPlan::getCreateName, queryCheckPlanListParam.getSearchValue());
- });
- }
- if (!Objects.isNull(queryCheckPlanListParam.getCycleStartTime()) && !Objects.isNull(queryCheckPlanListParam.getCycleEndTime())) {
- queryWrapper.le(CheckPlan::getCycleStartTime, queryCheckPlanListParam.getCycleEndTime())
- .ge(CheckPlan::getCycleEndTime, queryCheckPlanListParam.getCycleStartTime());
- }
- if (Objects.nonNull(queryCheckPlanListParam.getCreateTimeSort()) && queryCheckPlanListParam.getCreateTimeSort() == 1){
- queryWrapper.orderByAsc(CheckPlan::getCreateTime);
- }
- if (Objects.nonNull(queryCheckPlanListParam.getCreateTimeSort()) && queryCheckPlanListParam.getCreateTimeSort() == 2){
- queryWrapper.orderByDesc(CheckPlan::getCreateTime);
- }
- StringBuilder sql = new StringBuilder();
- if(Objects.nonNull(queryCheckPlanListParam.getMyRelated()) && queryCheckPlanListParam.getMyRelated() == 1){
- sql.append(" ( create_by = ").append(getCurrentUserId()).append(" ) ");
- }
- if(Objects.nonNull(queryCheckPlanListParam.getMyRelated()) && queryCheckPlanListParam.getMyRelated() != 1){
- sql.append(" ( create_by = ").append(getCurrentUserId()).append(" OR 1=1 )");
- }
- queryWrapper.apply(sql.toString());
- queryWrapper.orderByDesc(CheckPlan::getId);
- Page<CheckPlan> page;
- lock.lock();
- try {
- page = checkPlanService.page(new Page<>(queryCheckPlanListParam.getPageNum(), queryCheckPlanListParam.getPageSize()), queryWrapper);
- }finally {
- lock.unlock();
- }
- return ResultData.success(page);
- }
- /**
- * 通过id删除检查计划
- *
- * @Param [id 检查计划id]
- * @Return com.zd.model.domain.ResultData
- **/
- @Log(title = "通过id删除检查计划", businessType = BusinessType.DELETE)
- //@DataPermission(permissionStr = PerPrefix.SECURITY_CHECK_PLAN)
- @PreAuthorize(hasAnyPermi = {PerPrefix.SECURITY_CHECK_PLAN + PerFun.REMOVE,PerPrefix.SECURITY_CHECK_PLAN_1 + PerFun.REMOVE})
- @DeleteMapping(value = "/delete")
- @ApiOperation("通过id删除检查计划")
- public ResultData delete(@RequestParam("id") Long id,
- @RequestParam("checkType") Integer checkType) {
- boolean b = checkPlanService.deleteCheckPlan(id,checkType);
- if (b) {
- return ResultData.success("操作成功");
- }
- return ResultData.fail("操作失败");
- }
- /**
- * 查询历史计划标题列表
- * @Return com.zd.model.domain.ResultData
- **/
- @GetMapping(value = "/getHistoryPlanTitles")
- @ApiOperation("查询历史计划标题列表")
- public ResultData getHistoryPlanTitles() {
- List<CheckPlan> list = checkPlanService.list(new LambdaQueryWrapper<CheckPlan>()
- .eq(CheckPlan::getCreateBy, getCurrentUserId())
- .eq(CheckPlan::getHideTitle,0)
- .between(CheckPlan::getCreateTime, LocalDate.now().with(TemporalAdjusters.firstDayOfYear()), LocalDate.now().with(TemporalAdjusters.lastDayOfYear()))
- .orderByDesc(CheckPlan::getId));
- return ResultData.success(list);
- }
- /**
- * 隐藏历史计划标题
- * @Return com.zd.model.domain.ResultData
- **/
- @GetMapping(value = "/hideHistoryPlanTitle")
- @ApiOperation("隐藏历史计划标题")
- public ResultData deletHistoryPlanTitl(@RequestParam("checkPlanId") Long checkPlanId) {
- boolean update = checkPlanService.update(new LambdaUpdateWrapper<CheckPlan>().eq(CheckPlan::getId, checkPlanId).set(CheckPlan::getHideTitle, 1));
- if (update) {
- return ResultData.success();
- }
- return ResultData.fail();
- }
- /**
- * 查询检查计划各检查状态数据数量
- * @Return com.zd.model.domain.ResultData
- **/
- @GetMapping(value = "/getCheckStatusCount")
- @ApiOperation("查询检查计划各检查状态数据数量")
- public ResultData getCheckStatusCount() {
- Map<String,Long> map = new HashMap<>();
- long noStartNum = checkPlanService.count(new LambdaQueryWrapper<CheckPlan>().eq(CheckPlan::getCheckStatus, 1));
- long startNum = checkPlanService.count(new LambdaQueryWrapper<CheckPlan>().eq(CheckPlan::getCheckStatus, 2));
- map.put("noStart",noStartNum);
- map.put("start",startNum);
- return ResultData.success(map);
- }
- /**
- * 查询所有计划 所有人员信息列表
- * @Return com.zd.model.domain.ResultData
- **/
- @GetMapping(value = "/getAllCheckMemberList/{userId}")
- @ApiOperation("查询所有计划 所有人员信息列表")
- public ResultData getAllCheckMemberList(@PathVariable("userId") Long userId) {
- List<CheckPlan> list = checkPlanService.list(new LambdaQueryWrapper<CheckPlan>().and(i -> i.eq(CheckPlan::getCheckStatus, 1).or().eq(CheckPlan::getCheckStatus, 2)));
- if (list!=null && !list.isEmpty()){
- List<Long> checkPlanIdList = list.stream().map(CheckPlan::getId).collect(Collectors.toList());
- List<CheckMember> memberList = checkMemberService.list(new LambdaQueryWrapper<CheckMember>().in(CheckMember::getCheckPlanId, checkPlanIdList).eq(CheckMember::getUserId,userId));
- return ResultData.success(memberList);
- }
- return ResultData.success(new ArrayList<CheckMember>());
- }
- }
|