package com.gx.obe.struct.handler; import java.util.ArrayList; import java.util.List; import java.util.Optional; import com.gx.obe.business.entity.SupplierEvaluationFactor; import com.gx.obe.struct.inters.IFactorClearBidContent; import com.gx.obe.web.entity.Supplier; import com.gx.obe.web.entity.evaluation.EvaluationFactor; import com.gx.obe.web.entity.tender.TenderProjectEntity; import com.gx.obe.web.service.SupplierEvaluationFactorService; import com.gx.obe.web.vo.FactorClearBidContent; public class FactorClearBidContentHandler implements IFactorClearBidContent { private final SupplierEvaluationFactorService supplierEvaluationFactorService = new SupplierEvaluationFactorService(); private final Optional<TenderProjectEntity> tenderProject; private final Optional<FactorClearBidContent> factorClearBidContent; public FactorClearBidContentHandler(TenderProjectEntity tenderProject) { this.tenderProject = Optional.ofNullable(tenderProject); this.factorClearBidContent = this.tenderProject.map(TenderProjectEntity::getId).map(supplierEvaluationFactorService::getScoreFactorClearBidContent); } @Override public String getTableName() { return null; } @Override public String getFileName() { return "商务技术评审因素汇总表.xlsx"; } @Override public List<Supplier> getSupplierList() { return factorClearBidContent.map(FactorClearBidContent::getSupplierList).orElseGet(ArrayList::new); } @Override public List<EvaluationFactor> getFactorList() { return factorClearBidContent.map(FactorClearBidContent::getFactorList).orElseGet(ArrayList::new); } @Override public List<SupplierEvaluationFactor> getSupplierEvaluationFactorList() { return factorClearBidContent.map(FactorClearBidContent::getSupplierEvaluationFactorList).orElseGet(ArrayList::new); } @Override public String getContent(SupplierEvaluationFactor supplierEvaluationFactor) { return supplierEvaluationFactor.getOpinion(); } }