Browse Source

Merge branch 'master' into prod

buzhanyi 1 year ago
parent
commit
7b4e739f67

+ 13 - 0
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java

@@ -632,7 +632,10 @@ public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQ
                 lw.eq(PmAuditDeptRef::getRefId, quarter.getPlanPracticalId());
                 lw.eq(PmAuditDeptRef::getRefType, "1");
                 List<PmAuditDeptRef> list = pmAuditDeptRefService.list(lw);
+                //是否显示审核按钮
                 boolean fl = true;
+                //是否为本单位已审核过的数据
+                boolean fg = false;
                 if (!ObjectUtils.isEmpty(list) && list.size() > 0) {
                     List<PmAuditDeptRef> collect = list.stream()
                             .filter(f -> f.getDeptId().equals(Long.valueOf(vo.getPurchaseDeptId())))
@@ -642,11 +645,18 @@ public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQ
                     } else {
                         String deptLevel = collect.get(0).getDeptLevel();
                         fl = collect.get(0).getStatus().equals(Integer.parseInt("1")) ? false : true;
+                        //该计划的审核信息
                         for (PmAuditDeptRef pmAuditDeptRef : list) {
+                            //自己下级单位未进行审核时。不显示审核按钮
                             if (pmAuditDeptRef.getDeptLevel().compareTo(deptLevel) == -1
                                     && pmAuditDeptRef.getStatus().equals(Integer.parseInt("0"))) {
                                 fl = false;
                             }
+                            //本单位已审核
+                            if (pmAuditDeptRef.getDeptLevel().compareTo(deptLevel) == 0
+                                    && pmAuditDeptRef.getStatus().equals(Integer.parseInt("1"))) {
+                                fg = true;
+                            }
                         }
                     }
 
@@ -664,7 +674,10 @@ public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQ
                 quarter.setFlag(fl);
                 if (fl == true || quarter.getPurchaseDeptId().equals(vo.getPurchaseDeptId())) {
                     queryTwo.add(quarter);
+                } else if (fg == true) {
+                    queryTwo.add(quarter);
                 }
+
             }
         }
         return queryTwo;

+ 16 - 2
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -1155,8 +1155,10 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                 lw.eq(PmAuditDeptRef::getRefId, year.getPlanYearId());
                 lw.eq(PmAuditDeptRef::getRefType, "0");
                 List<PmAuditDeptRef> list = pmAuditDeptRefService.list(lw);
-
+                //是否显示审核按钮
                 boolean fl = true;
+                //是否为本单位已审核过的数据
+                boolean fg = false;
                 if (!ObjectUtils.isEmpty(list) && list.size() > 0) {
                     // 当地 年度计划 当前部门 的 审核数据
                     List<PmAuditDeptRef> collect = list.stream()
@@ -1166,14 +1168,22 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                         fl = false;
                     } else {
                         String deptLevel = collect.get(0).getDeptLevel();
-
+                        //审核过的不显示按钮,但是要保留记录
                         fl = collect.get(0).getStatus().equals(Integer.parseInt("1")) ? false : true;
+                        fg = collect.get(0).getStatus().equals(Integer.parseInt("1")) ? true : false;
 
+                        //该计划的审核信息
                         for (PmAuditDeptRef pmAuditDeptRef : list) {
+                            //自己下级单位未进行审核时。不显示审核按钮
                             if (pmAuditDeptRef.getDeptLevel().compareTo(deptLevel) == -1
                                     && pmAuditDeptRef.getStatus().equals(Integer.parseInt("0"))) {
                                 fl = false;
                             }
+                            //本单位已审核
+                            if (pmAuditDeptRef.getDeptLevel().compareTo(deptLevel) == 0
+                                    && pmAuditDeptRef.getStatus().equals(Integer.parseInt("1"))) {
+                                fg = true;
+                            }
                         }
                     }
 
