From 326c5c997d7332b4aa6fa501d731b5024fd05ae7 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Tue, 24 Oct 2023 22:09:06 +0800 Subject: [PATCH 1/4] =?UTF-8?q?add=EF=BC=9A=E6=A0=87=E5=87=86=E6=8B=86?= =?UTF-8?q?=E5=88=86=E8=A1=A8=E6=A0=BC=E5=86=85=E5=AE=B9=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SarFileSplitInfoEOServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java index ffd826ef..db2dcf08 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java @@ -686,7 +686,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService if (ObjectUtils.isNotEmpty(smalltext)) { switch (subscript) { case BASELINE: - xwrun.setText(smalltext); + xwrun.setText(smalltext, 0); break; case SUBSCRIPT: xwrun.setText("" + smalltext + ""); From 45fb0a749fe73156094c2400b825e0c4ec2f10bc Mon Sep 17 00:00:00 2001 From: wxyclub Date: Tue, 24 Oct 2023 22:11:52 +0800 Subject: [PATCH 2/4] =?UTF-8?q?add=EF=BC=9A=E4=BC=81=E6=A0=87=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E7=A8=BF=E6=96=87=E4=BB=B6=E5=87=BA=E7=8E=B0=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E9=87=8D=E5=A4=8D=EF=BC=8C=E7=BC=96=E5=86=99=E5=8E=BB?= =?UTF-8?q?=E9=87=8D=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SarBussStandFileController.java | 8 +++ .../service/ISarBussStandFileService.java | 2 + .../impl/SarBussStandFileServiceImpl.java | 55 +++++++++++++++++++ 3 files changed, 65 insertions(+) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/controller/SarBussStandFileController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/controller/SarBussStandFileController.java index 5984cd8e..d9e266bf 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/controller/SarBussStandFileController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/controller/SarBussStandFileController.java @@ -83,4 +83,12 @@ public class SarBussStandFileController extends BaseController //非在线编辑文件可转换pdf return sarBussStandFileEOService.batchUpdateSarBussFileMQ(); } + + + @ApiOperation(value = "企标发布稿重复问题,去重处理") + @GetMapping("/batchUpdateSarBussFileRepeat") + public ResponseMessage batchUpdateSarBussFileRepeat() throws Exception { + String result = sarBussStandFileEOService.batchUpdateSarBussFileRepeat(); + return Result.success(result); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/service/ISarBussStandFileService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/service/ISarBussStandFileService.java index 56c2d4f9..9225ee69 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/service/ISarBussStandFileService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/service/ISarBussStandFileService.java @@ -21,4 +21,6 @@ public interface ISarBussStandFileService extends IService { ResponseMessage> batchUpdateSarBussFile(); ResponseMessage> batchUpdateSarBussFileMQ(); + + String batchUpdateSarBussFileRepeat(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/service/impl/SarBussStandFileServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/service/impl/SarBussStandFileServiceImpl.java index 339249e0..bc40f93a 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/service/impl/SarBussStandFileServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/service/impl/SarBussStandFileServiceImpl.java @@ -7,11 +7,15 @@ import com.adc.da.common.UseModuleEnum; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; import com.adc.da.mq.CreateOnlineEditingFileMQService; +import com.adc.da.slrs.sarBussStandAttrInfo.entity.SarBussStandAttrInfo; +import com.adc.da.slrs.sarBussStandAttrInfo.service.ISarBussStandAttrInfoService; import com.adc.da.slrs.sarBussStandFile.entity.SarBussStandFile; import com.adc.da.slrs.sarBussStandFile.dao.SarBussStandFileDao; import com.adc.da.slrs.sarBussStandFile.service.ISarBussStandFileService; import com.adc.da.slrs.sarBussionessStand.service.impl.SarBussionessStandServiceImpl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; @@ -20,7 +24,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; /** *

@@ -47,6 +56,9 @@ public class SarBussStandFileServiceImpl extends ServiceImpl selectFileByAttId(String attId) throws Exception{ return sarStandFileEODao.selectFileByAttId(attId); @@ -140,4 +152,47 @@ public class SarBussStandFileServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SarBussStandAttrInfo::getValidFlag,"0"); + wrapper.isNotNull(SarBussStandAttrInfo::getFbgbuss); + wrapper.ne(SarBussStandAttrInfo::getFbgbuss,""); + wrapper.select(SarBussStandAttrInfo::getStandId,SarBussStandAttrInfo::getFbgbuss); + List allStand = standAttrInfoService.list(wrapper); + // 转换为Map + Map fbBussMap = new HashMap<>(); + allStand.forEach(each -> fbBussMap.put(each.getStandId(),each.getFbgbuss())); + // 循环每条数据 + for (Map.Entry entry : fbBussMap.entrySet()) { + // 把发布告文件做分割 + List attIdList = Arrays.asList(entry.getValue().split(",")); + // 根据发布稿文件查询发布告的具体信息,获取原文件名 + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(SarBussStandFile::getValidFlag,"0"); + wrapper1.in(SarBussStandFile::getAttId, attIdList); + List sarBussStandFileList = sarStandFileEODao.selectList(wrapper1); + // 对文件名做去重 + List collect = sarBussStandFileList.stream() + .filter(distinctByKey(SarBussStandFile::getFileName)) +// .sorted(Comparator.comparing(SarBussStandFile::getCreationTime)) + .collect(Collectors.toList()); + // 如果长度不相等,说明执行了去重,需要修改,重新放回企标详情表中 + String fbgbuss = collect.stream().map(SarBussStandFile::getAttId).collect(Collectors.joining(",")); + if (fbgbuss.length() != entry.getValue().length()) { + LambdaUpdateWrapper wrapper2 = new LambdaUpdateWrapper<>(); + wrapper2.eq(SarBussStandAttrInfo::getStandId,entry.getKey()); + wrapper2.set(SarBussStandAttrInfo::getFbgbuss,fbgbuss); + standAttrInfoService.update(wrapper2); + logger.info("出现重复的企标:"+ entry.getKey() + ",去重后发布稿包含:" + fbgbuss + "---去重前发布稿包含:" + entry.getValue()); + } + } + return "去重成功"; + } + public static Predicate distinctByKey(Function keyExtractor) { + Set seen = ConcurrentHashMap.newKeySet(); + return t -> seen.add(keyExtractor.apply(t)); + } } From 9ec4543f1afe2daae0d24c87ebc630a2d3be4051 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Thu, 26 Oct 2023 18:15:44 +0800 Subject: [PATCH 3/4] =?UTF-8?q?add:=20=E4=BC=81=E6=A0=87=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E8=AF=84=E5=88=86=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EsRevisePlanController.java | 70 +++++++++---------- .../service/impl/EsRevisePlanServiceImpl.java | 17 +++++ .../impl/QualityEvaluationServiceImpl.java | 10 +-- 3 files changed, 57 insertions(+), 40 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java index 7435cb01..9728b7e5 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java @@ -74,41 +74,41 @@ public class EsRevisePlanController extends BaseController { } } revisePlan.setArea(area); - //查评分 - if (ObjectUtils.isNotEmpty(revisePlan.getStandId())) { - List last = new ArrayList<>(); - List evaluations = qualityEvaluationDao.getEvaluationForm(new QueryWrapper().eq("law_id", revisePlan.getStandId()).eq("evaluation_type", "quality")); - for (QualityEvaluation evaluation : evaluations) { - Double score; - String value; - if (evaluation.getProcessNode()==null){ - value=""; - }else { - value=evaluation.getProcessNode(); - } - String evaluationScore = ObjectUtils.isEmpty(evaluation.getScore()) ? "0" : evaluation.getScore(); - switch (value){ - case "征求意见": - score=Double.valueOf(evaluationScore) * 0.3; - break; - case "技术委员会评审、评审意见修改": - score=Double.valueOf(evaluationScore) * 0.4; - break; - case "重新技术委员会评审、评审意见修改": - score=Double.valueOf(evaluationScore) * 0.4; - break; - case "标准化复审": - score=Double.valueOf(evaluationScore) * 0.15; - break; - case "标准法规部高级经理审核": - score=Double.valueOf(evaluationScore) * 0.15; - break; - default: score=Double.valueOf(evaluationScore); - } - last.add(score); - } - revisePlan.setScore(last.stream().mapToDouble(Double::doubleValue).sum()); - } +// //查评分 +// if (ObjectUtils.isNotEmpty(revisePlan.getStandId())) { +// List last = new ArrayList<>(); +// List evaluations = qualityEvaluationDao.getEvaluationForm(new QueryWrapper().eq("law_id", revisePlan.getStandId()).eq("evaluation_type", "quality")); +// for (QualityEvaluation evaluation : evaluations) { +// Double score; +// String value; +// if (evaluation.getProcessNode()==null){ +// value=""; +// }else { +// value=evaluation.getProcessNode(); +// } +// String evaluationScore = ObjectUtils.isEmpty(evaluation.getScore()) ? "0" : evaluation.getScore(); +// switch (value){ +// case "征求意见": +// score=Double.valueOf(evaluationScore) * 0.3; +// break; +// case "技术委员会评审、评审意见修改": +// score=Double.valueOf(evaluationScore) * 0.4; +// break; +// case "重新技术委员会评审、评审意见修改": +// score=Double.valueOf(evaluationScore) * 0.4; +// break; +// case "标准化复审": +// score=Double.valueOf(evaluationScore) * 0.15; +// break; +// case "标准法规部高级经理审核": +// score=Double.valueOf(evaluationScore) * 0.15; +// break; +// default: score=Double.valueOf(evaluationScore); +// } +// last.add(score); +// } +// revisePlan.setScore(last.stream().mapToDouble(Double::doubleValue).sum()); +// } } PageInfo pageInfo = getPageInfo(esRevisePlan.getPager(),esRevisePlans); return Result.success(pageInfo); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/impl/EsRevisePlanServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/impl/EsRevisePlanServiceImpl.java index def59e5e..ea06489e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/impl/EsRevisePlanServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/service/impl/EsRevisePlanServiceImpl.java @@ -15,6 +15,7 @@ import com.adc.da.slrs.esStandRelation.entity.EsStandRelation; import com.adc.da.slrs.esStandRelation.service.IEsStandRelationService; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService; import com.adc.da.sys.entity.UserEO; import com.adc.da.util.UUIDUtils; import com.alibaba.fastjson.JSON; @@ -26,6 +27,9 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.math.RoundingMode; +import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -55,6 +59,8 @@ public class EsRevisePlanServiceImpl extends ServiceImpl getAllPlans(EsRevisePlan esRevisePlan) { @@ -73,6 +79,17 @@ public class EsRevisePlanServiceImpl extends ServiceImpl esRevisePlans = esRevisePlanDao.queryAll(esRevisePlan); + // 获取质量评分 + NumberFormat nf = NumberFormat.getNumberInstance(); + nf.setMaximumFractionDigits(2); + nf.setRoundingMode(RoundingMode.UP); + for (EsRevisePlan revisePlan : esRevisePlans) { + if (StringUtils.isNotBlank(revisePlan.getStandId())) { + Map scoreMap = qualityEvaluationService.getScore(revisePlan.getStandId()); + String quality = nf.format(scoreMap.get("quality")); + revisePlan.setScore(Double.valueOf(quality)); + } + } return esRevisePlans; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java index bd46d2aa..56956419 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java @@ -196,32 +196,32 @@ public class QualityEvaluationServiceImpl extends ServiceImpl countZQYJList = qualityEvaluationDao.selectCountZQYJ(qualityEvaluations.getProcessNode(), qualityEvaluations.getLawId()); if(!countZQYJList.isEmpty()){ countZQYJStr = countZQYJList.size(); } } - if(qualityEvaluations.getProcessNode().equals("技术委员会评审、评审意见修改")) { + if("技术委员会评审、评审意见修改".equals(qualityEvaluations.getProcessNode())) { List countJSWYList = qualityEvaluationDao.selectCountJSWY(qualityEvaluations.getProcessNode(), qualityEvaluations.getLawId()); if(!countJSWYList.isEmpty()){ countJSWYStr = countJSWYList.size(); } } - if(qualityEvaluations.getProcessNode().equals("重新技术委员会评审、评审意见修改")) { + if("重新技术委员会评审、评审意见修改".equals(qualityEvaluations.getProcessNode())) { List countCXJSWYList = qualityEvaluationDao.selectCXJSWY(qualityEvaluations.getProcessNode(), qualityEvaluations.getLawId()); if(!countCXJSWYList.isEmpty()){ countCXJSWYStr = countCXJSWYList.size(); } } - if(qualityEvaluations.getProcessNode().equals("标准化复审")) { + if("标准化复审".equals(qualityEvaluations.getProcessNode())) { List countBZHFSList = qualityEvaluationDao.selectBZHFS(qualityEvaluations.getProcessNode(), qualityEvaluations.getLawId()); if(!countBZHFSList.isEmpty()){ countBZHFSStr = countBZHFSList.size(); } } - if(qualityEvaluations.getProcessNode().equals("标准法规部高级经理审核")) { + if("标准法规部高级经理审核".equals(qualityEvaluations.getProcessNode())) { List countBZSHList = qualityEvaluationDao.selectBZSH(qualityEvaluations.getProcessNode(), qualityEvaluations.getLawId()); if(!countBZSHList.isEmpty()){ countBZSHStr = countBZSHList.size(); From cdf4f39f8738c5aa8271b1b420054a0d27ee46c9 Mon Sep 17 00:00:00 2001 From: wxyclub Date: Fri, 27 Oct 2023 19:01:04 +0800 Subject: [PATCH 4/4] =?UTF-8?q?add:=20=E4=BC=81=E6=A0=87=E5=88=B6=E4=BF=AE?= =?UTF-8?q?=E8=AE=A2=E6=B5=81=E7=A8=8B=E4=BC=81=E6=A0=87=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=8D=E5=8F=98=E6=9B=B4=E5=8F=91=E5=B8=83=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workFlow/controller/ActSarItemsBussEOController.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsBussEOController.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsBussEOController.java index be557b57..8da2b14d 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsBussEOController.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsBussEOController.java @@ -66,7 +66,13 @@ public class ActSarItemsBussEOController extends BaseController { } Object issueTime = jsonObject.get("issueTime"); Object standSort = jsonObject.get("standSort"); - if(issueTime!=null && standSort!=null){ + // 如果是企标制修定流程 类别是修改则不修改 发布日期 + String reviseStatus = jsonObject.getString("reviseStatus"); + if ("buss1_3".equals(reviseStatus)) { + issueTime = null; + jsonObject.put("issueTime",null); + } + if(issueTime!=null && standSort!=null){ String issueTimeStr =issueTime.toString(); String standSortStr = standSort.toString(); if(StringUtils.isNotBlank(issueTimeStr) && StringUtils.isNotBlank(standSortStr)){