Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master'

suntianwu 2 anni fa
parent
commit
187089dd48
16 ha cambiato i file con 580 aggiunte e 179 eliminazioni
  1. 20 0
      purchase-admin/src/main/java/com/ozs/web/controller/home/SystemHomepageController.java
  2. 1 2
      purchase-admin/src/main/java/com/ozs/web/controller/plan/MonthlyReconciliationController.java
  3. 172 6
      purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanQuarterController.java
  4. 178 9
      purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanYearsController.java
  5. 126 31
      purchase-admin/src/main/java/com/ozs/web/controller/statisticalAnalysis/StatisticalAnalysisController.java
  6. 19 3
      purchase-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java
  7. 10 0
      purchase-common/src/main/java/com/ozs/common/constant/ModularConstans.java
  8. 13 0
      purchase-common/src/main/java/com/ozs/common/core/domain/entity/SysUser.java
  9. 3 18
      purchase-system/src/main/java/com/ozs/plan/service/PlanQuarterService.java
  10. 0 16
      purchase-system/src/main/java/com/ozs/plan/service/PlanYearsService.java
  11. 8 32
      purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java
  12. 3 32
      purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java
  13. 7 7
      purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java
  14. 18 23
      purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java
  15. 1 0
      purchase-system/src/main/java/com/ozs/system/service/ISysDeptService.java
  16. 1 0
      purchase-system/src/main/java/com/ozs/system/service/impl/SysDeptServiceImpl.java

+ 20 - 0
purchase-admin/src/main/java/com/ozs/web/controller/home/SystemHomepageController.java

@@ -1,7 +1,10 @@
 package com.ozs.web.controller.home;
 
+import com.ozs.common.annotation.Log;
+import com.ozs.common.constant.ModularConstans;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.enums.BusinessType;
 import com.ozs.plan.doman.vo.responseVo.PlanQuarterResponseVo;
 import com.ozs.plan.service.PlanYearsService;
 import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
