Browse Source

计划管理--单位权限查询

buzhanyi 2 năm trước cách đây
mục cha
commit
c23b15f657

+ 8 - 4
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanQuarterController.java

@@ -66,6 +66,8 @@ public class PlanQuarterController extends BaseController {
         List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
         try {
             LambdaQueryWrapper<PlanQuarter> lw = new LambdaQueryWrapper<>();
+            lw.eq(PlanQuarter::getPlanType, "0");
+            lw.eq(PlanQuarter::getDelFlay, DataIsDelete.DataNOTDelete.getCode());
             if (!ObjectUtils.isEmpty(vo.getProjectName())) {
                 lw.like(PlanQuarter::getProjectName, vo.getProjectName());
             }
@@ -77,8 +79,6 @@ public class PlanQuarterController extends BaseController {
             }
             if (!ObjectUtils.isEmpty(vo.getProjectStatus())) {
                 lw.eq(PlanQuarter::getProjectStatus, vo.getProjectStatus());
-            } else {
-                lw.in(PlanQuarter::getProjectStatus, "1,3");
             }
             if (!ObjectUtils.isEmpty(vo.getBeginTime())) {
                 lw.ge(PlanQuarter::getPlanDemandSubTime, vo.getBeginTime());
@@ -89,7 +89,6 @@ public class PlanQuarterController extends BaseController {
                 Date parse = dateFormatT.parse(dateFormat.format(vo.getEndTime()) + " 23:59:59:999");
                 lw.le(PlanQuarter::getPlanDemandSubTime, parse);
             }
-            lw.eq(PlanQuarter::getDelFlay, DataIsDelete.DataNOTDelete.getCode());
 
             LoginUser loginUser = tokenService.getLoginUser(request);
             // 添加数据权限
@@ -128,6 +127,7 @@ public class PlanQuarterController extends BaseController {
                             });
                 }
             }
+            lw.orderBy(true, false, PlanQuarter::getCreateTime);
             List<PlanQuarter> list = quarterService.list(lw);
             planQuarterList = quarterServiceImpl.changeTo(list);
         } catch (Exception e) {
@@ -146,6 +146,8 @@ public class PlanQuarterController extends BaseController {
         List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
         try {
             LambdaQueryWrapper<PlanQuarter> lw = new LambdaQueryWrapper<>();
+            lw.eq(PlanQuarter::getPlanType, "0");
+            lw.eq(PlanQuarter::getDelFlay, DataIsDelete.DataNOTDelete.getCode());
             if (!ObjectUtils.isEmpty(vo.getProjectName())) {
                 lw.like(PlanQuarter::getProjectName, vo.getProjectName());
             }
@@ -157,6 +159,8 @@ public class PlanQuarterController extends BaseController {
             }
             if (!ObjectUtils.isEmpty(vo.getProjectStatus())) {
                 lw.eq(PlanQuarter::getProjectStatus, vo.getProjectStatus());
+            } else {
+                lw.apply("  project_status IN (1,3)", "");
             }
             if (!ObjectUtils.isEmpty(vo.getBeginTime())) {
                 lw.ge(PlanQuarter::getPlanDemandSubTime, vo.getBeginTime());
@@ -167,7 +171,6 @@ public class PlanQuarterController extends BaseController {
                 Date parse = dateFormatT.parse(dateFormat.format(vo.getEndTime()) + " 23:59:59:999");
                 lw.le(PlanQuarter::getPlanDemandSubTime, parse);
             }
-            lw.eq(PlanQuarter::getDelFlay, DataIsDelete.DataNOTDelete.getCode());
 
             LoginUser loginUser = tokenService.getLoginUser(request);
             // 添加数据权限
@@ -206,6 +209,7 @@ public class PlanQuarterController extends BaseController {
                             });
                 }
             }
+            lw.orderBy(true, false, PlanQuarter::getCreateTime);
             List<PlanQuarter> list = quarterService.list(lw);
             planQuarterList = quarterServiceImpl.changeTo(list);
         } catch (Exception e) {

+ 7 - 3
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanYearsController.java

@@ -128,6 +128,7 @@ public class PlanYearsController extends BaseController {
                             });
                 }
             }
