|
@@ -1441,42 +1441,62 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public AjaxResult exceedAnalysis() {
|
|
|
+ public AjaxResult exceedAnalysis(String qType) {
|
|
|
HashMap<String, List<StatisticalChartsResVo>> resMap = new HashMap<>();
|
|
|
List<StatisticalChartsResVo> byYear = pmDemandMapper.countProjectExceedYear();
|
|
|
- List<StatisticalChartsResVo> byMonth = pmDemandMapper.countProjectExceedMonth();
|
|
|
- List<StatisticalChartsResVo> byQuarter = new LinkedList<>();
|
|
|
- for (StatisticalChartsResVo chartsResVo : byYear) {
|
|
|
- for (int i = 1; i <= 4; i++) {
|
|
|
- StatisticalChartsResVo quarter = pmDemandMapper.countProjectExceedQuarter(i, Integer.parseInt(chartsResVo.getColumnName()));
|
|
|
- if (Integer.parseInt(quarter.getNum()) > 0) {
|
|
|
- quarter.setColumnName(chartsResVo.getColumnName() + "年第" + i + "季度");
|
|
|
- byQuarter.add(quarter);
|
|
|
+ if (qType.equals("1")) {
|
|
|
+ resMap.put("年", byYear);
|
|
|
+ } else if (qType.equals("2")) {
|
|
|
+ List<StatisticalChartsResVo> byQuarter = new LinkedList<>();
|
|
|
+ for (StatisticalChartsResVo chartsResVo : byYear) {
|
|
|
+ for (int i = 1; i <= 4; i++) {
|
|
|
+ StatisticalChartsResVo quarter = pmDemandMapper.countProjectExceedQuarter(i, Integer.parseInt(chartsResVo.getColumnName()));
|
|
|
+ if (Integer.parseInt(quarter.getNum()) > 0) {
|
|
|
+ quarter.setColumnName(chartsResVo.getColumnName() + "年第" + i + "季度");
|
|
|
+ byQuarter.add(quarter);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ resMap.put("季度", byQuarter);
|
|
|
+ } else if (qType.equals("3")) {
|
|
|
+ List<StatisticalChartsResVo> byMonth = pmDemandMapper.countProjectExceedMonth();
|
|
|
+ resMap.put("月", byMonth);
|
|
|
}
|
|
|
-
|
|
|
- resMap.put("年", byYear);
|
|
|
- resMap.put("月", byMonth);
|
|
|
- resMap.put("季度", byQuarter);
|
|
|
return AjaxResult.success(resMap);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public AjaxResult taskQuantityAnalysis() {
|
|
|
- //任务数量趋势分析:按照月、季度、年统计“项目属性”字段中“重大规划”属性的项目
|
|
|
- //统计数据包括:上年度已完成任务数、本年度已完成任务数、新受领任务数(指未完成的数量)
|
|
|
+ public AjaxResult taskQuantityAnalysis(String qType) {
|
|
|
HashMap<String, List<StatisticalChartsResVo>> resMap = new HashMap<>();
|
|
|
- List<StatisticalChartsResVo> thisYearFinish = pmDemandMapper.taskQuantityYear(PmProjectStatus.COMPLETION_CONSTRUCTION.getCode());
|
|
|
- List<StatisticalChartsResVo> lastYearFinish = pmDemandMapper.taskQuantityLastYear(PmProjectStatus.COMPLETION_CONSTRUCTION.getCode());
|
|
|
-
|
|
|
- return null;
|
|
|
+ //任务数量趋势分析:按照月、季度、年统计“项目属性”字段中“重大规划”属性的项目
|
|
|
+ List<StatisticalChartsResVo> byYear = pmDemandMapper.countProjectMajorByYear();
|
|
|
+ if (qType.equals("1")) {
|
|
|
+ resMap.put("年", byYear);
|
|
|
+ } else if (qType.equals("2")) {
|
|
|
+ List<StatisticalChartsResVo> byQuarter = new LinkedList<>();
|
|
|
+ for (StatisticalChartsResVo chartsResVo : byYear) {
|
|
|
+ for (int i = 1; i <= 4; i++) {
|
|
|
+ StatisticalChartsResVo quarter = pmDemandMapper.countProjectMajorByQuarter(i, Integer.parseInt(chartsResVo.getColumnName()));
|
|
|
+ if (Integer.parseInt(quarter.getNum()) > 0) {
|
|
|
+ quarter.setColumnName(chartsResVo.getColumnName() + "年第" + i + "季度");
|
|
|
+ byQuarter.add(quarter);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ resMap.put("季度", byQuarter);
|
|
|
+ } else if (qType.equals("3")) {
|
|
|
+ List<StatisticalChartsResVo> byMonth = pmDemandMapper.countProjectMajorByMonth();
|
|
|
+ resMap.put("月", byMonth);
|
|
|
+ }
|
|
|
+ return AjaxResult.success(resMap);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public AjaxResult newFinishPro() {
|
|
|
// 新完成采购任务数量:本年度状态为“合同待填制”、“项目建设中”、“项目建设完成”的项目
|
|
|
// 预算金额:“合同待填制”、“项目建设中”、“项目建设完成”的项目累加的预算金额
|
|
|
+
|
|
|
+
|
|
|
//合同金额:“合同待填制”、“项目建设中”、“项目建设完成”的项目累加的合同金额
|
|
|
|
|
|
return null;
|
|
@@ -1503,19 +1523,15 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
case "14":
|
|
|
vo.setColumnName(PmProjectStatus.BIDDING_PUBLICITY.getInfo());
|
|
|
}
|
|
|
- //展示信息包括:鼠标上到图表时,展示项目数量和平均消耗时长(平均消耗时长,指所有项目在该阶段完成的平均时间)
|
|
|
- //Integer days= pmDemandMapper.getTimeByStatus(PmProjectStatus.WAIT_SELECT_AGENT.getCode());
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
// WAIT_SELECT_AGENT("9", "待选取代理"),
|
|
|
// WAIT_UPLOAD_BID_FILE("10", "待上传招标文件"),
|
|
|
// WAIT_ANNOUNCEMENT("11", "待发布公告"),
|
|
|
// WAIT_OPEN_BID("12", "待开标"),
|
|
|
// WAIT_BID_ANNOUNCEMENT("13", "待发布中标公告"),
|
|
|
// BIDDING_PUBLICITY("14", "中标公示中"),
|
|
|
- return null;
|
|
|
+ return AjaxResult.success(everyStatusNum);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -1568,22 +1584,30 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
//预算金额:指本年度状态为“项目建设完成”的项目属性为“重大规划”的项目累加的预算金额
|
|
|
StatisticalChartsResVo resVo = new StatisticalChartsResVo();
|
|
|
resVo = pmDemandMapper.majorProjectByStatus(PmProjectStatus.COMPLETION_CONSTRUCTION.getCode());
|
|
|
- resVo.setColumnName("项目建设完成");
|
|
|
+ resVo.setColumnName("今年已完成数量");
|
|
|
resVos.add(resVo);
|
|
|
+
|
|
|
//正常推进项目:指本年度正在进行中的项目属性为“重大规划”的项目数
|
|
|
//预算金额:指本年度正在进行中的项目属性为“重大规划”的项目累加的预算金额
|
|
|
StatisticalChartsResVo resVo1 = new StatisticalChartsResVo();
|
|
|
resVo1 = pmDemandMapper.majorProjectByStatus(PmProjectStatus.UNDER_CONSTRUCTION.getCode());
|
|
|
- resVo1.setColumnName("正常推进项目");
|
|
|
+ resVo1.setColumnName("正常推进数量");
|
|
|
resVos.add(resVo1);
|
|
|
|
|
|
//执行滞后数量:指本年度逾期项目中,项目属性为“重大规划”的项目数
|
|
|
//预算金额:指本年度正在进行中的项目属性为“重大规划”的项目累加的预算金额
|
|
|
StatisticalChartsResVo resVo2 = new StatisticalChartsResVo();
|
|
|
- resVo2 = pmDemandMapper.countProjectExceedAndMajor();
|
|
|
+ resVo2 = pmDemandMapper.countMajorProjectExceed();
|
|
|
resVo2.setColumnName("执行滞后数量");
|
|
|
resVos.add(resVo2);
|
|
|
|
|
|
+ //上年度重大规划采购任务数量:指上年度项目中,项目属性为“重大规划”的项目数
|
|
|
+ //预算金额:指上年度项目中,项目属性为“重大规划”的项目累加的预算金额
|
|
|
+ StatisticalChartsResVo resVo3 = new StatisticalChartsResVo();
|
|
|
+ resVo3 = pmDemandMapper.countMajorProjectLastYear();
|
|
|
+ resVo3.setColumnName("上年度重大规划采购任务数量");
|
|
|
+ resVos.add(resVo3);
|
|
|
+
|
|
|
//resVo2=pmDemandMapper.majorProjectByStatus(PmProjectStatus.COMPLETION_CONSTRUCTION.getCode());
|
|
|
return AjaxResult.success(resVos);
|
|
|
}
|