buzhanyi 2 lat temu
rodzic
commit
aa94ee7c7a

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

@@ -65,8 +65,8 @@ public class AnalysisController extends BaseController {
         if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
             return error("登录账号的单位 不能为空!");
         }
-        List<StatisticalChartsResVo> resVos = pmDemandService.countByProjectAttr(pmDemandReqVo);
-        return AjaxResult.success(resVos);
+
+        return AjaxResult.success(pmDemandService.countByProjectAttr(pmDemandReqVo));
     }
 
     @ApiOperation(value = "需采转化情况统计")

+ 0 - 14
purchase-admin/src/main/java/com/ozs/web/controller/statisticalAnalysis/StatisticalAnalysisController.java

@@ -39,20 +39,6 @@ public class StatisticalAnalysisController extends BaseController {
     @Resource
     private IPmDemandService pmDemandService;
 
-
-    @ApiOperation(value = "项目属性情况统计")
-    @PostMapping("/countByProjectAttr")
-    //@PreAuthorize("@ss.hasPermi('statistical:countByProjectAttr')")
-    @Log(title = ModularConstans.statisticalAnalysis, businessType = BusinessType.QUERY)
-    public AjaxResult countByProjectAttr(@RequestBody PmDemandReqVo pmDemandReqVo) {
-        //按照项目属性统计所有的项目
-        if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
-            return error("登录账号的单位 不能为空!");
-        }
-        List<StatisticalChartsResVo> resVos = pmDemandService.countByProjectAttr(pmDemandReqVo);
-        return AjaxResult.success(resVos);
-    }
-
     @ApiOperation(value = "项目类型情况统计")
     @PostMapping("/countByProjectType")
     //@PreAuthorize("@ss.hasPermi('statistical:countByProjectType')")

+ 4 - 0
purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmDemandReqVo.java

@@ -148,4 +148,8 @@ public class PmDemandReqVo extends PageVo {
      */
     private List<String> serviceList;
 
+    /**
+     * 项目属性
+     */
+    private String projectAttr;
 }

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

