|
@@ -128,9 +128,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
}
|
|
|
|
|
|
//采购需求附件
|
|
|
- HashMap<String, String> demandFileMap = getFileMap(vo.getDemandId(),SysFileRefEnum.PM_DEMAND.getType());
|
|
|
- if(demandFileMap != null){
|
|
|
- vo.setDemandFileMap(demandFileMap);
|
|
|
+ List<SysFileInfo> demandFileInfos = getSysFileInfoList(vo.getDemandId(),SysFileRefEnum.PM_DEMAND.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(demandFileInfos)){
|
|
|
+ vo.setDemandFileInfos(demandFileInfos);
|
|
|
}
|
|
|
|
|
|
//项目类型
|
|
@@ -181,9 +181,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
} else if("2".equals(detailType)) { //需求建档
|
|
|
|
|
|
//采购需求审核文件
|
|
|
- HashMap<String, String> auditFileMap = getFileMap(vo.getDemandId(),SysFileRefEnum.PM_DEMAND_EXAMINE.getType());
|
|
|
- if(auditFileMap != null){
|
|
|
- vo.setAuditFileMap(auditFileMap);
|
|
|
+ List<SysFileInfo> auditFileInfos = getSysFileInfoList(vo.getDemandId(),SysFileRefEnum.PM_DEMAND_EXAMINE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(auditFileInfos)){
|
|
|
+ vo.setAuditFileInfos(auditFileInfos);
|
|
|
}
|
|
|
|
|
|
LambdaQueryWrapper<PmBookBuilding> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
@@ -193,18 +193,17 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
PmBookBuildingResVo responseVo = new PmBookBuildingResVo();
|
|
|
BeanUtils.copyProperties(pmBookBuilding,responseVo);
|
|
|
|
|
|
- HashMap<String, String> fileMap1 = getFileMap(demandId,SysFileRefEnum.PM_BOOK_BUILDING.getType());
|
|
|
- if(fileMap1 != null){
|
|
|
- responseVo.setFileMap(fileMap1);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmBookBuilding.getId(),SysFileRefEnum.PM_BOOK_BUILDING.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ responseVo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
-
|
|
|
vo.setPmBookBuildingResVo(responseVo);
|
|
|
}
|
|
|
} else if("3".equals(detailType)) { //任务下达
|
|
|
//任务下达文件
|
|
|
- HashMap<String, String> taskReleaseFileMap = getFileMap(vo.getDemandId(),SysFileRefEnum.PM_TAST_RELEASE.getType());
|
|
|
- if(taskReleaseFileMap != null){
|
|
|
- vo.setTaskReleaseFileMap(taskReleaseFileMap);
|
|
|
+ List<SysFileInfo> taskReleaseFileInfos = getSysFileInfoList(vo.getDemandId(),SysFileRefEnum.PM_TAST_RELEASE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(taskReleaseFileInfos)){
|
|
|
+ vo.setTaskReleaseFileInfos(taskReleaseFileInfos);
|
|
|
}
|
|
|
} else if("4".equals(detailType)) { //中标信息
|
|
|
PmPurchaseExecutionResVo pmPurchaseExecutionResVo = new PmPurchaseExecutionResVo();
|
|
@@ -222,9 +221,10 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
for (PmReleaseAnnouncement pmReleaseAnnouncement : pmReleaseAnnouncementList) {
|
|
|
PmReleaseAnnouncementResVo pmReleaseAnnouncementResVo = new PmReleaseAnnouncementResVo();
|
|
|
BeanUtils.copyProperties(pmReleaseAnnouncement,pmReleaseAnnouncementResVo);
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmReleaseAnnouncement.getId(),SysFileRefEnum.PM_ANNOUNCEMENT_FILE.getType());
|
|
|
- if(fileMap != null){
|
|
|
- pmReleaseAnnouncementResVo.setFileMap(fileMap);
|
|
|
+
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmReleaseAnnouncement.getId(),SysFileRefEnum.PM_ANNOUNCEMENT_FILE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ pmReleaseAnnouncementResVo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
pmReleaseAnnouncementResVoList.add(pmReleaseAnnouncementResVo);
|
|
|
}
|
|
@@ -248,9 +248,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
for(PmBidWinning pmBidWinning : pmBidWinningList) {
|
|
|
PmBidWinningResVo pmBidWinningResVo = new PmBidWinningResVo();
|
|
|
BeanUtils.copyProperties(pmBidWinning, pmBidWinningResVo);
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmBidWinning.getId(),SysFileRefEnum.PM_BID_WINNING_FILE.getType());
|
|
|
- if(fileMap != null){
|
|
|
- pmBidWinningResVo.setFileMap(fileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmBidWinning.getId(),SysFileRefEnum.PM_BID_WINNING_FILE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ pmBidWinningResVo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
pmBidWinningResVoList.add(pmBidWinningResVo);
|
|
|
}
|
|
@@ -258,11 +258,10 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
}
|
|
|
|
|
|
//质疑情况
|
|
|
- HashMap<String, String> callRequestFileMap = getFileMap(demandId,SysFileRefEnum.PM_BID_CALL_QEUSTION_FILE.getType());
|
|
|
- if(callRequestFileMap != null){
|
|
|
- pmPurchaseExecutionResVo.setCallRequestFileMap(callRequestFileMap);
|
|
|
+ List<SysFileInfo> callRequestFileInfos = getSysFileInfoList(vo.getDemandId(),SysFileRefEnum.PM_BID_CALL_QEUSTION_FILE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(callRequestFileInfos)){
|
|
|
+ pmPurchaseExecutionResVo.setCallRequestFileInfos(callRequestFileInfos);
|
|
|
}
|
|
|
-
|
|
|
//流标情况
|
|
|
LambdaQueryWrapper<PmBidFailure> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
lambdaQueryWrapper2.eq(PmBidFailure::getDemandId,demandId).orderByDesc(PmBidFailure::getBidFailureTime);
|
|
@@ -272,9 +271,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
for(PmBidFailure pmBidFailure : pmBidFailureList) {
|
|
|
PmBidFailureResVo pmBidFailureResVo = new PmBidFailureResVo();
|
|
|
BeanUtils.copyProperties(pmBidFailure, pmBidFailureResVo);
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmBidFailure.getId(),SysFileRefEnum.PM_BID_FAILURE_FILE.getType());
|
|
|
- if(fileMap != null){
|
|
|
- pmBidFailureResVo.setFileMap(fileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmBidFailure.getId(),SysFileRefEnum.PM_BID_FAILURE_FILE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ pmPurchaseExecutionResVo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
pmBidFailureResVoList.add(pmBidFailureResVo);
|
|
|
}
|
|
@@ -282,9 +281,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
}
|
|
|
|
|
|
//中标通知书
|
|
|
- HashMap<String, String> pmBidWinningNotificationFileMap = getFileMap(demandId,SysFileRefEnum.PM_BID_WINNING_NOTIFICATION.getType());
|
|
|
- if(pmBidWinningNotificationFileMap != null){
|
|
|
- pmPurchaseExecutionResVo.setPmBidWinningNotificationFileMap(pmBidWinningNotificationFileMap);
|
|
|
+ List<SysFileInfo> pmBidWinningNotificationFileInfos = getSysFileInfoList(vo.getDemandId(),SysFileRefEnum.PM_BID_WINNING_NOTIFICATION.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(pmBidWinningNotificationFileInfos)){
|
|
|
+ pmPurchaseExecutionResVo.setPmBidWinningNotificationFileInfos(pmBidWinningNotificationFileInfos);
|
|
|
}
|
|
|
|
|
|
vo.setPmPurchaseExecutionResVo(pmPurchaseExecutionResVo);
|
|
@@ -298,9 +297,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
BeanUtils.copyProperties(pmContractInfo,pmContractInfoResVo);
|
|
|
|
|
|
//合同信息文件
|
|
|
- HashMap<String, String> pmContractInfoFileMap = getFileMap(pmContractInfo.getId(),SysFileRefEnum.PM_CONTRACT_INFO.getType());
|
|
|
- if(pmContractInfoFileMap != null){
|
|
|
- pmContractInfoResVo.setFileMap(pmContractInfoFileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmContractInfo.getId(),SysFileRefEnum.PM_CONTRACT_INFO.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ pmContractInfoResVo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
vo.setPmContractInfoResVo(pmContractInfoResVo);
|
|
|
}
|
|
@@ -313,9 +312,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
BeanUtils.copyProperties(pmProjectConstruction,pmProjectConstructionResVo);
|
|
|
|
|
|
//建设情况文件
|
|
|
- HashMap<String, String> projectConstructionFileMap = getFileMap(pmProjectConstruction.getId(),SysFileRefEnum.PM_PROJECT_CONSTRUCTION.getType());
|
|
|
- if(projectConstructionFileMap != null){
|
|
|
- pmProjectConstructionResVo.setFileMap(projectConstructionFileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmProjectConstruction.getId(),SysFileRefEnum.PM_PROJECT_CONSTRUCTION.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ pmProjectConstructionResVo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
vo.setPmProjectConstructionResVo(pmProjectConstructionResVo);
|
|
|
}
|
|
@@ -408,7 +407,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
pmBookBuilding.setUpdateBy(vo.getUpdateBy());
|
|
|
pmBookBuilding.setUpdateTime(pmBookBuilding.getCreateTime());
|
|
|
}
|
|
|
- if(pmBookBuildingService.save(pmBookBuilding)){
|
|
|
+ if(pmBookBuildingService.saveOrUpdate(pmBookBuilding)){
|
|
|
List<SysFileRef> sysFileRefs = vo.getSysFileRefs();
|
|
|
uploadFile(pmBookBuilding.getId(),SysFileRefEnum.PM_BOOK_BUILDING.getType(),sysFileRefs,vo.getUpdateBy());
|
|
|
|
|
@@ -422,18 +421,19 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
|
|
|
}
|
|
|
|
|
|
- private HashMap<String, String> getFileMap(Long redId,Integer type){
|
|
|
+ private List<SysFileInfo> getSysFileInfoList(Long redId,Integer type){
|
|
|
HashMap<String, Object> map = new HashMap<>();
|
|
|
map.put("red_id", redId);
|
|
|
map.put("type", type);
|
|
|
List<SysFileRef> fileRefs = sysFileRefService.listByMap(map);
|
|
|
if (!ObjectUtils.isEmpty(fileRefs)) {
|
|
|
- HashMap<String, String> fileMap = new HashMap<>();
|
|
|
+ List<SysFileInfo> fileInfos = new ArrayList<>();
|
|
|
for (SysFileRef ref : fileRefs) {
|
|
|
SysFileInfo fileInfo = fileService.getById(ref.getFileId());
|
|
|
- fileMap.put(fileInfo.getFileUrl(), fileInfo.getFileName());
|
|
|
+ fileInfos.add(fileInfo);
|
|
|
}
|
|
|
- return fileMap;
|
|
|
+
|
|
|
+ return fileInfos;
|
|
|
} else {
|
|
|
return null;
|
|
|
}
|
|
@@ -495,52 +495,53 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
BeanUtils.copyProperties(pmFlowChart, vo);
|
|
|
|
|
|
if("需求填制".equals(moduleName)) {
|
|
|
- HashMap<String, String> fileMap = getFileMap(demandId,SysFileRefEnum.PM_DEMAND.getType());
|
|
|
- if(fileMap != null){
|
|
|
- vo.setFileMap(fileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(demandId,SysFileRefEnum.PM_DEMAND.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ vo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
} else if("需求提交".equals(moduleName)) {
|
|
|
LambdaQueryWrapper<PmBookBuilding> pmBookBuildingLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
pmBookBuildingLambdaQueryWrapper.eq(PmBookBuilding::getDemandId,demandId);
|
|
|
PmBookBuilding pmBookBuilding = pmBookBuildingService.getOne(pmBookBuildingLambdaQueryWrapper);
|
|
|
if(pmBookBuilding != null){
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmBookBuilding.getId(),SysFileRefEnum.PM_BOOK_BUILDING.getType());
|
|
|
- if(fileMap != null){
|
|
|
- vo.setFileMap(fileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmBookBuilding.getId(),SysFileRefEnum.PM_BOOK_BUILDING.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ vo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
} else if("需求审核".equals(moduleName)) {
|
|
|
- HashMap<String, String> fileMap = getFileMap(demandId,SysFileRefEnum.PM_DEMAND_EXAMINE.getType());
|
|
|
- if(fileMap != null){
|
|
|
- vo.setFileMap(fileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(demandId,SysFileRefEnum.PM_DEMAND_EXAMINE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ vo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
} else if("任务下达".equals(moduleName)) {
|
|
|
- HashMap<String, String> fileMap = getFileMap(demandId,SysFileRefEnum.PM_TAST_RELEASE.getType());
|
|
|
- if(fileMap != null){
|
|
|
- vo.setFileMap(fileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(demandId,SysFileRefEnum.PM_TAST_RELEASE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ vo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
} else if("选取代理".equals(moduleName)) {
|
|
|
//do nothing
|
|
|
} else if("上传招标文件".equals(moduleName)) {
|
|
|
- HashMap<String, String> fileMap = getFileMap(demandId,SysFileRefEnum.PM_BID_FILE.getType());
|
|
|
- if(fileMap != null){
|
|
|
- vo.setFileMap(fileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(demandId,SysFileRefEnum.PM_BID_FILE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ vo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
} else if("发布公告".equals(moduleName)) {
|
|
|
LambdaQueryWrapper<PmReleaseAnnouncement> pmReleaseAnnouncementLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
pmReleaseAnnouncementLambdaQueryWrapper.eq(PmReleaseAnnouncement::getDemandId,demandId);
|
|
|
List<PmReleaseAnnouncement> pmReleaseAnnouncementList = pmReleaseAnnouncementService.list(pmReleaseAnnouncementLambdaQueryWrapper);
|
|
|
if(!ObjectUtils.isEmpty(pmReleaseAnnouncementList)) {
|
|
|
- HashMap<String, String> fileMapAll = new HashMap<>();
|
|
|
+ List<SysFileInfo> listAll = new ArrayList<>();
|
|
|
for(PmReleaseAnnouncement pmReleaseAnnouncement :pmReleaseAnnouncementList ){
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmReleaseAnnouncement.getId(), SysFileRefEnum.PM_ANNOUNCEMENT_FILE.getType());
|
|
|
- if(!ObjectUtils.isEmpty(fileMap)){
|
|
|
- fileMap.forEach((k, v) -> fileMapAll.merge(k, v, (v1, v2) -> v2));
|
|
|
+
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmReleaseAnnouncement.getId(),SysFileRefEnum.PM_ANNOUNCEMENT_FILE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ listAll.addAll(fileInfos);
|
|
|
}
|
|
|
}
|
|
|
- if (fileMapAll != null) {
|
|
|
- vo.setFileMap(fileMapAll);
|
|
|
+ if (!ObjectUtils.isEmpty(listAll)) {
|
|
|
+ vo.setFileInfos(listAll);
|
|
|
}
|
|
|
}
|
|
|
} else if("填写专家信息".equals(moduleName)) {
|
|
@@ -548,16 +549,16 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
} else if("填写开标信息".equals(moduleName)) {
|
|
|
//do nothing
|
|
|
} else if("填写中标信息".equals(moduleName)) {
|
|
|
- HashMap<String, String> fileMapAll = new HashMap<>();
|
|
|
+ List<SysFileInfo> listAll = new ArrayList<>();
|
|
|
|
|
|
LambdaQueryWrapper<PmBidWinning> pmBidWinningLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
pmBidWinningLambdaQueryWrapper.eq(PmBidWinning::getDemandId,demandId);
|
|
|
List<PmBidWinning> pmBidWinningList = pmBidWinningService.list(pmBidWinningLambdaQueryWrapper);
|
|
|
if(!ObjectUtils.isEmpty(pmBidWinningList)) {
|
|
|
for(PmBidWinning pmBidWinning : pmBidWinningList) {
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmBidWinning.getId(),SysFileRefEnum.PM_BID_WINNING_FILE.getType());
|
|
|
- if(!ObjectUtils.isEmpty(fileMap)){
|
|
|
- fileMap.forEach((k, v) -> fileMapAll.merge(k, v, (v1, v2) -> v2));
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmBidWinning.getId(),SysFileRefEnum.PM_BID_WINNING_FILE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ listAll.addAll(fileInfos);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -567,35 +568,35 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
List<PmBidFailure> pmBidFailureList = pmBidFailureService.list(pmBidFailureLambdaQueryWrapper);
|
|
|
if(!ObjectUtils.isEmpty(pmBidFailureService)) {
|
|
|
for(PmBidFailure pmBidFailure : pmBidFailureList) {
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmBidFailure.getId(),SysFileRefEnum.PM_BID_FAILURE_FILE.getType());
|
|
|
- if(!ObjectUtils.isEmpty(fileMap)){
|
|
|
- fileMap.forEach((k, v) -> fileMapAll.merge(k, v, (v1, v2) -> v2));
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmBidFailure.getId(),SysFileRefEnum.PM_BID_FAILURE_FILE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ listAll.addAll(fileInfos);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if(!ObjectUtils.isEmpty(fileMapAll)){
|
|
|
- vo.setFileMap(fileMapAll);
|
|
|
+ if(!ObjectUtils.isEmpty(listAll)){
|
|
|
+ vo.setFileInfos(listAll);
|
|
|
}
|
|
|
|
|
|
} else if("质疑处理".equals(moduleName)) {
|
|
|
- HashMap<String, String> fileMap = getFileMap(demandId,SysFileRefEnum.PM_BID_CALL_QEUSTION_FILE.getType());
|
|
|
- if(fileMap != null){
|
|
|
- vo.setFileMap(fileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(demandId,SysFileRefEnum.PM_BID_CALL_QEUSTION_FILE.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ vo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
} else if("上传中标通知书".equals(moduleName)) {
|
|
|
- HashMap<String, String> fileMap = getFileMap(demandId,SysFileRefEnum.PM_BID_WINNING_NOTIFICATION.getType());
|
|
|
- if(fileMap != null){
|
|
|
- vo.setFileMap(fileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(demandId,SysFileRefEnum.PM_BID_WINNING_NOTIFICATION.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ vo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
} else if("合同填制".equals(moduleName)) {
|
|
|
LambdaQueryWrapper<PmContractInfo> pmContractInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
pmContractInfoLambdaQueryWrapper.eq(PmContractInfo::getDemandId,demandId);
|
|
|
PmContractInfo pmContractInfo = pmContractInfoService.getOne(pmContractInfoLambdaQueryWrapper);
|
|
|
if(pmContractInfo != null){
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmContractInfo.getId(),SysFileRefEnum.PM_CONTRACT_INFO.getType());
|
|
|
- if(fileMap != null){
|
|
|
- vo.setFileMap(fileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmContractInfo.getId(),SysFileRefEnum.PM_CONTRACT_INFO.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ vo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -604,9 +605,9 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
pmProjectConstructionLambdaQueryWrapper.eq(PmProjectConstruction::getDemandId,demandId);
|
|
|
PmProjectConstruction pmProjectConstruction = pmProjectConstructionService.getOne(pmProjectConstructionLambdaQueryWrapper);
|
|
|
if(pmProjectConstruction != null){
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmProjectConstruction.getId(),SysFileRefEnum.PM_PROJECT_CONSTRUCTION.getType());
|
|
|
- if(fileMap != null){
|
|
|
- vo.setFileMap(fileMap);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmProjectConstruction.getId(),SysFileRefEnum.PM_PROJECT_CONSTRUCTION.getType());
|
|
|
+ if(!ObjectUtils.isEmpty(fileInfos)){
|
|
|
+ vo.setFileInfos(fileInfos);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -756,7 +757,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
}
|
|
|
baseNotice.setType(baseNoticeType.getId());
|
|
|
baseNotice.setReleaseTime(pmReleaseAnnouncement.getReleaseTime());
|
|
|
- return this.baseNoticeService.save(baseNotice);
|
|
|
+ return this.baseNoticeService.saveOrUpdate(baseNotice);
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|
|
@@ -775,7 +776,10 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
throw new Exception("参数错误");
|
|
|
}
|
|
|
List<BaseExpert> baseExpertList = pmBaseExpertFillReqVo.getBaseExpertList();
|
|
|
- List<PmDemandExpertRef> pmDemandExpertRefList = new ArrayList<>();
|
|
|
+ if(ObjectUtils.isEmpty(baseExpertList)){
|
|
|
+ throw new Exception("参数错误");
|
|
|
+ }
|
|
|
+
|
|
|
Date now = new Date();
|
|
|
for (BaseExpert baseExpert : baseExpertList) {
|
|
|
if(NameListType.BLACK.getCode().equals(baseExpert.getStatus())){
|
|
@@ -797,23 +801,28 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
baseExpert.setUpdated(pmBaseExpertFillReqVo.getUpdateBy());
|
|
|
baseExpert.setUpdateTime(now);
|
|
|
}
|
|
|
+ if(baseExpertService.saveOrUpdate(baseExpert)){
|
|
|
+ LambdaQueryWrapper<PmDemandExpertRef> pmDemandExpertRefLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmDemandExpertRefLambdaQueryWrapper.eq(PmDemandExpertRef::getDemandId,pmDemand.getDemandId())
|
|
|
+ .eq(PmDemandExpertRef::getExpertId,baseExpert.getId().longValue())
|
|
|
+ .eq(PmDemandExpertRef::getAccessTime,pmBaseExpertFillReqVo.getAccessTime());
|
|
|
+ PmDemandExpertRef pmDemandExpertRef = pmDemandExpertRefService.getOne(pmDemandExpertRefLambdaQueryWrapper);
|
|
|
+ if(pmDemandExpertRef == null){
|
|
|
+ pmDemandExpertRef = new PmDemandExpertRef();
|
|
|
+ pmDemandExpertRef.setCreateBy(pmBaseExpertFillReqVo.getCreateBy());
|
|
|
+ pmDemandExpertRef.setCreateTime(now);
|
|
|
+ }
|
|
|
+ pmDemandExpertRef.setDemandId(pmDemand.getDemandId());
|
|
|
+ pmDemandExpertRef.setExpertId(baseExpert.getId().longValue());
|
|
|
+ pmDemandExpertRef.setAccessTime(DateUtils.parseDate(pmBaseExpertFillReqVo.getAccessTime()));
|
|
|
+ pmDemandExpertRef.setUpdateBy(pmBaseExpertFillReqVo.getCreateBy());
|
|
|
+ pmDemandExpertRef.setUpdateTime(pmDemandExpertRef.getCreateTime());
|
|
|
+ pmDemandExpertRefService.saveOrUpdate(pmDemandExpertRef);
|
|
|
+ }
|
|
|
|
|
|
- PmDemandExpertRef pmDemandExpertRef = new PmDemandExpertRef();
|
|
|
- pmDemandExpertRef.setDemandId(pmDemand.getDemandId());
|
|
|
- pmDemandExpertRef.setExpertId(baseExpert.getId().longValue());
|
|
|
- pmDemandExpertRef.setCreateBy(pmBaseExpertFillReqVo.getCreateBy());
|
|
|
- pmDemandExpertRef.setAccessTime(DateUtils.parseDate(pmBaseExpertFillReqVo.getAccessTime()));
|
|
|
- pmDemandExpertRef.setCreateTime(now);
|
|
|
- pmDemandExpertRef.setUpdateBy(pmBaseExpertFillReqVo.getCreateBy());
|
|
|
- pmDemandExpertRef.setUpdateTime(pmDemandExpertRef.getCreateTime());
|
|
|
- pmDemandExpertRefList.add(pmDemandExpertRef);
|
|
|
}
|
|
|
|
|
|
- if (baseExpertService.saveOrUpdateBatch(baseExpertList)){
|
|
|
- return pmDemandExpertRefService.saveBatch(pmDemandExpertRefList);
|
|
|
- } else {
|
|
|
- return false;
|
|
|
- }
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -846,13 +855,20 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
throw new Exception("参数错误");
|
|
|
}
|
|
|
|
|
|
+ String needAvoidUnit = pmBaseExpertExtractReqVo.getNeedAvoidUnit();
|
|
|
+ List<String> needAvoidUnitList = null;
|
|
|
+ if(!ObjectUtils.isEmpty(needAvoidUnit)){
|
|
|
+ String[] arr = needAvoidUnit.split(",");
|
|
|
+ needAvoidUnitList = Arrays.asList(arr);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
String localArea = pmBaseExpertExtractReqVo.getLocalArea();
|
|
|
- if(!StringUtils.isNumeric(localArea)){
|
|
|
- throw new Exception("地域必须传数字代码");
|
|
|
- }
|
|
|
- List<String> sysRegionCodeList = new ArrayList<>();
|
|
|
+ List<String> sysRegionCodeList = new ArrayList<>();
|
|
|
if(!ObjectUtils.isEmpty(localArea)) {
|
|
|
+ if(!StringUtils.isNumeric(localArea)){
|
|
|
+ throw new Exception("地域必须传数字代码");
|
|
|
+ }
|
|
|
sysRegionCodeList.add(localArea);
|
|
|
//找到该地域code对应的子列表
|
|
|
List<SysRegionVO> sysRegionVOList = iSysRegionService.findChildDivisions(localArea);
|
|
@@ -867,6 +883,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
LambdaQueryWrapper<BaseExpert> lw = new LambdaQueryWrapper<>();
|
|
|
lw.eq(BaseExpert::getVarietyPurchase,pmDemand.getProjectType())
|
|
|
.eq(BaseExpert::getStatus,NameListType.WHITE.getCode())
|
|
|
+ .notIn(!ObjectUtils.isEmpty(needAvoidUnitList),BaseExpert::getUnitInformation,needAvoidUnitList)
|
|
|
.in(!ObjectUtils.isEmpty(sysRegionCodeList), BaseExpert::getLocalArea,sysRegionCodeList);
|
|
|
|
|
|
List<BaseExpert> baseExpertList = baseExpertService.list(lw);
|
|
@@ -935,17 +952,25 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
} else {
|
|
|
List<PmDemandExpertRef> pmDemandExpertRefList = new ArrayList<>();
|
|
|
for(BaseExpert baseExpert :alltExpertList ) {
|
|
|
- PmDemandExpertRef pmDemandExpertRef = new PmDemandExpertRef();
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmDemandExpertRef> baseExpertLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ baseExpertLambdaQueryWrapper.eq(PmDemandExpertRef::getExpertId, baseExpert.getId().longValue())
|
|
|
+ .eq(PmDemandExpertRef::getDemandId,pmDemand.getDemandId())
|
|
|
+ .eq(PmDemandExpertRef::getAccessTime,pmBaseExpertExtractReqVo.getAccessTime());
|
|
|
+ PmDemandExpertRef pmDemandExpertRef = pmDemandExpertRefService.getOne(baseExpertLambdaQueryWrapper);
|
|
|
+ if(pmDemandExpertRef == null){
|
|
|
+ pmDemandExpertRef = new PmDemandExpertRef();
|
|
|
+ pmDemandExpertRef.setCreateBy(pmBaseExpertExtractReqVo.getCreateBy());
|
|
|
+ pmDemandExpertRef.setCreateTime(new Date());
|
|
|
+ }
|
|
|
pmDemandExpertRef.setDemandId(pmDemand.getDemandId());
|
|
|
pmDemandExpertRef.setExpertId(baseExpert.getId().longValue());
|
|
|
- pmDemandExpertRef.setCreateBy(pmBaseExpertExtractReqVo.getCreateBy());
|
|
|
pmDemandExpertRef.setAccessTime(DateUtils.parseDate(pmBaseExpertExtractReqVo.getAccessTime()));
|
|
|
- pmDemandExpertRef.setCreateTime(new Date());
|
|
|
pmDemandExpertRef.setUpdateBy(pmBaseExpertExtractReqVo.getCreateBy());
|
|
|
pmDemandExpertRef.setUpdateTime(pmDemandExpertRef.getCreateTime());
|
|
|
pmDemandExpertRefList.add(pmDemandExpertRef);
|
|
|
}
|
|
|
- return pmDemandExpertRefService.saveBatch(pmDemandExpertRefList);
|
|
|
+ return pmDemandExpertRefService.saveOrUpdateBatch(pmDemandExpertRefList);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1025,16 +1050,22 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
if(pmBidWinningService.saveOrUpdate(pmBidWinning)){
|
|
|
List<PmBidWinningOpeningRef> pmBidWinningOpeningRefList = new ArrayList<>();
|
|
|
for(Long pmBidOpeningId : pmBidOpeningIdList){
|
|
|
- PmBidWinningOpeningRef pmBidWinningOpeningRef = new PmBidWinningOpeningRef();
|
|
|
+ LambdaQueryWrapper<PmBidWinningOpeningRef> pmBidWinningOpeningRefLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmBidWinningOpeningRefLambdaQueryWrapper.eq(PmBidWinningOpeningRef::getOpeningId,pmBidOpeningId)
|
|
|
+ .eq(PmBidWinningOpeningRef::getWinningId,pmBidWinning.getId());
|
|
|
+ PmBidWinningOpeningRef pmBidWinningOpeningRef = pmBidWinningOpeningRefService.getOne(pmBidWinningOpeningRefLambdaQueryWrapper);
|
|
|
+ if(pmBidWinningOpeningRef == null){
|
|
|
+ pmBidWinningOpeningRef = new PmBidWinningOpeningRef();
|
|
|
+ pmBidWinningOpeningRef.setCreateBy(pmBidWinningReqVo.getCreateBy());
|
|
|
+ pmBidWinningOpeningRef.setCreateTime(pmBidWinningReqVo.getCreateTime());
|
|
|
+ }
|
|
|
pmBidWinningOpeningRef.setOpeningId(pmBidOpeningId);
|
|
|
pmBidWinningOpeningRef.setWinningId(pmBidWinning.getId());
|
|
|
- pmBidWinningOpeningRef.setCreateBy(pmBidWinningReqVo.getCreateBy());
|
|
|
- pmBidWinningOpeningRef.setCreateTime(pmBidWinningReqVo.getCreateTime());
|
|
|
pmBidWinningOpeningRef.setUpdateBy(pmBidWinningReqVo.getUpdateBy());
|
|
|
pmBidWinningOpeningRef.setUpdateTime(pmBidWinningReqVo.getUpdateTime());
|
|
|
pmBidWinningOpeningRefList.add(pmBidWinningOpeningRef);
|
|
|
}
|
|
|
- if (pmBidWinningOpeningRefService.saveBatch(pmBidWinningOpeningRefList)) {
|
|
|
+ if (pmBidWinningOpeningRefService.saveOrUpdateBatch(pmBidWinningOpeningRefList)) {
|
|
|
uploadFile(pmBidWinning.getId(), SysFileRefEnum.PM_BID_WINNING_FILE.getType(),pmBidWinningReqVo.getSysFileRefs(),pmBidWinningReqVo.getUpdateBy());
|
|
|
PmDemand pmDemandUpdate = new PmDemand();
|
|
|
pmDemandUpdate.setDemandId(pmBidWinningReqVo.getDemandId());
|
|
@@ -1106,8 +1137,13 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
PmBidFailure pmBidFailure = new PmBidFailure();
|
|
|
BeanUtils.copyProperties(pmBidFailureReqVo,pmBidFailure);
|
|
|
if(pmBidFailureService.saveOrUpdate(pmBidFailure)){
|
|
|
- uploadFile(pmBidFailure.getId(), SysFileRefEnum.PM_BID_FAILURE_FILE.getType(),pmBidFailureReqVo.getSysFileRefs(),pmBidFailureReqVo.getUpdateBy());
|
|
|
- return true;
|
|
|
+ uploadFile(pmBidFailure.getId(), SysFileRefEnum.PM_BID_FAILURE_FILE.getType(),pmBidFailureReqVo.getSysFileRefs(),pmBidFailureReqVo.getUpdateBy());
|
|
|
+ PmDemand pmDemandUpdate = new PmDemand();
|
|
|
+ pmDemandUpdate.setDemandId(pmBidFailureReqVo.getDemandId());
|
|
|
+ pmDemandUpdate.setProjectStatus(PmProjectStatus.WAIT_ANNOUNCEMENT.getCode());
|
|
|
+ pmDemandUpdate.setUpdateTime(pmBidFailureReqVo.getUpdateTime());
|
|
|
+ pmDemandUpdate.setUpdateBy(pmBidFailureReqVo.getUpdateBy());
|
|
|
+ return this.updateById(pmDemandUpdate);
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|
|
@@ -1302,9 +1338,17 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_OPEN_BID.getCode()));
|
|
|
demandRes.addAll(getListByStatus(PmProjectStatus.WAIT_BID_ANNOUNCEMENT.getCode()));
|
|
|
demandRes.addAll(getListByStatus(PmProjectStatus.BIDDING_PUBLICITY.getCode()));
|
|
|
+
|
|
|
//计划数据--发函催告
|
|
|
List<PlanQuarterResponseVo> planRes = planYearsService.willSendLetter();
|
|
|
//转为首页table展示数据
|
|
|
+ if (!ObjectUtils.isEmpty(demandRes) && demandRes.size() > 0) {
|
|
|
+ for (PmDemandResVo demandResVoVo : demandRes) {
|
|
|
+ HomeToDoQueryResVo home = new HomeToDoQueryResVo();
|
|
|
+ BeanUtils.copyProperties(demandResVoVo, home);
|
|
|
+ homeRes.add(home);
|
|
|
+ }
|
|
|
+ }
|
|
|
if (!ObjectUtils.isEmpty(planRes) && planRes.size() > 0) {
|
|
|
for (PlanQuarterResponseVo planVo : planRes) {
|
|
|
HomeToDoQueryResVo home = new HomeToDoQueryResVo();
|
|
@@ -1322,10 +1366,62 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
*/
|
|
|
@Override
|
|
|
public Map<String, Integer> purchaseProjectStatistical(PmDemandReqVo pmDemandReqVo) {
|
|
|
- Map<String, Integer> map = pmDemandMapper.purchaseProjectStatistical(pmDemandReqVo);
|
|
|
- return map;
|
|
|
+ Map<String, Integer> mapReturn = new HashMap<>();
|
|
|
+ // 查询项目总数量
|
|
|
+ Map<String, Integer> mapCount = pmDemandMapper.purchaseProjectStatistical(pmDemandReqVo);
|
|
|
+ // 查询已完成项目数量,预算金额数量
|
|
|
+ Map<String, Integer> mapYWC = pmDemandMapper.purchaseProjectStatisticalYWC(pmDemandReqVo);
|
|
|
+ // 查询新创建项目数量,预算金额数量
|
|
|
+ Map<String, Integer> mapXCJ = pmDemandMapper.purchaseProjectStatisticalXCJ(pmDemandReqVo);
|
|
|
+ // 查询去年完成项目数量,预算金额数量
|
|
|
+ Map<String, Integer> mapQNWC = pmDemandMapper.purchaseProjectStatisticalQNWC(pmDemandReqVo);
|
|
|
+ mapReturn.putAll(mapCount);
|
|
|
+ mapReturn.putAll(mapYWC);
|
|
|
+ mapReturn.putAll(mapXCJ);
|
|
|
+ mapReturn.putAll(mapQNWC);
|
|
|
+ return mapReturn;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<StatisticalChartsResVo> countByProjectAttr() {
|
|
|
+ List<StatisticalChartsResVo> resVos = pmDemandMapper.countByProjectAttr();
|
|
|
+ for (StatisticalChartsResVo chartsResVo : resVos) {
|
|
|
+ for (PmProjectStatus value : PmProjectStatus.values()) {
|
|
|
+ if (value.getCode().equals(chartsResVo.getColumnName())) {
|
|
|
+ chartsResVo.setColumnName(value.getInfo());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return resVos;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<StatisticalChartsResVo> countByEvaluation() {
|
|
|
+ List<StatisticalChartsResVo> resVos = new ArrayList<>();
|
|
|
+ //概算金额包括:100万以下采购任务、100至500万元采购任务、500至1000万元采购任务、1000至5000万元采购任务、5000至1亿元采购任务、1亿元及以上采购任务
|
|
|
+ StatisticalChartsResVo resVo = pmDemandMapper.countByEvaluationLt(100);
|
|
|
+ resVo.setColumnName("100万以下采购任务");
|
|
|
+ resVos.add(resVo);
|
|
|
+ StatisticalChartsResVo resVo1 = pmDemandMapper.countByEvaluationBet(100, 500);
|
|
|
+ resVo1.setColumnName("100至500万元采购任务");
|
|
|
+ resVos.add(resVo1);
|
|
|
+ StatisticalChartsResVo resVo2 = pmDemandMapper.countByEvaluationBet(500, 1000);
|
|
|
+ resVo2.setColumnName("500至1000万元采购任务");
|
|
|
+ resVos.add(resVo2);
|
|
|
+ StatisticalChartsResVo resVo3 = pmDemandMapper.countByEvaluationBet(1000, 5000);
|
|
|
+ resVo3.setColumnName("1000至5000万元采购任务");
|
|
|
+ resVos.add(resVo3);
|
|
|
+ StatisticalChartsResVo resVo4 = pmDemandMapper.countByEvaluationBet(5000, 10000);
|
|
|
+ resVo4.setColumnName("5000至1亿元采购任务");
|
|
|
+ resVos.add(resVo4);
|
|
|
+ StatisticalChartsResVo resVo5 = pmDemandMapper.countByEvaluationGt(10000);
|
|
|
+ resVo5.setColumnName("1亿元及以上采购任务");
|
|
|
+ resVos.add(resVo5);
|
|
|
+ return resVos;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
//查询不同状态下的项目数据
|
|
|
public List<PmDemandResVo> getListByStatus(String projectStatus) {
|
|
|
LambdaQueryWrapper<PmDemand> lw = new LambdaQueryWrapper<PmDemand>();
|
|
@@ -1404,9 +1500,11 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
try {
|
|
|
vo.setTipsMessage(pmDemandGetTips(vo.getPlanDeliverTime()));
|
|
|
+ if (vo.getTipsMessage().contains("超过")) {
|
|
|
+ vo.setIsExceedProject("1");
|
|
|
+ }
|
|
|
} catch (ParseException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|