Przeglądaj źródła

本级审核后,上级才可以看到该数据并进行审核

buzhanyi 1 rok temu
rodzic
commit
240371d912

+ 8 - 2
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmDemandController.java

@@ -3,11 +3,13 @@ package com.ozs.web.controller.pm;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ozs.common.annotation.Log;
 import com.ozs.common.constant.ModularConstans;
 import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.enums.BusinessType;
+import com.ozs.common.utils.PageUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.framework.web.service.TokenService;
 import com.ozs.pm.doman.PmDemand;
@@ -55,11 +57,15 @@ public class PmDemandController extends BaseController {
     @PreAuthorize("@ss.hasPermi('pm:demand:list')")
     @Log(title = ModularConstans.demand, businessType = BusinessType.QUERY)
     public AjaxResult list(@RequestBody PmDemandReqVo pmDemandReqVo) {
+        Page pages = new Page();
         pmDemandReqVo.setDeptId(getDeptId());
         pmDemandReqVo.setIsAdmin(SysUser.isAdmin(getUserId()));
         pmDemandReqVo.setUserId(getUserId());
-        IPage<PmDemandResVo> page = pmDemandService.selectPmDemandList(pmDemandReqVo, 0);
-        return success(page);
+        List<PmDemandResVo> list = pmDemandService.selectPmDemandListDe(pmDemandReqVo);
+        pages = PageUtils.getPages(pmDemandReqVo.getPageNum().intValue(), pmDemandReqVo.getPageSize().intValue(), list);
+        IPage<PmDemandResVo> results = new Page<>(pages.getCurrent(), pages.getSize(), list.size());
+        results.setRecords(pages.getRecords());
+        return success(results);
 
     }
 

+ 10 - 6
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java

@@ -60,6 +60,7 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -624,10 +625,11 @@ public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQ
             vo.setPurchaseDeptId(String.valueOf(loginUser.getDeptId()));
         }
         List<PlanQuarter> query = planQuarterMapper.query(vo);
+        List<PlanQuarter> queryTwo = new LinkedList<>();
         if (!ObjectUtils.isEmpty(query)) {
-            query.stream().map(o -> {
+            for (PlanQuarter quarter : query) {
                 LambdaQueryWrapper<PmAuditDeptRef> lw = new LambdaQueryWrapper();
-                lw.eq(PmAuditDeptRef::getRefId, o.getPlanPracticalId());
+                lw.eq(PmAuditDeptRef::getRefId, quarter.getPlanPracticalId());
                 lw.eq(PmAuditDeptRef::getRefType, "1");
                 List<PmAuditDeptRef> list = pmAuditDeptRefService.list(lw);
                 boolean fl = true;
@@ -659,11 +661,13 @@ public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQ
                 if (vo.getCreated().equals("1")) {
                     fl = false;
                 }
-                o.setFlag(fl);
-                return o;
-            }).collect(Collectors.toList());
+                quarter.setFlag(fl);
+                if (fl == true || quarter.getPurchaseDeptId().equals(vo.getPurchaseDeptId())) {
+                    queryTwo.add(quarter);
+                }
+            }
         }
-        return query;
+        return queryTwo;
     }
 
     /**

+ 9 - 8
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -58,6 +58,7 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -1146,11 +1147,12 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
             vo.setPurchaseDeptId(String.valueOf(loginUser.getDeptId()));
         }
         List<PlanYears> planYears = planYearsMapper.query(vo);
+        List<PlanYears> planYearsTwo = new LinkedList<>();
         if (!ObjectUtils.isEmpty(planYears)) {
-            planYears.stream().map(o -> {
+            for (PlanYears year : planYears) {
                 // 当前年度计划的所有关联审核数据
                 LambdaQueryWrapper<PmAuditDeptRef> lw = new LambdaQueryWrapper();
-                lw.eq(PmAuditDeptRef::getRefId, o.getPlanYearId());
+                lw.eq(PmAuditDeptRef::getRefId, year.getPlanYearId());
                 lw.eq(PmAuditDeptRef::getRefType, "0");
                 List<PmAuditDeptRef> list = pmAuditDeptRefService.list(lw);
 
@@ -1186,14 +1188,13 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                 if (vo.getCreated().equals("1")) {
                     fl = false;
                 }
-                if (fl == false && !o.getPurchaseDeptId().equals(vo.getPurchaseDeptId())) {
-                    planYears.remove(o);
+                year.setFlag(fl);
+                if (fl == true || year.getPurchaseDeptId().equals(vo.getPurchaseDeptId())) {
+                    planYearsTwo.add(year);
                 }
-                o.setFlag(fl);
-                return o;
-            }).collect(Collectors.toList());
+            }
         }
-        return planYears;
+        return planYearsTwo;
     }
 
     /**

+ 8 - 5
purchase-system/src/main/java/com/ozs/plan/service/impl/ProvisionalPlanServiceImpl.java

@@ -543,10 +543,11 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
             vo.setPurchaseDeptId(loginUser.getDeptId());
         }
         List<ProvisionalPlan> provisionalPlanList = provisionalPlanMapper.query(vo);
+        List<ProvisionalPlan> provisionalPlanListTwo = new LinkedList<>();
         if (!ObjectUtils.isEmpty(provisionalPlanList)) {
-            provisionalPlanList.stream().map(o -> {
+            for (ProvisionalPlan plan : provisionalPlanList) {
                 LambdaQueryWrapper<PmAuditDeptRef> lw = new LambdaQueryWrapper();
-                lw.eq(PmAuditDeptRef::getRefId, o.getPlanPracticalId());
+                lw.eq(PmAuditDeptRef::getRefId, plan.getPlanPracticalId());
                 lw.eq(PmAuditDeptRef::getRefType, "1");
                 List<PmAuditDeptRef> list = pmAuditDeptRefService.list(lw);
                 boolean fl = true;
@@ -579,9 +580,11 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
                 if (vo.getCreated().equals("1")) {
                     fl = false;
                 }
-                o.setFlag(fl);
-                return o;
-            }).collect(Collectors.toList());
+                vo.setFlag(fl);
+                if (fl == true || plan.getPurchaseDeptId().equals(vo.getPurchaseDeptId())) {
+                    provisionalPlanListTwo.add(plan);
+                }
+            }
         }
         return provisionalPlanList;
     }

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

@@ -38,6 +38,8 @@ public interface IPmDemandService extends IService<PmDemand> {
      */
     IPage<PmDemandResVo> selectPmDemandList(PmDemandReqVo pmDemandReqVo, int reqType);
 
