瀏覽代碼

统计分析新需求

buzhanyi 1 年之前
父節點
當前提交
d83b0e5cc4
共有 1 個文件被更改,包括 21 次插入7 次删除
  1. 21 7
      purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

+ 21 - 7
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -51,6 +51,7 @@ import com.ozs.plan.service.PlanQuarterService;
 import com.ozs.plan.service.PlanYearsService;
 import com.ozs.pm.doman.PmAuditDeptRef;
 import com.ozs.pm.doman.PmBidFailure;
+import com.ozs.pm.doman.PmBidFailureHis;
 import com.ozs.pm.doman.PmBidOpening;
 import com.ozs.pm.doman.PmBidWinning;
 import com.ozs.pm.doman.PmBidWinningOpeningRef;
@@ -90,7 +91,9 @@ 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.PmAuditDeptRefService;
+import com.ozs.pm.service.PmBidFailureHisService;
 import com.ozs.pm.service.PmBidFailureService;
+import com.ozs.pm.service.PmBidOpeningHisService;
 import com.ozs.pm.service.PmBidOpeningService;
 import com.ozs.pm.service.PmBidWinningOpeningRefService;
 import com.ozs.pm.service.PmBidWinningService;
@@ -165,7 +168,8 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
     private SysFileService fileService;
     @Autowired
     private SysFileRefService sysFileRefService;
-
+    @Autowired
+    private PmBidFailureHisService pmBidFailureHisService;
     @Autowired
     private PmReleaseAnnouncementService pmReleaseAnnouncementService;
     @Autowired
@@ -4803,11 +4807,21 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         String pcl = getPercent((countXmWtj + countXmYtj), Math.toIntExact(planQuarter));
         //(6)流废标率,出现流废标情况的项目/审核下达采购机构实施的采购项目
         //项目状态存在过“流废标处置”的项目数/项目状态为“任务已下达”以后的状态的所有项目*100%
-        List<String> lfb = new ArrayList<>();
-        lfb.add(PmProjectStatus.DEMAND_WAIT_FILL.getCode());
-        lfb.add(PmProjectStatus.DEMAND_WAIT_COMMIT.getCode());
-        pmDemandReqVo.setProjectStatusList(xqWtj);
-
+        if (pmDemandReqVo.getPurchaseDeptId().equals(-1)) {
+            pmDemandReqVo.setDeptList(isQueryAll(pmDemandReqVo.getPurchaseDeptId()));
+        } else {
+            pmDemandReqVo.setDemandIdAll(isQueryZD(pmDemandReqVo.getPurchaseDeptId()));
+        }
+        //本年度的项目
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
+        LambdaQueryWrapper<PmDemand> dmLp = new LambdaQueryWrapper<>();
+        dmLp.in(PmDemand::getDemandId, pmDemandReqVo.getDemandIdAll());
+        dmLp.gt(PmDemand::getPlanDemandSubTime, sdf.format(new Date()) + "-01-01 00:00:00");
+        List<PmDemand> demandList = pmDemandMapper.selectList(dmLp);
+        List<Long> deIds = demandList.stream().map(PmDemand::getDemandId).collect(Collectors.toList());
+        //出现流废标情况的项目
+        List<PmBidFailureHis> failureHis = pmBidFailureHisService.listByIds(deIds);
+        String lfbl = getPercent(failureHis.size(), countAfRwxd);
 
         Map<String, String> result = new HashMap<>();
         result.put("执行率", zxl);
@@ -4815,7 +4829,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
         result.put("完成率", wcl);
         result.put("滞后率", zhhl);
         result.put("偏差率", pcl);
-        result.put("流废标率", pcl);
+        result.put("流废标率", lfbl);
         return result;
     }