@@ -74,7 +74,7 @@ public interface PmDemandMapper extends BaseMapper<PmDemand> {
      *
      * @return
      */
-    List<StatisticalChartsResVo> countByProjectAttr(@Param("vo") PmDemandReqVo pmDemandReqVo);
+    StatisticalChartsResVo countByProjectAttr(@Param("vo") PmDemandReqVo pmDemandReqVo);
 
     /**
      * 按照采购方式统计所有的项目

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

@@ -20,7 +20,6 @@ import com.ozs.base.service.BaseNoticeTypeService;
 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.SysDictType;
 import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.enums.BidWinningStatus;
 import com.ozs.common.enums.ExpertType;
@@ -83,7 +82,6 @@ import com.ozs.pm.doman.vo.responseVo.PmReleaseAnnouncementResVo;
 import com.ozs.pm.doman.vo.responseVo.StatisticalChartsResVo;
 import com.ozs.pm.mapper.PmDemandMapper;
 import com.ozs.pm.service.IPmDemandService;
-import com.ozs.pm.service.IPmFlowChartService;
 import com.ozs.pm.service.PmAuditDeptRefService;
 import com.ozs.pm.service.PmBidFailureService;
 import com.ozs.pm.service.PmBidOpeningService;
@@ -103,7 +101,6 @@ import com.ozs.system.domain.SysFileRef;
 import com.ozs.system.domain.vo.SysRegionVO;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import com.ozs.system.mapper.SysDeptMapper;
-import com.ozs.system.mapper.SysDictDataMapper;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDictDataService;
 import com.ozs.system.service.ISysDictTypeService;
@@ -1915,25 +1912,29 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     public List<StatisticalChartsResVo> countByProjectAttr(PmDemandReqVo pmDemandReqVo) {
         //是-1就是查询自己及子孙级以下,否则只查询指定部门
         pmDemandReqVo.setDeptList(isQueryAll(pmDemandReqVo.getPurchaseDeptId()));
-        List<StatisticalChartsResVo> resVos = pmDemandMapper.countByProjectAttr(pmDemandReqVo);
-        for (StatisticalChartsResVo chartsResVo : resVos) {
-            for (ProjectAttribute value : ProjectAttribute.values()) {
-                //项目属性为value拼接
-                if (chartsResVo.getColumnName().length() > 1) {
-                    String[] split = chartsResVo.getColumnName().split(",");
-                    for (String s : split) {
-                        if (s.equals(value.getCode())) {
-                            chartsResVo.setColumnName(value.getInfo());
-                            chartsResVo.setNum(chartsResVo.getNum() + 1);
-                        }
-                    }
-                } else {
-                    if (value.getCode().equals(chartsResVo.getColumnName())) {
-                        chartsResVo.setColumnName(value.getInfo());
-                    }
-                }
-            }
-        }
+        List<StatisticalChartsResVo> resVos = new ArrayList<>();
+        //直接获取每个属性的数量
+        //重点采购项目
+        pmDemandReqVo.setProjectAttr(ProjectAttribute.emergency.getCode());
+        StatisticalChartsResVo vo1 = pmDemandMapper.countByProjectAttr(pmDemandReqVo);
+        vo1.setColumnName("重点采购项目");
+        resVos.add(vo1);
+        //重大规划任务项目
+        pmDemandReqVo.setProjectAttr(ProjectAttribute.majorPlan.getCode());
+        StatisticalChartsResVo vo2 = pmDemandMapper.countByProjectAttr(pmDemandReqVo);
+        vo2.setColumnName("重大规划任务项目");
+        resVos.add(vo2);
+        //规划任务项目
+        pmDemandReqVo.setProjectAttr(ProjectAttribute.plan.getCode());
+        StatisticalChartsResVo vo3 = pmDemandMapper.countByProjectAttr(pmDemandReqVo);
+        vo3.setColumnName("规划任务项目");
+        resVos.add(vo3);
+        //一般采购项目
+        pmDemandReqVo.setProjectAttr(ProjectAttribute.commonly.getCode());
+        StatisticalChartsResVo vo4 = pmDemandMapper.countByProjectAttr(pmDemandReqVo);
+        vo4.setColumnName("一般采购项目");
+        resVos.add(vo4);
+
         return resVos;
     }
 
@@ -2255,7 +2256,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         pmDemandReqVo.setProjectStatusList(yearLastZ);
         StatisticalChartsResVo resVo7 = pmDemandMapper.majorProjectByStatusLastYear(pmDemandReqVo);
         resVo7.setColumnName("上年度结转和本年度新提报");
-        resVo7.setColumnNamePlus("采购任务累计数量");
+        resVo7.setColumnNamePlus("重大规划采购任务累计数量");
         resVo7.setNum(resVo7.getNum() + resVo3.getNum());
         resVo7.setEvaluationTotal(resVo7.getEvaluationTotal().add(resVo3.getEvaluationTotal()));
         resVos.add(resVo7);

+ 4 - 2
purchase-system/src/main/resources/mapper/pm/PmDemandMapper.xml

@@ -93,15 +93,17 @@
             resultType="com.ozs.pm.doman.vo.responseVo.StatisticalChartsResVo">
         SELECT project_attr columnName, ifnull(COUNT(demand_id), 0) num, ifnull(sum(evaluation), 0) evaluationTotal
         FROM `pm_demand`
+        WHERE
         <if test="vo.deptList != null and vo.deptList.size != 0 ">
-            WHERE purchase_dept_id
+            purchase_dept_id
             in
             <foreach collection="vo.deptList" item="item" index="index"
                      separator="," open="(" close=")">
                 #{item}
             </foreach>
+            AND
         </if>
-        GROUP BY project_attr
+        find_in_set(#{vo.projectAttr},project_attr)
     </select>
 
     <select id="countByPurchaseMode" parameterType="com.ozs.pm.doman.vo.requestVo.PmDemandReqVo"