@@ -90,12 +93,14 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "需求单位首页待办事项(全部)")
     @GetMapping("/demandUnit/will/total")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult demandUnitWillManipulateTotal() {
         return planYearsService.demandUnitWillManipulateTotal();
     }
 
     @ApiOperation(value = "需求单位首页待办事项(计划待提交)")
     @GetMapping("/demandUnit/will/planWaitCommit")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult planWaitCommit() {
         List<PlanQuarterResponseVo> vos = planYearsService.planWaitCommit();
         return AjaxResult.success(vos);
@@ -103,6 +108,7 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "需求单位首页待办事项(需求待提交)")
     @GetMapping("/demandUnit/will/demandWaitCommit")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult demandUnit() {
         List<PmDemandResVo> resVos = pmDemandService.demandWaitCommit();
         return AjaxResult.success(resVos);
@@ -110,6 +116,7 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "需求单位首页待办事项(合同待填制)")
     @GetMapping("/demandUnit/will/contractWaitFilled")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult contractWaitFilled() {
         List<PmDemandResVo> resVos = pmDemandService.contractWaitFilled();
         return AjaxResult.success(resVos);
@@ -117,6 +124,7 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "需求单位首页待办事项(项目建设待完成)")
     @GetMapping("/demandUnit/will/projectWaitFinish")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult projectWaitFinish() {
         List<PmDemandResVo> resVos = pmDemandService.projectWaitFinish();
         return AjaxResult.success(resVos);
@@ -124,12 +132,14 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "采购管理部门首页待办事项(全部)")
     @GetMapping("/purchasingManagement/will/total")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult purchasingManagementWillManipulateTotal() {
         return planYearsService.purchasingManagementWillManipulateTotal();
     }
 
     @ApiOperation(value = "采购管理部门首页待办事项(计划待审核)")
     @GetMapping("/purchasingManagement/will/planWaitExamine")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult planWaitExamine() {
         List<PlanQuarterResponseVo> resVos = planYearsService.planWaitExamine();
         return AjaxResult.success(resVos);
@@ -137,6 +147,7 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "采购管理部门首页待办事项(需求待审核)")
     @GetMapping("/purchasingManagement/will/demandWaitExamine")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult demandWaitExamine() {
         List<PmDemandResVo> resVos = pmDemandService.demandWaitExamine();
         return AjaxResult.success(resVos);
@@ -144,6 +155,7 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "采购管理部门首页待办事项(任务待下达)")
     @GetMapping("/purchasingManagement/will/taskWaitRelease")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult taskWaitRelease() {
         List<PmDemandResVo> resVos = pmDemandService.taskWaitRelease();
         return AjaxResult.success(resVos);
@@ -151,12 +163,14 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "采购办首页待办事项(全部)")
     @GetMapping("/procurementOffice/will/total")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult procurementOfficeWillManipulateTotal() {
         return pmDemandService.procurementOfficeWillManipulateTotal();
     }
 
     @ApiOperation(value = "采购办首页待办事项(待选取代理)")
     @GetMapping("/procurementOffice/will/waitSelectAgent")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult waitSelectAgent() {
         List<PmDemandResVo> resVos = pmDemandService.waitSelectAgent();
         return AjaxResult.success(resVos);
@@ -164,6 +178,7 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "采购办首页待办事项(待上传招标文件)")
     @GetMapping("/procurementOffice/will/waitUpBidFile")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult waitUpBidFile() {
         List<PmDemandResVo> resVos = pmDemandService.waitUpBidFile();
         return AjaxResult.success(resVos);
@@ -171,6 +186,7 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "采购办首页待办事项(待发布公告)")
     @GetMapping("/procurementOffice/will/waitAnnouncement")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult waitAnnouncement() {
         List<PmDemandResVo> resVos = pmDemandService.waitAnnouncement();
         return AjaxResult.success(resVos);
@@ -178,6 +194,7 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "采购办首页待办事项(待开标)")
     @GetMapping("/procurementOffice/will/waitOpenBid")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult waitOpenBid() {
         List<PmDemandResVo> resVos = pmDemandService.waitOpenBid();
         return AjaxResult.success(resVos);
@@ -185,6 +202,7 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "采购办首页待办事项(待发布中标公告)")
     @GetMapping("/procurementOffice/will/waitBidAnnouncement")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult waitBidAnnouncement() {
         List<PmDemandResVo> resVos = pmDemandService.waitBidAnnouncement();
         return AjaxResult.success(resVos);
@@ -192,6 +210,7 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "采购办首页待办事项(中标公示中)")
     @GetMapping("/procurementOffice/will/biddingPublicity")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult biddingPublicity() {
         List<PmDemandResVo> resVos = pmDemandService.biddingPublicity();
         return AjaxResult.success(resVos);
@@ -199,6 +218,7 @@ public class SystemHomepageController extends BaseController {
 
     @ApiOperation(value = "采购办首页待办事项(发函催告)")
     @GetMapping("/procurementOffice/will/sendLetter")
+    @Log(title = ModularConstans.systemHome, businessType = BusinessType.QUERY)
     public AjaxResult willSendLetter() {
         List<PlanQuarterResponseVo> vos = planYearsService.willSendLetter();
         return AjaxResult.success(vos);

+ 1 - 2
purchase-admin/src/main/java/com/ozs/web/controller/plan/MonthlyReconciliationController.java

@@ -116,8 +116,7 @@ public class MonthlyReconciliationController extends BaseController {
             }
         }
 
-//
-//                    .or(lw.in(MonthlyReconciliation::getPurchaseDeptId, Arrays.asList()).eq());
+        // 分页查询
         IPage<MonthlyReconciliation> page = monthlyReconciliationService.page(new Page<>(vo.getPageNum(), vo.getPageSize()), lw);
         if (!ObjectUtils.isEmpty(page.getRecords()) && page.getRecords().size() > 0) {
             page.setRecords(page.getRecords().stream().map(dto -> {

+ 172 - 6
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanQuarterController.java

@@ -1,18 +1,30 @@
 package com.ozs.web.controller.plan;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.utils.PageUtils;
 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.vo.requestVo.PlanQuarterStandardVo;
 import com.ozs.plan.doman.vo.responseVo.PlanQuarterResponseVo;
 import com.ozs.plan.service.PlanQuarterService;
+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.util.ObjectUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -21,7 +33,9 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 季度计划信息控制层
@@ -35,23 +49,163 @@ public class PlanQuarterController extends BaseController {
     @Autowired
     private PlanQuarterService quarterService;
     @Autowired
+    private PlanQuarterServiceImpl quarterServiceImpl;
+    @Autowired
     private TokenService tokenService;
+    @Autowired
+    private ISysDeptService iSysDeptService;
 
     @ApiOperation(value = "查询季度计划")
     @PostMapping("/list")
-    public AjaxResult list(@RequestBody PlanQuarterStandardVo quarterStandardVo) {
-        Page page = quarterService.selectPlanQuarterList(quarterStandardVo);
-        return AjaxResult.success(page);
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.QUERY)
+    public AjaxResult list(@RequestBody PlanQuarterStandardVo vo, HttpServletRequest request) {
+        List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
+        try {
+            LambdaQueryWrapper<PlanQuarter> lw = new LambdaQueryWrapper<>();
+            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.in(PlanQuarter::getProjectStatus, "1,3");
+            }
+            if (!ObjectUtils.isEmpty(vo.getBeginTime())) {
+                lw.ge(PlanQuarter::getPlanDemandSubTime, vo.getBeginTime());
+            }
+            if (!ObjectUtils.isEmpty(vo.getEndTime())) {
+                lw.le(PlanQuarter::getPlanDemandSubTime, vo.getEndTime());
+            }
+            lw.eq(PlanQuarter::getDelFlay, DataIsDelete.DataNOTDelete);
+
+            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);
+                            });
+                }
+            }
+            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("/examineList")
-    public AjaxResult examineList(@RequestBody PlanQuarterStandardVo quarterStandardVo) {
-        Page page = quarterService.selectPlanQuarterExamineList(quarterStandardVo);
-        return AjaxResult.success(page);
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.QUERY)
+    public AjaxResult examineList(@RequestBody PlanQuarterStandardVo vo, HttpServletRequest request) {
+        List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
+        try {
+            LambdaQueryWrapper<PlanQuarter> lw = new LambdaQueryWrapper<>();
+            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.getBeginTime())) {
+                lw.ge(PlanQuarter::getPlanDemandSubTime, vo.getBeginTime());
+            }
+            if (!ObjectUtils.isEmpty(vo.getEndTime())) {
+                lw.le(PlanQuarter::getPlanDemandSubTime, vo.getEndTime());
+            }
+            lw.eq(PlanQuarter::getDelFlay, DataIsDelete.DataNOTDelete);
+
+            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);
+                            });
+                }
+            }
+            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 = "导出季度计划数据")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.EXPORT)
     @PostMapping("/exportPlan")
     public void exportPlan(HttpServletResponse response, @RequestBody PlanQuarterStandardVo quarterStandardVo) throws Exception {
         List<PlanQuarterResponseVo> list = quarterService.selectPlanQuarterListEXP(quarterStandardVo);
@@ -61,6 +215,7 @@ public class PlanQuarterController extends BaseController {
 
     @ApiOperation(value = "导出季度计划数据(审核单位)")
     @PostMapping("/exportPlanExamine")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.EXPORT)
     public void exportPlanExamine(HttpServletResponse response, @RequestBody PlanQuarterStandardVo quarterStandardVo) throws Exception {
         List<PlanQuarterResponseVo> list = quarterService.selectPlanQuarterExamineListEXP(quarterStandardVo);
         ExcelUtil<PlanQuarterResponseVo> util = new ExcelUtil<>(PlanQuarterResponseVo.class);
@@ -69,6 +224,7 @@ public class PlanQuarterController extends BaseController {
 
     @ApiOperation(value = "创建季度计划")
     @PostMapping("/add")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.INSERT)
     public AjaxResult add(@RequestBody PlanQuarterStandardVo quarterStandardVo, HttpServletRequest request) {
         //获取采购单位-
         LoginUser loginUser = tokenService.getLoginUser(request);
@@ -79,6 +235,7 @@ public class PlanQuarterController extends BaseController {
 
     @ApiOperation(value = "修改季度计划")
     @PostMapping("/update")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.UPDATE)
     public AjaxResult update(@RequestBody PlanQuarterStandardVo quarterStandardVo, HttpServletRequest request) {
         LoginUser loginUser = tokenService.getLoginUser(request);
         quarterStandardVo.setUpdated(String.valueOf(loginUser.getUserId()));
@@ -87,24 +244,28 @@ public class PlanQuarterController extends BaseController {
 
     @ApiOperation(value = "提交季度计划")
     @PostMapping("/commit")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.UPDATE)
     public AjaxResult commit(@RequestBody PlanQuarterStandardVo quarterStandardVo) {
         return quarterService.commit(quarterStandardVo);
     }
 
     @ApiOperation(value = "删除季度计划")
     @PostMapping("/delete")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.DELETE)
     public AjaxResult delete(@RequestBody PlanQuarterStandardVo quarterStandardVo) {
         return quarterService.deletePlanQuarterById(quarterStandardVo.getPlanPracticalId());
     }
 
     @ApiOperation(value = "根据id获取季度计划信息")
     @PostMapping("/view")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.QUERY)
     public AjaxResult view(@RequestBody PlanQuarterStandardVo quarterStandardVo) {
         return quarterService.view(quarterStandardVo);
     }
 
     @ApiOperation(value = "审核季度计划通过")
     @PostMapping("/reviewTo")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.UPDATE)
     public AjaxResult reviewTo(@RequestBody PlanQuarterStandardVo quarterStandardVo, HttpServletRequest request) {
         LoginUser loginUser = tokenService.getLoginUser(request);
         quarterStandardVo.setUpdated(String.valueOf(loginUser.getUserId()));
@@ -113,6 +274,7 @@ public class PlanQuarterController extends BaseController {
 
     @ApiOperation(value = "审核季度计划退回")
     @PostMapping("/reviewReturn")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.UPDATE)
     public AjaxResult reviewReturn(@RequestBody PlanQuarterStandardVo quarterStandardVo, HttpServletRequest request) {
         LoginUser loginUser = tokenService.getLoginUser(request);
         quarterStandardVo.setUpdated(String.valueOf(loginUser.getUserId()));
@@ -121,18 +283,21 @@ public class PlanQuarterController extends BaseController {
 
     @ApiOperation(value = "申请修改季度计划")
     @PostMapping("/appUpdate")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.UPDATE)
     public AjaxResult appUpdate(@RequestBody PlanQuarterStandardVo quarterStandardVo) {
         return quarterService.appUpdate(quarterStandardVo);
     }
 
     @ApiOperation(value = "发函催告")
     @PostMapping("/sendLetter")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.UPDATE)
     public AjaxResult sendLetter(@RequestBody PlanQuarterStandardVo quarterStandardVo) {
         return quarterService.sendLetter(quarterStandardVo);
     }
 
     @ApiOperation(value = "上传计划关联文件后保存文件信息")
     @PostMapping("/upLoadPlanFile")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.OTHER)
     public AjaxResult upLoadPlanFile(@RequestBody PlanQuarterStandardVo quarterStandardVo) {
         return quarterService.upLoadPlanFile(quarterStandardVo);
     }
@@ -145,6 +310,7 @@ public class PlanQuarterController extends BaseController {
 
     @ApiOperation(value = "导入季度计划数据")
     @PostMapping("/importData")
+    @Log(title = ModularConstans.planQuarter, businessType = BusinessType.INSERT)
     public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
         ExcelUtil<PlanQuarterStandardVo> util = new ExcelUtil<>(PlanQuarterStandardVo.class);
         List<PlanQuarterStandardVo> quarter = util.importExcel(file.getInputStream());

+ 178 - 9
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanYearsController.java

@@ -1,18 +1,30 @@
 package com.ozs.web.controller.plan;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.utils.PageUtils;
 import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.framework.web.service.TokenService;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
 import com.ozs.plan.doman.vo.responseVo.PlanYearsResponseVo;
 import com.ozs.plan.service.PlanYearsService;
+import com.ozs.plan.service.impl.PlanYearsServiceImpl;
+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.util.ObjectUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -22,7 +34,9 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 年度计划信息控制层
@@ -37,24 +51,166 @@ public class PlanYearsController extends BaseController {
     private PlanYearsService planYearsService;
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private ISysDeptService iSysDeptService;
+    @Autowired
+    private PlanYearsServiceImpl planYearsServiceImpl;
+
 
     @ApiOperation(value = "查询年度计划")
     @PostMapping("/list")
-    public AjaxResult list(@RequestBody PlanYearsStandardVo yearsStandardVo) {
-        //List<PlanYears> list = planYearsService.selectPlanYearsList(yearsStandardVo);
-        Page page = planYearsService.selectPlanYearsList(yearsStandardVo);
-        return AjaxResult.success(page);
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.QUERY)
+    public AjaxResult list(@RequestBody PlanYearsStandardVo vo, HttpServletRequest request) {
+        List<PlanYearsResponseVo> planYearsList = new ArrayList<>();
+        try {
+            LambdaQueryWrapper<PlanYears> lw = new LambdaQueryWrapper<PlanYears>();
+            if (!ObjectUtils.isEmpty(vo.getProjectName())) {
+                lw.like(PlanYears::getProjectName, vo.getProjectName());
+            }
+            if (!ObjectUtils.isEmpty(vo.getPurchaseServices())) {
+                lw.eq(PlanYears::getPurchaseServices, vo.getPurchaseServices());
+            }
+            if (!ObjectUtils.isEmpty(vo.getIsExcess())) {
+                lw.eq(PlanYears::getIsExcess, vo.getIsExcess());
+            }
+            if (!ObjectUtils.isEmpty(vo.getProjectStatus())) {
+                lw.eq(PlanYears::getProjectStatus, vo.getProjectStatus());
+            }
+            if (!ObjectUtils.isEmpty(vo.getBeginTime())) {
+                lw.ge(PlanYears::getPlanDemandSubTime, vo.getBeginTime());
+            }
+            if (!ObjectUtils.isEmpty(vo.getEndTime())) {
+                lw.le(PlanYears::getPlanDemandSubTime, vo.getEndTime());
+            }
+            lw.eq(PlanYears::getDelFlay, DataIsDelete.DataNOTDelete);
+
+
+            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(PlanYears::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(PlanYears::getIsExcess, 0);
+                        wrapper.eq(PlanYears::getPurchaseDeptId, loginUser.getDeptId());
+                    });
+                } else {
+                    lw.and((wrapper) -> {
+                        wrapper.eq(PlanYears::getIsExcess, 0);
+                        wrapper.eq(PlanYears::getPurchaseDeptId, loginUser.getDeptId());
+                    })
+                            .or((wrapper) -> {
+                                wrapper.eq(PlanYears::getIsExcess, 1);
+                                wrapper.in(PlanYears::getPurchaseDeptId, childDeptIds);
+                            });
+                }
+            }
+            List<PlanYears> planYears = planYearsService.list(lw);
+            planYearsList = planYearsServiceImpl.changeTo(planYears);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        Page pages = PageUtils.getPages(vo.getPageNum().intValue(), vo.getPageSize().intValue(), planYearsList);
+
+        return AjaxResult.success(pages);
     }
 
     @ApiOperation(value = "审核单位查询年度计划")
     @PostMapping("/examineList")
-    public AjaxResult examineList(@RequestBody PlanYearsStandardVo yearsStandardVo) {
-        Page page = planYearsService.selectPlanYearsExamineList(yearsStandardVo);
-        return AjaxResult.success(page);
+    @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())) {
+                lw.like(PlanYears::getProjectName, vo.getProjectName());
+            }
+            if (!ObjectUtils.isEmpty(vo.getPurchaseServices())) {
+                lw.eq(PlanYears::getPurchaseServices, vo.getPurchaseServices());
+            }
+            if (!ObjectUtils.isEmpty(vo.getIsExcess())) {
+                lw.eq(PlanYears::getIsExcess, vo.getIsExcess());
+            }
+            if (!ObjectUtils.isEmpty(vo.getProjectStatus())) {
+                lw.eq(PlanYears::getProjectStatus, vo.getProjectStatus());
+            } else {
+                lw.in(PlanYears::getProjectStatus, "1,3");
+            }
+            if (!ObjectUtils.isEmpty(vo.getBeginTime())) {
+                lw.ge(PlanYears::getPlanDemandSubTime, vo.getBeginTime());
+            }
+            if (!ObjectUtils.isEmpty(vo.getEndTime())) {
+                lw.le(PlanYears::getPlanDemandSubTime, vo.getEndTime());
+            }
+            lw.eq(PlanYears::getDelFlay, DataIsDelete.DataNOTDelete);
+
+
+            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(PlanYears::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(PlanYears::getIsExcess, 0);
+                        wrapper.eq(PlanYears::getPurchaseDeptId, loginUser.getDeptId());
+                    });
+                } else {
+                    lw.and((wrapper) -> {
+                        wrapper.eq(PlanYears::getIsExcess, 0);
+                        wrapper.eq(PlanYears::getPurchaseDeptId, loginUser.getDeptId());
+                    })
+                            .or((wrapper) -> {
+                                wrapper.eq(PlanYears::getIsExcess, 1);
+                                wrapper.in(PlanYears::getPurchaseDeptId, childDeptIds);
+                            });
+                }
+            }
+            List<PlanYears> planYears = planYearsService.list(lw);
+            planYearsList = planYearsServiceImpl.changeTo(planYears);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        Page pages = PageUtils.getPages(vo.getPageNum().intValue(), vo.getPageSize().intValue(), planYearsList);
+        return AjaxResult.success(pages);
     }
 
     @ApiOperation(value = "导出年度计划数据")
     @PostMapping("/exportPlan")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.EXPORT)
     public void exportPlan(HttpServletResponse response, @RequestBody PlanYearsStandardVo yearsStandardVo) throws Exception {
         List<PlanYearsResponseVo> list = planYearsService.selectPlanYearsListEXP(yearsStandardVo);
         ExcelUtil<PlanYearsResponseVo> util = new ExcelUtil<>(PlanYearsResponseVo.class);
@@ -63,6 +219,7 @@ public class PlanYearsController extends BaseController {
 
     @ApiOperation(value = "导出年度计划数据(审核单位)")
     @PostMapping("/exportPlanExamine")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.EXPORT)
     public void exportPlanExamine(HttpServletResponse response, @RequestBody PlanYearsStandardVo yearsStandardVo) throws Exception {
         List<PlanYearsResponseVo> list = planYearsService.selectPlanYearsExamineListEXP(yearsStandardVo);
         ExcelUtil<PlanYearsResponseVo> util = new ExcelUtil<>(PlanYearsResponseVo.class);
@@ -71,6 +228,7 @@ public class PlanYearsController extends BaseController {
 
     @ApiOperation(value = "创建年度计划")
     @PostMapping("/add")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.INSERT)
     public AjaxResult add(@RequestBody PlanYearsStandardVo yearsStandardVo, HttpServletRequest request) {
         //获取采购单位-
         LoginUser loginUser = tokenService.getLoginUser(request);
@@ -81,6 +239,7 @@ public class PlanYearsController extends BaseController {
 
     @ApiOperation(value = "修改年度计划")
     @PostMapping("/update")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.UPDATE)
     public AjaxResult update(@RequestBody PlanYearsStandardVo yearsStandardVo, HttpServletRequest request) {
         LoginUser loginUser = tokenService.getLoginUser(request);
         yearsStandardVo.setUpdated(String.valueOf(loginUser.getUserId()));
@@ -89,24 +248,28 @@ public class PlanYearsController extends BaseController {
 
     @ApiOperation(value = "提交年度计划")
     @PostMapping("/commit")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.UPDATE)
     public AjaxResult commit(@RequestBody PlanYearsStandardVo yearsStandardVo) {
         return planYearsService.commit(yearsStandardVo);
     }
 
     @ApiOperation(value = "删除年度计划")
     @PostMapping("/delete")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.DELETE)
     public AjaxResult delete(@RequestBody PlanYearsStandardVo yearsStandardVo) {
         return planYearsService.deletePlanYearsById(yearsStandardVo.getPlanYearId());
     }
 
     @ApiOperation(value = "根据id获取年度计划信息")
     @PostMapping("/view")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.QUERY)
     public AjaxResult view(@RequestBody PlanYearsStandardVo yearsStandardVo) {
         return planYearsService.view(yearsStandardVo);
     }
 
     @ApiOperation(value = "审核年度计划通过")
     @PostMapping("/reviewTo")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.UPDATE)
     public AjaxResult reviewTo(@RequestBody PlanYearsStandardVo yearsStandardVo, HttpServletRequest request) {
         LoginUser loginUser = tokenService.getLoginUser(request);
         yearsStandardVo.setUpdated(String.valueOf(loginUser.getUserId()));
@@ -115,6 +278,7 @@ public class PlanYearsController extends BaseController {
 
     @ApiOperation(value = "审核年度计划退回")
     @PostMapping("/reviewReturn")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.UPDATE)
     public AjaxResult reviewReturn(@RequestBody PlanYearsStandardVo yearsStandardVo, HttpServletRequest request) {
         LoginUser loginUser = tokenService.getLoginUser(request);
         yearsStandardVo.setUpdated(String.valueOf(loginUser.getUserId()));
@@ -123,18 +287,21 @@ public class PlanYearsController extends BaseController {
 
     @ApiOperation(value = "申请修改年度计划")
     @PostMapping("/appUpdate")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.UPDATE)
     public AjaxResult appUpdate(@RequestBody PlanYearsStandardVo yearsStandardVo) {
         return planYearsService.appUpdate(yearsStandardVo);
     }
 
     @ApiOperation(value = "发函催告")
     @PostMapping("/sendLetter")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.UPDATE)
     public AjaxResult sendLetter(@RequestBody PlanYearsStandardVo yearsStandardVo) {
         return planYearsService.sendLetter(yearsStandardVo);
     }
 
     @ApiOperation(value = "上传计划关联文件后保存文件信息")
     @PostMapping("/upLoadPlanFile")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.OTHER)
     public AjaxResult upLoadPlanFile(@RequestBody PlanYearsStandardVo yearsStandardVo) {
         return planYearsService.upLoadPlanFile(yearsStandardVo);
     }
@@ -147,6 +314,7 @@ public class PlanYearsController extends BaseController {
 
     @ApiOperation(value = "导入年度计划数据")
     @PostMapping("/importData")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.INSERT)
     public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
         ExcelUtil<PlanYearsStandardVo> util = new ExcelUtil<>(PlanYearsStandardVo.class);
         List<PlanYearsStandardVo> planYears = util.importExcel(file.getInputStream());
@@ -158,7 +326,8 @@ public class PlanYearsController extends BaseController {
 
     @ApiOperation(value = "系统首页计划管理")
     @GetMapping("/planYearsTotal")
-    public AjaxResult planYearsTotal(){
-     return    success(planYearsService.count());
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.QUERY)
+    public AjaxResult planYearsTotal() {
+        return success(planYearsService.count());
     }
 }

+ 126 - 31
purchase-admin/src/main/java/com/ozs/web/controller/statisticalAnalysis/StatisticalAnalysisController.java

@@ -1,17 +1,32 @@
 package com.ozs.web.controller.statisticalAnalysis;
 
 import com.ozs.base.domain.BaseSupplier;
+import com.ozs.common.annotation.Log;
+import com.ozs.common.constant.ModularConstans;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.enums.BusinessType;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.plan.service.PlanYearsService;
 import com.ozs.pm.doman.vo.requestVo.PmDemandReqVo;
 import com.ozs.pm.doman.vo.responseVo.StatisticalChartsResVo;
 import com.ozs.pm.service.IPmDemandService;
+import com.ozs.system.domain.SysFileInfo;
 import io.swagger.annotations.ApiOperation;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+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.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.util.List;
 import java.util.Map;
 
@@ -28,48 +43,73 @@ public class StatisticalAnalysisController extends BaseController {
 
 
     @ApiOperation(value = "项目属性分布")
-    @GetMapping("/countByProjectAttr")
-    public AjaxResult countByProjectAttr() {
+    @PostMapping("/countByProjectAttr")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
+    public AjaxResult countByProjectAttr(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //按照项目属性统计所有的项目
+        if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
+            return error("登录账号的单位 不能为空!");
+        }
         List<StatisticalChartsResVo> resVos = pmDemandService.countByProjectAttr();
         return AjaxResult.success(resVos);
     }
 
     @ApiOperation(value = "项目金额分布")
-    @GetMapping("/countByEvaluation")
-    public AjaxResult countByEvaluation() {
+    @PostMapping("/countByEvaluation")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
+    public AjaxResult countByEvaluation(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //按照概算金额统计所有的项目
         //概算金额包括:100万以下采购任务、100至500万元采购任务、500至1000万元采购任务、1000至5000万元采购任务、5000至1亿元采购任务、1亿元及以上采购任务
-        List<StatisticalChartsResVo> resVos = pmDemandService.countByEvaluation();
+        if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
+            return error("登录账号的单位 不能为空!");
+        }
+        List<StatisticalChartsResVo> resVos = pmDemandService.countByEvaluation(pmDemandReqVo);
         return AjaxResult.success(resVos);
     }
 
     @ApiOperation(value = "执行滞后采购项目情况")
-    @GetMapping("/countProjectExceed")
-    public AjaxResult countProjectExceed() {
+    @PostMapping("/countProjectExceed")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
+    public AjaxResult countProjectExceed(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //执行滞后采购项目:本年度所有的逾期项目数
         //预算金额:本年度所有逾期项目累加的预算金额
         //滞后项目数量占比:指本年度逾期项目数量/本年度所有项目数量
-        return pmDemandService.countProjectExceed();
+        if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
+            return error("登录账号的单位 不能为空!");
+        }
+        return pmDemandService.countProjectExceed(pmDemandReqVo);
     }
 
     @ApiOperation(value = "滞后项目数量分析")
-    @GetMapping("/exceedAnalysis")
-    public AjaxResult exceedAnalysis(String qType) {
+    @PostMapping("/exceedAnalysis")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
+    public AjaxResult exceedAnalysis(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //统计不同时间维度的逾期项目
-        return pmDemandService.exceedAnalysis(qType);
+        // 需求单位可查看本单位及其下属单位的统计数据
+        if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
+            return error("登录账号的单位 不能为空!");
+        }
+        if (StringUtils.isNull(pmDemandReqVo.getTimeType())) {
+            return error("统计时间类型不能为空, 1:年度,2:季度,3:月份!");
+        }
+        return pmDemandService.exceedAnalysis(pmDemandReqVo);
     }
 
     @ApiOperation(value = "滞后项目时长分析")
-    @GetMapping("/exceedMarketAnalysis")
-    public AjaxResult exceedMarketAnalysis() {
+    @PostMapping("/exceedMarketAnalysis")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
+    public AjaxResult exceedMarketAnalysis(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //按照滞后时长统计项目数量
         //滞后时长包括:滞后1个月以内的采购任务、滞后1至3个月采购任务、滞后3至6个月采购任务、滞后6个月至1年采购任务、滞后1年以上采购任务
-        return pmDemandService.exceedMarketAnalysis();
+        if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
+            return error("登录账号的单位 不能为空!");
+        }
+        return pmDemandService.exceedMarketAnalysis(pmDemandReqVo);
     }
 
     @ApiOperation(value = "采购项目信息统计")
     @PostMapping("/purchaseProjectStatistical")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectStatistical(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
         if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
@@ -80,39 +120,56 @@ public class StatisticalAnalysisController extends BaseController {
     }
 
     @ApiOperation(value = "重大规划采购任务专项计划管理情况")
-    @GetMapping("/countMajorProject")
-    public AjaxResult countMajorProject() {
-        return pmDemandService.countMajorProject();
+    @PostMapping("/countMajorProject")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
+    public AjaxResult countMajorProject(@RequestBody PmDemandReqVo pmDemandReqVo) {
+        if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
+            return error("登录账号的单位 不能为空!");
+        }
+        return pmDemandService.countMajorProject(pmDemandReqVo);
     }
 
 
     @ApiOperation(value = "任务数量趋势分析")
-    @GetMapping("/taskQuantityAnalysis")
-    public AjaxResult taskQuantityAnalysis(String qType) {
+    @PostMapping("/taskQuantityAnalysis")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
+    public AjaxResult taskQuantityAnalysis(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //任务数量趋势分析:按照月、季度、年统计“项目属性”字段中“重大规划”属性的项目
-        return pmDemandService.taskQuantityAnalysis(qType);
+        // 需求单位可查看本单位及其下属单位的统计数据
+        if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
+            return error("登录账号的单位 不能为空!");
+        }
+        if (StringUtils.isNull(pmDemandReqVo.getTimeType())) {
+            return error("统计时间类型不能为空, 1:年度,2:季度,3:月份!");
+        }
+        return pmDemandService.taskQuantityAnalysis(pmDemandReqVo);
     }
 
-    @ApiOperation(value = "新完成采购任务数量")
-    @GetMapping("/newFinishPro")
-    public AjaxResult newFinishPro() {
-        // 新完成采购任务数量:本年度状态为“合同待填制”、“项目建设中”、“项目建设完成”的项目
-        //        预算金额:“合同待填制”、“项目建设中”、“项目建设完成”的项目累加的预算金额
-        //合同金额:“合同待填制”、“项目建设中”、“项目建设完成”的项目累加的合同金额
-        return pmDemandService.newFinishPro();
-    }
+    //@ApiOperation(value = "新完成采购任务数量")--------接口作废
+    // @PostMapping("/newFinishPro")
+    //public AjaxResult newFinishPro(@RequestBody PmDemandReqVo pmDemandReqVo) {
+    //    // 新完成采购任务数量:本年度状态为“合同待填制”、“项目建设中”、“项目建设完成”的项目
+    //    //        预算金额:“合同待填制”、“项目建设中”、“项目建设完成”的项目累加的预算金额
+    //    //合同金额:“合同待填制”、“项目建设中”、“项目建设完成”的项目累加的合同金额
+    //    return pmDemandService.newFinishPro();
+    //}
 
     @ApiOperation(value = "各阶段采购任务数量分布")
-    @GetMapping("/countEveryStatusNum")
-    public AjaxResult countEveryStatusNum() {
+    @PostMapping("/countEveryStatusNum")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
+    public AjaxResult countEveryStatusNum(@RequestBody PmDemandReqVo pmDemandReqVo) {
         //指项目进行到各个阶段的数量
         //阶段包括:待选取代理、待上传招标文件、待发布公告、待开标、待发布中标公告、中标公式中
         //展示信息包括:鼠标上到图表时,展示项目数量和平均消耗时长(平均消耗时长,指所有项目在该阶段完成的平均时间)
-        return pmDemandService.countEveryStatusNum();
+        if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
+            return error("登录账号的单位 不能为空!");
+        }
+        return pmDemandService.countEveryStatusNum(pmDemandReqVo);
     }
 
     @ApiOperation(value = "采购项目--项目数量分析")
     @PostMapping("/purchaseProjectNumber")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectNumber(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
         if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
@@ -124,6 +181,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "项目执行进度统计")
     @PostMapping("/purchaseProjectExecute")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectExecute(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
         if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
@@ -135,6 +193,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "已完成项目数量统计")
     @PostMapping("/purchaseProjectCompleteNumber")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectCompleteNumber(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
         if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
@@ -149,6 +208,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "各阶段项目数量分布")
     @PostMapping("/purchaseProjectDistribution")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectDistribution(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
         if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
@@ -160,6 +220,7 @@ public class StatisticalAnalysisController extends BaseController {
 
     @ApiOperation(value = "项目数量分析")
     @PostMapping("/purchaseProjectNumberAnalysis")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
     public AjaxResult purchaseProjectNumberAnalysis(@RequestBody PmDemandReqVo pmDemandReqVo) {
         // 需求单位可查看本单位及其下属单位的统计数据
         if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
@@ -171,4 +232,38 @@ public class StatisticalAnalysisController extends BaseController {
         List<Map<String, String>> map = pmDemandService.purchaseProjectNumberAnalysis(pmDemandReqVo);
         return success(map);
     }
+
+    @ApiOperation(value = "生成分析报告")
+    @PostMapping("/generateAnalysisReport")
+    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
+    public AjaxResult generateAnalysisReport(@RequestBody SysFileInfo file) {
+        //  创建一个document对象,相当于新建一个word文档(后缀名为.docx)。
+        XWPFDocument document = new XWPFDocument();
+        //        创建一个段落对象。
+        XWPFParagraph paragraph = document.createParagraph();
+        //        创建一个run。run具体是什么,我也不知道。但是run是这里面的最小单元了。
+        XWPFRun run = paragraph.createRun();
+        //        插入图片
+        //        创建一个输出流 即是该文档的保存位置
+        try {
+            //文件路径位置和文件名称
+            run.addPicture(new FileInputStream(file.getFileUrl()),
+                    XWPFDocument.PICTURE_TYPE_PNG,
+                    file.getFileName(),
+                    Units.toEMU(400),
+                    Units.toEMU(200));
+            //文件保存地址
+            OutputStream outputStream = new FileOutputStream(file.getFileMappingPath());
+            document.write(outputStream);
+            outputStream.close();
+            return AjaxResult.success("cg");
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (InvalidFormatException e) {
+            e.printStackTrace();
+        }
+        return AjaxResult.success("wg");
+    }
+
+
 }

+ 19 - 3
purchase-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java

@@ -1,6 +1,7 @@
 package com.ozs.web.controller.system;
 
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletResponse;
 
@@ -9,12 +10,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ozs.system.domain.vo.requestVo.SysUserPageRequestVo;
 import com.ozs.system.domain.vo.requestVo.SysUserRequestVo;
+import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.ObjectUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -88,6 +91,19 @@ public class SysUserController extends BaseController
         LambdaQueryWrapper<SysUser> lw = new LambdaQueryWrapper<>();
         lw.eq(SysUser::getDelFlag,0);
         IPage<SysUser> page = userService.page(new Page<>(sysUserPageRequestVo.getPageNum(), sysUserPageRequestVo.getPageSize()), lw);
+        if(!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())){
+            List<SysUser> dto1 = page.getRecords().stream().map(o -> {
+                Map<String, Object> stringObjectMap = deptService.selectDeptById(o.getDeptId());
+                Object sysDept = stringObjectMap.get("dto");
+                if (!ObjectUtils.isEmpty(sysDept)) {
+                    SysDept dto = (SysDept) sysDept;
+                    o.setDept(dto);
+                    o.setDeptName(dto.getDeptName());
+                }
+                return o;
+            }).collect(Collectors.toList());
+            page.setRecords(dto1);
+        }
         return success(page);
     }
 
@@ -173,8 +189,8 @@ public class SysUserController extends BaseController
 //        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
 //        return toAjax(userService.insertUser(user));
 //    }
-    
-    
+
+
 
     /**
      * 新增用户
@@ -251,7 +267,7 @@ public class SysUserController extends BaseController
         user.setUpdateBy(getUsername());
         return toAjax(userService.updateUsers(user));
     }
-    
+
     /**
      * 删除用户
      */

+ 10 - 0
purchase-common/src/main/java/com/ozs/common/constant/ModularConstans.java

@@ -25,4 +25,14 @@ public class ModularConstans {
     public static final String contractInfo = "合同信息管理";
 
     public static final String projectConstruction = "项目建设管理";
+
+    public static final String planYear = "年度计划";
+
+    public static final String planQuarter = "季度计划";
+
+    public static final String statisticalAnalysis = "统计分析";
+
+    public static final String systemHome = "系统首页";
+
+
 }

+ 13 - 0
purchase-common/src/main/java/com/ozs/common/core/domain/entity/SysUser.java

@@ -32,6 +32,11 @@ public class SysUser extends BaseEntity
     @Excel(name = "部门编号", type = Type.IMPORT)
     private Long deptId;
 
+    /** 部门ID */
+    @Excel(name = "部门名称")
+    @TableField(exist = false)
+    private String deptName;
+
     /** 用户账号 */
     @Excel(name = "登录名称")
     private String userName;
@@ -305,6 +310,14 @@ public class SysUser extends BaseEntity
         this.roleId = roleId;
     }
 
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 3 - 18
purchase-system/src/main/java/com/ozs/plan/service/PlanQuarterService.java

@@ -2,13 +2,14 @@ package com.ozs.plan.service;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.plan.doman.PlanQuarter;
 import com.ozs.plan.doman.vo.requestVo.PlanQuarterStandardVo;
-import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
 import com.ozs.plan.doman.vo.responseVo.PlanQuarterResponseVo;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
 /**
@@ -16,15 +17,7 @@ import java.util.List;
  *
  * @author bu
  */
-public interface PlanQuarterService {
-
-    /**
-     * 查询季度计划记录集合
-     *
-     * @param vo 季度计划请求对象
-     * @return 季度计划记录集合
-     */
-    public Page selectPlanQuarterList(PlanQuarterStandardVo vo);
+public interface PlanQuarterService extends IService<PlanQuarter> {
 
     /**
      * 查询季度计划记录集合--导出
@@ -34,14 +27,6 @@ public interface PlanQuarterService {
      */
     public List<PlanQuarterResponseVo> selectPlanQuarterListEXP(PlanQuarterStandardVo vo);
 
-    /**
-     * 查询季度计划记录集合(审核单位)
-     *
-     * @param vo 季度计划请求对象
-     * @return 季度计划记录集合
-     */
-    public Page selectPlanQuarterExamineList(PlanQuarterStandardVo vo);
-
     /**
      * 查询季度计划记录集合(审核单位--导出)
      *

+ 0 - 16
purchase-system/src/main/java/com/ozs/plan/service/PlanYearsService.java

@@ -11,7 +11,6 @@ import com.ozs.plan.doman.vo.responseVo.PlanQuarterResponseVo;
 import com.ozs.plan.doman.vo.responseVo.PlanYearsResponseVo;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * 系统访问日志情况信息 服务层
@@ -20,13 +19,6 @@ import java.util.Map;
  */
 public interface PlanYearsService extends IService<PlanYears> {
 
-    /**
-     * 查询年度计划记录集合
-     *
-     * @param vo 年度计划请求对象
-     * @return 年度计划记录集合
-     */
-    public Page selectPlanYearsList(PlanYearsStandardVo vo);
 
     /**
      * 查询年度计划记录集合--导出
@@ -36,14 +28,6 @@ public interface PlanYearsService extends IService<PlanYears> {
      */
     public List<PlanYearsResponseVo> selectPlanYearsListEXP(PlanYearsStandardVo vo);
 
-    /**
-     * 查询年度计划记录集合(审核单位)
-     *
-     * @param vo 年度计划请求对象
-     * @return 年度计划记录集合
-     */
-    public Page selectPlanYearsExamineList(PlanYearsStandardVo vo);
-
     /**
      * 查询年度计划记录集合(审核单位--导出)
      *

+ 8 - 32
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java

@@ -2,9 +2,12 @@ package com.ozs.plan.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.common.constant.Constants;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDept;
 import com.ozs.common.core.domain.entity.SysDictData;
+import com.ozs.common.core.domain.entity.SysRole;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.enums.DataIsDelete;
 import com.ozs.common.enums.PmProjectStatus;
@@ -35,10 +38,13 @@ import com.ozs.system.service.ISysDictTypeService;
 import com.ozs.system.service.SysFileService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.token.TokenService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import javax.validation.Validator;
 import java.math.BigDecimal;
 import java.text.ParseException;
@@ -49,13 +55,14 @@ import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author buzhanyi
  */
 @Service
 @Slf4j
-public class PlanQuarterServiceImpl implements PlanQuarterService {
+public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQuarter> implements PlanQuarterService {
 
     @Autowired
     PlanQuarterMapper planQuarterMapper;
@@ -76,22 +83,6 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
     @Autowired
     private PmDemandMapper pmDemandMapper;
 
-    @Override
-    public Page selectPlanQuarterList(PlanQuarterStandardVo vo) {
-        PlanQuarter quarters = new PlanQuarter();
-        List<PlanQuarter> planQuarter;
-        List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
-        try {
-            BeanUtils.copyProperties(vo, quarters);
-            planQuarter = planQuarterMapper.selectPlanQuarterList(quarters);
-            planQuarterList = changeTo(planQuarter);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        Page pages = PageUtils.getPages(vo.getPageNum().intValue(), vo.getPageSize().intValue(), planQuarterList);
-        return pages;
-    }
-
     @Override
     public List<PlanQuarterResponseVo> selectPlanQuarterListEXP(PlanQuarterStandardVo vo) {
         List<PlanQuarter> list = new ArrayList<>();
@@ -132,21 +123,6 @@ public class PlanQuarterServiceImpl implements PlanQuarterService {
         return planQuarterList;
     }
 
-    @Override
-    public Page selectPlanQuarterExamineList(PlanQuarterStandardVo vo) {
-        PlanQuarter quarters = new PlanQuarter();
-        List<PlanQuarter> planQuarter;
-        List<PlanQuarterResponseVo> planQuarterList = new ArrayList<>();
-        try {
-            BeanUtils.copyProperties(vo, quarters);
-            planQuarter = planQuarterMapper.selectPlanQuarterExamineList(quarters);
-            planQuarterList = changeTo(planQuarter);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return PageUtils.getPages(vo.getPageNum().intValue(), vo.getPageSize().intValue(), planQuarterList);
-    }
-
     @Override
     public List<PlanQuarterResponseVo> selectPlanQuarterExamineListEXP(PlanQuarterStandardVo vo) {
         List<PlanQuarter> list = new ArrayList<>();

+ 3 - 32
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ozs.base.domain.BaseAgency;
 import com.ozs.base.service.BaseAgencyService;
+import com.ozs.common.constant.Constants;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDept;
 import com.ozs.common.core.domain.entity.SysDictData;
@@ -46,6 +47,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import javax.validation.Validator;
 import java.math.BigDecimal;
 import java.text.ParseException;
@@ -118,22 +121,6 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     @Autowired
     private SysFileRefService sysFileRefService;
 
-    @Override
-    public Page selectPlanYearsList(PlanYearsStandardVo vo) {
-        PlanYears ofYears = new PlanYears();
-        List<PlanYears> planYears;
-        List<PlanYearsResponseVo> planYearsList = new ArrayList<>();
-        try {
-            BeanUtils.copyProperties(vo, ofYears);
-            planYears = planYearsMapper.selectPlanYearsList(ofYears);
-            planYearsList = changeTo(planYears);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        Page pages = PageUtils.getPages(vo.getPageNum().intValue(), vo.getPageSize().intValue(), planYearsList);
-        return pages;
-    }
-
     @Override
     public List<PlanYearsResponseVo> selectPlanYearsListEXP(PlanYearsStandardVo vo) {
         List<PlanYears> list = new ArrayList<>();
@@ -174,22 +161,6 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         return planYearsList;
     }
 
-    @Override
-    public Page selectPlanYearsExamineList(PlanYearsStandardVo vo) {
-        PlanYears ofYears = new PlanYears();
-        List<PlanYears> planYears;
-        List<PlanYearsResponseVo> planYearsList = new ArrayList<>();
-        try {
-            BeanUtils.copyProperties(vo, ofYears);
-            planYears = planYearsMapper.selectPlanYearsExamineList(ofYears);
-            planYearsList = changeTo(planYears);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        Page pages = PageUtils.getPages(vo.getPageNum().intValue(), vo.getPageSize().intValue(), planYearsList);
-        return pages;
-    }
-
     @Override
     public List<PlanYearsResponseVo> selectPlanYearsExamineListEXP(PlanYearsStandardVo vo) {
         List<PlanYears> list = new ArrayList<>();

+ 7 - 7
purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java

@@ -238,42 +238,42 @@ public interface IPmDemandService extends IService<PmDemand> {
      * @param
      * @return
      */
-    List<StatisticalChartsResVo> countByEvaluation();
+    List<StatisticalChartsResVo> countByEvaluation(PmDemandReqVo pmDemandReqVo);
 
     /**
      * 执行滞后采购项目情况
      *
      * @return
      */
-    AjaxResult countProjectExceed();
+    AjaxResult countProjectExceed(PmDemandReqVo pmDemandReqVo);
 
     /**
      * 统计不同时间维度的逾期项目
      *
      * @return
      */
-    AjaxResult exceedAnalysis(String qType);
+    AjaxResult exceedAnalysis(PmDemandReqVo pmDemandReqVo);
 
     /**
      * 滞后项目时长分析
      *
      * @return
      */
-    AjaxResult exceedMarketAnalysis();
+    AjaxResult exceedMarketAnalysis(PmDemandReqVo pmDemandReqVo);
 
     /**
      * 今年已完成数量
      *
      * @return
      */
-    AjaxResult countMajorProject();
+    AjaxResult countMajorProject(PmDemandReqVo pmDemandReqVo);
 
     /**
      * 任务数量趋势分析
      *
      * @return
      */
-    AjaxResult taskQuantityAnalysis(String qType);
+    AjaxResult taskQuantityAnalysis(PmDemandReqVo pmDemandReqVo);
 
     /**
      * 新完成采购任务数量
@@ -287,7 +287,7 @@ public interface IPmDemandService extends IService<PmDemand> {
      *
      * @return
      */
-    AjaxResult countEveryStatusNum();
+    AjaxResult countEveryStatusNum(PmDemandReqVo pmDemandReqVo);
 
     /**
      * 通过计划ID查询项目

+ 18 - 23
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -1468,7 +1468,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     }
 
     @Override
-    public List<StatisticalChartsResVo> countByEvaluation() {
+    public List<StatisticalChartsResVo> countByEvaluation(PmDemandReqVo pmDemandReqVo) {
         List<StatisticalChartsResVo> resVos = new ArrayList<>();
         //概算金额包括:100万以下采购任务、100至500万元采购任务、500至1000万元采购任务、1000至5000万元采购任务、5000至1亿元采购任务、1亿元及以上采购任务
         StatisticalChartsResVo resVo = pmDemandMapper.countByEvaluationLt(100);
@@ -1493,7 +1493,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     }
 
     @Override
-    public AjaxResult countProjectExceed() {
+    public AjaxResult countProjectExceed(PmDemandReqVo pmDemandReqVo) {
         HashMap<String, String> resMap = new HashMap<>();
         //执行滞后采购项目:本年度所有的逾期项目数
         //预算金额:本年度所有逾期项目累加的预算金额
@@ -1512,24 +1512,22 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
      * @return
      */
     @Override
-    public AjaxResult exceedAnalysis(String qType) {
+    public AjaxResult exceedAnalysis(PmDemandReqVo pmDemandReqVo) {
         HashMap<String, List<StatisticalChartsResVo>> resMap = new HashMap<>();
         List<StatisticalChartsResVo> byYear = pmDemandMapper.countProjectExceedYear();
-        if (qType.equals("1")) {
+        if (pmDemandReqVo.getTimeType().equals("1")) {
             resMap.put("年", byYear);
-        } else if (qType.equals("2")) {
+        } else if (pmDemandReqVo.getTimeType().equals("2")) {
             List<StatisticalChartsResVo> byQuarter = new LinkedList<>();
             for (StatisticalChartsResVo chartsResVo : byYear) {
                 for (int i = 1; i <= 4; i++) {
                     StatisticalChartsResVo quarter = pmDemandMapper.countProjectExceedQuarter(i, Integer.parseInt(chartsResVo.getColumnName()));
-                    if (Integer.parseInt(quarter.getNum()) > 0) {
-                        quarter.setColumnName(chartsResVo.getColumnName() + "年第" + i + "季度");
-                        byQuarter.add(quarter);
-                    }
+                    quarter.setColumnName(chartsResVo.getColumnName() + "年第" + i + "季度");
+                    byQuarter.add(quarter);
                 }
             }
             resMap.put("季度", byQuarter);
-        } else if (qType.equals("3")) {
+        } else if (pmDemandReqVo.getTimeType().equals("3")) {
             List<StatisticalChartsResVo> byMonth = pmDemandMapper.countProjectExceedMonth();
             resMap.put("月", byMonth);
         }
@@ -1537,25 +1535,23 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     }
 
     @Override
-    public AjaxResult taskQuantityAnalysis(String qType) {
+    public AjaxResult taskQuantityAnalysis(PmDemandReqVo pmDemandReqVo) {
         HashMap<String, List<StatisticalChartsResVo>> resMap = new HashMap<>();
         //任务数量趋势分析:按照月、季度、年统计“项目属性”字段中“重大规划”属性的项目
         List<StatisticalChartsResVo> byYear = pmDemandMapper.countProjectMajorByYear();
-        if (qType.equals("1")) {
+        if (pmDemandReqVo.getTimeType().equals("1")) {
             resMap.put("年", byYear);
-        } else if (qType.equals("2")) {
+        } else if (pmDemandReqVo.getTimeType().equals("2")) {
             List<StatisticalChartsResVo> byQuarter = new LinkedList<>();
             for (StatisticalChartsResVo chartsResVo : byYear) {
                 for (int i = 1; i <= 4; i++) {
                     StatisticalChartsResVo quarter = pmDemandMapper.countProjectMajorByQuarter(i, Integer.parseInt(chartsResVo.getColumnName()));
-                    if (Integer.parseInt(quarter.getNum()) > 0) {
-                        quarter.setColumnName(chartsResVo.getColumnName() + "年第" + i + "季度");
-                        byQuarter.add(quarter);
-                    }
+                    quarter.setColumnName(chartsResVo.getColumnName() + "年第" + i + "季度");
+                    byQuarter.add(quarter);
                 }
             }
             resMap.put("季度", byQuarter);
-        } else if (qType.equals("3")) {
+        } else if (pmDemandReqVo.getTimeType().equals("3")) {
             List<StatisticalChartsResVo> byMonth = pmDemandMapper.countProjectMajorByMonth();
             resMap.put("月", byMonth);
         }
@@ -1564,7 +1560,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
 
     @Override
     public AjaxResult newFinishPro() {
-        // 新完成采购任务数量:本年度状态为“合同待填制”、“项目建设中”、“项目建设完成”的项目
+        // 新完成采购任务数量:状态为“合同待填制”、“项目建设中”、“项目建设完成”的项目
         //        预算金额:“合同待填制”、“项目建设中”、“项目建设完成”的项目累加的预算金额
         List<StatisticalChartsResVo> everyStatusNum = pmDemandMapper.countEveryStatusNumTwo();
         if (!ObjectUtils.isEmpty(everyStatusNum) && everyStatusNum.size() > 0) {
@@ -1579,13 +1575,12 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                 }
             }
         }
-
         //合同金额:“合同待填制”、“项目建设中”、“项目建设完成”的项目累加的合同金额
         return AjaxResult.success(everyStatusNum);
     }
 
     @Override
-    public AjaxResult countEveryStatusNum() {
+    public AjaxResult countEveryStatusNum(PmDemandReqVo pmDemandReqVo) {
         //指项目进行到各个阶段的数量
         //阶段包括:待选取代理、待上传招标文件、待发布公告、待开标、待发布中标公告、中标公式中
         List<StatisticalChartsResVo> everyStatusNum = pmDemandMapper.countEveryStatusNum();
@@ -1611,7 +1606,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     }
 
     @Override
-    public AjaxResult exceedMarketAnalysis() {
+    public AjaxResult exceedMarketAnalysis(PmDemandReqVo pmDemandReqVo) {
         //所有滞后
         List<PmDemand> demandList = pmDemandMapper.countProjectExceedAll();
         //滞后时长包括:滞后1个月以内的采购任务、滞后1至3个月采购任务、滞后3至6个月采购任务、滞后6个月至1年采购任务、滞后1年以上采购任务
@@ -1654,7 +1649,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     }
 
     @Override
-    public AjaxResult countMajorProject() {
+    public AjaxResult countMajorProject(PmDemandReqVo pmDemandReqVo) {
         List<StatisticalChartsResVo> resVos = new ArrayList<>();
         //数量:指本年度状态为“项目建设完成”的项目属性为“重大规划”的项目数
         //预算金额:指本年度状态为“项目建设完成”的项目属性为“重大规划”的项目累加的预算金额

+ 1 - 0
purchase-system/src/main/java/com/ozs/system/service/ISysDeptService.java

@@ -123,4 +123,5 @@ public interface ISysDeptService
      * @return 结果
      */
     public int deleteDeptById(Long deptId);
+
 }

+ 1 - 0
purchase-system/src/main/java/com/ozs/system/service/impl/SysDeptServiceImpl.java

@@ -144,6 +144,7 @@ public class SysDeptServiceImpl implements ISysDeptService
         Map<String, Object> returnMap = new HashMap<>();
         returnMap.put("sysDept",sysDeptResponseVo);
         returnMap.put("sysProcurementStandardsList",sysProcurementStandardsList);
+        returnMap.put("dto",sysDept);
         return returnMap;
     }