|
@@ -263,18 +263,18 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
//中标信息列表
|
|
|
LambdaQueryWrapper<PmBidWinning> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
lambdaQueryWrapper1.eq(PmBidWinning::getDemandId, demandId)
|
|
|
- .eq(PmBidWinning::getStatus,BidWinningStatus.NORMAL.getCode());
|
|
|
+ .eq(PmBidWinning::getStatus, BidWinningStatus.NORMAL.getCode());
|
|
|
PmBidWinning pmBidWinning = this.pmBidWinningService.getOne(lambdaQueryWrapper1);
|
|
|
if (!ObjectUtils.isEmpty(pmBidWinning)) {
|
|
|
LambdaQueryWrapper<PmBidWinningOpeningRef> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
- lambdaQueryWrapper2.eq(PmBidWinningOpeningRef::getWinningId,pmBidWinning.getId())
|
|
|
- .eq(PmBidWinningOpeningRef::getStatus,BidWinningStatus.NORMAL.getCode());
|
|
|
+ lambdaQueryWrapper2.eq(PmBidWinningOpeningRef::getWinningId, pmBidWinning.getId())
|
|
|
+ .eq(PmBidWinningOpeningRef::getStatus, BidWinningStatus.NORMAL.getCode());
|
|
|
List<PmBidWinningOpeningRef> pmBidWinningOpeningRefList = this.pmBidWinningOpeningRefService.list(lambdaQueryWrapper2);
|
|
|
- if(!ObjectUtils.isEmpty(pmBidWinningOpeningRefList)){
|
|
|
+ if (!ObjectUtils.isEmpty(pmBidWinningOpeningRefList)) {
|
|
|
List<PmBidWinningResVo> pmBidWinningResVoList = new ArrayList<>();
|
|
|
for (PmBidWinningOpeningRef pmBidWinningOpeningRef : pmBidWinningOpeningRefList) {
|
|
|
PmBidOpening pmBidOpening = this.pmBidOpeningService.getById(pmBidWinningOpeningRef.getOpeningId());
|
|
|
- if(pmBidOpening != null){
|
|
|
+ if (pmBidOpening != null) {
|
|
|
PmBidWinningResVo pmBidWinningResVo = new PmBidWinningResVo();
|
|
|
BeanUtils.copyProperties(pmBidWinning, pmBidWinningResVo);
|
|
|
pmBidWinningResVo.setBidWinningName(pmBidOpening.getBidderName());
|
|
@@ -383,7 +383,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
//获取属于求单位管理员的列表
|
|
|
List<SysRole> sysRoleList2 = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals(SysRoleKey.DEMAND_UNIT.getCode())).collect(Collectors.toList());
|
|
|
if (!ObjectUtils.isEmpty(sysRoleList2)) { //属于需求单位管理员
|
|
|
- lw.apply("(purchase_dept_id = " + deptId + ")" ) ;
|
|
|
+ lw.apply("(purchase_dept_id = " + deptId + ")");
|
|
|
} else {
|
|
|
//获取属于采购管理部门管理员 或 采购办管理员的列表
|
|
|
List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> (tdto.getRoleKey().equals(SysRoleKey.PURCHASING_MANAGEMENT.getCode())
|
|
@@ -392,18 +392,18 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
//获取子部门列表
|
|
|
List<SysDept> sysDeptSubs = deptMapper.selectChildrenDeptById(sysUser.getDeptId());
|
|
|
String sysDeptSubStr = null;
|
|
|
- if(!ObjectUtils.isEmpty(sysDeptSubs)){
|
|
|
+ if (!ObjectUtils.isEmpty(sysDeptSubs)) {
|
|
|
List<String> sysDeptSubIds = sysDeptSubs.stream().map(SysDept::getDeptId).collect(Collectors.toList())
|
|
|
.stream().map(x -> x + "").collect(Collectors.toList());
|
|
|
sysDeptSubStr = String.join(",", sysDeptSubIds);
|
|
|
}
|
|
|
|
|
|
- String condtionSql= null;
|
|
|
- if(ObjectUtils.isEmpty(sysDeptSubStr)){
|
|
|
+ String condtionSql = null;
|
|
|
+ if (ObjectUtils.isEmpty(sysDeptSubStr)) {
|
|
|
condtionSql = "(purchase_dept_id = " + deptId + " AND is_excess = 0) ";
|
|
|
} else {
|
|
|
condtionSql = "((purchase_dept_id = " + deptId + " AND is_excess = 0) " +
|
|
|
- " OR (purchase_dept_id IN ("+ sysDeptSubStr +") AND is_excess = 1))";
|
|
|
+ " OR (purchase_dept_id IN (" + sysDeptSubStr + ") AND is_excess = 1))";
|
|
|
}
|
|
|
|
|
|
lw.apply(condtionSql);
|
|
@@ -417,13 +417,13 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
if (!StringUtils.isBlank(pmDemandReqVo.getPurchaseServices())) {
|
|
|
lw.eq(PmDemand::getPurchaseServices, pmDemandReqVo.getPurchaseServices());
|
|
|
}
|
|
|
- if (!ObjectUtils.isEmpty(pmDemandReqVo.getProjectStatus() )) {
|
|
|
+ if (!ObjectUtils.isEmpty(pmDemandReqVo.getProjectStatus())) {
|
|
|
lw.eq(PmDemand::getProjectStatus, pmDemandReqVo.getProjectStatus());
|
|
|
}
|
|
|
- if (!ObjectUtils.isEmpty(pmDemandReqVo.getWarnStatus() )) {
|
|
|
+ if (!ObjectUtils.isEmpty(pmDemandReqVo.getWarnStatus())) {
|
|
|
lw.eq(PmDemand::getWarnStatus, pmDemandReqVo.getWarnStatus());
|
|
|
}
|
|
|
- if (!ObjectUtils.isEmpty(pmDemandReqVo.getIsExcess() )) {
|
|
|
+ if (!ObjectUtils.isEmpty(pmDemandReqVo.getIsExcess())) {
|
|
|
lw.eq(PmDemand::getIsExcess, pmDemandReqVo.getIsExcess());
|
|
|
}
|
|
|
if (!StringUtils.isBlank(pmDemandReqVo.getBeginDate())) {
|
|
@@ -744,13 +744,13 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean reviewReturn(PmDemandReqVo pmDemandReqVo) {
|
|
|
UpdateWrapper<PmDemand> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.lambda().eq(PmDemand::getDemandId,pmDemandReqVo.getDemandId())
|
|
|
- .set(PmDemand::getProjectStatus,PmProjectStatus.DEMAND_AUDIT_RETURN.getCode())
|
|
|
- .set(PmDemand::getAdjustReason,pmDemandReqVo.getRefuseReason())
|
|
|
- .set(PmDemand::getRealDemandCommitTime,null)
|
|
|
- .set(PmDemand::getUpdateBy,pmDemandReqVo.getUpdateBy())
|
|
|
- .set(PmDemand::getUpdateTime,DateUtils.getNowDate())
|
|
|
- .set(PmDemand::getAuditTime,DateUtils.getNowDate());
|
|
|
+ updateWrapper.lambda().eq(PmDemand::getDemandId, pmDemandReqVo.getDemandId())
|
|
|
+ .set(PmDemand::getProjectStatus, PmProjectStatus.DEMAND_AUDIT_RETURN.getCode())
|
|
|
+ .set(PmDemand::getAdjustReason, pmDemandReqVo.getRefuseReason())
|
|
|
+ .set(PmDemand::getRealDemandCommitTime, null)
|
|
|
+ .set(PmDemand::getUpdateBy, pmDemandReqVo.getUpdateBy())
|
|
|
+ .set(PmDemand::getUpdateTime, DateUtils.getNowDate())
|
|
|
+ .set(PmDemand::getAuditTime, DateUtils.getNowDate());
|
|
|
|
|
|
return this.update(updateWrapper);
|
|
|
}
|
|
@@ -1118,6 +1118,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
|
|
|
/**
|
|
|
* 填写中标
|
|
|
+ *
|
|
|
* @param pmBidWinningReqVo
|
|
|
* @return
|
|
|
* @throws Exception
|
|
@@ -1140,22 +1141,22 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
BeanUtils.copyProperties(pmBidWinningReqVo, pmBidWinning);
|
|
|
|
|
|
//修改老的中标信息状态
|
|
|
- if(ObjectUtils.isEmpty(pmBidWinningReqVo.getId())){ //属于新增
|
|
|
+ if (ObjectUtils.isEmpty(pmBidWinningReqVo.getId())) { //属于新增
|
|
|
LambdaQueryWrapper<PmBidWinning> pmBidWinningLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- pmBidWinningLambdaQueryWrapper.eq(PmBidWinning::getDemandId,pmBidWinningReqVo.getDemandId())
|
|
|
- .eq(PmBidWinning::getStatus,BidWinningStatus.NORMAL.getCode());
|
|
|
+ pmBidWinningLambdaQueryWrapper.eq(PmBidWinning::getDemandId, pmBidWinningReqVo.getDemandId())
|
|
|
+ .eq(PmBidWinning::getStatus, BidWinningStatus.NORMAL.getCode());
|
|
|
List<PmBidWinning> pmBidWinninglist = pmBidWinningService.list(pmBidWinningLambdaQueryWrapper);
|
|
|
- if(!ObjectUtils.isEmpty(pmBidWinninglist)){
|
|
|
- for(PmBidWinning item : pmBidWinninglist) {
|
|
|
+ if (!ObjectUtils.isEmpty(pmBidWinninglist)) {
|
|
|
+ for (PmBidWinning item : pmBidWinninglist) {
|
|
|
UpdateWrapper<PmBidWinning> updateWrapper1 = new UpdateWrapper<>();
|
|
|
- updateWrapper1.lambda().set(PmBidWinning::getStatus,BidWinningStatus.BE_REPLACED.getCode())
|
|
|
- .eq(PmBidWinning::getId,item.getId());
|
|
|
+ updateWrapper1.lambda().set(PmBidWinning::getStatus, BidWinningStatus.BE_REPLACED.getCode())
|
|
|
+ .eq(PmBidWinning::getId, item.getId());
|
|
|
pmBidWinningService.update(updateWrapper1);
|
|
|
|
|
|
UpdateWrapper<PmBidWinningOpeningRef> updateWrapper2 = new UpdateWrapper<>();
|
|
|
- updateWrapper2.lambda().set(PmBidWinningOpeningRef::getStatus,BidWinningStatus.BE_REPLACED.getCode())
|
|
|
- .eq(PmBidWinningOpeningRef::getWinningId,item.getId())
|
|
|
- .eq(PmBidWinningOpeningRef::getStatus,BidWinningStatus.NORMAL.getCode());
|
|
|
+ updateWrapper2.lambda().set(PmBidWinningOpeningRef::getStatus, BidWinningStatus.BE_REPLACED.getCode())
|
|
|
+ .eq(PmBidWinningOpeningRef::getWinningId, item.getId())
|
|
|
+ .eq(PmBidWinningOpeningRef::getStatus, BidWinningStatus.NORMAL.getCode());
|
|
|
pmBidWinningOpeningRefService.update(updateWrapper2);
|
|
|
}
|
|
|
}
|
|
@@ -1197,7 +1198,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
}
|
|
|
baseNotice.setType(baseNoticeType.getId());
|
|
|
baseNotice.setReleaseTime(pmBidWinningReqVo.getBidAnnouncementTime());
|
|
|
- this.baseNoticeService.saveOrUpdate(baseNotice);
|
|
|
+ this.baseNoticeService.saveOrUpdate(baseNotice);
|
|
|
|
|
|
PmDemand pmDemandUpdate = new PmDemand();
|
|
|
pmDemandUpdate.setDemandId(pmBidWinningReqVo.getDemandId());
|
|
@@ -1230,28 +1231,28 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
}
|
|
|
|
|
|
LambdaQueryWrapper<PmBidWinning> lw = new LambdaQueryWrapper<>();
|
|
|
- lw.eq(PmBidWinning::getDemandId, pmBidWinningReqVo.getDemandId()).eq(PmBidWinning::getStatus,BidWinningStatus.NORMAL.getCode());
|
|
|
+ lw.eq(PmBidWinning::getDemandId, pmBidWinningReqVo.getDemandId()).eq(PmBidWinning::getStatus, BidWinningStatus.NORMAL.getCode());
|
|
|
List<PmBidWinning> pmBidWinninglist = pmBidWinningService.list(lw);
|
|
|
if (ObjectUtils.isEmpty(pmBidWinninglist)) {
|
|
|
throw new Exception("原中标信息不存在");
|
|
|
}
|
|
|
//修改老的状态
|
|
|
- for(PmBidWinning item : pmBidWinninglist) {
|
|
|
+ for (PmBidWinning item : pmBidWinninglist) {
|
|
|
UpdateWrapper<PmBidWinning> updateWrapper1 = new UpdateWrapper<>();
|
|
|
- updateWrapper1.lambda().set(PmBidWinning::getStatus,BidWinningStatus.BE_REPLACED.getCode())
|
|
|
- .eq(PmBidWinning::getId,item.getId());
|
|
|
+ updateWrapper1.lambda().set(PmBidWinning::getStatus, BidWinningStatus.BE_REPLACED.getCode())
|
|
|
+ .eq(PmBidWinning::getId, item.getId());
|
|
|
pmBidWinningService.update(updateWrapper1);
|
|
|
|
|
|
UpdateWrapper<PmBidWinningOpeningRef> updateWrapper2 = new UpdateWrapper<>();
|
|
|
- updateWrapper2.lambda().set(PmBidWinningOpeningRef::getStatus,BidWinningStatus.BE_REPLACED.getCode())
|
|
|
- .eq(PmBidWinningOpeningRef::getWinningId,item.getId())
|
|
|
- .eq(PmBidWinningOpeningRef::getStatus,BidWinningStatus.NORMAL.getCode());
|
|
|
+ updateWrapper2.lambda().set(PmBidWinningOpeningRef::getStatus, BidWinningStatus.BE_REPLACED.getCode())
|
|
|
+ .eq(PmBidWinningOpeningRef::getWinningId, item.getId())
|
|
|
+ .eq(PmBidWinningOpeningRef::getStatus, BidWinningStatus.NORMAL.getCode());
|
|
|
pmBidWinningOpeningRefService.update(updateWrapper2);
|
|
|
}
|
|
|
|
|
|
//新增
|
|
|
PmBidWinning pmBidWinning = new PmBidWinning();
|
|
|
- BeanUtils.copyProperties(pmBidWinninglist.get(0),pmBidWinning);
|
|
|
+ BeanUtils.copyProperties(pmBidWinninglist.get(0), pmBidWinning);
|
|
|
pmBidWinning.setId(null);
|
|
|
pmBidWinning.setBidWinningAmount(pmBidWinningReqVo.getBidWinningAmount());
|
|
|
pmBidWinning.setStatus(BidWinningStatus.NORMAL.getCode());
|
|
@@ -1272,8 +1273,8 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
pmBidWinningOpeningRefList.add(pmBidWinningOpeningRef);
|
|
|
}
|
|
|
LambdaQueryWrapper<SysFileRef> sysFileRefLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- sysFileRefLambdaQueryWrapper.eq(SysFileRef::getType,SysFileRefEnum.PM_BID_WINNING_FILE.getType())
|
|
|
- .eq(SysFileRef::getRedId,pmBidWinninglist.get(0));
|
|
|
+ sysFileRefLambdaQueryWrapper.eq(SysFileRef::getType, SysFileRefEnum.PM_BID_WINNING_FILE.getType())
|
|
|
+ .eq(SysFileRef::getRedId, pmBidWinninglist.get(0));
|
|
|
List<SysFileRef> sysFileRefs = sysFileRefService.list(sysFileRefLambdaQueryWrapper);
|
|
|
uploadFile(pmBidWinning.getId(), SysFileRefEnum.PM_BID_WINNING_FILE.getType(), sysFileRefs, pmBidWinningReqVo.getUpdateBy());
|
|
|
|
|
@@ -1285,6 +1286,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
|
|
|
/**
|
|
|
* 流标
|
|
|
+ *
|
|
|
* @param pmBidFailureReqVo
|
|
|
* @return
|
|
|
* @throws Exception
|
|
@@ -1297,19 +1299,19 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
if (pmBidFailureService.saveOrUpdate(pmBidFailure)) {
|
|
|
//把中标信息修改状态
|
|
|
LambdaQueryWrapper<PmBidWinning> lw = new LambdaQueryWrapper<>();
|
|
|
- lw.eq(PmBidWinning::getDemandId, pmBidFailureReqVo.getDemandId()).eq(PmBidWinning::getStatus,BidWinningStatus.NORMAL.getCode());
|
|
|
+ lw.eq(PmBidWinning::getDemandId, pmBidFailureReqVo.getDemandId()).eq(PmBidWinning::getStatus, BidWinningStatus.NORMAL.getCode());
|
|
|
List<PmBidWinning> pmBidWinninglist = pmBidWinningService.list(lw);
|
|
|
if (!ObjectUtils.isEmpty(pmBidWinninglist)) {
|
|
|
- for(PmBidWinning item : pmBidWinninglist) {
|
|
|
+ for (PmBidWinning item : pmBidWinninglist) {
|
|
|
UpdateWrapper<PmBidWinning> updateWrapper1 = new UpdateWrapper<>();
|
|
|
- updateWrapper1.lambda().set(PmBidWinning::getStatus,BidWinningStatus.BE_BID_FAILURE.getCode())
|
|
|
- .eq(PmBidWinning::getId,item.getId());
|
|
|
+ updateWrapper1.lambda().set(PmBidWinning::getStatus, BidWinningStatus.BE_BID_FAILURE.getCode())
|
|
|
+ .eq(PmBidWinning::getId, item.getId());
|
|
|
pmBidWinningService.update(updateWrapper1);
|
|
|
|
|
|
UpdateWrapper<PmBidWinningOpeningRef> updateWrapper2 = new UpdateWrapper<>();
|
|
|
- updateWrapper2.lambda().set(PmBidWinningOpeningRef::getStatus,BidWinningStatus.BE_BID_FAILURE.getCode())
|
|
|
- .eq(PmBidWinningOpeningRef::getWinningId,item.getId())
|
|
|
- .eq(PmBidWinningOpeningRef::getStatus,BidWinningStatus.NORMAL.getCode());
|
|
|
+ updateWrapper2.lambda().set(PmBidWinningOpeningRef::getStatus, BidWinningStatus.BE_BID_FAILURE.getCode())
|
|
|
+ .eq(PmBidWinningOpeningRef::getWinningId, item.getId())
|
|
|
+ .eq(PmBidWinningOpeningRef::getStatus, BidWinningStatus.NORMAL.getCode());
|
|
|
pmBidWinningOpeningRefService.update(updateWrapper2);
|
|
|
}
|
|
|
}
|
|
@@ -1593,6 +1595,20 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
return resVos;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<StatisticalChartsResVo> countByPurchaseMode() {
|
|
|
+ List<StatisticalChartsResVo> resVos = pmDemandMapper.countByPurchaseMode();
|
|
|
+ for (StatisticalChartsResVo chartsResVo : resVos) {
|
|
|
+ for (ProcurementMethodSuggest value : ProcurementMethodSuggest.values()) {
|
|
|
+ if (value.getCode().equals(chartsResVo.getColumnName())) {
|
|
|
+ chartsResVo.setColumnName(value.getInfo());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return resVos;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<StatisticalChartsResVo> countByEvaluation(PmDemandReqVo pmDemandReqVo) {
|
|
|
List<StatisticalChartsResVo> resVos = new ArrayList<>();
|
|
@@ -1648,13 +1664,30 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
for (StatisticalChartsResVo chartsResVo : byYear) {
|
|
|
for (int i = 1; i <= 4; i++) {
|
|
|
StatisticalChartsResVo quarter = pmDemandMapper.countProjectExceedQuarter(i, Integer.parseInt(chartsResVo.getColumnName()));
|
|
|
+ if (ObjectUtils.isEmpty(quarter)) {
|
|
|
+ StatisticalChartsResVo vo = new StatisticalChartsResVo("", "0", "0");
|
|
|
+ quarter = vo;
|
|
|
+ quarter.setColumnName(chartsResVo.getColumnName() + "年第" + i + "季度");
|
|
|
+ }
|
|
|
quarter.setColumnName(chartsResVo.getColumnName() + "年第" + i + "季度");
|
|
|
byQuarter.add(quarter);
|
|
|
}
|
|
|
}
|
|
|
resMap.put("季度", byQuarter);
|
|
|
} else if (pmDemandReqVo.getTimeType().equals("3")) {
|
|
|
- List<StatisticalChartsResVo> byMonth = pmDemandMapper.countProjectExceedMonth();
|
|
|
+ List<StatisticalChartsResVo> byMonth = new LinkedList<>();
|
|
|
+ for (StatisticalChartsResVo chartsResVo : byYear) {
|
|
|
+ for (int i = 1; i <= 12; i++) {
|
|
|
+ StatisticalChartsResVo month = pmDemandMapper.countProjectExceedMonth(i, Integer.parseInt(chartsResVo.getColumnName()));
|
|
|
+ if (ObjectUtils.isEmpty(month)) {
|
|
|
+ StatisticalChartsResVo vo = new StatisticalChartsResVo("", "0", "0");
|
|
|
+ month = vo;
|
|
|
+ month.setColumnName(chartsResVo.getColumnName() + "年" + i + "月");
|
|
|
+ }
|
|
|
+ month.setColumnName(chartsResVo.getColumnName() + "年" + i + "月");
|
|
|
+ byMonth.add(month);
|
|
|
+ }
|
|
|
+ }
|
|
|
resMap.put("月", byMonth);
|
|
|
}
|
|
|
return AjaxResult.success(resMap);
|
|
@@ -1684,27 +1717,6 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
return AjaxResult.success(resMap);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public AjaxResult newFinishPro() {
|
|
|
- // 新完成采购任务数量:状态为“合同待填制”、“项目建设中”、“项目建设完成”的项目
|
|
|
- // 预算金额:“合同待填制”、“项目建设中”、“项目建设完成”的项目累加的预算金额
|
|
|
- List<StatisticalChartsResVo> everyStatusNum = pmDemandMapper.countEveryStatusNumTwo();
|
|
|
- if (!ObjectUtils.isEmpty(everyStatusNum) && everyStatusNum.size() > 0) {
|
|
|
- for (StatisticalChartsResVo vo : everyStatusNum) {
|
|
|
- switch (vo.getColumnName()) {
|
|
|
- case "15":
|
|
|
- vo.setColumnName(PmProjectStatus.CONTRACT_WAIT_FILL.getInfo());
|
|
|
- case "16":
|
|
|
- vo.setColumnName(PmProjectStatus.UNDER_CONSTRUCTION.getInfo());
|
|
|
- case "17":
|
|
|
- vo.setColumnName(PmProjectStatus.COMPLETION_CONSTRUCTION.getInfo());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //合同金额:“合同待填制”、“项目建设中”、“项目建设完成”的项目累加的合同金额
|
|
|
- return AjaxResult.success(everyStatusNum);
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public AjaxResult countEveryStatusNum(PmDemandReqVo pmDemandReqVo) {
|
|
|
//指项目进行到各个阶段的数量
|
|
@@ -1925,8 +1937,80 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
return mapReturn;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 已完成采购任务数量统计
|
|
|
+ *
|
|
|
+ * @param pmDemandReqVo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Integer>> purchaseTaskFinish(PmDemandReqVo pmDemandReqVo) {
|
|
|
+ List<Map<String, Integer>> mapReturn = new ArrayList<>();
|
|
|
+ // 统计时间类型 1:年度,2:季度,3:月份
|
|
|
+ if ("1".equals(pmDemandReqVo.getTimeType())) {
|
|
|
+ // 查询数据库中最小的年份
|
|
|
+ int minYear = pmDemandMapper.selectMinYear();
|
|
|
+ // 获取当前年份
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ int year = calendar.get(Calendar.YEAR);
|
|
|
+ // 获取统计数据
|
|
|
+ List<Map<String, Integer>> listMap = pmDemandMapper.selectPurchaseTaskFinishYear(pmDemandReqVo);
|
|
|
+ mapReturn.addAll(listMap);
|
|
|
+ for (int i = minYear; i <= year; i++) {
|
|
|
+ for (Map<String, Integer> map : listMap) {
|
|
|
+ if (i != Integer.valueOf(map.get("yy"))) {
|
|
|
+ Map<String, Integer> map1 = new HashMap<>();
|
|
|
+ map1.put("yy", i);
|
|
|
+ map1.put("evaluation", 0);
|
|
|
+ map1.put("contractAmount", 0);
|
|
|
+ map1.put("countNum", 0);
|
|
|
+ mapReturn.add(map1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if ("2".equals(pmDemandReqVo.getTimeType())) {
|
|
|
+ // 当前年份季度统计
|
|
|
+ // 获取统计数据
|
|
|
+ List<Map<String, Integer>> listMap = pmDemandMapper.selectPurchaseTaskFinishQuarter(pmDemandReqVo);
|
|
|
+ mapReturn.addAll(listMap);
|
|
|
+ for (int i = 1; i <= 4; i++) {
|
|
|
+ for (Map<String, Integer> map : listMap) {
|
|
|
+ if (i != map.get("yy")) {
|
|
|
+ Map<String, Integer> map1 = new HashMap<>();
|
|
|
+ map1.put("yy", i);
|
|
|
+ map1.put("evaluation", 0);
|
|
|
+ map1.put("contractAmount", 0);
|
|
|
+ map1.put("countNum", 0);
|
|
|
+ mapReturn.add(map1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if ("3".equals(pmDemandReqVo.getTimeType())) {
|
|
|
+ // 当前年份月份统计
|
|
|
+ // 获取统计数据
|
|
|
+ List<Map<String, Integer>> listMap = pmDemandMapper.selectPurchaseTaskFinishMonth(pmDemandReqVo);
|
|
|
+ mapReturn.addAll(listMap);
|
|
|
+ for (int i = 1; i <= 12; i++) {
|
|
|
+ for (Map<String, Integer> map : listMap) {
|
|
|
+ int ii = Integer.parseInt(String.valueOf(map.get("yy")));
|
|
|
+ map.put("yy", ii);
|
|
|
+ if (i != ii) {
|
|
|
+ Map<String, Integer> map1 = new HashMap<>();
|
|
|
+ map1.put("yy", i);
|
|
|
+ map1.put("evaluation", 0);
|
|
|
+ map1.put("contractAmount", 0);
|
|
|
+ map1.put("countNum", 0);
|
|
|
+ mapReturn.add(map1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return mapReturn;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 各阶段项目数量分布
|
|
|
+ *
|
|
|
* @param pmDemandReqVo
|
|
|
* @return
|
|
|
*/
|
|
@@ -1989,6 +2073,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
|
|
|
/**
|
|
|
* 项目数量分析
|
|
|
+ *
|
|
|
* @param pmDemandReqVo
|
|
|
* @return
|
|
|
*/
|
|
@@ -2163,7 +2248,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
if (i > 0) {
|
|
|
return "距离计划交付时间不足" + i + "天";
|
|
|
} else {
|
|
|
- return "已超过计划完成时间" + i + "天";
|
|
|
+ return "已超过计划完成时间" + Math.abs(i) + "天";
|
|
|
}
|
|
|
}
|
|
|
}
|