diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/LawsComplianceBoardMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/LawsComplianceBoardMapper.java index 3cbc308d1..3d02c2dd9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/LawsComplianceBoardMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/LawsComplianceBoardMapper.java @@ -27,5 +27,5 @@ public interface LawsComplianceBoardMapper { * @param params * @return */ - List> queryList(Map params); + List> queryList(@Param("params") Map params); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml index 737cec12d..118d8ae48 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml @@ -92,7 +92,9 @@ OR pti.prehomo_p_id IS NOT NULL OR pti.verify_p_id IS NOT NULL ) - ${params.condition} + + ${params.condition} + GROUP BY bdl.id order by bdl.create_time desc diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java index 10c3931f0..1a9c4150c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java @@ -97,7 +97,7 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi map.setValue(""); } }); - if(StringUtils.isNotEmpty(dataMap.get("state").toString())){ + if(dataMap.get("state") != null){ String state_dicText = ""; if(StringUtils.equals(cut,CutEnum.CN.getValue())){ state_dicText = stateSysDictItems.stream().filter(sysDictItem -> { @@ -118,7 +118,7 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi } dataMap.put("state_dicText",state_dicText); } - if(StringUtils.isNotEmpty(dataMap.get("technologyTerritory").toString())){ + if(dataMap.get("technologyTerritory") != null){ String technologyTerritory_dictText = disposeTechnologyTerritory(technologyTerritoryList, dataMap.get("technologyTerritory").toString(), cut); dataMap.put("technologyTerritory_dicText",technologyTerritory_dictText); } @@ -153,33 +153,39 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi if(CollectionUtils.isNotEmpty(complianceResultList)){ List dutyTerritoryDictItemList = sysDictItemService.selectItemsByDictCode("duty_territory"); for (Map complianceResult : complianceResultList) { - if (StringUtils.isNotEmpty(complianceResult.get("designStatus").toString())) { + if (complianceResult.get("designStatus") != null) { String textByValue = DesignComplianceStatusEnum.getTextByValue(complianceResult.get("designStatus").toString(), cut); complianceResult.put("designStatus_dicText",textByValue); } - if (StringUtils.isNotEmpty(complianceResult.get("prehomoStatus").toString())) { + if (complianceResult.get("prehomoStatus") != null) { String textByValue = DesignComplianceStatusEnum.getTextByValue(complianceResult.get("prehomoStatus").toString(), cut); complianceResult.put("prehomoStatus_dicText",textByValue); } - if (StringUtils.isNotEmpty(complianceResult.get("verifyStatus").toString())) { + if (complianceResult.get("verifyStatus") != null) { String textByValue = DesignComplianceStatusEnum.getTextByValue(complianceResult.get("verifyStatus").toString(), cut); complianceResult.put("verifyStatus_dicText",textByValue); } - if (StringUtils.isNotEmpty(complianceResult.get("dutyTerritory").toString())) { + if (complianceResult.get("dutyTerritory") != null) { String dutyTerritory_dicText = ""; if (CutEnum.EN.getValue().equals(cut)) { dutyTerritory_dicText = dutyTerritoryDictItemList.stream().filter(dictItem -> { boolean flag = false; - if(StringUtils.equals(dictItem.getItemValue(),complianceResult.get("dutyTerritory").toString())){ - flag = true; + String[] dutyTerritoryArr = complianceResult.get("dutyTerritory").toString().split(","); + for (String duty : dutyTerritoryArr) { + if(StringUtils.equals(dictItem.getItemValue(),duty)){ + flag = true; + } } return flag; }).map(SysDictItem::getEnName).collect(Collectors.joining(",")); } else { dutyTerritory_dicText = dutyTerritoryDictItemList.stream().filter(dictItem -> { boolean flag = false; - if(StringUtils.equals(dictItem.getItemValue(),complianceResult.get("dutyTerritory").toString())){ - flag = true; + String[] dutyTerritoryArr = complianceResult.get("dutyTerritory").toString().split(","); + for (String duty : dutyTerritoryArr) { + if(StringUtils.equals(dictItem.getItemValue(),duty)){ + flag = true; + } } return flag; }).map(SysDictItem::getItemText).collect(Collectors.joining(",")); @@ -193,9 +199,16 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi @Override public void exportComplianceResult(HttpServletResponse response, HttpServletRequest request, Map params) { String cut = (String) params.get("cut"); + String exportAll = (String) params.get("exportAll"); String condition = this.getConditionStr(params); - params.put("condition",condition); - List> exportData = this.lawsComplianceBoardMapper.queryList(params); + params.put("condition",StringUtils.isNotEmpty(condition) ? condition : ""); + List> exportData = new ArrayList<>(); + if(StringUtils.equals(exportAll,"no")){ + IPage page = this.queryPageList(params); + exportData = page.getRecords(); + }else { + exportData = this.lawsComplianceBoardMapper.queryList(params); + } this.disposeData(exportData,cut); if(CollectionUtils.isNotEmpty(exportData)){ List idList = new ArrayList<>(); @@ -206,6 +219,7 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi List> complianceResultList = new ArrayList<>(); if(CollectionUtils.isNotEmpty(idList)){ complianceResultList = this.lawsComplianceBoardMapper.queryComplianceResultList(params); + this.disposeComplianceResult(complianceResultList,cut); } String title = ""; @@ -237,7 +251,8 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi Row firstRow = sheet.createRow(0); //设置居中、表头值。 - for (int i = 0; i <= firstLineTitleArr.length; i++){ + for (int i = 0; i < firstLineTitleArr.length; i++){ + sheet.setColumnWidth(i,5000); Cell cell = firstRow.createCell(i); cell.setCellStyle(titleCellStyle); cell.setCellValue(firstLineTitleArr[i]); @@ -247,46 +262,40 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi if(CollectionUtils.isNotEmpty(exportData)) { int rowIndex = 1; for (int dataIndex = 0; dataIndex < exportData.size(); dataIndex++) { - Row dataRow = sheet.createRow(rowIndex); List> byStandIdcomplianceResultList = new ArrayList<>(); if(CollectionUtils.isNotEmpty(complianceResultList)){ - int finalDataIndex = dataIndex; - byStandIdcomplianceResultList = complianceResultList.stream().filter(comlianceResult -> { - boolean flag = false; - if (StringUtils.equals(comlianceResult.get("standId").toString(), exportData.get(finalDataIndex).get("id").toString())) { - flag = true; + for (Map comlianceResult : complianceResultList) { + if (StringUtils.equals(comlianceResult.get("standId").toString(), exportData.get(dataIndex).get("id").toString())) { + byStandIdcomplianceResultList.add(comlianceResult); } - return flag; - }).collect(Collectors.toList()); + } } if(CollectionUtils.isNotEmpty(byStandIdcomplianceResultList)){ int byStandIdComlianceResultSize = byStandIdcomplianceResultList.size(); for (int i=0; i 1 && i != (byStandIdComlianceResultSize - 1)){ + rowIndex ++; + } } }else { - dataRow.createCell(0).setCellValue(exportData.get(dataIndex).get("serialNumber").toString()); - dataRow.createCell(1).setCellValue(exportData.get(dataIndex).get("title").toString()); - dataRow.createCell(2).setCellValue(exportData.get(dataIndex).get("state_dicText").toString()); - dataRow.createCell(3).setCellValue(exportData.get(dataIndex).get("technologyTerritory_dicText").toString()); - - /*dataRow.createCell(4).setCellValue(exportData.get(dataIndex).get("dutyTerritory").toString()); - dataRow.createCell(5).setCellValue(exportData.get(dataIndex).get("projectName").toString()); - dataRow.createCell(6).setCellValue(exportData.get(dataIndex).get("designStatus").toString()); - dataRow.createCell(7).setCellValue(exportData.get(dataIndex).get("prehomoStats").toString()); - dataRow.createCell(8).setCellValue(exportData.get(dataIndex).get("verifyStatus").toString());*/ + Row dataRow = sheet.createRow(rowIndex); + dataRow.createCell(0).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("serialNumber"))); + dataRow.createCell(1).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("title"))); + dataRow.createCell(2).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("state_dicText"))); + dataRow.createCell(3).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("technologyTerritory_dicText"))); } rowIndex ++; } @@ -304,10 +313,24 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi } } + /** + * 验证值是否是null + * @param str + * @return + */ + public String checkValueIsNotNull(Object str){ + String result = ""; + if(str != null){ + result = str.toString(); + } + return result; + } + @Override public void exportComplianceResultDetail(HttpServletResponse response, HttpServletRequest request, Map params) { String cut = (String) params.get("cut"); List> exportData = this.lawsComplianceBoardMapper.queryComplianceResultList(params); + this.disposeComplianceResult(exportData,cut); if(CollectionUtils.isNotEmpty(exportData)){ String title = ""; String fileName = ""; @@ -338,7 +361,8 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi Row firstRow = sheet.createRow(0); //设置居中、表头值。 - for (int i = 0; i <= firstLineTitleArr.length; i++){ + for (int i = 0; i < firstLineTitleArr.length; i++){ + sheet.setColumnWidth(i,5000); Cell cell = firstRow.createCell(i); cell.setCellStyle(titleCellStyle); cell.setCellValue(firstLineTitleArr[i]); @@ -349,11 +373,11 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi int rowIndex = 1; for (int dataIndex = 0; dataIndex < exportData.size(); dataIndex++) { Row dataRow = sheet.createRow(rowIndex); - dataRow.createCell(0).setCellValue(exportData.get(dataIndex).get("dutyTerritory_dicText").toString()); - dataRow.createCell(1).setCellValue(exportData.get(dataIndex).get("projectName").toString()); - dataRow.createCell(2).setCellValue(exportData.get(dataIndex).get("designStatus_dicText").toString()); - dataRow.createCell(3).setCellValue(exportData.get(dataIndex).get("prehomoStats_dicText").toString()); - dataRow.createCell(4).setCellValue(exportData.get(dataIndex).get("verifyStatus_dicText").toString()); + dataRow.createCell(0).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("dutyTerritory_dicText"))); + dataRow.createCell(1).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("projectName"))); + dataRow.createCell(2).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("designStatus_dicText"))); + dataRow.createCell(3).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("prehomoStatus_dicText"))); + dataRow.createCell(4).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("verifyStatus_dicText"))); rowIndex ++; } } diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 9c6d5420c..ea00ab8e6 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1160,4 +1160,5 @@ module.exports = { turnOffAutomaticMatching:'Turn Off Automatic Matching', Deriveconformanceresults:'Derive Conformance Results', Regulatorycompliancekanban:'Regulatory Compliance Kanban', + exportComparisonReport:'Export Comparison Report', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 303b3ba6a..ace33b547 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1164,4 +1164,5 @@ module.exports = { viewTheComparisonResults:'查看对比结果', addFullTextComment:'添加全文评论', turnOffAutomaticMatching:'关闭自动匹配', + exportComparisonReport:'导出对比报告', } \ No newline at end of file diff --git a/jero-web/src/components/layouts/TabLayout.vue b/jero-web/src/components/layouts/TabLayout.vue index 042a5d153..3d15fba0b 100644 --- a/jero-web/src/components/layouts/TabLayout.vue +++ b/jero-web/src/components/layouts/TabLayout.vue @@ -98,6 +98,7 @@ this.$route.path == '/projectStatusAndProgress' || this.$route.path == '/TaskPlanList' || this.$route.path == '/documentDataComparison' || + this.$route.path == '/comparisonResults' || this.$route.path == '/initiateDocumentComparison' || this.$route.path == '/evaluationProcess' || this.$route.path == '/evaluationResultsClause' || diff --git a/jero-web/src/config/router.config.js b/jero-web/src/config/router.config.js index 2f59d7f5e..be6370596 100644 --- a/jero-web/src/config/router.config.js +++ b/jero-web/src/config/router.config.js @@ -392,6 +392,11 @@ export const constantRouterMap = [ name: 'documentDataComparison', component: () => import(/* webpackChunkName: "user" */ '@/views/documentTools/documentComparison/components/documentDataComparison') }, + { + path: '/comparisonResults', + name: 'comparisonResults', + component: () => import(/* webpackChunkName: "user" */ '@/views/documentTools/documentComparison/components/comparisonResults') + }, { path: '/handshakeProcess', name: 'handshakeProcess', diff --git a/jero-web/src/views/documentTools/documentComparison/components/comparisonResults.vue b/jero-web/src/views/documentTools/documentComparison/components/comparisonResults.vue new file mode 100644 index 000000000..e5299048a --- /dev/null +++ b/jero-web/src/views/documentTools/documentComparison/components/comparisonResults.vue @@ -0,0 +1,185 @@ + + + + + \ No newline at end of file diff --git a/jero-web/src/views/documentTools/documentComparison/index.vue b/jero-web/src/views/documentTools/documentComparison/index.vue index 6f9e548a4..8a0f581dd 100644 --- a/jero-web/src/views/documentTools/documentComparison/index.vue +++ b/jero-web/src/views/documentTools/documentComparison/index.vue @@ -261,7 +261,7 @@ }, initiatingProcessClick(){ let newUrl = this.$router.resolve({ - path: '/documentDataComparison', + path: '/comparisonResults', }) window.open(newUrl.href, '_blank') },