@@ -1189,8 +1199,12 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                     fl = false;
                 }
                 year.setFlag(fl);
+                //待审核
                 if (fl == true || year.getPurchaseDeptId().equals(vo.getPurchaseDeptId())) {
                     planYearsTwo.add(year);
+                    //已审核
+                } else if (fg == true) {
+                    planYearsTwo.add(year);
                 }
             }
         }

+ 14 - 0
purchase-system/src/main/java/com/ozs/plan/service/impl/ProvisionalPlanServiceImpl.java

@@ -550,7 +550,10 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
                 lw.eq(PmAuditDeptRef::getRefId, plan.getPlanPracticalId());
                 lw.eq(PmAuditDeptRef::getRefType, "1");
                 List<PmAuditDeptRef> list = pmAuditDeptRefService.list(lw);
+                //是否显示审核按钮
                 boolean fl = true;
+                //是否为本单位已审核过的数据
+                boolean fg = false;
                 if (!ObjectUtils.isEmpty(list) && list.size() > 0) {
                     List<PmAuditDeptRef> collect = list.stream()
                             .filter(f -> f.getDeptId().equals(Long.valueOf(vo.getPurchaseDeptId())))
@@ -561,11 +564,18 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
                         String deptLevel = collect.get(0).getDeptLevel();
 
                         fl = collect.get(0).getStatus().equals(Integer.parseInt("1")) ? false : true;
+                        //该计划的审核信息
                         for (PmAuditDeptRef pmAuditDeptRef : list) {
+                            //自己下级单位未进行审核时。不显示审核按钮
                             if (pmAuditDeptRef.getDeptLevel().compareTo(deptLevel) == -1
                                     && pmAuditDeptRef.getStatus().equals(Integer.parseInt("0"))) {
                                 fl = false;
                             }
+                            //本单位已审核
+                            if (pmAuditDeptRef.getDeptLevel().compareTo(deptLevel) == 0
+                                    && pmAuditDeptRef.getStatus().equals(Integer.parseInt("1"))) {
+                                fg = true;
+                            }
                         }
                     }
 
@@ -581,8 +591,12 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
                     fl = false;
                 }
                 vo.setFlag(fl);
+                //待审核
                 if (fl == true || plan.getPurchaseDeptId().equals(vo.getPurchaseDeptId())) {
                     provisionalPlanListTwo.add(plan);
+                    //已审核
+                } else if (fg == true) {
+                    provisionalPlanListTwo.add(plan);
                 }
             }
         }

+ 1 - 1
purchase-system/src/main/java/com/ozs/pm/mapper/PmDemandMapper.java

