Merge branch 'master-结构化报价二次项目复制中标分配原则'

This commit is contained in:
yss
2024-03-15 16:50:32 +08:00
2 changed files with 30 additions and 0 deletions

View File

@ -18,6 +18,8 @@ import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogType;
import com.chinaunicom.mall.ebtp.common.log.service.OperationLogService;
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
import com.chinaunicom.mall.ebtp.project.bidratio.entity.BidRatio;
import com.chinaunicom.mall.ebtp.project.bidratio.service.IBidRatioService;
import com.chinaunicom.mall.ebtp.project.common.EbpProjectCommonUtil;
import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil;
import com.chinaunicom.mall.ebtp.project.common.ProjectExceptionEnum;
@ -89,6 +91,9 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl<ProjectExceptio
@Resource
private ISectionMaterialService sectionMaterialService;
@Resource
private IBidRatioService bidRatioService;
@Resource
private IProjectSectionExceptionService sectionExceptionService;
@ -405,9 +410,17 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl<ProjectExceptio
//转换成map形式方便处理数据
Map<String,List<SectionMaterial>> sectionMaterialMap = sectionMaterialList.stream().collect(Collectors.groupingBy(SectionMaterial::getSectionId));
//查询中选分配原则
QueryWrapper<BidRatio> bidRatioQueryWrapper = new QueryWrapper<>();
meMaterialQueryWrapper.in("section_id",sectionIds);
List<BidRatio> bidRatioList = bidRatioService.list(bidRatioQueryWrapper);
//转换成map形式方便处理数据
Map<String,List<BidRatio>> bidRatioMap = bidRatioList.stream().collect(Collectors.groupingBy(BidRatio::getSectionId));
//最终要插入的数据结果
List<SectionSupplier> sectionSupplierAddList = new ArrayList<>();
List<SectionMaterial> materialAddList = new ArrayList<>();
List<BidRatio> bidRatioAddList = new ArrayList<>();
//是否资审预审项目
boolean isReviewMethod = projectRecordService.isReviewMethod(projectRecord);
@ -447,6 +460,18 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl<ProjectExceptio
}
materialAddList.addAll(materialList);
}
//重新赋值新的项目ID和中选分配原则ID
List<BidRatio> ratioList = bidRatioMap.get(section.getParentSectionId());
if (null != ratioList && !ratioList.isEmpty()) {
for (BidRatio bidRatio : ratioList) {
bidRatio.setSectionId(section.getId());
bidRatio.setProjectId(projectRecord.getId());
bidRatio.setCreateDate(null);
bidRatio.setUpdateDate(null);
bidRatio.setId(PropertyUtils.getSnowflakeId());
}
bidRatioAddList.addAll(ratioList);
}
}
projectRecord.setCreateDate(null);
@ -465,6 +490,10 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl<ProjectExceptio
if (null != materialAddList && !materialAddList.isEmpty()) {
sectionMaterialService.saveBatch(materialAddList);
}
//插入中选分配原则
if (null != bidRatioAddList && !bidRatioAddList.isEmpty()) {
bidRatioService.saveBatch(bidRatioAddList);
}
//通知招标服务邀请函信息
callEbtpMallBidApi(projectRecord, sectionSupplierList);

View File

@ -911,6 +911,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
material.setDemandNo(purpMaterialVO.getRequNo());
material.setDemandName(purpMaterialVO.getRequName());
material.setMaterialExplain(purpMaterialVO.getMaterialDesc());
material.setMaterialBrand(purpMaterialVO.getSpecModel());
material.setMaterialTypeName(purpMaterialVO.getMaterialCategoryName());
material.setProcurementCount(Optional.ofNullable(purpMaterialVO.getInRequNum()).orElseGet(purpMaterialVO::getRequNum));
material.setMaterialUnit(purpMaterialVO.getUnit());