From 133c09dbb85041d23b533e5a0a460a309ce28b16 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Fri, 21 Jun 2024 09:04:44 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E4=B8=80=E8=88=AC=E6=A3=80?= =?UTF-8?q?=E7=B4=A2=E3=80=81=E9=AB=98=E7=BA=A7=E6=A3=80=E7=B4=A2=E3=80=81?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/DocumentSplitMapper.xml | 12 +- .../impl/DocumentSplitServiceImpl.java | 24 +- .../home/common/LawsHomeSearchCommon.java | 11 +- .../controller/LawsHomeSearchController.java | 33 +- .../home/dto/LawsHomeNormalSearchDTO.java | 4 +- .../entity/LawsHomeNormalSearchHistory.java | 4 +- .../home/mapper/xml/LawsHomeSearchMapper.xml | 9 +- .../home/service/ILawsHomeSearchService.java | 24 ++ .../impl/LawsHomeSearchServiceImpl.java | 351 +++++++++++++++++- .../LawsHomeAdvancedSearchClauseExcelVO.java | 119 ++++++ .../vo/LawsHomeAdvancedSearchClauseVO.java | 48 +++ .../LawsHomeAdvancedSearchExportExcelVO.java | 60 +++ ...LawsHomeAdvancedSearchStandardExcelVO.java | 31 ++ .../vo/LawsHomeNormalSearchStatisticsVO.java | 4 +- .../laws/home/vo/LawsHomeNormalSearchVO.java | 4 +- .../standard/entity/LawsDomesticStandard.java | 8 +- .../entity/LawsEnterpriseStandard.java | 11 + .../jero/modules/tag/enums/TableNameEnum.java | 3 +- 18 files changed, 709 insertions(+), 51 deletions(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/home/vo/LawsHomeAdvancedSearchClauseExcelVO.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/home/vo/LawsHomeAdvancedSearchClauseVO.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/home/vo/LawsHomeAdvancedSearchExportExcelVO.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/home/vo/LawsHomeAdvancedSearchStandardExcelVO.java diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml index c2f61f9b..5b55f7d3 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/xml/DocumentSplitMapper.xml @@ -217,17 +217,9 @@ diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java index 86b5bd4f..6467508e 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java @@ -54,14 +54,12 @@ import com.jero.modules.sys.entity.LawsEnterpriseStandardLevel; import com.jero.modules.sys.entity.LawsGrade; import com.jero.modules.sys.service.ILawsEnterpriseStandardLevelService; import com.jero.modules.sys.service.ILawsGradeService; +import com.jero.modules.system.entity.SysDepart; import com.jero.modules.system.entity.SysDict; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.model.DepartIdModel; -import com.jero.modules.system.service.ISysDictItemService; -import com.jero.modules.system.service.ISysDictService; -import com.jero.modules.system.service.ISysUserDepartService; -import com.jero.modules.system.service.ISysUserService; +import com.jero.modules.system.service.*; import com.jero.modules.tag.entity.LawsTag; import com.jero.modules.tag.enums.LawsFieldTypeEnum; import com.jero.modules.tag.enums.TableNameEnum; @@ -130,6 +128,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { private final ILawsLabelDatabaseService lawsLabelDatabaseService; private final ISysBaseAPI sysBaseAPI; private final ISarFileSplitItemsValEOService sarFileSplitItemsValEOService; + private final ISysDepartService sysDepartService; private static final String INFO_ID = "info_id"; private static final String ID = "id"; private static final String IDS = "ids"; @@ -160,7 +159,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { PartNameService partNameService, ILawsLabelDatabaseService lawsLabelDatabaseService, ISysBaseAPI sysBaseAPI, - ISarFileSplitItemsValEOService sarFileSplitItemsValEOService) { + ISarFileSplitItemsValEOService sarFileSplitItemsValEOService, ISysDepartService sysDepartService) { this.documentSplitMapper = documentSplitMapper; this.sarFileSplitInfoService = sarFileSplitInfoService; this.lawsCommonMapper = lawsCommonMapper; @@ -181,6 +180,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { this.lawsLabelDatabaseService = lawsLabelDatabaseService; this.sysBaseAPI = sysBaseAPI; this.sarFileSplitItemsValEOService = sarFileSplitItemsValEOService; + this.sysDepartService = sysDepartService; } @Autowired @@ -335,6 +335,10 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { private void dicTranslate(List> records, List fieldListSelect) { List lawsTags = fieldListSelect.stream() .filter(j -> FieldCommon.TYPE_DICT.contains(j.getFieldShowType())).collect(Collectors.toList()); + // 组织结构 + List lawsTags2 = fieldListSelect.stream() + .filter(j -> FieldCommon.GROUP.contains(j.getFieldShowType())).collect(Collectors.toList()); + for (Map map : records) { for (LawsTag lawsTag : lawsTags) { String dbFieldName = lawsTag.getDbFieldName(); @@ -346,6 +350,15 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { } } } + for (LawsTag lawsTag : lawsTags2) { + String dbFieldName = lawsTag.getDbFieldName(); + if (map.containsKey(dbFieldName)){ + List sysDepartList = + sysDepartService.listByIds(Arrays.asList(map.get(dbFieldName).toString().split(","))); + List itemTextList = sysDepartList.stream().map(SysDepart::getDepartName).collect(Collectors.toList()); + map.put(dbFieldName + DocumentSplitCommon.DIC_TEXT, String.join(",", itemTextList)); + } + } // 特殊翻译 specialTranslate(map); } @@ -1469,6 +1482,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { StringBuilder selectColumn = new StringBuilder(); selectColumn.append("s.id"); selectColumn.append(",").append(MENU_ID); + selectColumn.append(",").append("s.info_id"); for (LawsTag lawsTag : fieldListSelect) { selectColumn.append(","); selectColumn.append(DocumentSplitCommon.IF_NULL_BEGIN); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/home/common/LawsHomeSearchCommon.java b/laws-modules/src/main/java/com/jero/modules/laws/home/common/LawsHomeSearchCommon.java index 0ad53e52..a268b8f2 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/home/common/LawsHomeSearchCommon.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/home/common/LawsHomeSearchCommon.java @@ -17,6 +17,10 @@ public class LawsHomeSearchCommon { * 企业标准 */ public static final String LAWS_ENTERPRISE_STANDARD = "3"; + /** + * 条款 + */ + public static final String LAWS_DOCUMENT = "4"; /** * 操作类型,1:add 2:update 3:delete */ @@ -38,14 +42,17 @@ public class LawsHomeSearchCommon { * 企业标准 表名 */ public static final String LAWS_ENTERPRISE_STANDARD_TABLE_NAME = "laws_enterprise_standard"; - + /** + * 高级搜索 表名 + */ + public static final String HOME_SEARCH = "home_search"; /** * 检索方式:1:全文检索 2:标题检索 */ public static final String SEARCH_MODE_1 = "1"; /** - * 企业标准 表名 + * 检索方式:1:全文检索 2:标题检索 */ public static final String SEARCH_MODE_2 = "2"; } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/home/controller/LawsHomeSearchController.java b/laws-modules/src/main/java/com/jero/modules/laws/home/controller/LawsHomeSearchController.java index cad65140..89033fa7 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/home/controller/LawsHomeSearchController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/home/controller/LawsHomeSearchController.java @@ -6,19 +6,19 @@ import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.constant.CommonConstant; import com.jero.modules.laws.home.dto.LawsHomeNormalSearchDTO; import com.jero.modules.laws.home.service.ILawsHomeSearchService; +import com.jero.modules.laws.home.vo.LawsHomeAdvancedSearchClauseVO; import com.jero.modules.laws.home.vo.LawsHomeNormalSearchStatisticsVO; import com.jero.modules.laws.home.vo.LawsHomeNormalSearchVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; +import java.util.List; +import java.util.Map; /** * @author lqt @@ -72,10 +72,31 @@ public class LawsHomeSearchController { return Result.OK(lawsHomeSearchService.getNormalSearchAllCount(homeNormalSearchDTO)); } - @AutoLog(value = "首页-导出", operateType = CommonConstant.OPERATE_TYPE_6) - @ApiOperation(value="首页-导出", notes="首页-导出") + @AutoLog(value = "首页-一般检索导出", operateType = CommonConstant.OPERATE_TYPE_6) + @ApiOperation(value="首页-一般检索导出", notes="首页-一般检索导出") @GetMapping(value = "/normalSearchExportExcel") public ModelAndView normalSearchExportExcel(LawsHomeNormalSearchDTO lawsHomeNormalSearchDTO) { return lawsHomeSearchService.normalSearchExportExcel(lawsHomeNormalSearchDTO); } + + @AutoLog(value = "首页-高级检索(全部)", operateType = CommonConstant.OPERATE_TYPE_1) + @ApiOperation(value="首页-高级检索(全部)", notes="首页-高级检索(全部)") + @GetMapping(value = "/getAdvancedSearchAll") + public Result>> getAdvancedSearchAll(Map parameterMap) { + return lawsHomeSearchService.getAdvancedSearchAll(parameterMap); + } + + @AutoLog(value = "首页-高级检索(条款)", operateType = CommonConstant.OPERATE_TYPE_1) + @ApiOperation(value="首页-高级检索(条款)", notes="首页-高级检索(条款)") + @PostMapping(value = "/getAdvancedSearchClause") + public Result> getAdvancedSearchClause(@RequestBody Map parameterMap) { + return Result.OK(lawsHomeSearchService.getAdvancedSearchClause(parameterMap)); + } + + @AutoLog(value = "首页-高级检索导出", operateType = CommonConstant.OPERATE_TYPE_6) + @ApiOperation(value="首页-高级检索导出", notes="首页-高级检索导出") + @PostMapping(value = "/advancedSearchExportExcel") + public ModelAndView advancedSearchExportExcel(@RequestBody Map parameterMap) { + return lawsHomeSearchService.advancedSearchExportExcel(parameterMap); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/home/dto/LawsHomeNormalSearchDTO.java b/laws-modules/src/main/java/com/jero/modules/laws/home/dto/LawsHomeNormalSearchDTO.java index eee929d8..48c1109c 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/home/dto/LawsHomeNormalSearchDTO.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/home/dto/LawsHomeNormalSearchDTO.java @@ -60,9 +60,9 @@ public class LawsHomeNormalSearchDTO implements Serializable { @ApiModelProperty(value = "状态 (数据字典 只有外来标准法规:standard_state (全部传空)") private String standardState; /** - * 标准分类代码 (数据字典 只有企业标准:standard_sort_code (全部传空) + * 标准分类代码 (数据字典 只有企业标准:standard_category_code (全部传空) */ - @ApiModelProperty(value = "标准分类代码 (数据字典 只有企业标准:standard_sort_code (全部传空)") + @ApiModelProperty(value = "标准分类代码 (数据字典 只有企业标准:standard_category_code (全部传空)") private String categoryCode; /** * 标准状态 (数据字典 只有企业标准:enterprise_standard_state (全部传空) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/home/entity/LawsHomeNormalSearchHistory.java b/laws-modules/src/main/java/com/jero/modules/laws/home/entity/LawsHomeNormalSearchHistory.java index ffcc36e5..d402cc3b 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/home/entity/LawsHomeNormalSearchHistory.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/home/entity/LawsHomeNormalSearchHistory.java @@ -77,9 +77,9 @@ public class LawsHomeNormalSearchHistory implements Serializable { @ApiModelProperty(value = "状态 (数据字典 只有外来标准法规:standard_state (全部传空)") private String standardState; /** - * 标准分类代码 (数据字典 只有企业标准:standard_sort_code (全部传空) + * 标准分类代码 (数据字典 只有企业标准:standard_category_code (全部传空) */ - @ApiModelProperty(value = "标准分类代码 (数据字典 只有企业标准:standard_sort_code (全部传空)") + @ApiModelProperty(value = "标准分类代码 (数据字典 只有企业标准:standard_category_code (全部传空)") private String categoryCode; /** * 标准状态 (数据字典 只有企业标准:enterprise_standard_state (全部传空) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/home/mapper/xml/LawsHomeSearchMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/home/mapper/xml/LawsHomeSearchMapper.xml index 9468fca5..6cc2b74f 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/home/mapper/xml/LawsHomeSearchMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/laws/home/mapper/xml/LawsHomeSearchMapper.xml @@ -87,13 +87,10 @@ ${ew.sqlSegment} group by standard_state