+    List<PmDemandResVo> selectPmDemandListDe(PmDemandReqVo pmDemandReqVo);
+
 
     /**
      * 需求建档

+ 125 - 0
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -763,6 +763,131 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         return results;
     }
 
+    /**
+     * 查询采购需求列表
+     *
+     * @param pmDemandReqVo
+     * @return 采购需求
+     */
+    @Override
+    public List<PmDemandResVo> selectPmDemandListDe(PmDemandReqVo pmDemandReqVo) {
+        LambdaQueryWrapper<PmDemand> lw = new LambdaQueryWrapper<>();
+        List<PmAuditDeptRef> list = new ArrayList<>();
+        LambdaQueryWrapper<PmAuditDeptRef> l = new LambdaQueryWrapper<>();
+        l.eq(PmAuditDeptRef::getDeptId, SecurityUtils.getDeptId());
+        l.eq(PmAuditDeptRef::getRefType, "2");
+        list = pmAuditDeptRefService.list(l);
+        if (!pmDemandReqVo.getIsAdmin()) {
+            if (!ObjectUtils.isEmpty(list)) {
+
+                lw.in(PmDemand::getDemandId, list.stream().map(PmAuditDeptRef::getRefId).collect(Collectors.toSet()));
+            }
+        }
+
+        if (!StringUtils.isBlank(pmDemandReqVo.getProjectName())) {
+            lw.like(PmDemand::getProjectName, "%" + pmDemandReqVo.getProjectName() + "%");
+        }
+        if (!StringUtils.isBlank(pmDemandReqVo.getPurchaseServices())) {
+            lw.eq(PmDemand::getPurchaseServices, pmDemandReqVo.getPurchaseServices());
+        }
+        if (!ObjectUtils.isEmpty(pmDemandReqVo.getProjectStatus())) {
+            lw.eq(PmDemand::getProjectStatus, pmDemandReqVo.getProjectStatus());
+        }
+        if (!ObjectUtils.isEmpty(pmDemandReqVo.getWarnStatus())) {
+            lw.eq(PmDemand::getWarnStatus, pmDemandReqVo.getWarnStatus());
+        }
+        if (!ObjectUtils.isEmpty(pmDemandReqVo.getIsExcess())) {
+            lw.eq(PmDemand::getIsExcess, pmDemandReqVo.getIsExcess());
+        }
+        if (!StringUtils.isBlank(pmDemandReqVo.getBeginDate())) {
+            lw.apply("(plan_demand_sub_time >= '" + pmDemandReqVo.getBeginDate() + "' or plan_purchase_finish_time >= '" + pmDemandReqVo.getBeginDate() + "' or plan_deliver_time >=  '" + pmDemandReqVo.getBeginDate() + "' )");
+        }
+        if (!StringUtils.isBlank(pmDemandReqVo.getEndDate())) {
+            lw.apply("(plan_demand_sub_time <= '" + pmDemandReqVo.getEndDate() + "' or plan_purchase_finish_time <= '" + pmDemandReqVo.getEndDate() + "' or plan_deliver_time <=  '" + pmDemandReqVo.getEndDate() + "' )");
+        }
+        lw.apply("(project_status >=6 )");
+
+        lw.last(" order by project_status, plan_demand_sub_time");
+        List<PmDemand> demandList = pmDemandMapper.selectList(lw);
+        List<PmDemandResVo> pmDemandResVosTwo = new LinkedList<>();
+        if (!ObjectUtils.isEmpty(demandList)) {
+            List<PmDemandResVo> pmDemandResVos = demandChangeTo(demandList);
+            for (PmDemandResVo vo : pmDemandResVos) {
+                // 根据项目id 和 部门id 和 参数类型 获取 部门级别
+                List<PmAuditDeptRef> collect = list.stream()
+                        .filter(o -> o.getRefId().equals(vo.getDemandId()))
+                        .collect(Collectors.toList());
+
+                if (!ObjectUtils.isEmpty(collect)) {
+                    String deptLevel = collect.get(0).getDeptLevel();
+
+                    // 根据项目id  和 参数类型 获取 所有审核数据
+                    LambdaQueryWrapper<PmAuditDeptRef> ll = new LambdaQueryWrapper<>();
+                    ll.eq(PmAuditDeptRef::getRefId, vo.getDemandId());
+                    ll.eq(PmAuditDeptRef::getRefType, "2");
+                    List<PmAuditDeptRef> listl = pmAuditDeptRefService.list(l);
+
+                    // 判断当前用户是否有审核权限
+                    boolean flay = true;
+                    List<PmAuditDeptRef> collect1 = listl.stream()
+                            .filter(pmAuditDeptRef -> pmAuditDeptRef.getRefId().equals(vo.getDemandId()))
+                            .collect(Collectors.toList());
+                    for (PmAuditDeptRef pmAuditDeptRef : collect1) {
+                        if (pmAuditDeptRef.getDeptLevel().compareTo(deptLevel) > 0
+                                && pmAuditDeptRef.getStatus().equals(Integer.parseInt("0"))) {
+                            flay = false;
+                        } else if (pmAuditDeptRef.getDeptLevel().compareTo(deptLevel) == 0
+                                && pmAuditDeptRef.getStatus().equals(Integer.parseInt("1"))) {
+                            flay = false;
+
+                        }
+                    }
+                    vo.setFlay(flay);
+                    if (flay == true || vo.getPurchaseDeptId().equals(SecurityUtils.getDeptId())) {
+                        LambdaQueryWrapper<PmExpertFeedback> pmExpertFeedbackLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                        pmExpertFeedbackLambdaQueryWrapper.eq(PmExpertFeedback::getDemandId, vo.getDemandId());
+                        PmExpertFeedback pmExpertFeedback = this.pmExpertFeedbackService.getOne(pmExpertFeedbackLambdaQueryWrapper);
+                        if (pmExpertFeedback != null) {
+                            vo.setProjectNumber(pmExpertFeedback.getProjectNumber());
+                            vo.setDocumentReviewTime(pmExpertFeedback.getDocumentReviewTime());
+                        }
+
+                        LambdaQueryWrapper<PmProcurementDocumentsReview> pmProcurementDocumentsReviewLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                        pmProcurementDocumentsReviewLambdaQueryWrapper.eq(PmProcurementDocumentsReview::getDemandId, vo.getDemandId());
+                        PmProcurementDocumentsReview pmProcurementDocumentsReview = this.pmProcurementDocumentsReviewService.getOne(pmProcurementDocumentsReviewLambdaQueryWrapper);
+                        if (pmProcurementDocumentsReview != null) {
+                            vo.setProcurementOfficeApprovalTime(pmProcurementDocumentsReview.getProcurementOfficeApprovalTime());
+                        }
+
+                        if (Integer.parseInt(vo.getProjectStatus()) > 12 && Integer.parseInt(vo.getProjectStatus()) != 18) {
+                            LambdaQueryWrapper<PmReleaseAnnouncement> pmReleaseAnnouncementLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                            pmReleaseAnnouncementLambdaQueryWrapper.eq(PmReleaseAnnouncement::getDemandId, vo.getDemandId())
+                                    .orderByDesc(PmReleaseAnnouncement::getReleaseTime)
+                                    .last(" limit 1");
+                            PmReleaseAnnouncement pmReleaseAnnouncement = this.pmReleaseAnnouncementService.getOne(pmReleaseAnnouncementLambdaQueryWrapper);
+                            if (pmReleaseAnnouncement != null) {
+                                vo.setAnnouncementReleaseTime(pmReleaseAnnouncement.getReleaseTime());
+                                vo.setTenderOpenTime(pmReleaseAnnouncement.getTenderOpenTime());
+                            }
+                        }
+
+                        if (Integer.parseInt(vo.getProjectStatus()) > 15 && Integer.parseInt(vo.getProjectStatus()) != 16 && Integer.parseInt(vo.getProjectStatus()) != 18) {
+                            LambdaQueryWrapper<PmBidWinning> pmBidWinningLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                            pmBidWinningLambdaQueryWrapper.eq(PmBidWinning::getDemandId, vo.getDemandId()).eq(PmBidWinning::getStatus, BidWinningStatus.NORMAL.getCode())
+                                    .orderByDesc(PmBidWinning::getBidAnnouncementTime)
+                                    .last(" limit 1");
+                            PmBidWinning pmBidWinning = this.pmBidWinningService.getOne(pmBidWinningLambdaQueryWrapper);
+                            if (pmBidWinning != null) {
+                                vo.setBidAnnouncementTime(pmBidWinning.getBidAnnouncementTime());
+                            }
+                        }
+                        pmDemandResVosTwo.add(vo);
+                    }
+                }
+            }
+        }
+        return pmDemandResVosTwo;
+    }
 
     /**
      * 需求建档