@@ -549,7 +549,7 @@ public interface PmDemandMapper extends BaseMapper<PmDemand> {
     StatisticalChartsResVo selectTBThisYear(@Param("vo") PmDemandReqVo pmDemandReqVo);
 
     /**
-     * 本年度提报
+     * 今年以来累计完成采购
      *
      * @param pmDemandReqVo
      * @return

+ 11 - 13
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -596,11 +596,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         l.eq(PmAuditDeptRef::getRefType, "2");
         list = pmAuditDeptRefService.list(l);
         if (!pmDemandReqVo.getIsAdmin()) {
-            if (1 == reqType) {
-                if (!ObjectUtils.isEmpty(list)) {
-                    lw.in(PmDemand::getDemandId, list.stream().map(PmAuditDeptRef::getRefId).collect(Collectors.toSet()));
-                }
-            } else if (2 == reqType) {
+            if (2 == reqType) {
                 lw.in(PmDemand::getDemandId, list.stream().map(PmAuditDeptRef::getRefId).collect(Collectors.toSet()));
                 lw.eq(PmDemand::getPurchaseDeptId, SecurityUtils.getDeptId());
             } else if (3 == reqType) {
@@ -664,9 +660,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             lw.apply("(plan_demand_sub_time <= '" + pmDemandReqVo.getEndDate() + "' or plan_purchase_finish_time <= '" + pmDemandReqVo.getEndDate() + "' or plan_deliver_time <=  '" + pmDemandReqVo.getEndDate() + "' )");
         }
 
-        if (reqType == 1) { //需求审核单位列表
-            lw.apply("(project_status >=6 )");
-        } else if (reqType == 2) { //任务下达列表
+        if (reqType == 2) { //任务下达列表
             lw.apply("(project_status >=8 )");
         } else if (reqType == 3) { //采购执行列表
             lw.apply("(project_status >=9 )");
@@ -684,7 +678,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
             List<PmDemandResVo> pmDemandResVos = demandChangeTo(pageRes.getRecords());
 
             for (PmDemandResVo vo : pmDemandResVos) {
-                if (1 == reqType) {
+                if (2 == reqType) {
                     // 根据项目id 和 部门id 和 参数类型 获取 部门级别
                     List<PmAuditDeptRef> collect = list.stream()
                             .filter(o -> o.getRefId().equals(vo.getDemandId()))
@@ -806,7 +800,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         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 >=8 )");
+        lw.apply("(project_status >=6 )");
 
         lw.last(" order by project_status, plan_demand_sub_time");
         List<PmDemand> demandList = pmDemandMapper.selectList(lw);
@@ -830,21 +824,25 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
 
                     // 判断当前用户是否有审核权限
                     boolean flay = true;
+                    //是否为本单位已审核过的数据
+                    boolean fg = false;
                     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;
-
+                            fg = true;
                         }
                     }
                     vo.setFlay(flay);
-                    if (flay == true || vo.getPurchaseDeptId().equals(SecurityUtils.getDeptId())) {
+                    if (flay == true || vo.getPurchaseDeptId().equals(SecurityUtils.getDeptId()) || fg == true) {
                         LambdaQueryWrapper<PmExpertFeedback> pmExpertFeedbackLambdaQueryWrapper = new LambdaQueryWrapper<>();
                         pmExpertFeedbackLambdaQueryWrapper.eq(PmExpertFeedback::getDemandId, vo.getDemandId());
                         PmExpertFeedback pmExpertFeedback = this.pmExpertFeedbackService.getOne(pmExpertFeedbackLambdaQueryWrapper);
@@ -2857,7 +2855,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         } else {
             pmDemandReqVo.setDemandIdAll(isQueryZD(pmDemandReqVo.getPurchaseDeptId()));
         }
-        //累计完成采购任务数量    预算金额(万元)        合同金额(万元)
+        //今年以来累计完成采购任务数量    预算金额(万元)        合同金额(万元)
         StatisticalChartsResVo tThisYear = pmDemandMapper.selectFInishAll(pmDemandReqVo);
         tThisYear.setColumnName("累计完成采购任务数量");
         resVos.add(tThisYear);

+ 52 - 21
purchase-system/src/main/resources/mapper/pm/PmDemandMapper.xml

@@ -585,22 +585,26 @@
 
     <select id="selectPurchaseTaskFinishYear" parameterType="com.ozs.pm.doman.vo.requestVo.PmDemandReqVo"
             resultType="java.util.Map">
-        select count(a.demand_id) countNum,
-        ifnull(sum(a.evaluation), 0) evaluation,
-        year(a.up_acceptance_time) yy,
-        ifnull(sum(b.contract_amount), 0) contractAmount
-        from (
-        select evaluation, up_acceptance_time, demand_id
-        from pm_demand
+        select count(de.num) countNum,
+        de.evaluationTotal evaluation,
+        year(c.up_acceptance_time) yy,
+        ifnull(sum(c.contract_amount), 0) contractAmount
+        FROM (SELECT ifnull(sum(c.contract_amount), 0) contract_amount,d.up_acceptance_time
+        FROM pm_demand d
+        left join pm_contract_info c
+        on d.demand_id = c.demand_id
+        <include refid="dDeptListOrDemandIdAll"/>
+        d.project_status in (19,20,21)
+        AND YEAR(d.up_acceptance_time) = YEAR(NOW())
+        group by year(d.up_acceptance_time)) c
+        LEFT JOIN
+        (SELECT ifnull(COUNT(demand_id), 0) num ,ifnull(sum(evaluation), 0) evaluationTotal,up_acceptance_time FROM
+        pm_demand
         <include refid="deptListOrDemandIdAll"/>
-        project_status in (15, 16, 17)
-        and up_acceptance_time!=null
-        ) a
-        left join (
-        select contract_amount, demand_id
-        from pm_contract_info
-        ) b on a.demand_id = b.demand_id
-        group by year(a.up_acceptance_time)
+        project_status in (19,20,21) AND YEAR(up_acceptance_time) = YEAR(NOW())
+        group by year(up_acceptance_time)) de
+        ON c.up_acceptance_time=de.up_acceptance_time
+
     </select>
 
     <select id="selectPurchaseTaskFinishQuarter" parameterType="com.ozs.pm.doman.vo.requestVo.PmDemandReqVo"
@@ -612,7 +616,7 @@
         select evaluation, up_acceptance_time, demand_id
         from pm_demand
         <include refid="deptListOrDemandIdAll"/>
-        project_status in (15, 16, 17)
+        project_status in (19,20,21)
         and up_acceptance_time!=null
         and year(up_acceptance_time) = year(NOW())
         ) a
@@ -632,7 +636,7 @@
         select evaluation, up_acceptance_time, demand_id
         from pm_demand
         <include refid="deptListOrDemandIdAll"/>
-        project_status in (15, 16, 17)
+        project_status in (19,20,21)
         and up_acceptance_time!=null
         and year(up_acceptance_time) = year(NOW())
         ) a
@@ -826,12 +830,16 @@
             parameterType="com.ozs.pm.doman.vo.requestVo.PmDemandReqVo">
         SELECT YEAR(NOW()) columnName, de.num,de.evaluationTotal,ifnull(sum(c.contract_amount), 0)
         evaluationContractTotal
-        FROM pm_demand d, pm_contract_info c,
+        FROM (SELECT c.contract_amount FROM pm_demand d
+        left join pm_contract_info c
+        on d.demand_id = c.demand_id
+        <include refid="dDeptListOrDemandIdAll"/>
+        d.project_status > 18
+        AND YEAR(d.up_acceptance_time) = YEAR(NOW())) c
+        ,
         (SELECT ifnull(COUNT(demand_id), 0) num ,ifnull(sum(evaluation), 0) evaluationTotal FROM pm_demand
         <include refid="deptListOrDemandIdAll"/>
-        project_status &gt; 17 ) de
-        <include refid="dDeptListOrDemandIdAll"/>
-        d.demand_id = c.demand_id AND d.project_status &gt; 17
+        project_status > 18 AND YEAR(up_acceptance_time) = YEAR(NOW())) de
     </select>
 
     <select id="selectCCThisYear" resultType="com.ozs.pm.doman.vo.responseVo.StatisticalChartsResVo"
@@ -1017,5 +1025,28 @@
         </if>
     </sql>
 
+    <sql id="dDeptListOrDemandIdAllNoAnd">
+        WHERE
+        <if test="vo.deptList != null and vo.deptList.size != 0 ">
+            d.purchase_dept_id
+            in
+            <foreach collection="vo.deptList" item="item" index="index"
+                     separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="(vo.deptList != null and vo.deptList.size != 0) and (vo.demandIdAll != null and vo.demandIdAll.size != 0)">
+            AND
+        </if>
+        <if test="vo.demandIdAll != null and vo.demandIdAll.size != 0 ">
+            d.demand_id
+            in
+            <foreach collection="vo.demandIdAll" item="item" index="index"
+                     separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+    </sql>
+
 
 </mapper>