+            lw.orderBy(true, false, PlanYears::getCreateTime);
             List<PlanYears> planYears = planYearsService.list(lw);
             planYearsList = planYearsServiceImpl.changeTo(planYears);
         } catch (Exception e) {
@@ -144,7 +145,6 @@ public class PlanYearsController extends BaseController {
     @Log(title = ModularConstans.planYear, businessType = BusinessType.QUERY)
     public AjaxResult examineList(@RequestBody PlanYearsStandardVo vo, HttpServletRequest request) {
         List<PlanYearsResponseVo> planYearsList = new ArrayList<>();
-
         try {
             LambdaQueryWrapper<PlanYears> lw = new LambdaQueryWrapper<PlanYears>();
             if (!ObjectUtils.isEmpty(vo.getProjectName())) {
@@ -156,7 +156,11 @@ public class PlanYearsController extends BaseController {
             if (!ObjectUtils.isEmpty(vo.getIsExcess())) {
                 lw.eq(PlanYears::getIsExcess, vo.getIsExcess());
             }
-
+            if (!ObjectUtils.isEmpty(vo.getProjectStatus())) {
+                lw.eq(PlanYears::getProjectStatus, vo.getProjectStatus());
+            } else {
+                lw.apply("  project_status IN (1,3)", "");
+            }
             if (!ObjectUtils.isEmpty(vo.getBeginTime())) {
                 lw.ge(PlanYears::getPlanDemandSubTime, vo.getBeginTime());
             }
@@ -168,7 +172,6 @@ public class PlanYearsController extends BaseController {
             }
             lw.eq(PlanYears::getDelFlay, DataIsDelete.DataNOTDelete.getCode());
 
-
             LoginUser loginUser = tokenService.getLoginUser(request);
             // 添加数据权限
             List<String> roleKeys = loginUser.getUser().getRoles().stream().map(SysRole::getRoleKey).collect(Collectors.toList());
@@ -206,6 +209,7 @@ public class PlanYearsController extends BaseController {
                             });
                 }
             }
+            lw.orderBy(true, false, PlanYears::getCreateTime);
             List<PlanYears> planYears = planYearsService.list(lw);
             planYearsList = planYearsServiceImpl.changeTo(planYears);
         } catch (Exception e) {

+ 192 - 36
purchase-admin/src/main/java/com/ozs/web/controller/plan/ProvisionalPlanController.java

@@ -1,32 +1,49 @@
 package com.ozs.web.controller.plan;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageInfo;
 import com.ozs.common.annotation.Log;
+import com.ozs.common.constant.Constants;
 import com.ozs.common.constant.ModularConstans;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.core.domain.entity.SysDept;
+import com.ozs.common.core.domain.entity.SysRole;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.enums.BusinessType;
+import com.ozs.common.enums.DataIsDelete;
 import com.ozs.common.exception.ServiceException;
+import com.ozs.common.utils.PageUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.framework.web.service.TokenService;
+import com.ozs.plan.doman.PlanQuarter;
 import com.ozs.plan.doman.ProvisionalPlan;
 import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
+import com.ozs.plan.doman.vo.responseVo.PlanQuarterResponseVo;
+import com.ozs.plan.service.PlanQuarterService;
 import com.ozs.plan.service.ProvisionalPlanService;
+import com.ozs.plan.service.impl.PlanQuarterServiceImpl;
+import com.ozs.system.service.ISysDeptService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
+
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 临时计划
@@ -38,14 +55,20 @@ import java.util.List;
 @RequestMapping("/plan/provisionalPlan")
 public class ProvisionalPlanController extends BaseController {
 
+    @Autowired
+    private PlanQuarterService quarterService;
+    @Autowired
+    private PlanQuarterServiceImpl quarterServiceImpl;
     @Autowired
     private ProvisionalPlanService provisionalPlanService;
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private ISysDeptService iSysDeptService;
 
     @ApiOperation(value = "新增临时计划")
     @PostMapping("/insertProvisionalPlan")
-    @PreAuthorize("@ss.hasPermi('base:provisionalPlan:insertProvisionalPlan')")
+    @PreAuthorize("@ss.hasPermi('provisionalPlan:insertProvisionalPlan')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.INSERT)
     public AjaxResult insertProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan, HttpServletRequest request) {
         //获取采购单位
@@ -62,7 +85,7 @@ public class ProvisionalPlanController extends BaseController {
 
     @ApiOperation(value = "删除临时计划", notes = "必传 plan_practical_id")
     @PostMapping("/deleteProvisionalPlan")
-    @PreAuthorize("@ss.hasPermi('base:provisionalPlan:deleteProvisionalPlan')")
+    @PreAuthorize("@ss.hasPermi('provisionalPlan:deleteProvisionalPlan')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.DELETE)
     public AjaxResult deleteProvisionalPlan(@RequestBody ProvisionalPlan provisionalPlan) {
         if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanPracticalId())) {
@@ -73,7 +96,7 @@ public class ProvisionalPlanController extends BaseController {
 
     @ApiOperation(value = "修改临时计划", notes = "必传 plan_year_id 及修改数据")
     @PostMapping("/updateProvisionalPlan")
-    @PreAuthorize("@ss.hasPermi('base:provisionalPlan:updateProvisionalPlan')")
+    @PreAuthorize("@ss.hasPermi('provisionalPlan:updateProvisionalPlan')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.UPDATE)
     public AjaxResult updateProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlan) {
         if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanPracticalId())) {
@@ -84,49 +107,179 @@ public class ProvisionalPlanController extends BaseController {
 
     @ApiOperation(value = "查询临时计划")
     @PostMapping("/selectProvisionalPlan")
+    @PreAuthorize("@ss.hasPermi('provisionalPlan:selectProvisionalPlan')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.QUERY)
-    public AjaxResult selectProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
-//        LambdaQueryWrapper<ProvisionalPlan> lw = new LambdaQueryWrapper<ProvisionalPlan>();
-//        // planType计划类型(0:季度计划,1:临时计划)
-//        lw.eq(ProvisionalPlan::getPlanType, "1");
-//        if (!StringUtils.isBlank(provisionalPlanVo.getProjectName())) {
-//            lw.like(ProvisionalPlan::getProjectName, provisionalPlanVo.getProjectName());
-//        }
-//        if (!StringUtils.isBlank(provisionalPlanVo.getPurchaseServices())) {
-//            lw.eq(ProvisionalPlan::getPurchaseServices, provisionalPlanVo.getPurchaseServices());
-//        }
-//        if (!ObjectUtils.isEmpty(provisionalPlanVo.getProjectStatus())) {
-//            lw.eq(ProvisionalPlan::getProjectStatus, provisionalPlanVo.getProjectStatus());
-//        }
-//        if (!ObjectUtils.isEmpty(provisionalPlanVo.getStartTime()) || !ObjectUtils.isEmpty(provisionalPlanVo.getEndTime())) {
-//            lw.between(ProvisionalPlan::getPlanDemandSubTime, provisionalPlanVo.getStartTime(), provisionalPlanVo.getEndTime());
-//        }
-//        IPage<ProvisionalPlan> page = provisionalPlanService.page(new Page<ProvisionalPlan>(provisionalPlanVo.getPageNum(), provisionalPlanVo.getPageSize()), lw);
-//        return success(page);
-        if (StringUtils.isNull(provisionalPlanVo)
-                || StringUtils.isNull(provisionalPlanVo.getPageNum())
-                || StringUtils.isNull(provisionalPlanVo.getPageSize())) {
-            throw new ServiceException("查询条件及分页不能为空!");
+    public AjaxResult selectProvisionalPlan(@RequestBody ProvisionalPlanVo vo, HttpServletRequest request) {
+        if (StringUtils.isNull(vo)
+                || StringUtils.isNull(vo.getPageNum())
+                || StringUtils.isNull(vo.getPageSize())) {
+            throw new ServiceException("分页参数不能为空!");
+        }
+        List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
+        try {
+            LambdaQueryWrapper<PlanQuarter> lw = new LambdaQueryWrapper<>();
+            lw.eq(PlanQuarter::getDelFlay, DataIsDelete.DataNOTDelete.getCode());
+            lw.eq(PlanQuarter::getPlanType, "1");
+            if (!ObjectUtils.isEmpty(vo.getProjectName())) {
+                lw.like(PlanQuarter::getProjectName, vo.getProjectName());
+            }
+            if (!ObjectUtils.isEmpty(vo.getPurchaseServices())) {
+                lw.eq(PlanQuarter::getPurchaseServices, vo.getPurchaseServices());
+            }
+            if (!ObjectUtils.isEmpty(vo.getIsExcess())) {
+                lw.eq(PlanQuarter::getIsExcess, vo.getIsExcess());
+            }
+            if (!ObjectUtils.isEmpty(vo.getProjectStatus())) {
+                lw.eq(PlanQuarter::getProjectStatus, vo.getProjectStatus());
+            }
+            if (!ObjectUtils.isEmpty(vo.getStartTime())) {
+                lw.ge(PlanQuarter::getPlanDemandSubTime, vo.getStartTime());
+            }
+            if (!ObjectUtils.isEmpty(vo.getEndTime())) {
+                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+                SimpleDateFormat dateFormatT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
+                Date parse = dateFormatT.parse(dateFormat.format(vo.getEndTime()) + " 23:59:59:999");
+                lw.le(PlanQuarter::getPlanDemandSubTime, parse);
+            }
+
+            LoginUser loginUser = tokenService.getLoginUser(request);
+            // 添加数据权限
+            List<String> roleKeys = loginUser.getUser().getRoles().stream().map(SysRole::getRoleKey).collect(Collectors.toList());
+            if (roleKeys.contains(Constants.DEMAND_UNIT)) {
+                // 需求单位
+                /*(purchase_dept_id = 当前用户deptID) */
+                lw.eq(PlanQuarter::getPurchaseDeptId, loginUser.getDeptId());
+            } else if (roleKeys.contains(Constants.PURCHASING_MANAGEMENT)
+                    || roleKeys.contains(Constants.PURCHASE_SERVICES)) {
+                // 采购管理部门  或  采购办
+            /*  (purchase_dept_id = 当前用户deptID  AND  is_excess = 0)
+                OR
+                (purchase_dept_id IN (当前用户 子deptId 集合) and AND  is_excess = 1)
+             */
+                SysDept sysDept = new SysDept();
+                sysDept.setParentId(loginUser.getDeptId());
+                sysDept.setStatus("0");
+                List<Long> childDeptIds = iSysDeptService.selectDeptList(sysDept)
+                        .stream()
+                        .map(SysDept::getDeptId)
+                        .collect(Collectors.toList());
+                if (ObjectUtils.isEmpty(childDeptIds)) {
+                    lw.and((wrapper) -> {
+                        wrapper.eq(PlanQuarter::getIsExcess, 0);
+                        wrapper.eq(PlanQuarter::getPurchaseDeptId, loginUser.getDeptId());
+                    });
+                } else {
+                    lw.and((wrapper) -> {
+                        wrapper.eq(PlanQuarter::getIsExcess, 0);
+                        wrapper.eq(PlanQuarter::getPurchaseDeptId, loginUser.getDeptId());
+                    })
+                            .or((wrapper) -> {
+                                wrapper.eq(PlanQuarter::getIsExcess, 1);
+                                wrapper.in(PlanQuarter::getPurchaseDeptId, childDeptIds);
+                            });
+                }
+            }
+            lw.orderBy(true, false, PlanQuarter::getCreateTime);
+            List<PlanQuarter> list = quarterService.list(lw);
+            planQuarterList = quarterServiceImpl.changeTo(list);
+        } catch (Exception e) {
+            e.printStackTrace();
         }
-        PageInfo<ProvisionalPlan> page = provisionalPlanService.selectProvisionalPlan(provisionalPlanVo);
-        return success(page);
+        Page pages = PageUtils.getPages(vo.getPageNum().intValue(), vo.getPageSize().intValue(), planQuarterList);
+
+        return AjaxResult.success(pages);
     }
 
     @ApiOperation(value = "查询临时计划-审核单位")
     @PostMapping("/selectProvisionalPlanAudit")
+    @PreAuthorize("@ss.hasPermi('provisionalPlan:selectProvisionalPlanAudit')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.QUERY)
-    public AjaxResult selectProvisionalPlanAudit(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
-        if (StringUtils.isNull(provisionalPlanVo)
-                || StringUtils.isNull(provisionalPlanVo.getPageNum())
-                || StringUtils.isNull(provisionalPlanVo.getPageSize())) {
-            throw new ServiceException("查询条件及分页不能为空!");
+    public AjaxResult selectProvisionalPlanAudit(@RequestBody ProvisionalPlanVo vo, HttpServletRequest request) {
+        if (StringUtils.isNull(vo)
+                || StringUtils.isNull(vo.getPageNum())
+                || StringUtils.isNull(vo.getPageSize())) {
+            throw new ServiceException("分页参数不能为空!");
         }
-        PageInfo<ProvisionalPlan> page = provisionalPlanService.selectProvisionalPlanAudit(provisionalPlanVo);
-        return success(page);
+        List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
+        try {
+            LambdaQueryWrapper<PlanQuarter> lw = new LambdaQueryWrapper<>();
+            lw.eq(PlanQuarter::getDelFlay, DataIsDelete.DataNOTDelete.getCode());
+            lw.eq(PlanQuarter::getPlanType, "1");
+            if (!ObjectUtils.isEmpty(vo.getProjectName())) {
+                lw.like(PlanQuarter::getProjectName, vo.getProjectName());
+            }
+            if (!ObjectUtils.isEmpty(vo.getPurchaseServices())) {
+                lw.eq(PlanQuarter::getPurchaseServices, vo.getPurchaseServices());
+            }
+            if (!ObjectUtils.isEmpty(vo.getIsExcess())) {
+                lw.eq(PlanQuarter::getIsExcess, vo.getIsExcess());
+            }
+            if (!ObjectUtils.isEmpty(vo.getProjectStatus())) {
+                lw.eq(PlanQuarter::getProjectStatus, vo.getProjectStatus());
+            } else {
+                lw.apply("  project_status IN (1,3)", "");
+            }
+            if (!ObjectUtils.isEmpty(vo.getStartTime())) {
+                lw.ge(PlanQuarter::getPlanDemandSubTime, vo.getStartTime());
+            }
+            if (!ObjectUtils.isEmpty(vo.getEndTime())) {
+                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+                SimpleDateFormat dateFormatT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
+                Date parse = dateFormatT.parse(dateFormat.format(vo.getEndTime()) + " 23:59:59:999");
+                lw.le(PlanQuarter::getPlanDemandSubTime, parse);
+            }
+
+            LoginUser loginUser = tokenService.getLoginUser(request);
+            // 添加数据权限
+            List<String> roleKeys = loginUser.getUser().getRoles().stream().map(SysRole::getRoleKey).collect(Collectors.toList());
+            if (roleKeys.contains(Constants.DEMAND_UNIT)) {
+                // 需求单位
+                /*(purchase_dept_id = 当前用户deptID) */
+                lw.eq(PlanQuarter::getPurchaseDeptId, loginUser.getDeptId());
+            } else if (roleKeys.contains(Constants.PURCHASING_MANAGEMENT)
+                    || roleKeys.contains(Constants.PURCHASE_SERVICES)) {
+                // 采购管理部门  或  采购办
+            /*  (purchase_dept_id = 当前用户deptID  AND  is_excess = 0)
+                OR
+                (purchase_dept_id IN (当前用户 子deptId 集合) and AND  is_excess = 1)
+             */
+                SysDept sysDept = new SysDept();
+                sysDept.setParentId(loginUser.getDeptId());
+                sysDept.setStatus("0");
+                List<Long> childDeptIds = iSysDeptService.selectDeptList(sysDept)
+                        .stream()
+                        .map(SysDept::getDeptId)
+                        .collect(Collectors.toList());
+                if (ObjectUtils.isEmpty(childDeptIds)) {
+                    lw.and((wrapper) -> {
+                        wrapper.eq(PlanQuarter::getIsExcess, 0);
+                        wrapper.eq(PlanQuarter::getPurchaseDeptId, loginUser.getDeptId());
+                    });
+                } else {
+                    lw.and((wrapper) -> {
+                        wrapper.eq(PlanQuarter::getIsExcess, 0);
+                        wrapper.eq(PlanQuarter::getPurchaseDeptId, loginUser.getDeptId());
+                    })
+                            .or((wrapper) -> {
+                                wrapper.eq(PlanQuarter::getIsExcess, 1);
+                                wrapper.in(PlanQuarter::getPurchaseDeptId, childDeptIds);
+                            });
+                }
+            }
+            lw.orderBy(true, false, PlanQuarter::getCreateTime);
+            List<PlanQuarter> list = quarterService.list(lw);
+            planQuarterList = quarterServiceImpl.changeTo(list);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        Page pages = PageUtils.getPages(vo.getPageNum().intValue(), vo.getPageSize().intValue(), planQuarterList);
+
+        return AjaxResult.success(pages);
     }
 
     @ApiOperation(value = "查询临时计划详情")
     @PostMapping("/selectById")
+    @PreAuthorize("@ss.hasPermi('provisionalPlan:selectById')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.QUERY)
     public AjaxResult selectById(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
         if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) {
@@ -137,7 +290,7 @@ public class ProvisionalPlanController extends BaseController {
 
     @ApiOperation(value = "导入临时计划")
     @PostMapping("/importProvisionalPlan")
-    @PreAuthorize("@ss.hasPermi('base:provisionalPlan:importProvisionalPlan')")
+    @PreAuthorize("@ss.hasPermi('provisionalPlan:importProvisionalPlan')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.INSERT)
     public AjaxResult importProvisionalPlan(MultipartFile file, boolean updateSupport) throws Exception {
         ExcelUtil<ProvisionalPlan> util = new ExcelUtil<>(ProvisionalPlan.class);
@@ -153,6 +306,7 @@ public class ProvisionalPlanController extends BaseController {
 
     @ApiOperation(value = "导出临时计划")
     @PostMapping("/exportProvisionalPlan")
+    @PreAuthorize("@ss.hasPermi('provisionalPlan:exportProvisionalPlan')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.EXPORT)
     public void exportProvisionalPlan(HttpServletResponse response, @RequestBody ProvisionalPlanVo provisionalPlanVo) throws Exception {
         List<ProvisionalPlan> list = provisionalPlanService.selectProvisionalPlanExport(provisionalPlanVo);
@@ -162,7 +316,7 @@ public class ProvisionalPlanController extends BaseController {
 
     @ApiOperation(value = "提交临时计划")
     @PostMapping("/commitProvisionalPlan")
-    @PreAuthorize("@ss.hasPermi('base:provisionalPlan:commitProvisionalPlan')")
+    @PreAuthorize("@ss.hasPermi('provisionalPlan:commitProvisionalPlan')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.UPDATE)
     public AjaxResult commitProvisionalPlan(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
         if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) {
@@ -173,6 +327,7 @@ public class ProvisionalPlanController extends BaseController {
 
     @ApiOperation(value = "审核通过")
     @PostMapping("/auditPass")
+    @PreAuthorize("@ss.hasPermi('provisionalPlan:auditPass')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.UPDATE)
     public AjaxResult auditPass(@RequestBody ProvisionalPlanVo provisionalPlanVo, HttpServletRequest request) {
         if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) {
@@ -185,6 +340,7 @@ public class ProvisionalPlanController extends BaseController {
 
     @ApiOperation(value = "审核不通过")
     @PostMapping("/auditNoPass")
+    @PreAuthorize("@ss.hasPermi('provisionalPlan:auditNoPass')")
     @Log(title = ModularConstans.provisionalPlan, businessType = BusinessType.UPDATE)
     public AjaxResult auditNoPass(@RequestBody ProvisionalPlanVo provisionalPlanVo, HttpServletRequest request) {
         if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) {

+ 17 - 2
purchase-admin/src/main/java/com/ozs/web/controller/statisticalAnalysis/StatisticalAnalysisController.java

@@ -18,6 +18,7 @@ import org.apache.poi.util.Units;
 import org.apache.poi.xwpf.usermodel.XWPFDocument;
 import org.apache.poi.xwpf.usermodel.XWPFParagraph;
 import org.apache.poi.xwpf.usermodel.XWPFRun;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -36,14 +37,14 @@ import java.util.Map;
 @RestController
 @RequestMapping("/statistical")
 public class StatisticalAnalysisController extends BaseController {
-    @Resource
-    private PlanYearsService planYearsService;
+
     @Resource
     private IPmDemandService pmDemandService;
 
 
     @ApiOperation(value = "项目属性分布")
     @PostMapping("/countByProjectAttr")
+    @PreAuthorize("@ss.hasPermi('statistical:countByProjectAttr')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult countByProjectAttr(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //按照项目属性统计所有的项目
@@ -56,6 +57,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "项目金额分布")
     @PostMapping("/countByEvaluation")
+    @PreAuthorize("@ss.hasPermi('statistical:countByEvaluation')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult countByEvaluation(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //按照概算金额统计所有的项目
@@ -69,6 +71,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "执行滞后采购项目情况")
     @PostMapping("/countProjectExceed")
+    @PreAuthorize("@ss.hasPermi('statistical:countProjectExceed')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult countProjectExceed(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //执行滞后采购项目:本年度所有的逾期项目数
@@ -82,6 +85,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "滞后项目数量分析")
     @PostMapping("/exceedAnalysis")
+    @PreAuthorize("@ss.hasPermi('statistical:exceedAnalysis')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult exceedAnalysis(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //统计不同时间维度的逾期项目
@@ -97,6 +101,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "滞后项目时长分析")
     @PostMapping("/exceedMarketAnalysis")
+    @PreAuthorize("@ss.hasPermi('statistical:exceedMarketAnalysis')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult exceedMarketAnalysis(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //按照滞后时长统计项目数量
@@ -109,6 +114,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "采购项目信息统计")
     @PostMapping("/purchaseProjectStatistical")
+    @PreAuthorize("@ss.hasPermi('statistical:purchaseProjectStatistical')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectStatistical(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
@@ -121,6 +127,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "重大规划采购任务专项计划管理情况")
     @PostMapping("/countMajorProject")
+    @PreAuthorize("@ss.hasPermi('statistical:countMajorProject')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult countMajorProject(@RequestBody PmDemandReqVo pmDemandReqVo) {
         if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
@@ -132,6 +139,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "任务数量趋势分析")
     @PostMapping("/taskQuantityAnalysis")
+    @PreAuthorize("@ss.hasPermi('statistical:taskQuantityAnalysis')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult taskQuantityAnalysis(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //任务数量趋势分析:按照月、季度、年统计“项目属性”字段中“重大规划”属性的项目
@@ -156,6 +164,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "各阶段采购任务数量分布")
     @PostMapping("/countEveryStatusNum")
+    @PreAuthorize("@ss.hasPermi('statistical:countEveryStatusNum')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult countEveryStatusNum(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //指项目进行到各个阶段的数量
@@ -169,6 +178,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "采购项目--项目数量分析")
     @PostMapping("/purchaseProjectNumber")
+    @PreAuthorize("@ss.hasPermi('statistical:purchaseProjectNumber')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectNumber(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
@@ -181,6 +191,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "项目执行进度统计")
     @PostMapping("/purchaseProjectExecute")
+    @PreAuthorize("@ss.hasPermi('statistical:purchaseProjectExecute')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectExecute(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
@@ -193,6 +204,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "已完成项目数量统计")
     @PostMapping("/purchaseProjectCompleteNumber")
+    @PreAuthorize("@ss.hasPermi('statistical:purchaseProjectCompleteNumber')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectCompleteNumber(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
@@ -208,6 +220,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "各阶段项目数量分布")
     @PostMapping("/purchaseProjectDistribution")
+    @PreAuthorize("@ss.hasPermi('statistical:purchaseProjectDistribution')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectDistribution(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
@@ -220,6 +233,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "项目数量分析")
     @PostMapping("/purchaseProjectNumberAnalysis")
+    @PreAuthorize("@ss.hasPermi('statistical:purchaseProjectNumberAnalysis')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectNumberAnalysis(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
@@ -235,6 +249,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "生成分析报告")
     @PostMapping("/generateAnalysisReport")
+    @PreAuthorize("@ss.hasPermi('statistical:generateAnalysisReport')")
     @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult generateAnalysisReport(@RequestBody SysFileInfo file) {
         //  创建一个document对象,相当于新建一个word文档(后缀名为.docx)。

+ 2 - 1
purchase-system/src/main/java/com/ozs/plan/service/PlanYearsService.java

@@ -246,7 +246,8 @@ public interface PlanYearsService extends IService<PlanYears> {
 
     /**
      * 通过年度ID,查询季度、临时计划详情,通过季度、临时计划ID查询项目
-     * @param planYearId
+     *
+     * @param yearsStandardVo
      * @return
      */
     AjaxResult projectDetails(PlanYearsStandardVo yearsStandardVo);