|
@@ -4,10 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ozs.base.domain.BaseAgency;
|
|
|
+import com.ozs.base.service.BaseAgencyService;
|
|
|
import com.ozs.common.enums.*;
|
|
|
import com.ozs.common.utils.StringUtils;
|
|
|
import com.ozs.common.utils.bean.BeanUtils;
|
|
|
import com.ozs.plan.doman.ProvisionalPlan;
|
|
|
+import com.ozs.plan.mapper.ProvisionalPlanMapper;
|
|
|
import com.ozs.pm.doman.*;
|
|
|
import com.ozs.pm.doman.vo.responseVo.*;
|
|
|
import com.ozs.pm.mapper.PmDemandHisMapper;
|
|
@@ -15,6 +17,8 @@ import com.ozs.pm.service.*;
|
|
|
import com.ozs.system.domain.SysFileInfo;
|
|
|
import com.ozs.system.domain.SysFileRef;
|
|
|
import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
|
|
|
+import com.ozs.system.service.ISysDeptService;
|
|
|
+import com.ozs.system.service.ISysDictDataService;
|
|
|
import com.ozs.system.service.SysFileRefService;
|
|
|
import com.ozs.system.service.SysFileService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -39,7 +43,10 @@ public class PmDemandHisServiceImpl extends ServiceImpl<PmDemandHisMapper, PmDem
|
|
|
private IPmDemandService iPmDemandService;
|
|
|
@Autowired
|
|
|
private SysFileRefService sysFileRefService;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private SysFileService fileService;
|
|
|
+ @Autowired
|
|
|
+ private PmAuditDeptRefService pmAuditDeptRefService;
|
|
|
@Autowired
|
|
|
private PmBidFailureService pmBidFailureService;
|
|
|
@Autowired
|
|
@@ -83,6 +90,18 @@ public class PmDemandHisServiceImpl extends ServiceImpl<PmDemandHisMapper, PmDem
|
|
|
private PmProcurementDocumentsReviewHisService pmProcurementDocumentsReviewHisService;
|
|
|
@Autowired
|
|
|
private PmReleaseAnnouncementHisService pmReleaseAnnouncementHisService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ProvisionalPlanMapper provisionalPlanMapper;
|
|
|
+ @Autowired
|
|
|
+ private ISysDeptService deptService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ISysDictDataService dictDataService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BaseAgencyService baseAgencyService;
|
|
|
+
|
|
|
/**
|
|
|
* 流废标退回
|
|
|
* @param demandId
|
|
@@ -420,6 +439,7 @@ public class PmDemandHisServiceImpl extends ServiceImpl<PmDemandHisMapper, PmDem
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //需求表
|
|
|
PmDemandHis pmDemandHis = new PmDemandHis();
|
|
|
BeanUtils.copyProperties(pmDemand,pmDemandHis);
|
|
|
|
|
@@ -435,6 +455,10 @@ public class PmDemandHisServiceImpl extends ServiceImpl<PmDemandHisMapper, PmDem
|
|
|
if(this.pmDemandHisService.save(pmDemandHis)){
|
|
|
UpdateWrapper<PmDemand> pmDemandUpdateWrapper = new UpdateWrapper<>();
|
|
|
pmDemandUpdateWrapper.lambda()
|
|
|
+ .set(PmDemand::getRealDemandCommitTime,null)
|
|
|
+ .set(PmDemand::getRealPurchaseFinishTime,null)
|
|
|
+ .set(PmDemand::getRealDeliverTime,null)
|
|
|
+ .set(PmDemand::getAuditTime,null)
|
|
|
.set(PmDemand::getAgencyId,null)
|
|
|
.set(PmDemand::getExtractAgencyTime,null)
|
|
|
.set(PmDemand::getPurchaseTaskDocumentNumber,null)
|
|
@@ -445,11 +469,32 @@ public class PmDemandHisServiceImpl extends ServiceImpl<PmDemandHisMapper, PmDem
|
|
|
.set(PmDemand::getUpdateTime,new Date())
|
|
|
.eq(PmDemand::getDemandId,demandId);
|
|
|
iPmDemandService.update(pmDemandUpdateWrapper);
|
|
|
+
|
|
|
+ List<SysFileRef> fileRefs = getSysFileRefList(demandId, SysFileRefEnum.PM_DEMAND_EXAMINE.getType());
|
|
|
+ if (!ObjectUtils.isEmpty(fileRefs)) {
|
|
|
+ for (SysFileRef sysFileRef : fileRefs) {
|
|
|
+ sysFileRef.setType(Integer.parseInt(SysFileRefEnum.PM_DEMAND_EXAMINE.getType() + "" + pmDemandHis.getReturnOrderNumber()));
|
|
|
+ }
|
|
|
+ sysFileRefService.updateBatchById(fileRefs);
|
|
|
+ }
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmAuditDeptRef> lw = new LambdaQueryWrapper<>();
|
|
|
+ lw.eq(PmAuditDeptRef::getRefId, demandId);
|
|
|
+ lw.eq(PmAuditDeptRef::getRefType, "2");
|
|
|
+ pmAuditDeptRefService.remove(lw);
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ private List<SysFileRef> getSysFileRefList(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);
|
|
|
+ return fileRefs;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询采购需求
|
|
|
*
|
|
@@ -458,15 +503,337 @@ public class PmDemandHisServiceImpl extends ServiceImpl<PmDemandHisMapper, PmDem
|
|
|
*/
|
|
|
@Override
|
|
|
public PmDemandResVo selectPmDemandHisByDemandId(Long demandId, String detailType,Integer returnOrderNumber) {
|
|
|
- return null;
|
|
|
+ LambdaQueryWrapper<PmDemandHis> pmDemandHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmDemandHisLambdaQueryWrapper.eq(PmDemandHis::getDemandId,demandId).eq(PmDemandHis::getReturnOrderNumber,returnOrderNumber);
|
|
|
+ PmDemandHis pmDemandHis = this.pmDemandHisService.getOne(pmDemandHisLambdaQueryWrapper);
|
|
|
+
|
|
|
+ if (pmDemandHis != null) {
|
|
|
+ PmDemandResVo vo = new PmDemandResVo();
|
|
|
+ vo.setProjectName(pmDemandHis.getProjectName());
|
|
|
+ vo.setDemandId(demandId);
|
|
|
+ if ("1".equals(detailType)) { //项目计划
|
|
|
+
|
|
|
+ BeanUtils.copyProperties(pmDemandHis, vo);
|
|
|
+
|
|
|
+ //project_type,evaluation 从原来计划里取
|
|
|
+ ProvisionalPlan provisionalPlan = provisionalPlanMapper.seletById(pmDemandHis.getPlanId());
|
|
|
+ vo.setProjectType(provisionalPlan.getProjectType());
|
|
|
+ vo.setEvaluation(provisionalPlan.getEvaluation().doubleValue());
|
|
|
+
|
|
|
+ SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(vo.getPurchaseDeptId()).get("sysDept");
|
|
|
+ if (sysDeptResponseVo != null) {
|
|
|
+ vo.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
|
|
|
+ }
|
|
|
+
|
|
|
+ String purchaseServicesName = dictDataService.selectDictLabel("purchase_services", vo.getPurchaseServices());
|
|
|
+ if (StringUtils.isNotEmpty(purchaseServicesName)) {
|
|
|
+ vo.setPurchaseServicesName(purchaseServicesName);
|
|
|
+ }
|
|
|
+
|
|
|
+ //采购需求附件
|
|
|
+ List<SysFileInfo> demandFileInfos = getSysFileInfoList(vo.getDemandId(), SysFileRefEnum.PM_DEMAND.getType());
|
|
|
+ if (!ObjectUtils.isEmpty(demandFileInfos)) {
|
|
|
+ vo.setDemandFileInfos(demandFileInfos);
|
|
|
+ }
|
|
|
+
|
|
|
+ //项目类型
|
|
|
+ String projectTypeName = dictDataService.selectDictLabel("sys_project_type", vo.getProjectType());
|
|
|
+ if (StringUtils.isNotEmpty(projectTypeName)) {
|
|
|
+ vo.setProjectTypeName(projectTypeName);
|
|
|
+ }
|
|
|
+
|
|
|
+ //是否为超限额计划
|
|
|
+ for (IsExcess value : IsExcess.values()) {
|
|
|
+ if (vo.getIsExcess() != null && vo.getIsExcess().equals(value.getCode())) {
|
|
|
+ vo.setIsExcessName(value.getInfo());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //采购方式
|
|
|
+ for (PlanPurchaseMode value : PlanPurchaseMode.values()) {
|
|
|
+ if (vo.getPurchaseMode() != null && vo.getPurchaseMode().equals(value.getCode())) {
|
|
|
+ vo.setPurchaseModeName(value.getInfo());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //项目属性
|
|
|
+ for (ProjectAttribute value : ProjectAttribute.values()) {
|
|
|
+ if (vo.getProjectAttr() != null && vo.getProjectAttr().equals(value.getCode())) {
|
|
|
+ vo.setProjectAttrName(value.getInfo());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //预警状态
|
|
|
+ for (WarnStatus value : WarnStatus.values()) {
|
|
|
+ if (vo.getWarnStatus() != null && vo.getWarnStatus().equals(value.getCode())) {
|
|
|
+ vo.setWarnStatusName(value.getInfo());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //项目状态
|
|
|
+ for (PmProjectStatus value : PmProjectStatus.values()) {
|
|
|
+ if (vo.getProjectStatus() != null && vo.getProjectStatus().equals(value.getCode())) {
|
|
|
+ vo.setProjectStatusName(value.getInfo());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ } else if ("2".equals(detailType)) { //需求建档
|
|
|
+
|
|
|
+ //采购需求审核文件
|
|
|
+ List<SysFileInfo> auditFileInfos = getSysFileInfoList(vo.getDemandId(), Integer.parseInt(SysFileRefEnum.PM_DEMAND_EXAMINE.getType() + "" + pmDemandHis.getReturnOrderNumber()));
|
|
|
+ if (!ObjectUtils.isEmpty(auditFileInfos)) {
|
|
|
+ vo.setAuditFileInfos(auditFileInfos);
|
|
|
+ }
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmBookBuildingHis> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PmBookBuildingHis::getDemandId, demandId).eq(PmBookBuildingHis::getReturnOrderNumber,returnOrderNumber);
|
|
|
+ PmBookBuildingHis pmBookBuildingHis = pmBookBuildingHisService.getOne(lambdaQueryWrapper);
|
|
|
+ if (pmBookBuildingHis != null) {
|
|
|
+ PmBookBuildingResVo responseVo = new PmBookBuildingResVo();
|
|
|
+ BeanUtils.copyProperties(pmBookBuildingHis, responseVo);
|
|
|
+
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmBookBuildingHis.getId(), Integer.parseInt(SysFileRefEnum.PM_BOOK_BUILDING.getType() + "" + pmBookBuildingHis.getReturnOrderNumber()));
|
|
|
+ if (!ObjectUtils.isEmpty(fileInfos)) {
|
|
|
+ if (!ObjectUtils.isEmpty(auditFileInfos)) {
|
|
|
+ fileInfos.addAll(auditFileInfos);
|
|
|
+ }
|
|
|
+ responseVo.setFileInfos(fileInfos);
|
|
|
+ }
|
|
|
+ vo.setPmBookBuildingResVo(responseVo);
|
|
|
+ }
|
|
|
+ } else if ("3".equals(detailType)) { //任务下达
|
|
|
+ vo.setTaskReleaseTime(pmDemandHis.getTaskReleaseTime());
|
|
|
+ //任务下达文件
|
|
|
+ List<SysFileInfo> taskReleaseFileInfos = getSysFileInfoList(vo.getDemandId(), Integer.parseInt(SysFileRefEnum.PM_TAST_RELEASE.getType() + "" + pmDemandHis.getReturnOrderNumber()));
|
|
|
+ if (!ObjectUtils.isEmpty(taskReleaseFileInfos)) {
|
|
|
+ vo.setTaskReleaseFileInfos(taskReleaseFileInfos);
|
|
|
+ }
|
|
|
+ } else if ("4".equals(detailType)) { //中标信息
|
|
|
+ PmPurchaseExecutionResVo pmPurchaseExecutionResVo = new PmPurchaseExecutionResVo();
|
|
|
+
|
|
|
+ //代理商信息
|
|
|
+ BaseAgency baseAgency = this.baseAgencyService.getById(pmDemandHis.getAgencyId());
|
|
|
+ pmPurchaseExecutionResVo.setBaseAgency(baseAgency);
|
|
|
+
|
|
|
+ //专家意见反馈
|
|
|
+ LambdaQueryWrapper<PmExpertFeedbackHis> pmExpertFeedbackLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmExpertFeedbackLambdaQueryWrapper.eq(PmExpertFeedbackHis::getDemandId,demandId).eq(PmExpertFeedbackHis::getReturnOrderNumber,returnOrderNumber);
|
|
|
+ PmExpertFeedbackHis pmExpertFeedbackHis = pmExpertFeedbackHisService.getOne(pmExpertFeedbackLambdaQueryWrapper);
|
|
|
+ if(!ObjectUtils.isEmpty(pmExpertFeedbackHis)){
|
|
|
+ PmExpertFeedbackResVo pmExpertFeedbackResVo = new PmExpertFeedbackResVo();
|
|
|
+ BeanUtils.copyProperties(pmExpertFeedbackHis,pmExpertFeedbackResVo);
|
|
|
+
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmExpertFeedbackResVo.getId(), Integer.parseInt(SysFileRefEnum.PM_EXPERT_FEEDBACK.getType() + "" + pmExpertFeedbackHis.getReturnOrderNumber()));
|
|
|
+ if (!ObjectUtils.isEmpty(fileInfos)) {
|
|
|
+ pmExpertFeedbackResVo.setFileInfos(fileInfos);
|
|
|
+ }
|
|
|
+ pmPurchaseExecutionResVo.setPmExpertFeedbackResVo(pmExpertFeedbackResVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ //采购文件编制审核
|
|
|
+ LambdaQueryWrapper<PmProcurementDocumentsReviewHis> pmProcurementDocumentsReviewLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmProcurementDocumentsReviewLambdaQueryWrapper.eq(PmProcurementDocumentsReviewHis::getDemandId,demandId).eq(PmProcurementDocumentsReviewHis::getReturnOrderNumber,returnOrderNumber);
|
|
|
+ PmProcurementDocumentsReviewHis pmProcurementDocumentsReviewHis = pmProcurementDocumentsReviewHisService.getOne(pmProcurementDocumentsReviewLambdaQueryWrapper);
|
|
|
+ if(!ObjectUtils.isEmpty(pmProcurementDocumentsReviewHis)){
|
|
|
+ PmProcurementDocumentsReviewResVo pmProcurementDocumentsReviewResVo = new PmProcurementDocumentsReviewResVo();
|
|
|
+ BeanUtils.copyProperties(pmProcurementDocumentsReviewHis,pmProcurementDocumentsReviewResVo);
|
|
|
+
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmProcurementDocumentsReviewResVo.getId(), Integer.parseInt(SysFileRefEnum.PM_BID_FILE.getType() + "" + pmProcurementDocumentsReviewHis.getReturnOrderNumber()));
|
|
|
+ if (!ObjectUtils.isEmpty(fileInfos)) {
|
|
|
+ pmProcurementDocumentsReviewResVo.setFileInfos(fileInfos);
|
|
|
+ }
|
|
|
+ pmPurchaseExecutionResVo.setPmProcurementDocumentsReviewResVo(pmProcurementDocumentsReviewResVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ //采购公告列表
|
|
|
+ LambdaQueryWrapper<PmReleaseAnnouncementHis> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PmReleaseAnnouncementHis::getDemandId, demandId).eq(PmReleaseAnnouncementHis::getReturnOrderNumber,returnOrderNumber);
|
|
|
+ List<PmReleaseAnnouncementHis> pmReleaseAnnouncementHisList = this.pmReleaseAnnouncementHisService.list(lambdaQueryWrapper);
|
|
|
+ if (!ObjectUtils.isEmpty(pmReleaseAnnouncementHisList)) {
|
|
|
+ List<PmReleaseAnnouncementResVo> pmReleaseAnnouncementResVoList = new ArrayList<>();
|
|
|
+ List<SysFileInfo> fileInfosAll = new ArrayList<>();
|
|
|
+ for (PmReleaseAnnouncementHis pmReleaseAnnouncementHis : pmReleaseAnnouncementHisList) {
|
|
|
+ PmReleaseAnnouncementResVo pmReleaseAnnouncementResVo = new PmReleaseAnnouncementResVo();
|
|
|
+ BeanUtils.copyProperties(pmReleaseAnnouncementHis, pmReleaseAnnouncementResVo);
|
|
|
+
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmReleaseAnnouncementResVo.getId(), Integer.parseInt(SysFileRefEnum.PM_ANNOUNCEMENT_FILE.getType() + "" + pmReleaseAnnouncementHis.getReturnOrderNumber()));
|
|
|
+ if (!ObjectUtils.isEmpty(fileInfos)) {
|
|
|
+ fileInfosAll.addAll(fileInfos);
|
|
|
+ }
|
|
|
+ pmReleaseAnnouncementResVoList.add(pmReleaseAnnouncementResVo);
|
|
|
+ }
|
|
|
+ pmPurchaseExecutionResVo.setPmReleaseAnnouncementFileInfos(fileInfosAll);
|
|
|
+ pmPurchaseExecutionResVo.setPmReleaseAnnouncementResVoList(pmReleaseAnnouncementResVoList);
|
|
|
+ }
|
|
|
+
|
|
|
+ //标前质疑投诉
|
|
|
+ LambdaQueryWrapper<PmCallQuestionHis> pmCallQuestionLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmCallQuestionLambdaQueryWrapper.eq(PmCallQuestionHis::getDemandId,demandId).eq(PmCallQuestionHis::getReturnOrderNumber,returnOrderNumber)
|
|
|
+ .eq(PmCallQuestionHis::getType,'0').orderByDesc(PmCallQuestionHis::getCallQuestionTime);
|
|
|
+ List<PmCallQuestionHis> pmCallQuestionHisList = pmCallQuestionHisService.list(pmCallQuestionLambdaQueryWrapper);
|
|
|
+ if(!ObjectUtils.isEmpty(pmCallQuestionHisList)){
|
|
|
+ List<PmCallQuestionResVo> pmCallQuestionResVoList = new ArrayList<>();
|
|
|
+ List<SysFileInfo> fileInfosAll = new ArrayList<>();
|
|
|
+ for(PmCallQuestionHis pmCallQuestionHis : pmCallQuestionHisList){
|
|
|
+ PmCallQuestionResVo pmCallQuestionResVo = new PmCallQuestionResVo();
|
|
|
+ BeanUtils.copyProperties(pmCallQuestionHis,pmCallQuestionResVo);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmCallQuestionResVo.getId(), Integer.parseInt(SysFileRefEnum.PM_PRE_BID_CALL_QUESTION.getType() + "" + pmCallQuestionHis.getReturnOrderNumber()));
|
|
|
+ if (!ObjectUtils.isEmpty(fileInfos)) {
|
|
|
+ fileInfosAll.addAll(fileInfos);
|
|
|
+ }
|
|
|
+ pmCallQuestionResVoList.add(pmCallQuestionResVo);
|
|
|
+ }
|
|
|
+ pmPurchaseExecutionResVo.setPmCallQuestionPreResVoList(pmCallQuestionResVoList);
|
|
|
+ pmPurchaseExecutionResVo.setPmCallQuestionPreFileInfos(fileInfosAll);
|
|
|
+ }
|
|
|
+
|
|
|
+ //专家信息列表
|
|
|
+ List<PmBaseExpertResVo> pmBaseExpertResVoList = this.pmDemandExpertRefHisService.getPmBaseExpertResVoList(demandId,returnOrderNumber);
|
|
|
+ pmPurchaseExecutionResVo.setPmBaseExpertResVoList(pmBaseExpertResVoList);
|
|
|
+
|
|
|
+ //开标信息列表
|
|
|
+ List<PmBidOpeningResVo> pmBidOpeningResVoList = this.pmBidOpeningHisService.getPmBidOpeningResVoList(demandId,returnOrderNumber);
|
|
|
+ pmPurchaseExecutionResVo.setPmBidOpeningResVoList(pmBidOpeningResVoList);
|
|
|
+
|
|
|
+ //评标结果公告列表
|
|
|
+ LambdaQueryWrapper<PmBidWinningHis> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper1.eq(PmBidWinningHis::getDemandId, demandId).eq(PmBidWinningHis::getReturnOrderNumber,returnOrderNumber)
|
|
|
+ .eq(PmBidWinningHis::getStatus, BidWinningStatus.NORMAL.getCode());
|
|
|
+ PmBidWinningHis pmBidWinningHis = this.pmBidWinningHisService.getOne(lambdaQueryWrapper1);
|
|
|
+ if (!ObjectUtils.isEmpty(pmBidWinningHis)) {
|
|
|
+ LambdaQueryWrapper<PmBidWinningOpeningRefHis> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper2.eq(PmBidWinningOpeningRefHis::getWinningId, pmBidWinningHis.getId()).eq(PmBidWinningOpeningRefHis::getReturnOrderNumber,returnOrderNumber)
|
|
|
+ .eq(PmBidWinningOpeningRefHis::getStatus, BidWinningStatus.NORMAL.getCode());
|
|
|
+ List<PmBidWinningOpeningRefHis> pmBidWinningOpeningRefHisList = this.pmBidWinningOpeningRefHisService.list(lambdaQueryWrapper2);
|
|
|
+ if (!ObjectUtils.isEmpty(pmBidWinningOpeningRefHisList)) {
|
|
|
+ List<PmBidWinningResVo> pmBidWinningResVoList = new ArrayList<>();
|
|
|
+ List<SysFileInfo> fileInfosAll = new ArrayList<>();
|
|
|
+ for (PmBidWinningOpeningRefHis pmBidWinningOpeningRefHis : pmBidWinningOpeningRefHisList) {
|
|
|
+ LambdaQueryWrapper<PmBidOpeningHis> lambdaQueryWrapper3 = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper3.eq(PmBidOpeningHis::getId,pmBidWinningOpeningRefHis.getOpeningId()).eq(PmBidOpeningHis::getReturnOrderNumber,returnOrderNumber);
|
|
|
+ PmBidOpeningHis pmBidOpeningHis = this.pmBidOpeningHisService.getOne(lambdaQueryWrapper3);
|
|
|
+ if (pmBidOpeningHis != null) {
|
|
|
+ PmBidWinningResVo pmBidWinningResVo = new PmBidWinningResVo();
|
|
|
+ BeanUtils.copyProperties(pmBidWinningHis, pmBidWinningResVo);
|
|
|
+ pmBidWinningResVo.setBidWinningName(pmBidOpeningHis.getBidderName());
|
|
|
+
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmBidWinningResVo.getId(), Integer.parseInt(SysFileRefEnum.PM_BID_WINNING_FILE.getType() + "" + pmBidWinningHis.getReturnOrderNumber()));
|
|
|
+ if (!ObjectUtils.isEmpty(fileInfos)) {
|
|
|
+ fileInfosAll.addAll(fileInfos);
|
|
|
+ }
|
|
|
+ pmBidWinningResVoList.add(pmBidWinningResVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ pmPurchaseExecutionResVo.setPmBidWinningResVoList(pmBidWinningResVoList);
|
|
|
+ pmPurchaseExecutionResVo.setPmBidWinningFileInfos(fileInfosAll);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //标后质疑
|
|
|
+ LambdaQueryWrapper<PmCallQuestionHis> pmCallQuestionLambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
+ pmCallQuestionLambdaQueryWrapper2.eq(PmCallQuestionHis::getDemandId,demandId).eq(PmCallQuestionHis::getReturnOrderNumber,returnOrderNumber)
|
|
|
+ .eq(PmCallQuestionHis::getType,'1').orderByDesc(PmCallQuestionHis::getCallQuestionTime);
|
|
|
+ List<PmCallQuestionHis> pmCallQuestionHisList2 = pmCallQuestionHisService.list(pmCallQuestionLambdaQueryWrapper2);
|
|
|
+ if(!ObjectUtils.isEmpty(pmCallQuestionHisList2)){
|
|
|
+ List<PmCallQuestionResVo> pmCallQuestionResVoList = new ArrayList<>();
|
|
|
+ List<SysFileInfo> fileInfosAll = new ArrayList<>();
|
|
|
+ for(PmCallQuestionHis pmCallQuestionHis : pmCallQuestionHisList2){
|
|
|
+ PmCallQuestionResVo pmCallQuestionResVo = new PmCallQuestionResVo();
|
|
|
+ BeanUtils.copyProperties(pmCallQuestionHis,pmCallQuestionResVo);
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmCallQuestionResVo.getId(), Integer.parseInt(SysFileRefEnum.PM_BID_CALL_QEUSTION_FILE.getType() + "" + pmCallQuestionHis.getReturnOrderNumber()));
|
|
|
+ if (!ObjectUtils.isEmpty(fileInfos)) {
|
|
|
+ fileInfosAll.addAll(fileInfos);
|
|
|
+ }
|
|
|
+ pmCallQuestionResVoList.add(pmCallQuestionResVo);
|
|
|
+ }
|
|
|
+ pmPurchaseExecutionResVo.setPmCallQuestionPostResVoList(pmCallQuestionResVoList);
|
|
|
+ pmPurchaseExecutionResVo.setPmCallRequestPostFileInfos(fileInfosAll);
|
|
|
+ }
|
|
|
+
|
|
|
+ //流标情况
|
|
|
+ LambdaQueryWrapper<PmBidFailureHis> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper2.eq(PmBidFailureHis::getDemandId, demandId).eq(PmBidFailureHis::getReturnOrderNumber,returnOrderNumber)
|
|
|
+ .orderByDesc(PmBidFailureHis::getBidFailureTime);
|
|
|
+ List<PmBidFailureHis> pmBidFailureHisList = this.pmBidFailureHisService.list(lambdaQueryWrapper2);
|
|
|
+ if (!ObjectUtils.isEmpty(pmBidFailureHisList)) {
|
|
|
+ List<PmBidFailureResVo> pmBidFailureResVoList = new ArrayList<>();
|
|
|
+ List<PmCallQuestionResVo> pmCallQuestionBidFailureResVoList = new ArrayList<>();
|
|
|
+ List<SysFileInfo> pmBidFailureFileInfos = new ArrayList<>();
|
|
|
+ List<SysFileInfo> pmCallRequestBidFailureFileInfos = new ArrayList<>();
|
|
|
+ for (PmBidFailureHis pmBidFailureHis : pmBidFailureHisList) {
|
|
|
+ PmBidFailureResVo pmBidFailureResVo = new PmBidFailureResVo();
|
|
|
+ BeanUtils.copyProperties(pmBidFailureHis, pmBidFailureResVo);
|
|
|
+ pmBidFailureResVoList.add(pmBidFailureResVo);
|
|
|
+
|
|
|
+ //流标文件
|
|
|
+ List<SysFileInfo> fileInfos = getSysFileInfoList(pmBidFailureResVo.getId(), Integer.parseInt(SysFileRefEnum.PM_BID_FAILURE_FILE.getType() + "" + pmBidFailureHis.getReturnOrderNumber()));
|
|
|
+ if (!ObjectUtils.isEmpty(fileInfos)) {
|
|
|
+ pmBidFailureFileInfos.addAll(fileInfos);
|
|
|
+ }
|
|
|
+
|
|
|
+ if("1".equals(pmBidFailureHis.getCallQuestion())){ //有质疑
|
|
|
+ PmCallQuestionResVo pmCallQuestionResVo = new PmCallQuestionResVo();
|
|
|
+ pmCallQuestionResVo.setCallQuestion(pmBidFailureHis.getCallQuestion());
|
|
|
+ pmCallQuestionResVo.setCallQuestionTime(pmBidFailureHis.getCallQuestionTime());
|
|
|
+ pmCallQuestionBidFailureResVoList.add(pmCallQuestionResVo);
|
|
|
+
|
|
|
+ //流废标质疑文件
|
|
|
+ List<SysFileInfo> fileInfos2 = getSysFileInfoList(pmBidFailureHis.getId(), Integer.parseInt(SysFileRefEnum.PM_BID_FAILURE_CALL_QUESTION.getType() + "" + pmBidFailureHis.getReturnOrderNumber()));
|
|
|
+ if (!ObjectUtils.isEmpty(fileInfos2)) {
|
|
|
+ pmCallRequestBidFailureFileInfos.addAll(fileInfos2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ pmPurchaseExecutionResVo.setPmBidFailureResVoList(pmBidFailureResVoList);
|
|
|
+ pmPurchaseExecutionResVo.setPmBidFailureFileInfos(pmBidFailureFileInfos);
|
|
|
+
|
|
|
+ //流废标处置
|
|
|
+ pmPurchaseExecutionResVo.setPmCallQuestionBidFailureResVoList(pmCallQuestionBidFailureResVoList);
|
|
|
+ pmPurchaseExecutionResVo.setPmCallRequestBidFailureFileInfos(pmCallRequestBidFailureFileInfos);
|
|
|
+ }
|
|
|
+
|
|
|
+ //中标通知书
|
|
|
+ List<SysFileInfo> pmBidWinningNotificationFileInfos = getSysFileInfoList(vo.getDemandId(), Integer.parseInt(SysFileRefEnum.PM_BID_WINNING_NOTIFICATION.getType() + "" + pmDemandHis.getReturnOrderNumber()));
|
|
|
+ pmPurchaseExecutionResVo.setFileInfos(pmBidWinningNotificationFileInfos);
|
|
|
+
|
|
|
+ vo.setPmPurchaseExecutionResVo(pmPurchaseExecutionResVo);
|
|
|
+
|
|
|
+ } else if ("5".equals(detailType)) { //合同信息
|
|
|
+ return null;
|
|
|
+ } else if ("6".equals(detailType)) { //建设情况
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ return vo;
|
|
|
+ } else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- private List<SysFileRef> getSysFileRefList(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);
|
|
|
- return fileRefs;
|
|
|
+ if (!ObjectUtils.isEmpty(fileRefs)) {
|
|
|
+ List<SysFileInfo> fileInfos = new ArrayList<>();
|
|
|
+ for (SysFileRef ref : fileRefs) {
|
|
|
+ SysFileInfo fileInfo = fileService.getById(ref.getFileId());
|
|
|
+ fileInfos.add(fileInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ return fileInfos;
|
|
|
+ } else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|