|
@@ -20,6 +20,7 @@ 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;
|
|
@@ -102,6 +103,7 @@ 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;
|
|
@@ -233,7 +235,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
|
|
|
//project_type,evaluation 从原来计划里取
|
|
|
ProvisionalPlan provisionalPlan = provisionalPlanMapper.seletById(pmDemand.getPlanId());
|
|
|
- if(provisionalPlan !=null) {
|
|
|
+ if (provisionalPlan != null) {
|
|
|
vo.setProjectType(provisionalPlan.getProjectType());
|
|
|
vo.setEvaluation(provisionalPlan.getEvaluation().doubleValue());
|
|
|
}
|
|
@@ -2246,6 +2248,93 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
return AjaxResult.success(resVos);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public AjaxResult countMajorProjectCGB(PmDemandReqVo pmDemandReqVo) {
|
|
|
+ //是-1就是查询自己及子孙级以下,否则只查询指定部门
|
|
|
+ pmDemandReqVo.setDeptList(isQueryAll(pmDemandReqVo.getPurchaseDeptId()));
|
|
|
+ List<StatisticalChartsResVo> resVos = new ArrayList<>();
|
|
|
+ //本月度新受领重大规划采购任务数量
|
|
|
+ pmDemandReqVo.setProjectStatus(Long.valueOf(PmProjectStatus.TASK_WAIT_RELEASE.getCode()));
|
|
|
+ StatisticalChartsResVo resVo = pmDemandMapper.majorProjectByStatusThisMonthNew(pmDemandReqVo);
|
|
|
+ resVo.setColumnName("本月度新受领重大规划采购任务数量");
|
|
|
+ resVos.add(resVo);
|
|
|
+ //本季度新受领重大规划采购任务数量
|
|
|
+ pmDemandReqVo.setProjectStatus(Long.valueOf(PmProjectStatus.TASK_WAIT_RELEASE.getCode()));
|
|
|
+ StatisticalChartsResVo resVo2 = pmDemandMapper.majorProjectByStatusThisQuaNew(pmDemandReqVo);
|
|
|
+ resVo2.setColumnName("本季度新受领重大规划采购任务数量");
|
|
|
+ resVos.add(resVo2);
|
|
|
+ //本年度新受领重大规划采购任务数量
|
|
|
+ pmDemandReqVo.setProjectStatus(Long.valueOf(PmProjectStatus.TASK_WAIT_RELEASE.getCode()));
|
|
|
+ StatisticalChartsResVo resVo3 = pmDemandMapper.majorProjectByStatusThisYearNew(pmDemandReqVo);
|
|
|
+ resVo3.setColumnName("本年度新受领重大规划采购任务数量");
|
|
|
+ resVos.add(resVo3);
|
|
|
+ //上年度结转重大规划采购任务累计项目数量
|
|
|
+ List<String> yearLastZ = new ArrayList<>();
|
|
|
+ yearLastZ.add(PmProjectStatus.PURCHASE_DEMAND_DOCKING.getCode());
|
|
|
+ yearLastZ.add(PmProjectStatus.EXPERT_FEEDBACK.getCode());
|
|
|
+ yearLastZ.add(PmProjectStatus.PROCUREMENT_DOCUMENTS_REVIEW.getCode());
|
|
|
+ yearLastZ.add(PmProjectStatus.PROCUREMENT_ANNOUNCEMENT.getCode());
|
|
|
+ yearLastZ.add(PmProjectStatus.PRE_BID_QUERY.getCode());
|
|
|
+ yearLastZ.add(PmProjectStatus.WAIT_OPEN_BID.getCode());
|
|
|
+ yearLastZ.add(PmProjectStatus.BID_RESULT_ANNOUNCEMENT.getCode());
|
|
|
+ yearLastZ.add(PmProjectStatus.WASTE_BID_HANDLE.getCode());
|
|
|
+ yearLastZ.add(PmProjectStatus.POST_BID_QUERY.getCode());
|
|
|
+ yearLastZ.add(PmProjectStatus.WASTE_BID_RETURN.getCode());
|
|
|
+ pmDemandReqVo.setProjectStatusList(yearLastZ);
|
|
|
+ StatisticalChartsResVo resVo7 = pmDemandMapper.majorProjectByStatusLastYear(pmDemandReqVo);
|
|
|
+ resVo7.setColumnName("上年度结转和本年度新提报重大规划采购任务累计项目数量");
|
|
|
+ //上年度结转和本月度新受领重大规划采购任务累计项目数量预算金额
|
|
|
+ pmDemandReqVo.setProjectStatus(Long.valueOf(PmProjectStatus.DEMAND_WAIT_COMMIT.getCode()));
|
|
|
+ StatisticalChartsResVo resVo4 = pmDemandMapper.majorProjectByStatusThisMonthFiCGB(pmDemandReqVo);
|
|
|
+ resVo4.setColumnName("上年度结转和本月度新受领重大规划采购任务累计项目数量预算金额(万元)");
|
|
|
+ resVo4.setNum(resVo4.getNum() + resVo7.getNum());
|
|
|
+ resVo4.setEvaluationTotal(resVo4.getEvaluationTotal().add(resVo7.getEvaluationTotal()));
|
|
|
+ resVos.add(resVo4);
|
|
|
+ //上年度结转和本季度新受领重大规划采购任务累计项目数量预算金额
|
|
|
+ pmDemandReqVo.setProjectStatus(Long.valueOf(PmProjectStatus.DEMAND_WAIT_COMMIT.getCode()));
|
|
|
+ StatisticalChartsResVo resVo5 = pmDemandMapper.majorProjectByStatusThisQuaFiCGB(pmDemandReqVo);
|
|
|
+ resVo5.setColumnName("上年度结转和本季度新受领重大规划采购任务累计项目数量预算金额(万元)");
|
|
|
+ resVo5.setNum(resVo5.getNum() + resVo7.getNum());
|
|
|
+ resVo5.setEvaluationTotal(resVo5.getEvaluationTotal().add(resVo7.getEvaluationTotal()));
|
|
|
+ resVos.add(resVo5);
|
|
|
+ //上年度结转和本年度新受领重大规划采购任务累计项目数量预算金额
|
|
|
+ pmDemandReqVo.setProjectStatus(Long.valueOf(PmProjectStatus.DEMAND_WAIT_COMMIT.getCode()));
|
|
|
+ StatisticalChartsResVo resVo6 = pmDemandMapper.majorProjectByStatusThisYearFiCGB(pmDemandReqVo);
|
|
|
+ resVo6.setColumnName("上年度结转和本年度新受领重大规划采购任务累计项目数量预算金额(万元)");
|
|
|
+ resVo6.setNum(resVo6.getNum() + resVo7.getNum());
|
|
|
+ resVo6.setEvaluationTotal(resVo6.getEvaluationTotal().add(resVo7.getEvaluationTotal()));
|
|
|
+ resVos.add(resVo6);
|
|
|
+ //本月度完成重大规划采购任务数量
|
|
|
+ pmDemandReqVo.setProjectStatus(Long.valueOf(PmProjectStatus.CONTRACT_WAIT_FILL.getCode()));
|
|
|
+ StatisticalChartsResVo resVoA = pmDemandMapper.majorProjectByStatusThisMonthFi(pmDemandReqVo);
|
|
|
+ resVoA.setColumnName("本月度完成重大规划采购任务数量");
|
|
|
+ resVos.add(resVoA);
|
|
|
+ //本季度完成重大规划采购任务数量
|
|
|
+ pmDemandReqVo.setProjectStatus(Long.valueOf(PmProjectStatus.CONTRACT_WAIT_FILL.getCode()));
|
|
|
+ StatisticalChartsResVo resVoB = pmDemandMapper.majorProjectByStatusThisQuaFi(pmDemandReqVo);
|
|
|
+ resVoB.setColumnName("本季度完成重大规划采购任务数量");
|
|
|
+ resVos.add(resVoB);
|
|
|
+ //本年度完成重大规划采购任务数量
|
|
|
+ pmDemandReqVo.setProjectStatus(Long.valueOf(PmProjectStatus.CONTRACT_WAIT_FILL.getCode()));
|
|
|
+ StatisticalChartsResVo resVoC = pmDemandMapper.majorProjectByStatusThisYearFi(pmDemandReqVo);
|
|
|
+ resVoC.setColumnName("本年度完成重大规划采购任务数量");
|
|
|
+ resVos.add(resVoC);
|
|
|
+ //今年以来累计完成数量
|
|
|
+ pmDemandReqVo.setProjectStatus(Long.valueOf(PmProjectStatus.CONTRACT_WAIT_FILL.getCode()));
|
|
|
+ StatisticalChartsResVo resVo8 = pmDemandMapper.majorProjectByStatusToThisYear(pmDemandReqVo);
|
|
|
+ resVo8.setColumnName("今年以来累计完成数量");
|
|
|
+ resVos.add(resVo8);
|
|
|
+ //正常推进周期内的重大规划采购任务数量
|
|
|
+ StatisticalChartsResVo resVo9 = pmDemandMapper.majorProjectByStatusWei(pmDemandReqVo);
|
|
|
+ resVo9.setColumnName("正常推进周期内的重大规划采购任务数量");
|
|
|
+ resVos.add(resVo9);
|
|
|
+ //执行滞后的重大规划采购任务数量
|
|
|
+ StatisticalChartsResVo resVo10 = pmDemandMapper.majorProjectByStatusChao(pmDemandReqVo);
|
|
|
+ resVo10.setColumnName("执行滞后的重大规划采购任务数量");
|
|
|
+ resVos.add(resVo10);
|
|
|
+ return AjaxResult.success(resVos);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 通过计划ID查询项目数据
|
|
|
*
|
|
@@ -2268,17 +2357,24 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public Map<String, Integer> purchaseProjectExecute(PmDemandReqVo pmDemandReqVo) {
|
|
|
+ public List<StatisticalChartsResVo> purchaseProjectExecute(PmDemandReqVo pmDemandReqVo) {
|
|
|
+ List<StatisticalChartsResVo> resVos = new ArrayList<>();
|
|
|
//是-1就是查询自己及子孙级以下,否则只查询指定部门
|
|
|
pmDemandReqVo.setDeptList(isQueryAll(pmDemandReqVo.getPurchaseDeptId()));
|
|
|
- Map<String, Integer> mapReturn = new HashMap<>();
|
|
|
+ //累计完成采购任务数量 预算金额(万元) 合同金额(万元)
|
|
|
+ StatisticalChartsResVo tThisYear = pmDemandMapper.selectFInishAll(pmDemandReqVo);
|
|
|
+ tThisYear.setColumnName("累计完成采购任务数量");
|
|
|
+ resVos.add(tThisYear);
|
|
|
// 正常推进项目数量、预算金额
|
|
|
- Map<String, Integer> mapNormalPropulsion = pmDemandMapper.purchaseProjectExecuteNormalPropulsion(pmDemandReqVo);
|
|
|
+ StatisticalChartsResVo mapNormalPropulsion = pmDemandMapper.purchaseProjectExecuteNormalPropulsion(pmDemandReqVo);
|
|
|
+ mapNormalPropulsion.setColumnName("正常推进项目数量");
|
|
|
+ resVos.add(mapNormalPropulsion);
|
|
|
// 未完成采购任务,预算金额
|
|
|
- Map<String, Integer> mapIncomplete = pmDemandMapper.purchaseProjectExecuteIncomplete(pmDemandReqVo);
|
|
|
- mapReturn.putAll(mapNormalPropulsion);
|
|
|
- mapReturn.putAll(mapIncomplete);
|
|
|
- return mapReturn;
|
|
|
+ StatisticalChartsResVo mapIncomplete = pmDemandMapper.purchaseProjectExecuteIncomplete(pmDemandReqVo);
|
|
|
+ mapIncomplete.setColumnName("未完成采购任务");
|
|
|
+ resVos.add(mapIncomplete);
|
|
|
+
|
|
|
+ return resVos;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -3359,6 +3455,95 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
return AjaxResult.success(resVos);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public AjaxResult exceedReasonZj(PmDemandReqVo pmDemandReqVo) {
|
|
|
+ List<StatisticalChartsResVo> resVos = new ArrayList<>();
|
|
|
+ //是-1就是查询自己及子孙级以下,否则只查询指定部门
|
|
|
+ pmDemandReqVo.setDeptList(isQueryAll(pmDemandReqVo.getPurchaseDeptId()));
|
|
|
+ //统计超过计划完成采购时间的项目中,处在各阶段的数据包括以下内容:
|
|
|
+ //1、需求编制对接数量/涉及金额:状态为“采购需求对接”的数量及预算金额
|
|
|
+ List<String> xqdj = new ArrayList<>();
|
|
|
+ xqdj.add(PmProjectStatus.PURCHASE_DEMAND_DOCKING.getCode());
|
|
|
+ pmDemandReqVo.setProjectStatusList(xqdj);
|
|
|
+ StatisticalChartsResVo resVo = pmDemandMapper.countProjectExceedAndStatus(pmDemandReqVo);
|
|
|
+ resVo.setColumnName("需求编制对接数量");
|
|
|
+ resVos.add(resVo);
|
|
|
+ //2、采购文件编制审核数量/涉及金额:状态为“采购文件编制审核“的数量及预算金额
|
|
|
+ List<String> wjsh = new ArrayList<>();
|
|
|
+ wjsh.add(PmProjectStatus.PROCUREMENT_DOCUMENTS_REVIEW.getCode());
|
|
|
+ pmDemandReqVo.setProjectStatusList(wjsh);
|
|
|
+ StatisticalChartsResVo resVo2 = pmDemandMapper.countProjectExceedAndStatus(pmDemandReqVo);
|
|
|
+ resVo2.setColumnName("采购文件编制审核数量");
|
|
|
+ resVos.add(resVo2);
|
|
|
+ //3、质疑、投诉、复议、信访举报数量/涉及金额:按钮”质疑投诉”进行质疑过的项目及预算金额
|
|
|
+ List<Long> demandIdAll = questionHisService.selectDemandIdAll();
|
|
|
+ pmDemandReqVo.setDemandIdAll(demandIdAll);
|
|
|
+ StatisticalChartsResVo resVo3 = pmDemandMapper.countProjectExceedAndStatus(pmDemandReqVo);
|
|
|
+ resVo3.setColumnName("质疑、投诉、复议、信访举报数量");
|
|
|
+ resVos.add(resVo3);
|
|
|
+ //5、其他原因项目数量/涉及金额:统计“专家意见反馈”、“采购公告发布”、”待开标“、”评标结果公告“、“标后质疑”状态的数据
|
|
|
+ List<String> qtyy = new ArrayList<>();
|
|
|
+ qtyy.add(PmProjectStatus.EXPERT_FEEDBACK.getCode());
|
|
|
+ qtyy.add(PmProjectStatus.PROCUREMENT_ANNOUNCEMENT.getCode());
|
|
|
+ qtyy.add(PmProjectStatus.WAIT_OPEN_BID.getCode());
|
|
|
+ qtyy.add(PmProjectStatus.BID_RESULT_ANNOUNCEMENT.getCode());
|
|
|
+ qtyy.add(PmProjectStatus.POST_BID_QUERY.getCode());
|
|
|
+ pmDemandReqVo.setProjectStatusList(qtyy);
|
|
|
+ StatisticalChartsResVo resVo5 = pmDemandMapper.countProjectExceedAndStatus(pmDemandReqVo);
|
|
|
+ resVo5.setColumnName("其他原因项目数量");
|
|
|
+ resVos.add(resVo5);
|
|
|
+ return AjaxResult.success(resVos);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult countPurTask(PmDemandReqVo pmDemandReqVo) {
|
|
|
+ List<StatisticalChartsResVo> resVos = new ArrayList<>();
|
|
|
+ //是-1就是查询自己及子孙级以下,否则只查询指定部门
|
|
|
+ pmDemandReqVo.setDeptList(isQueryAll(pmDemandReqVo.getPurchaseDeptId()));
|
|
|
+ //1、所属采购服务站数量
|
|
|
+ //查询现有的采购服务站
|
|
|
+ SysDictData dictData = new SysDictData();
|
|
|
+ dictData.setDictType("purchase_services");
|
|
|
+ List<SysDictData> servicesData = dictDataService.selectDictDataList(dictData);
|
|
|
+ StatisticalChartsResVo resVo = new StatisticalChartsResVo();
|
|
|
+ resVo.setColumnName("所属采购服务站数量");
|
|
|
+ resVo.setNum(servicesData.size());
|
|
|
+ resVos.add(resVo);
|
|
|
+ //2、所属采购机构--根据招标代理机构管理中的白名单数据显示
|
|
|
+ StatisticalChartsResVo resVo2 = pmDemandMapper.countBaseAgencyWithWhite();
|
|
|
+ resVo2.setColumnName("所属采购机构");
|
|
|
+ resVos.add(resVo2);
|
|
|
+ //3、新受领集中采购数量--状态为“任务待下达”之后的数据
|
|
|
+ List<Long> demandIdAll = questionHisService.selectDemandIdAll();
|
|
|
+ pmDemandReqVo.setDemandIdAll(demandIdAll);
|
|
|
+ StatisticalChartsResVo resVo3 = pmDemandMapper.JZCGnum(pmDemandReqVo);
|
|
|
+ resVo3.setColumnName("新受领集中采购数量");
|
|
|
+ resVos.add(resVo3);
|
|
|
+ //4、上年度结转任务数量 上年度“任务待下达”之后,“合同待填制”之前的状态的数据
|
|
|
+ List<String> snzj = new ArrayList<>();
|
|
|
+ snzj.add(PmProjectStatus.TASK_WAIT_RELEASE.getCode());
|
|
|
+ snzj.add(PmProjectStatus.PURCHASE_DEMAND_DOCKING.getCode());
|
|
|
+ snzj.add(PmProjectStatus.EXPERT_FEEDBACK.getCode());
|
|
|
+ snzj.add(PmProjectStatus.PROCUREMENT_DOCUMENTS_REVIEW.getCode());
|
|
|
+ snzj.add(PmProjectStatus.PROCUREMENT_ANNOUNCEMENT.getCode());
|
|
|
+ snzj.add(PmProjectStatus.PRE_BID_QUERY.getCode());
|
|
|
+ snzj.add(PmProjectStatus.WAIT_OPEN_BID.getCode());
|
|
|
+ snzj.add(PmProjectStatus.BID_RESULT_ANNOUNCEMENT.getCode());
|
|
|
+ snzj.add(PmProjectStatus.WASTE_BID_HANDLE.getCode());
|
|
|
+ pmDemandReqVo.setProjectStatusList(snzj);
|
|
|
+ StatisticalChartsResVo resVo4 = pmDemandMapper.countProjecReaAndStatus(pmDemandReqVo);
|
|
|
+ resVo4.setColumnName("上年度结转任务数量");
|
|
|
+ resVos.add(resVo4);
|
|
|
+ return AjaxResult.success(resVos);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult countMajorProjectNumCGB(PmDemandReqVo pmDemandReqVo) {
|
|
|
+ //新增执行滞后采购任务数量分析 所有的超过计划完成采购时间的数据w
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
//查询不同状态下的项目数据
|
|
|
public List<PmDemandResVo> getListByStatus(String projectStatus) {
|
|
|
LambdaQueryWrapper<PmDemand> lw = new LambdaQueryWrapper<PmDemand>();
|