Commit 66b6ca1d authored by liangyb's avatar liangyb

#272 切换含税不含税导致界面报告有问题

parent c37b8c75
#\u7cfb\u7edf\u7248\u672c #\u7cfb\u7edf\u7248\u672c
version=OBEV7.7.9. version=OBEV7.7.9.20240611
keyCharacter= keyCharacter=
#\u6b63\u5f0f\u7248\u672c\u68c0\u67e5\u5347\u7ea7\u7f16\u7801 #\u6b63\u5f0f\u7248\u672c\u68c0\u67e5\u5347\u7ea7\u7f16\u7801
versionUpdateType=OBE_FinalService versionUpdateType=OBE_FinalService
......
...@@ -285,8 +285,6 @@ public abstract class BaseDateSet implements IWordDataSet{ ...@@ -285,8 +285,6 @@ public abstract class BaseDateSet implements IWordDataSet{
if(wordTable.isCross()){ if(wordTable.isCross()){
if(null != wordTable.getRowList()){ if(null != wordTable.getRowList()){
assembleListDataSet(wordTable.getRowList(), wordTable.getParams()); assembleListDataSet(wordTable.getRowList(), wordTable.getParams());
}else if(null != wordTable.getColList()){
assembleListDataSet(wordTable.getRowList(), wordTable.getParams());
} }
}else{ }else{
if(null != wordTable.getRowList()){ if(null != wordTable.getRowList()){
...@@ -824,7 +822,6 @@ public abstract class BaseDateSet implements IWordDataSet{ ...@@ -824,7 +822,6 @@ public abstract class BaseDateSet implements IWordDataSet{
String[] fields; String[] fields;
if(isStruct) { if(isStruct) {
fields = new String[] { fields = new String[] {
"投标人名称 &&supplierName0",
"开标价格 --(含税)&&bidPrice0", "开标价格 --(含税)&&bidPrice0",
"开标价格 --(不含税)&&bidPrice1", "开标价格 --(不含税)&&bidPrice1",
"修正后投标报价(含税)&&evaluationPrice0", "修正后投标报价(含税)&&evaluationPrice0",
...@@ -836,7 +833,6 @@ public abstract class BaseDateSet implements IWordDataSet{ ...@@ -836,7 +833,6 @@ public abstract class BaseDateSet implements IWordDataSet{
}; };
}else { }else {
fields = new String[] { fields = new String[] {
"投标人名称&&supplierName0",
"开标价格 --&&bidPrice0", "开标价格 --&&bidPrice0",
"修正后投标报价&&evaluationPrice0", "修正后投标报价&&evaluationPrice0",
"修正原因&&modifyReason0", "修正原因&&modifyReason0",
...@@ -891,7 +887,7 @@ public abstract class BaseDateSet implements IWordDataSet{ ...@@ -891,7 +887,7 @@ public abstract class BaseDateSet implements IWordDataSet{
supplierMap.put("priceFinalScore", BigDecimalUtils.round(ObjectUtils.getObjBigDecimal(supplierMap.get("priceFinalScore")), 2)); supplierMap.put("priceFinalScore", BigDecimalUtils.round(ObjectUtils.getObjBigDecimal(supplierMap.get("priceFinalScore")), 2));
evaluationPriceSupplierList.add(supplierMap); evaluationPriceSupplierList.add(supplierMap);
} }
String unit = supplierMapList.size() > 0 ? (String)((Map<String, Object>) supplierMapList.get(0).get("supplierOpeningResult")).get("priceUnit") : null; String unit = supplierMapList.size() > 0 && supplierMapList.get(0).get("supplierOpeningResult") != null ? (String)((Map<String, Object>) supplierMapList.get(0).get("supplierOpeningResult")).get("priceUnit") : null;
tableColList = getTableColNameList(fields, unit); tableColList = getTableColNameList(fields, unit);
getStructCrossData(tableColList, supplierMapList); getStructCrossData(tableColList, supplierMapList);
reportDataSet.put("tableColList", tableColList); reportDataSet.put("tableColList", tableColList);
...@@ -910,7 +906,7 @@ public abstract class BaseDateSet implements IWordDataSet{ ...@@ -910,7 +906,7 @@ public abstract class BaseDateSet implements IWordDataSet{
List<Map<String, Object>> factorList = new ArrayList<Map<String, Object>>(); List<Map<String, Object>> factorList = new ArrayList<Map<String, Object>>();
int index = 1; int index = 1;
for(String field : fields){ for(String field : fields){
if(field.contains("--")) { if(field.contains("--") && unit != null) {
field = field.replaceAll("--", unit); field = field.replaceAll("--", unit);
} }
Map<String, Object> colMap = new HashMap<String, Object>(); Map<String, Object> colMap = new HashMap<String, Object>();
......
...@@ -11,6 +11,9 @@ import java.util.Random; ...@@ -11,6 +11,9 @@ import java.util.Random;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.dom4j.Document;
import com.gx.obe.common.file.enumeration.FileConstants;
import com.gx.obe.common.file.utils.ParsingXmlUtils;
import com.gx.obe.business.entity.SupplierEvaluationStep; import com.gx.obe.business.entity.SupplierEvaluationStep;
import com.gx.obe.business.entity.Worker; import com.gx.obe.business.entity.Worker;
import com.gx.obe.business.enumeration.ExpertEnum; import com.gx.obe.business.enumeration.ExpertEnum;
...@@ -20,6 +23,7 @@ import com.gx.obe.components.core.enumeration.EvaluationStepEnum; ...@@ -20,6 +23,7 @@ import com.gx.obe.components.core.enumeration.EvaluationStepEnum;
import com.gx.obe.components.core.enumeration.TenderProjectEnum; import com.gx.obe.components.core.enumeration.TenderProjectEnum;
import com.gx.obe.components.core.util.MoneyUtils; import com.gx.obe.components.core.util.MoneyUtils;
import com.gx.obe.formula.PriceParam; import com.gx.obe.formula.PriceParam;
import com.gx.obe.message.Messages;
import com.gx.obe.report.utils.Bean2MapUtils; import com.gx.obe.report.utils.Bean2MapUtils;
import com.gx.obe.util.utils.BigDecimalUtils; import com.gx.obe.util.utils.BigDecimalUtils;
import com.gx.obe.util.utils.ListSortUtils; import com.gx.obe.util.utils.ListSortUtils;
...@@ -37,6 +41,7 @@ import com.gx.obe.web.entity.price.BidPrice; ...@@ -37,6 +41,7 @@ import com.gx.obe.web.entity.price.BidPrice;
import com.gx.obe.web.entity.price.BidPriceResult; import com.gx.obe.web.entity.price.BidPriceResult;
import com.gx.obe.web.entity.tender.TenderProjectEntity; import com.gx.obe.web.entity.tender.TenderProjectEntity;
import com.report.word.WordTemplate; import com.report.word.WordTemplate;
import com.gx.obe.util.utils.XmlUtils;
public class JingNengEvaluationReportDataSet extends BaseDateSet { public class JingNengEvaluationReportDataSet extends BaseDateSet {
...@@ -774,15 +779,25 @@ public class JingNengEvaluationReportDataSet extends BaseDateSet { ...@@ -774,15 +779,25 @@ public class JingNengEvaluationReportDataSet extends BaseDateSet {
private void getFactorMessage() { private void getFactorMessage() {
EvaluationFactor evaluationFactor =evaluationFactorService.getPriceEvaluationFactor(tenderProject.getId()); EvaluationFactor evaluationFactor =evaluationFactorService.getPriceEvaluationFactor(tenderProject.getId());
String formula = null; String formula = null;
String evalStructMessage = null;
PriceParam priceParam =null; PriceParam priceParam =null;
if(evaluationFactor != null) { if(evaluationFactor != null) {
priceParam = PriceParam.deserializePriceParam(evaluationFactor.getComputerParams()); priceParam = PriceParam.deserializePriceParam(evaluationFactor.getComputerParams());
} }
if (priceParam != null) { if (priceParam != null) {
String separator=System.getProperty("line.separator"); String separator=System.getProperty("line.separator");
formula = priceParam.getFormula(); formula = priceParam.getFormula();
evalStructMessage = priceParam.getEvalStructMessage();
} }
if (!StringUtils.isEmpty(formula)) { if (!StringUtils.isEmpty(formula)) {
boolean isStruct = parserStructProject();
if (!StringUtils.isEmpty(evalStructMessage) && isStruct) {
formula = formula + "\n\n" + Messages.EvalExplainPrice + ":" + evalStructMessage + "\n\n" + Messages.BidExplainPrice + ":"+ evaluationFactor.getMemo();
}
if(!StringUtils.isEmpty(evaluationFactor.getMemo()) && !isStruct) {
formula = formula + "\n\n" + Messages.EvalExplain + ":" + evaluationFactor.getMemo();
}
reportDataSet.putParam("formula", formula); reportDataSet.putParam("formula", formula);
} }
//获取商务技术打分权重 //获取商务技术打分权重
...@@ -804,5 +819,28 @@ public class JingNengEvaluationReportDataSet extends BaseDateSet { ...@@ -804,5 +819,28 @@ public class JingNengEvaluationReportDataSet extends BaseDateSet {
reportDataSet.putParam("priWeight", step.getScore()); reportDataSet.putParam("priWeight", step.getScore());
} }
} }
} }
public boolean parserStructProject() {
// 获得招标文件的指标Document
Document factorDoc = XmlUtils.getXmlDocument(FileConstants.getBiddingFilePath(tenderProject.getId()) + FileConstants.PST_XML);
// 未找到招标文件的指标,则获得投标文件的指标。
if(null == factorDoc){
// 获得投标人集合
List<Supplier> supplierList = supplierService.getSupplierOpenBidList(tenderProject.getId());
if(null != supplierList && supplierList.size() > 0){
// 遍历投标人信息
for(Supplier supplier : supplierList){
if(null != factorDoc){
break;
}
// 获得投标人投标文件下的指标路径
String supplierFactorXmlPath = FileConstants.getBidFilePath(tenderProject.getId(), supplier.getId()) + FileConstants.PST_XML;
// 获得投标文件的指标Document
factorDoc = XmlUtils.getXmlDocument(supplierFactorXmlPath);
}
}
}
return factorDoc == null ? false:ParsingXmlUtils.parsingDocStructXML(factorDoc);
}
} }
...@@ -486,9 +486,9 @@ public class ParsingXmlUtils { ...@@ -486,9 +486,9 @@ public class ParsingXmlUtils {
Element rootElement = factorDoc.getRootElement(); Element rootElement = factorDoc.getRootElement();
// 查找 isTemplate 元素 // 查找 isTemplate 元素
Element isTemplateElement = rootElement.element("isTemplate"); Element isTemplateElement = rootElement.element("isNewVersionFile");
if (isTemplateElement != null) { if (isTemplateElement != null) {
return Boolean.parseBoolean(isTemplateElement.getText()); return isTemplateElement.getText().equals("01");
} }
return false; return false;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment