diff --git a/OBE-COMMON/src/com/gx/obe/thread/ImportTenderProjectThread.java b/OBE-COMMON/src/com/gx/obe/thread/ImportTenderProjectThread.java index 6171a02187bdafb5b115691f1ddfdf81474872df..b8dc786d70235164abcbf1eeaf1ed413abc238db 100644 --- a/OBE-COMMON/src/com/gx/obe/thread/ImportTenderProjectThread.java +++ b/OBE-COMMON/src/com/gx/obe/thread/ImportTenderProjectThread.java @@ -3,6 +3,7 @@ package com.gx.obe.thread; import java.io.File; import java.text.MessageFormat; import java.util.List; +import java.util.stream.Collectors; import org.apache.log4j.Logger; import org.dom4j.Document; @@ -20,6 +21,7 @@ import com.gx.obe.components.core.enumeration.CommonEnum; import com.gx.obe.components.core.enumeration.TenderProjectEnum; import com.gx.obe.components.core.util.MoneyUtils; import com.gx.obe.message.Messages; +import com.gx.obe.util.utils.CollectionUtils; import com.gx.obe.util.utils.DateUtils; import com.gx.obe.util.utils.FileUtils; import com.gx.obe.util.utils.ObjectUtils; @@ -28,9 +30,11 @@ import com.gx.obe.util.utils.UuidUtils; import com.gx.obe.util.utils.XmlUtils; import com.gx.obe.web.entity.BidOpeningRoom; import com.gx.obe.web.entity.evaluation.EvaluationFactor; +import com.gx.obe.web.entity.price.BidPrice; import com.gx.obe.web.entity.tender.TenderProjectEntity; import com.gx.obe.web.entity.tender.TenderProjectRuleEntity; import com.gx.obe.web.service.BidOpeningRoomService; +import com.gx.obe.web.service.BidPriceService; import com.gx.obe.web.service.ProjectRuleService; import com.gx.obe.web.service.TenderProjectService; import com.gx.obe.web.service.evaluation.EvaluationFactorService; @@ -392,6 +396,7 @@ public class ImportTenderProjectThread implements Runnable { try { List<EvaluationFactor> evaluationFactorList = ParsingXmlUtils.analyELementXMl(element, childProject); if (null != evaluationFactorList && evaluationFactorList.size() > 0) { + changeFactorList(evaluationFactorList, tenderProjectEntity); if(evaluationFactorService.saveDownloadEvaluationFactor(tenderProjectEntity.getId(), evaluationFactorList) > 0){ callBackMsg(true, evaluationFactorList.size() +"ä¸ªè¯„å®¡æŒ‡æ ‡å¯¼å…¥æˆåŠŸï¼"); } else { @@ -410,6 +415,7 @@ public class ImportTenderProjectThread implements Runnable { try { List<EvaluationFactor> evaluationFactorList = ParsingXmlUtils.analyELementXMl((Element)packEvalFactorList.get(0), tenderProjectEntity); if (null != evaluationFactorList && evaluationFactorList.size() > 0) { + changeFactorList(evaluationFactorList, tenderProjectEntity); if(evaluationFactorService.saveDownloadEvaluationFactor(tenderProjectEntity.getId(), evaluationFactorList) > 0){ callBackMsg(true, evaluationFactorList.size() +"ä¸ªè¯„å®¡æŒ‡æ ‡å¯¼å…¥æˆåŠŸï¼"); } else { @@ -424,7 +430,30 @@ public class ImportTenderProjectThread implements Runnable { } tenderProjectService.updateAssignProperty(tenderProjectEntity, new String[] { "id","isPack" }); } - + + private List<EvaluationFactor> changeFactorList(List<EvaluationFactor> evalFactorList, TenderProjectEntity tenderProjectEntity){ + BidPriceService bidPriceService = new BidPriceService(); + String TAX = "bidPrice"; + String NO_TAX = "noTaxBidPrice"; + List<BidPrice> bidPriceList = bidPriceService.getBidPriceFactorList(tenderProjectEntity.getId()); + return evalFactorList = evalFactorList.stream().map(t -> { + if(BidPrice.BID_PRICE_TOTAL_CODE.equals(t.getBidPriceCode()) && bidPriceList.size() == 1) { + t.setBidPriceCode(bidPriceList.get(0).getBidPriceCode()); + }else if(TAX.equals(t.getBidPriceCode()) || NO_TAX.equals(t.getBidPriceCode())){ + String tax; + if(TAX.equals(t.getBidPriceCode())) { + tax = "TAX_TOTAL_PRICE"; + }else { + tax = "NO_TAX_TOTAL_PRICE"; + } + BidPrice bidPriceResult = CollectionUtils.get(bidPriceList, s -> { + return tax.equals(s.getBidPriceCode()); + }); + t.setBidPriceCode(bidPriceResult.getBidPriceCode()); + } + return t; + }).collect(Collectors.toList()); + } private void callBackMsg(String msg){ if(null != callBack){ callBack.callBackString(" "+ msg); diff --git a/OBE-COMMON/src/com/gx/obe/thread/NewDownloadEvaluationFactorThread.java b/OBE-COMMON/src/com/gx/obe/thread/NewDownloadEvaluationFactorThread.java index 7833653e094ac2cc181e61c2f7e810dff66af35b..013946db6d375cfed0b58c224a876c5a91dda3ba 100644 --- a/OBE-COMMON/src/com/gx/obe/thread/NewDownloadEvaluationFactorThread.java +++ b/OBE-COMMON/src/com/gx/obe/thread/NewDownloadEvaluationFactorThread.java @@ -2,6 +2,7 @@ package com.gx.obe.thread; import java.io.File; import java.util.List; +import java.util.stream.Collectors; import org.apache.log4j.Logger; import org.dom4j.Document; @@ -19,10 +20,13 @@ import com.gx.obe.common.file.utils.ParsingXmlUtils; import com.gx.obe.common.widget.listener.ProgressMessageListener; import com.gx.obe.common.widget.thread.MyThread; import com.gx.obe.config.utils.PropertiesUtils; +import com.gx.obe.util.utils.CollectionUtils; import com.gx.obe.util.utils.StringUtils; import com.gx.obe.web.entity.TransactionServer; import com.gx.obe.web.entity.evaluation.EvaluationFactor; +import com.gx.obe.web.entity.price.BidPrice; import com.gx.obe.web.entity.tender.TenderProjectEntity; +import com.gx.obe.web.service.BidPriceService; import com.gx.obe.web.service.evaluation.EvaluationFactorService; /** @@ -125,6 +129,27 @@ public class NewDownloadEvaluationFactorThread extends MyThread{ } if(null != evalFactorList && evalFactorList.size() > 0){ + BidPriceService bidPriceService = new BidPriceService(); + String TAX = "bidPrice"; + String NO_TAX = "noTaxBidPrice"; + List<BidPrice> bidPriceList = bidPriceService.getBidPriceFactorList(tenderProjectEntity.getId()); + evalFactorList = evalFactorList.stream().map(t -> { + if(BidPrice.BID_PRICE_TOTAL_CODE.equals(t.getBidPriceCode()) && bidPriceList.size() == 1) { + t.setBidPriceCode(bidPriceList.get(0).getBidPriceCode()); + }else if(TAX.equals(t.getBidPriceCode()) || NO_TAX.equals(t.getBidPriceCode())){ + String tax; + if(TAX.equals(t.getBidPriceCode())) { + tax = "TAX_TOTAL_PRICE"; + }else { + tax = "NO_TAX_TOTAL_PRICE"; + } + BidPrice bidPriceResult = CollectionUtils.get(bidPriceList, s -> { + return tax.equals(s.getBidPriceCode()); + }); + t.setBidPriceCode(bidPriceResult.getBidPriceCode()); + } + return t; + }).collect(Collectors.toList()); // 批é‡ä¿å˜ if(evaluationFactorService.saveDownloadEvaluationFactor(tenderProjectEntity.getId(), evalFactorList) > 0){ callBackMsg(true, "[" + tenderProjectEntity.getTenderName() +"] " + evalFactorList.size() +"ä¸ªè¯„å®¡æŒ‡æ ‡ä¸‹è½½æˆåŠŸï¼"); diff --git a/OBE-MANAGEMENT/src/com/gx/obe/management/thread/EvaluationFactorXmlResolverThread.java b/OBE-MANAGEMENT/src/com/gx/obe/management/thread/EvaluationFactorXmlResolverThread.java index 08128e594547158e65b78fa7b68bffc1f04fb0e9..4b2b62365e0c5555bc7ff646c56ee3a53d3ac9ef 100644 --- a/OBE-MANAGEMENT/src/com/gx/obe/management/thread/EvaluationFactorXmlResolverThread.java +++ b/OBE-MANAGEMENT/src/com/gx/obe/management/thread/EvaluationFactorXmlResolverThread.java @@ -116,7 +116,6 @@ public class EvaluationFactorXmlResolverThread implements Runnable { } if (null != factorList) { if(factorList.size() > 0){ - //.equals(BidPrice.BID_PRICE_TOTAL_CODE) BidPriceService bidPriceService = new BidPriceService(); List<BidPrice> bidPriceList = bidPriceService.getBidPriceFactorList(tenderProjectEntity.getId()); factorList = factorList.stream().map(t -> {