代码初始化提交。
This commit is contained in:
+43
@@ -0,0 +1,43 @@
|
||||
package com.jero.modules.documenttool.common;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: DirectoryComparator
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-03 11:24
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public class DirectoryComparator implements Comparator<Map<String, Object>> {
|
||||
public int compare(Map<String, Object> dir1, Map<String, Object> dir2) {
|
||||
String sortNumber1 = (String) dir1.get("item_num");
|
||||
String sortNumber2 = (String) dir2.get("item_num");
|
||||
|
||||
String[] parts1 = sortNumber1.split("\\.");
|
||||
String[] parts2 = sortNumber2.split("\\.");
|
||||
|
||||
int i = 0;
|
||||
while (i < parts1.length && i < parts2.length) {
|
||||
int part1 = tryParseInt(parts1[i]);
|
||||
int part2 = tryParseInt(parts2[i]);
|
||||
|
||||
if (part1 != part2) {
|
||||
return part1 - part2;
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
return parts1.length - parts2.length;
|
||||
}
|
||||
|
||||
private int tryParseInt(String str) {
|
||||
try {
|
||||
return Integer.parseInt(str);
|
||||
} catch(NumberFormatException e) {
|
||||
return str.hashCode();
|
||||
}
|
||||
}
|
||||
}
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
package com.jero.modules.documenttool.common;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/13/11:46
|
||||
* @Description:
|
||||
*/
|
||||
public class DocumentSplitCommon {
|
||||
private DocumentSplitCommon(){
|
||||
}
|
||||
/**
|
||||
* 是否null
|
||||
*/
|
||||
public static final String IF_NULL_BEGIN = " IFNULL( ";
|
||||
/**
|
||||
* 是否null
|
||||
*/
|
||||
public static final String IF_NULL_END = " ,'') ";
|
||||
/**
|
||||
* 日期格式化
|
||||
*/
|
||||
public static final String DATE_FORMAT_BEGIN = " date_format( ";
|
||||
/**
|
||||
* 日期格式化
|
||||
*/
|
||||
public static final String DATE_FORMAT_END = " , '%Y-%m-%d') ";
|
||||
/**
|
||||
* 字符转日期
|
||||
*/
|
||||
public static final String STR_TO_DATE_BEGIN = "str_to_date(";
|
||||
/**
|
||||
* between
|
||||
*/
|
||||
public static final String BETWEEN = "between ";
|
||||
/**
|
||||
* 模糊匹配
|
||||
*/
|
||||
public static final String CONCAT_LIKE_BEGIN = " concat('%', '";
|
||||
/**
|
||||
* 模糊匹配
|
||||
*/
|
||||
public static final String CONCAT_LIKE_END = "', '%') ";
|
||||
/**
|
||||
* 包含
|
||||
*/
|
||||
public static final String INSTR_BEGIN = " instr(";
|
||||
/**
|
||||
* and
|
||||
*/
|
||||
public static final String AND = " and ";
|
||||
/**
|
||||
* or
|
||||
*/
|
||||
public static final String OR = " or ";
|
||||
/**
|
||||
* in
|
||||
*/
|
||||
public static final String IN = " in ";
|
||||
/**
|
||||
* like
|
||||
*/
|
||||
public static final String LIKE = " like ";
|
||||
/**
|
||||
* >=
|
||||
*/
|
||||
public static final String GT = " >= ";
|
||||
/**
|
||||
* <=
|
||||
*/
|
||||
public static final String LT = " <= ";
|
||||
/**
|
||||
* 翻译后缀
|
||||
*/
|
||||
public static final String DIC_TEXT = "_dictText";
|
||||
/**
|
||||
* 条目类型 TEXT:文本, IMG:图片, TABLE:表格, INTERPRETATION:解读
|
||||
*/
|
||||
public static final String TEXT = "TEXT";
|
||||
/**
|
||||
* 条目类型 TEXT:文本, IMG:图片, TABLE:表格, INTERPRETATION:解读
|
||||
*/
|
||||
public static final String IMG = "IMG";
|
||||
/**
|
||||
* 条目类型 TEXT:文本, IMG:图片, TABLE:表格, INTERPRETATION:解读
|
||||
*/
|
||||
public static final String TABLE = "TABLE";
|
||||
/**
|
||||
* 拆分状态 1:编辑中 2:已发布
|
||||
*/
|
||||
public static final String SPLIT_STATUS1 = "1";
|
||||
/**
|
||||
* 拆分状态 1:编辑中 2:已发布
|
||||
*/
|
||||
public static final String SPLIT_STATUS2 = "2";
|
||||
public static final String INTERPRETATION = "interpretation";
|
||||
public static final String MEG_DEL = "删除成功!";
|
||||
public static final String MEG_DEL_BATCH = "批量删除成功!";
|
||||
}
|
||||
+404
@@ -0,0 +1,404 @@
|
||||
package com.jero.modules.documenttool.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.documenttool.entity.DocumentSplitInfo;
|
||||
import com.jero.modules.documenttool.entity.LawsDocumentSplitView;
|
||||
import com.jero.modules.documenttool.entity.SplitFileInfo;
|
||||
import com.jero.modules.documenttool.service.IDocumentSplitService;
|
||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||
import com.jero.modules.split.entity.SarFileSplitItemsValEO;
|
||||
import com.jero.modules.split.entity.SarFileSplitMenuEO;
|
||||
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||
import com.jero.modules.system.vo.IdMapBody;
|
||||
import com.jero.modules.system.vo.IdsMapBody;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/12/23:03
|
||||
* @Description: 标准拆分
|
||||
*/
|
||||
|
||||
@Api(tags="标准拆分")
|
||||
@ApiSupport(order = 302)
|
||||
@RestController
|
||||
@RequestMapping("/laws/DocumentTool/documentSplit")
|
||||
@Slf4j
|
||||
public class DocumentSplitController {
|
||||
|
||||
private final IDocumentSplitService documentSplitService;
|
||||
private final ISarFileSplitInfoService sarFileSplitInfoService;
|
||||
|
||||
public DocumentSplitController(IDocumentSplitService documentSplitService,
|
||||
@Lazy ISarFileSplitInfoService sarFileSplitInfoService){
|
||||
this.documentSplitService = documentSplitService;
|
||||
this.sarFileSplitInfoService = sarFileSplitInfoService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分-分页列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分-分页列表查询")
|
||||
@ApiOperation(value="标准拆分-分页列表查询", notes="标准拆分-分页列表查询")
|
||||
@GetMapping(value = "/queryByPage")
|
||||
@ApiOperationSupport(order = 1)
|
||||
public Result<IPage<DocumentSplitInfo>> queryByPage(DocumentSplitInfo documentSplitInfo,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
return Result.OK(documentSplitService.queryByPage(documentSplitInfo, pageNo, pageSize));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分-拆分已入库文本
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分-拆分已入库文本分页列表查询")
|
||||
@ApiOperation(value="标准拆分-拆分已入库文本分页列表查询", notes="标准拆分-拆分已入库文本分页列表查询")
|
||||
@GetMapping(value = "/querySplitFileInfoByPage")
|
||||
@ApiOperationSupport(order = 2)
|
||||
public Result<IPage<SplitFileInfo>> querySplitFileInfoByPage(SplitFileInfo splitFileInfo,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
return Result.OK(documentSplitService.querySplitFileInfoByPage(splitFileInfo, pageNo, pageSize));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分-查看
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分-查看")
|
||||
@ApiOperation(value="标准拆分-查看", notes="标准拆分-查看")
|
||||
@PostMapping(value = "/queryView")
|
||||
@ApiOperationSupport(order = 3)
|
||||
public Result<LawsDocumentSplitView> queryView(@RequestBody @ApiParam("标签管理") Map<String, Object> parameter) {
|
||||
return Result.OK(documentSplitService.queryView(parameter));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分-通过标准拆分id查询目录树形结构
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分-通过标准拆分id查询目录树形结构")
|
||||
@ApiOperation(value="标准拆分-通过标准拆分id查询目录树形结构", notes="标准拆分-通过标准拆分id查询目录树形结构")
|
||||
@GetMapping(value = "/queryTreeMenuByInfoId")
|
||||
@ApiOperationSupport(order = 4)
|
||||
public Result<List<SarFileSplitMenuEO>> queryTreeMenuByInfoId(@ApiParam("标准拆分id") String infoId) {
|
||||
return Result.OK(documentSplitService.queryTreeMenuByInfoId(infoId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 更改权限
|
||||
*
|
||||
* @param documentSplitInfo
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分-更改权限")
|
||||
@ApiOperation(value="标准拆分-更改权限", notes="标准拆分-更改权限")
|
||||
@PostMapping(value = "/updatePermissions")
|
||||
@ApiOperationSupport(order = 5)
|
||||
public Result<T> updatePermissions(@Validated @RequestBody DocumentSplitInfo documentSplitInfo) {
|
||||
documentSplitService.updatePermissions(documentSplitInfo);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 拆分
|
||||
*
|
||||
* @param sarFileSplitInfoEO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分-拆分")
|
||||
@ApiOperation(value="标准拆分-拆分", notes="标准拆分-拆分")
|
||||
@PostMapping(value = "/split")
|
||||
@ApiOperationSupport(order = 6)
|
||||
public Result<T> split(@Validated @RequestBody SarFileSplitInfoEO sarFileSplitInfoEO) {
|
||||
documentSplitService.add(sarFileSplitInfoEO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 发布
|
||||
*
|
||||
* @param parameter
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分-发布")
|
||||
@ApiOperation(value="标准拆分-发布", notes="标准拆分-发布")
|
||||
@PostMapping(value = "/publish")
|
||||
@ApiOperationSupport(order = 7)
|
||||
public Result<T> publish(@RequestBody @ApiParam("标签管理") Map<String, Object> parameter) {
|
||||
documentSplitService.publish(parameter);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 撤回
|
||||
*
|
||||
* @param parameter
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分-撤回")
|
||||
@ApiOperation(value="标准拆分-撤回", notes="标准拆分-撤回")
|
||||
@PostMapping(value = "/revocation")
|
||||
@ApiOperationSupport(order = 8)
|
||||
public Result<T> revocation(@RequestBody @ApiParam("标签管理") Map<String, Object> parameter) {
|
||||
documentSplitService.revocation(parameter);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分-通过id删除")
|
||||
@ApiOperation(value="标准拆分-通过id删除", notes="标准拆分-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
@ApiOperationSupport(order = 9)
|
||||
public Result<T> delete(@RequestBody IdMapBody map){
|
||||
if (StringUtils.isBlank(map.getId())) {
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
documentSplitService.isHorizontalOverstep(map.getId());
|
||||
documentSplitService.checkOutOperation(Collections.singletonList(map.getId()));
|
||||
sarFileSplitInfoService.deleteById(map.getId());
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.SUCCESSFULLY_DELETED));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分-批量删除")
|
||||
@ApiOperation(value="标准拆分-批量删除", notes="标准拆分-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
@ApiOperationSupport(order = 10)
|
||||
public Result<T> deleteBatch(@RequestBody IdsMapBody map) {
|
||||
if (StringUtils.isBlank(map.getIds())) {
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
List<String> list = Arrays.asList(map.getIds().split(","));
|
||||
documentSplitService.isHorizontalOverstep(map.getIds());
|
||||
documentSplitService.checkOutOperation(list);
|
||||
sarFileSplitInfoService.deleteByIds(list);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.SUCCESSFULLY_DELETED_IN_BULK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-分页列表查询
|
||||
* @param parameter
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-分页列表查询")
|
||||
@ApiOperation(value = "标准拆分详情-分页列表查询")
|
||||
@PostMapping("/queryDocumentSplitDetail")
|
||||
@ApiOperationSupport(order = 11)
|
||||
public Result<IPage<Map<String,Object>>> queryDocumentSplitDetail(@RequestBody @ApiParam("标签管理") Map<String, Object> parameter) {
|
||||
try {
|
||||
IPage<Map<String, Object>> data = documentSplitService.queryDocumentSplitDetail(parameter);
|
||||
return Result.OK(data);
|
||||
} catch (JeroBootException e){
|
||||
return Result.error(e.getMessage());
|
||||
} catch (Exception e){
|
||||
return Result.error(MessageUtils.getMessage(ResultCommon.ERROR));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-根据id查询")
|
||||
@ApiOperation(value = "标准拆分详情-根据id查询")
|
||||
@GetMapping("/queryDocumentSplitDetailById")
|
||||
@ApiOperationSupport(order = 12)
|
||||
public Result<Map<String,Object>> queryDocumentSplitDetailById(String id) {
|
||||
return Result.OK(documentSplitService.queryDocumentSplitDetailById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-条目信息列表
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-条目信息列表")
|
||||
@ApiOperation(value = "标准拆分详情-条目信息列表")
|
||||
@GetMapping("/queryItemsValList")
|
||||
@ApiOperationSupport(order = 12)
|
||||
public Result<List<SarFileSplitItemsValEO>> queryItemsValList(String id) {
|
||||
return Result.OK(documentSplitService.queryItemsValList(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-条文解读列表
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-条文解读列表")
|
||||
@ApiOperation(value = "标准拆分详情-条文解读列表")
|
||||
@GetMapping("/queryInterpretationArticlesList")
|
||||
@ApiOperationSupport(order = 13)
|
||||
public Result<List<SarFileSplitItemsValEO>> queryInterpretationArticlesList(String id) {
|
||||
return Result.OK(documentSplitService.queryInterpretationArticlesList(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-编辑
|
||||
* @param parameter
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-编辑")
|
||||
@ApiOperation(value = "标准拆分详情-编辑")
|
||||
@PostMapping("/editDocumentSplitDetail")
|
||||
@ApiOperationSupport(order = 14)
|
||||
public Result<T> editDocumentSplitDetail(@RequestBody @ApiParam("标签管理") Map<String, Object> parameter) {
|
||||
documentSplitService.editDocumentSplitDetail(parameter);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-批量编辑
|
||||
* @param parameter
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-批量编辑")
|
||||
@ApiOperation(value = "标准拆分详情-批量编辑")
|
||||
@PostMapping("/editBatchDocumentSplitDetail")
|
||||
@ApiOperationSupport(order = 15)
|
||||
public Result<T> editBatchDocumentSplitDetail(@RequestBody @ApiParam("标签管理") Map<String, Object> parameter) {
|
||||
try {
|
||||
documentSplitService.editBatchDocumentSplitDetail(parameter);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
} catch (JeroBootException e){
|
||||
return Result.error(e.getMessage());
|
||||
} catch (Exception e){
|
||||
return Result.error(MessageUtils.getMessage(ResultCommon.ERROR));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-删除
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-删除")
|
||||
@ApiOperation(value="标准拆分详情-删除", notes="标准拆分详情-删除")
|
||||
@PostMapping(value = "/deleteDocumentSplitDetail")
|
||||
@ApiOperationSupport(order = 16)
|
||||
public Result<T> deleteDocumentSplitDetail(@RequestBody Map<String, Object> parameter) {
|
||||
documentSplitService.deleteDocumentSplitDetail(parameter);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-批量删除
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-批量删除")
|
||||
@ApiOperation(value="标准拆分详情-批量删除", notes="标准拆分详情-批量删除")
|
||||
@PostMapping(value = "/deleteBatchDocumentSplitDetail")
|
||||
@ApiOperationSupport(order = 17)
|
||||
public Result<T> deleteBatchDocumentSplitDetail(@RequestBody Map<String, Object> parameter) {
|
||||
documentSplitService.deleteBatchDocumentSplitDetail(parameter);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-合并条款
|
||||
* @param parameter
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-合并条款")
|
||||
@ApiOperation(value = "标准拆分详情-合并条款")
|
||||
@PostMapping("/mergeDocumentSplitDetail")
|
||||
@ApiOperationSupport(order = 18)
|
||||
public Result<T> mergeDocumentSplitDetail(@RequestBody @ApiParam("标签管理") Map<String, Object> parameter) {
|
||||
documentSplitService.mergeDocumentSplitDetail(parameter);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-复制
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-复制")
|
||||
@ApiOperation(value = "标准拆分详情-复制")
|
||||
@GetMapping("/copyDocumentSplitDetail")
|
||||
@ApiOperationSupport(order = 19)
|
||||
public Result<T> copyDocumentSplitDetail(String id) {
|
||||
documentSplitService.copyDocumentSplitDetail(id);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-批量复制
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-批量复制")
|
||||
@ApiOperation(value = "标准拆分详情-批量复制")
|
||||
@GetMapping("/copyBatchDocumentSplitDetail")
|
||||
@ApiOperationSupport(order = 20)
|
||||
public Result<T> copyBatchDocumentSplitDetail(String ids) {
|
||||
documentSplitService.copyBatchDocumentSplitDetail(ids);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 标准拆分详情-模板下载
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
@AutoLog(value = "标准拆分详情-模板下载")
|
||||
@ApiOperation(value = "标准拆分详情-模板下载")
|
||||
@GetMapping("/downloadImportTemplate")
|
||||
@ApiOperationSupport(order = 21)
|
||||
public void downloadImportTemplate(HttpServletRequest request, HttpServletResponse response) {
|
||||
documentSplitService.downloadImportTemplate(request, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准拆分详情-导出
|
||||
* @param request
|
||||
* @param response
|
||||
* @AutoLog(value = "标准拆分详情-导出")
|
||||
* @ApiOperation(value = "标准拆分详情-导出")
|
||||
* @GetMapping("/exportDocumentSplitDetail")
|
||||
* public void exportDocumentSplitDetail(@RequestBody Map<String, Object> parameter, HttpServletRequest request, HttpServletResponse response) {
|
||||
* documentSplitService.exportDocumentSplitDetail(parameter, request, response);
|
||||
* }
|
||||
*/
|
||||
}
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
package com.jero.modules.documenttool.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Description: Entity基类
|
||||
* @Author: yjz
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
public class BaseEntity implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** ID */
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "ID")
|
||||
private String id;
|
||||
/** 创建人 */
|
||||
@ApiModelProperty(value = "创建人")
|
||||
// @Excel(name = "创建人", width = 15)
|
||||
@Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
|
||||
private String createBy;
|
||||
/** 创建人 翻译 */
|
||||
@ApiModelProperty(value = "创建人 翻译")
|
||||
@TableField(exist = false)
|
||||
private String createByDictText;
|
||||
/** 创建时间 */
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
// @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private java.util.Date createTime;
|
||||
/** 更新人 */
|
||||
@ApiModelProperty(value = "更新人")
|
||||
// @Excel(name = "更新人", width = 15)
|
||||
@Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
|
||||
private String updateBy;
|
||||
/** 更新人 翻译 */
|
||||
@ApiModelProperty(value = "更新人 翻译")
|
||||
@TableField(exist = false)
|
||||
private String updateByDictText;
|
||||
/** 更新时间 */
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
// @Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private java.util.Date updateTime;
|
||||
/** 逻辑删除 */
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
}
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
package com.jero.modules.documenttool.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/12/23:03
|
||||
* @Description: 文档拆分
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class DocumentSplitInfo extends BaseEntity {
|
||||
/**所属部门*/
|
||||
@ApiModelProperty(value = "所属部门")
|
||||
private String sysOrgCode;
|
||||
/**标准号*/
|
||||
@Excel(name = "标准号", width = 15)
|
||||
@ApiModelProperty(value = "标准号")
|
||||
private String serialNumber;
|
||||
|
||||
/**标准名称*/
|
||||
@Excel(name = "标准名称", width = 15)
|
||||
@ApiModelProperty(value = "标准名称")
|
||||
private String title;
|
||||
|
||||
/**英文标题*/
|
||||
@Excel(name = "英文标题", width = 15)
|
||||
@ApiModelProperty(value = "英文标题")
|
||||
private String titleEn;
|
||||
|
||||
/**文件状态*/
|
||||
@Excel(name = "文件状态", width = 15, dicCode = "file_type")
|
||||
@Dict(dicCode = "process_manuscript")
|
||||
private String fileType;
|
||||
|
||||
/**文件名称*/
|
||||
@Excel(name = "文件名称", width = 15)
|
||||
@ApiModelProperty(value = "文件名称")
|
||||
private String fileName;
|
||||
|
||||
/**拆分状态(1:编辑中 2:已发布)*/
|
||||
@Excel(name = "拆分状态", width = 15)
|
||||
@ApiModelProperty(value = "拆分状态(1:编辑中 2:已发布)")
|
||||
@Dict(dicCode = "split_status")
|
||||
private String splitStatus;
|
||||
|
||||
/**编辑人*/
|
||||
@Excel(name = "编辑人", width = 15)
|
||||
@ApiModelProperty(value = "编辑人")
|
||||
private String author;
|
||||
|
||||
// 拆分时间 父类createTime
|
||||
|
||||
/**拆分结果*/
|
||||
@Excel(name = "拆分结果", width = 15)
|
||||
@ApiModelProperty(value = "拆分结果")
|
||||
private String splitResult;
|
||||
|
||||
/**文件id*/
|
||||
@Excel(name = "文件id", width = 15)
|
||||
@ApiModelProperty(value = "文件id")
|
||||
private String fileId;
|
||||
|
||||
/**文档库关联id*/
|
||||
@Excel(name = "文档库关联id", width = 15)
|
||||
@ApiModelProperty(value = "文档库关联id")
|
||||
private String connectId;
|
||||
|
||||
/**标准关联id*/
|
||||
@Excel(name = "标准关联id", width = 15)
|
||||
@ApiModelProperty(value = "标准关联id")
|
||||
private String standardId;
|
||||
|
||||
/**发布前id*/
|
||||
@Excel(name = "发布前id", width = 15)
|
||||
@ApiModelProperty(value = "发布前id")
|
||||
private String publishBeforeId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String cut;
|
||||
|
||||
/**ids 搜索用*/
|
||||
@ApiModelProperty(value = "标ids 搜索用")
|
||||
@TableField(exist = false)
|
||||
private String ids;
|
||||
|
||||
/**标准编号/标准名称 搜索用*/
|
||||
@ApiModelProperty(value = "标准编号/标准名称 搜索用")
|
||||
@TableField(exist = false)
|
||||
private String serialNumberOrName;
|
||||
|
||||
/**标准标识(1:国内,3:企业)*/
|
||||
@ApiModelProperty(value = "标准标识(1:国内,3:企业)")
|
||||
@TableField(exist = false)
|
||||
@Dict(dicCode = "split_standard_source")
|
||||
private String splitStandardSource;
|
||||
}
|
||||
+140
@@ -0,0 +1,140 @@
|
||||
package com.jero.modules.documenttool.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.*;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/15/19:34
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
@TableName("laws_document_split")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="laws_document_split对象", description="文档拆分")
|
||||
public class LawsDocumentSplit extends BaseEntity {
|
||||
/**
|
||||
* 条文号
|
||||
*/
|
||||
@ApiModelProperty("条文号")
|
||||
private String itemNum;
|
||||
|
||||
/**
|
||||
* 条文标题
|
||||
*/
|
||||
@ApiModelProperty("条文标题")
|
||||
private String itemTitle;
|
||||
|
||||
/**
|
||||
* 条文内容
|
||||
*/
|
||||
@ApiModelProperty("条文内容")
|
||||
private String itemContent;
|
||||
|
||||
/**
|
||||
* 展示顺序
|
||||
*/
|
||||
@ApiModelProperty("展示顺序")
|
||||
private String sortNumber;
|
||||
|
||||
/**
|
||||
* 拆分目录id
|
||||
*/
|
||||
@ApiModelProperty("拆分目录id")
|
||||
private String menuId;
|
||||
|
||||
/**
|
||||
* 技术领域
|
||||
*/
|
||||
@ApiModelProperty("技术领域")
|
||||
private String technicalField;
|
||||
|
||||
/**
|
||||
* 信息类别
|
||||
*/
|
||||
@ApiModelProperty("信息类别")
|
||||
private String infoType;
|
||||
|
||||
/**
|
||||
* 法规要求类型
|
||||
*/
|
||||
@ApiModelProperty("法规要求类型")
|
||||
private String lawsRequireType;
|
||||
|
||||
/**
|
||||
* 功能分类
|
||||
*/
|
||||
@ApiModelProperty("功能分类")
|
||||
private String functionClassification;
|
||||
|
||||
/**
|
||||
* 功能专业
|
||||
*/
|
||||
@ApiModelProperty("功能专业")
|
||||
private String functionProfessional;
|
||||
|
||||
/**
|
||||
* 功能分组编码
|
||||
*/
|
||||
@ApiModelProperty("功能分组编码")
|
||||
private String functionGroupCode;
|
||||
|
||||
/**
|
||||
* 功能分组名称
|
||||
*/
|
||||
@ApiModelProperty("功能分组名称")
|
||||
private String functionGroupName;
|
||||
|
||||
/**
|
||||
* 新认证实施时间
|
||||
*/
|
||||
@ApiModelProperty("新认证实施时间")
|
||||
private String newCerImplementDate;
|
||||
|
||||
/**
|
||||
* 已认证实施时间
|
||||
*/
|
||||
@ApiModelProperty("已认证实施时间")
|
||||
private String cerImplementDate;
|
||||
|
||||
/**
|
||||
* 新注册实施时间
|
||||
*/
|
||||
@ApiModelProperty("新注册实施时间")
|
||||
private String newRegisterImplementDate;
|
||||
|
||||
/**
|
||||
* 适用车型
|
||||
*/
|
||||
@ApiModelProperty("适用车型")
|
||||
private String applications;
|
||||
|
||||
/**
|
||||
* 动力类型
|
||||
*/
|
||||
@ApiModelProperty("动力类型")
|
||||
private String dynamicType;
|
||||
|
||||
/**
|
||||
* 适用零部件
|
||||
*/
|
||||
@ApiModelProperty("适用零部件")
|
||||
private String applicableComponents;
|
||||
|
||||
/**
|
||||
* 条文解读
|
||||
*/
|
||||
@ApiModelProperty("条文解读")
|
||||
private String interpretationArticles;
|
||||
|
||||
/**
|
||||
* 拆分信息记录id
|
||||
*/
|
||||
@ApiModelProperty("拆分信息记录id")
|
||||
private String infoId;
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.jero.modules.documenttool.entity;
|
||||
|
||||
import com.jero.modules.split.entity.SarFileSplitMenuEO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/18/18:01
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
public class LawsDocumentSplitView {
|
||||
/**
|
||||
* 文档拆分信息
|
||||
*/
|
||||
@ApiModelProperty(value = "文档拆分信息")
|
||||
private DocumentSplitInfo documentSplitInfo;
|
||||
|
||||
/**
|
||||
* 目录
|
||||
*/
|
||||
@ApiModelProperty(value = "目录")
|
||||
private List<SarFileSplitMenuEO> sarFileSplitMenuEO;
|
||||
|
||||
/**
|
||||
* 文档拆分详情信息
|
||||
*/
|
||||
@ApiModelProperty(value = "文档拆分详情信息")
|
||||
private List<Map<String, Object>> documentSplitDetail;
|
||||
}
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
package com.jero.modules.documenttool.entity;
|
||||
|
||||
import io.swagger.annotations.*;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 条目信息
|
||||
*
|
||||
* @author yjz
|
||||
* @since 2023-10-19 00:07:32
|
||||
*/
|
||||
@Data
|
||||
public class SarFileSplitItemsVal implements Serializable {
|
||||
private static final long serialVersionUID = -57474928779384395L;
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
@ApiModelProperty("所属部门")
|
||||
private String sysOrgCode;
|
||||
/**
|
||||
* 条款id
|
||||
*/
|
||||
@ApiModelProperty("条款id")
|
||||
private String itemId;
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@ApiModelProperty("类型")
|
||||
private String type;
|
||||
/**
|
||||
* 条目内容
|
||||
*/
|
||||
@ApiModelProperty("条目内容")
|
||||
private String itemContent;
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
@ApiModelProperty("排序")
|
||||
private Integer displaySeq;
|
||||
/**
|
||||
* 是否有效
|
||||
*/
|
||||
@ApiModelProperty("是否有效")
|
||||
private Integer validFlag;
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
@ApiModelProperty("图片")
|
||||
private String imgName;
|
||||
/**
|
||||
* 用于前端数组排序
|
||||
*/
|
||||
@ApiModelProperty("用于前端数组排序")
|
||||
private Integer indexItem;
|
||||
/**
|
||||
* 创建日期
|
||||
*/
|
||||
@ApiModelProperty("创建日期")
|
||||
private Date creationTime;
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ApiModelProperty("更新人")
|
||||
private String modifyUser;
|
||||
/**
|
||||
* 更新日期
|
||||
*/
|
||||
@ApiModelProperty("更新日期")
|
||||
private Date modifyTime;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ApiModelProperty("创建人")
|
||||
private String creationUser;
|
||||
}
|
||||
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
package com.jero.modules.documenttool.entity;
|
||||
|
||||
import io.swagger.annotations.*;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 目录
|
||||
*
|
||||
* @author yjz
|
||||
* @since 2023-10-18 22:21:48
|
||||
*/
|
||||
@Data
|
||||
public class SarFileSplitMenu implements Serializable {
|
||||
private static final long serialVersionUID = 214967115522705210L;
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
@ApiModelProperty("所属部门")
|
||||
private String sysOrgCode;
|
||||
/**
|
||||
* 信息记录表id
|
||||
*/
|
||||
@ApiModelProperty("信息记录表id")
|
||||
private String infoId;
|
||||
/**
|
||||
* 目录名称
|
||||
*/
|
||||
@ApiModelProperty("目录名称")
|
||||
private String name;
|
||||
/**
|
||||
* 父节点id
|
||||
*/
|
||||
@ApiModelProperty("父节点id")
|
||||
private String parentId;
|
||||
/**
|
||||
* 排序序号
|
||||
*/
|
||||
@ApiModelProperty("排序序号")
|
||||
private Integer displaySeq;
|
||||
/**
|
||||
* 是否有效
|
||||
*/
|
||||
@ApiModelProperty("是否有效")
|
||||
private Integer validFlag;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String remarks;
|
||||
/**
|
||||
* 条款名称
|
||||
*/
|
||||
@ApiModelProperty("条款名称")
|
||||
private String itemName;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@ApiModelProperty("创建人")
|
||||
private String creationUser;
|
||||
/**
|
||||
* 创建日期
|
||||
*/
|
||||
@ApiModelProperty("创建日期")
|
||||
private Date creationTime;
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ApiModelProperty("更新人")
|
||||
private String modifyUser;
|
||||
/**
|
||||
* 更新日期
|
||||
*/
|
||||
private Date modifyTime;
|
||||
}
|
||||
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
package com.jero.modules.documenttool.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @ClassName: SplitFileInfo
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-14 11:29
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class SplitFileInfo {
|
||||
@Excel(name = "id")
|
||||
@ApiModelProperty(value = "id")
|
||||
private String id;
|
||||
|
||||
@Excel(name = "文件名称")
|
||||
@ApiModelProperty(value = "文件名称")
|
||||
private String fileName;
|
||||
|
||||
@Excel(name = "文件地址")
|
||||
@ApiModelProperty(value = "文件地址")
|
||||
private String url;
|
||||
|
||||
@Excel(name = "标准文件类型")
|
||||
@Dict(dicCode = "process_manuscript")
|
||||
@ApiModelProperty(value = "标准文件类型")
|
||||
private String standardFileType;
|
||||
|
||||
@ApiModelProperty(value = "标准id")
|
||||
@Excel(name = "标准id")
|
||||
private String standardId;
|
||||
|
||||
@ApiModelProperty(value = "标准编号")
|
||||
@Excel(name = "标准编号")
|
||||
private String standardNo;
|
||||
|
||||
@ApiModelProperty(value = "创建人")
|
||||
@Excel(name = "创建人")
|
||||
private String createBy;
|
||||
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "创建日期")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "更新日期")
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "来源")
|
||||
@Dict(dicCode = "standard_source")
|
||||
private String origin;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "标准号")
|
||||
private String standardNumber;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "标准名称")
|
||||
private String standardName;
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package com.jero.modules.documenttool.factory;
|
||||
|
||||
import com.jero.modules.documenttool.handler.AbstractConditionBase;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/13/17:03
|
||||
* @Description: 工厂设计模式
|
||||
*/
|
||||
public class ConditionMapFactory {
|
||||
private ConditionMapFactory(){
|
||||
}
|
||||
|
||||
/**
|
||||
* 静态map容器
|
||||
*/
|
||||
private static Map<String, AbstractConditionBase> strategyMap = new HashMap<>();
|
||||
|
||||
/**
|
||||
* 获取对应实现类
|
||||
* @param key:键
|
||||
* @return AbstractConditionBase:具体实现类
|
||||
*/
|
||||
public static AbstractConditionBase getInvokeStrategy(String key){
|
||||
return strategyMap.get(key);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册到工厂方法
|
||||
* @param key:键
|
||||
* @param abstractConditionBase:具体实现类
|
||||
*/
|
||||
public static void register(String key, AbstractConditionBase abstractConditionBase){
|
||||
if (StringUtils.isEmpty(key) || Objects.isNull(abstractConditionBase)){
|
||||
return;
|
||||
}
|
||||
strategyMap.put(key, abstractConditionBase);
|
||||
}
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
package com.jero.modules.documenttool.handler;
|
||||
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/13/17:01
|
||||
* @Description: 抽象类
|
||||
*/
|
||||
@Slf4j
|
||||
public abstract class AbstractConditionBase {
|
||||
|
||||
private static final String EXPLAIN = "抽象类";
|
||||
/**
|
||||
* 构建查询条件
|
||||
* @return 拼接完成的sql
|
||||
*/
|
||||
public String buildCondition(String fieldName, String value){
|
||||
log.info("{}构建查询条件字段名:{}, 参数值{}", EXPLAIN, fieldName, value);
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建修改字段
|
||||
* @return 拼接完成的sql
|
||||
*/
|
||||
public String buildUpdate(String fieldName, String value){
|
||||
log.info("{}构建修改字段字段名:{}, 参数值{}", EXPLAIN, fieldName, value);
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新人、更新时间填充
|
||||
* @return
|
||||
*/
|
||||
public String getUpdateByAndUpdateTime() {
|
||||
// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
// return " update_by = " + "'" + sysUser.getUsername() + "'" + "," +
|
||||
// "update_time = " + FieldCommon.STR_TO_DATE_PREFIX + dateFormat.format(new Date()) + "','%Y-%m-%d %H:%i:%s')";
|
||||
return "";
|
||||
}
|
||||
}
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
package com.jero.modules.documenttool.handler.impl;
|
||||
|
||||
import com.jero.modules.documenttool.common.DocumentSplitCommon;
|
||||
import com.jero.modules.documenttool.factory.ConditionMapFactory;
|
||||
import com.jero.modules.documenttool.handler.AbstractConditionBase;
|
||||
import com.jero.modules.tag.enums.LawsFieldTypeEnum;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/13/17:05
|
||||
* @Description: 多日期查询
|
||||
*/
|
||||
|
||||
@Component
|
||||
public class DateManyConditionImpl extends AbstractConditionBase {
|
||||
|
||||
/**
|
||||
* 实现逻辑,多日期字符串字段(存储时前端从小到大排好序(必须))
|
||||
* 逗号拆分获取首位和末尾日期,来分别匹配是否符合查询参数的两个日期区间
|
||||
* 实现sql参考:(代码拼接中加入了date_format来格式化日期)
|
||||
* select
|
||||
* epr.*
|
||||
* from
|
||||
* event_plan_record epr
|
||||
* where
|
||||
* substring_index('epr.realStartTime', ',', 1) BETWEEN #{startDate} AND #{endDate}
|
||||
* or substring_index('epr.realStartTime', ',', -1) BETWEEN #{startDate} AND #{endDate}
|
||||
* or #{startDate} BETWEEN substring_index('epr.realStartTime', ',', 1) AND substring_index('epr.realStartTime', ',', -1)
|
||||
* or #{endDate} BETWEEN substring_index('epr.realStartTime', ',', 1) AND substring_index('epr.realStartTime', ',', -1)
|
||||
* @param fieldName
|
||||
* @param value
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String buildCondition(String fieldName, String value){
|
||||
// 多日期查询
|
||||
String substringBegin = "SUBSTRING_INDEX(";
|
||||
String substringEndFirst = ", ',', 1)";
|
||||
String substringEndLast = ", ',', -1)";
|
||||
String dateMany = DocumentSplitCommon.AND;
|
||||
if (value.contains(",")) {
|
||||
// 范围查询
|
||||
String[] split = value.split(",");
|
||||
dateMany += "(";
|
||||
String startDate = DocumentSplitCommon.DATE_FORMAT_BEGIN + "'" + split[0] + "'" + DocumentSplitCommon.DATE_FORMAT_END;
|
||||
String endDate = DocumentSplitCommon.DATE_FORMAT_BEGIN + "'" + split[1] + "'" + DocumentSplitCommon.DATE_FORMAT_END;
|
||||
dateMany += "(" +
|
||||
DocumentSplitCommon.DATE_FORMAT_BEGIN + substringBegin + fieldName + substringEndFirst + DocumentSplitCommon.DATE_FORMAT_END + DocumentSplitCommon.BETWEEN + startDate + DocumentSplitCommon.AND + endDate +
|
||||
")" +
|
||||
DocumentSplitCommon.OR +
|
||||
"(" +
|
||||
DocumentSplitCommon.DATE_FORMAT_BEGIN + substringBegin + fieldName + substringEndLast + DocumentSplitCommon.DATE_FORMAT_END + DocumentSplitCommon.BETWEEN + startDate + DocumentSplitCommon.AND + endDate +
|
||||
")" +
|
||||
DocumentSplitCommon.OR +
|
||||
"(" +
|
||||
startDate + DocumentSplitCommon.BETWEEN + DocumentSplitCommon.DATE_FORMAT_BEGIN + substringBegin + fieldName + substringEndFirst + DocumentSplitCommon.DATE_FORMAT_END + DocumentSplitCommon.AND + DocumentSplitCommon.DATE_FORMAT_BEGIN + substringBegin + fieldName + substringEndLast + DocumentSplitCommon.DATE_FORMAT_END +
|
||||
")" +
|
||||
DocumentSplitCommon.OR +
|
||||
"(" +
|
||||
endDate + DocumentSplitCommon.BETWEEN + DocumentSplitCommon.DATE_FORMAT_BEGIN + substringBegin + fieldName + substringEndFirst + DocumentSplitCommon.DATE_FORMAT_END + DocumentSplitCommon.AND + DocumentSplitCommon.DATE_FORMAT_BEGIN + substringBegin + fieldName + substringEndLast + DocumentSplitCommon.DATE_FORMAT_END +
|
||||
")" + ")";
|
||||
} else {
|
||||
dateMany += fieldName + DocumentSplitCommon.LIKE + DocumentSplitCommon.CONCAT_LIKE_BEGIN + value + DocumentSplitCommon.CONCAT_LIKE_END;
|
||||
}
|
||||
return dateMany;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String buildUpdate(String fieldName, String value){
|
||||
return fieldName + " = " + "'" + value +"'";
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化注册到工厂
|
||||
*/
|
||||
@PostConstruct
|
||||
private void register(){
|
||||
ConditionMapFactory.register(LawsFieldTypeEnum.DATE_MANY.getValue(), this);
|
||||
}
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
package com.jero.modules.documenttool.handler.impl;
|
||||
|
||||
import com.jero.modules.documenttool.common.DocumentSplitCommon;
|
||||
import com.jero.modules.documenttool.factory.ConditionMapFactory;
|
||||
import com.jero.modules.documenttool.handler.AbstractConditionBase;
|
||||
import com.jero.modules.tag.enums.LawsFieldTypeEnum;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/13/17:05
|
||||
* @Description: 单日期查询
|
||||
*/
|
||||
|
||||
@Component
|
||||
public class DateSingleConditionImpl extends AbstractConditionBase {
|
||||
|
||||
@Override
|
||||
public String buildCondition(String fieldName, String value){
|
||||
// 单日期查询
|
||||
String dateSingle = DocumentSplitCommon.AND;
|
||||
if (value.contains(",")) {
|
||||
// 范围查询
|
||||
String[] split = value.split(",");
|
||||
String startDate = split[0];
|
||||
String endDate = split[1];
|
||||
dateSingle +=
|
||||
DocumentSplitCommon.DATE_FORMAT_BEGIN + fieldName + DocumentSplitCommon.DATE_FORMAT_END + DocumentSplitCommon.GT + "'" + startDate + "'" +
|
||||
DocumentSplitCommon.AND +
|
||||
DocumentSplitCommon.DATE_FORMAT_BEGIN + fieldName + DocumentSplitCommon.DATE_FORMAT_END + DocumentSplitCommon.LT + "'" + endDate + "'";
|
||||
} else {
|
||||
// 等值查询
|
||||
dateSingle += DocumentSplitCommon.DATE_FORMAT_BEGIN + fieldName + DocumentSplitCommon.DATE_FORMAT_END + "='" + value + "'";
|
||||
}
|
||||
return dateSingle;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String buildUpdate(String fieldName, String value){
|
||||
// return fieldName + " = " + "'" + FieldCommon.STR_TO_DATE_PREFIX + value + FieldCommon.STR_TO_DATE_SUFFIX +"'";
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化注册到工厂
|
||||
*/
|
||||
@PostConstruct
|
||||
private void register(){
|
||||
ConditionMapFactory.register(LawsFieldTypeEnum.DATE_SINGLE.getValue(), this);
|
||||
}
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
package com.jero.modules.documenttool.handler.impl;
|
||||
|
||||
import com.jero.modules.documenttool.common.DocumentSplitCommon;
|
||||
import com.jero.modules.documenttool.handler.AbstractConditionBase;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/13/17:05
|
||||
* @Description: 下拉框查询
|
||||
*/
|
||||
|
||||
@Component
|
||||
public class InConditionImpl extends AbstractConditionBase {
|
||||
|
||||
@Override
|
||||
public String buildCondition(String fieldName, String value){
|
||||
// 下拉框查询
|
||||
StringBuilder in = new StringBuilder();
|
||||
in.append(DocumentSplitCommon.AND).append("((");
|
||||
List<String> list = Arrays.asList(value.split(","));
|
||||
for (String s : list) {
|
||||
in.append(DocumentSplitCommon.INSTR_BEGIN).append(fieldName).append(",").append("'").append(s).append("'").append(")");
|
||||
if (list.indexOf(s) != list.size() -1){
|
||||
in.append(DocumentSplitCommon.OR);
|
||||
}
|
||||
}
|
||||
in.append("))");
|
||||
return in.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化注册到工厂
|
||||
*/
|
||||
@PostConstruct
|
||||
private void register(){
|
||||
// for (String item : FieldCommon.TYPE_LIKE_IN) {
|
||||
// ConditionMapFactory.register(item, this);
|
||||
// }
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.jero.modules.documenttool.handler.impl;
|
||||
|
||||
import com.jero.modules.documenttool.common.DocumentSplitCommon;
|
||||
import com.jero.modules.documenttool.handler.AbstractConditionBase;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/13/17:04
|
||||
* @Description: 模糊查询
|
||||
*/
|
||||
|
||||
@Component
|
||||
public class LikeConditionImpl extends AbstractConditionBase {
|
||||
|
||||
@Override
|
||||
public String buildCondition(String fieldName, String value){
|
||||
// 模糊查询
|
||||
return DocumentSplitCommon.AND + fieldName + DocumentSplitCommon.LIKE +
|
||||
DocumentSplitCommon.CONCAT_LIKE_BEGIN + value + DocumentSplitCommon.CONCAT_LIKE_END;
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化注册到工厂
|
||||
*/
|
||||
@PostConstruct
|
||||
private void register(){
|
||||
// for (String item : FieldCommon.TYPE_LIKE) {
|
||||
// ConditionMapFactory.register(item, this);
|
||||
// }
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package com.jero.modules.documenttool.handler.impl;
|
||||
|
||||
import com.jero.modules.documenttool.handler.AbstractConditionBase;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/15/15:19
|
||||
* @Description: 普通
|
||||
*/
|
||||
@Slf4j
|
||||
public class UniversalImpl extends AbstractConditionBase {
|
||||
public UniversalImpl(){
|
||||
log.info("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String buildUpdate(String fieldName, String value){
|
||||
return fieldName + " = " + "'" + value + "'";
|
||||
}
|
||||
}
|
||||
+212
@@ -0,0 +1,212 @@
|
||||
package com.jero.modules.documenttool.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.documenttool.entity.*;
|
||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||
import com.jero.modules.split.entity.SarFileSplitItemsEO;
|
||||
import com.jero.modules.split.entity.SarFileSplitItemsValEO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/12/23:03
|
||||
* @Description: 文档拆分
|
||||
*/
|
||||
public interface DocumentSplitMapper {
|
||||
/**
|
||||
* 文档拆分-分页列表查询
|
||||
* @param page
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
IPage<DocumentSplitInfo> queryByPage(Page<SarFileSplitInfoEO> page, @Param(Constants.WRAPPER) QueryWrapper<SarFileSplitInfoEO> queryWrapper);
|
||||
|
||||
/**
|
||||
* 文档拆分-列表查询
|
||||
* @param queryWrapper
|
||||
* @return
|
||||
*/
|
||||
List<DocumentSplitInfo> queryByPage(@Param(Constants.WRAPPER) QueryWrapper<SarFileSplitInfoEO> queryWrapper);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-分页列表查询
|
||||
* @param mapPage
|
||||
* @param selectColumn
|
||||
* @param selectCondition
|
||||
* @return
|
||||
*/
|
||||
IPage<Map<String, Object>> queryDocumentSplitDetail(Page<Map<String, Object>> mapPage, @Param("selectColumn") String selectColumn, @Param("selectCondition") String selectCondition);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-列表查询
|
||||
* @param selectColumn
|
||||
* @param selectCondition
|
||||
* @return
|
||||
*/
|
||||
List<Map<String, Object>> queryDocumentSplitDetail(@Param("selectColumn") String selectColumn, @Param("selectCondition") String selectCondition);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-编辑
|
||||
* @param updateSet
|
||||
* @param updateCondition
|
||||
* @return int
|
||||
*/
|
||||
int editDocumentSplitDetail(@Param("updateSet") String updateSet, @Param("updateCondition") String updateCondition);
|
||||
|
||||
/**
|
||||
* 条目查询根据itemId集合
|
||||
* @param itemIdList
|
||||
* @return
|
||||
*/
|
||||
List<SarFileSplitItemsValEO> queryItemsValByItemIds(@Param("itemIdList") List<String> itemIdList);
|
||||
|
||||
/**
|
||||
* 条目查询根据itemId
|
||||
* @param itemId
|
||||
* @return
|
||||
*/
|
||||
List<SarFileSplitItemsValEO> queryItemsValByItemId(@Param("itemId") String itemId, @Param("type") String type);
|
||||
|
||||
/**
|
||||
* 条目删除根据itemId
|
||||
* @param itemId
|
||||
* @return
|
||||
*/
|
||||
int deleteItemsValByItemId(@Param("itemId") String itemId, @Param("type") String type);
|
||||
|
||||
/**
|
||||
* 目录删除根据menuId集合
|
||||
* @param menuIdList
|
||||
*/
|
||||
int sarFileSplitMenuDeleteByIdList(@Param("menuIdList") List<String> menuIdList);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-删除
|
||||
* @param id
|
||||
*/
|
||||
int deleteDocumentSplitDetail(@Param("id") String id);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-批量删除
|
||||
* @param updateCondition
|
||||
*/
|
||||
int deleteBatchDocumentSplitDetail(@Param("updateCondition") String updateCondition);
|
||||
|
||||
/**
|
||||
* 条目批量新增
|
||||
* @param valList
|
||||
* @return
|
||||
*/
|
||||
int addBatchItemsVal(@Param("valList") List<SarFileSplitItemsValEO> valList);
|
||||
|
||||
/**
|
||||
* 文档拆分详情通过id查询
|
||||
* @param id
|
||||
*/
|
||||
Map<String, Object> queryLawsDocumentSplitById(@Param("id") String id);
|
||||
|
||||
/**
|
||||
* 文档拆分详情通过id范围查询
|
||||
* @param id
|
||||
*/
|
||||
Map<String, Object> queryLawsDocumentSplitInId(@Param("idList") String id);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-新增
|
||||
* @param insertField
|
||||
* @param insertValue
|
||||
* @return
|
||||
*/
|
||||
int insertLawsDocumentSplit(@Param("insertField") String insertField, @Param("insertValue") List<String> insertValue);
|
||||
|
||||
/**
|
||||
* 条目批量删除根据itemId
|
||||
* @param itemIds
|
||||
*/
|
||||
int deleteItemsValByItemIds(@Param("itemIds") String itemIds, @Param("type") String type);
|
||||
|
||||
/**
|
||||
* 文档拆分根据id查询
|
||||
* @param id
|
||||
*/
|
||||
DocumentSplitInfo queryDocumentSplitInfoById(@Param("id") String id);
|
||||
|
||||
/**
|
||||
* 文档拆分新增
|
||||
* @param newInfo
|
||||
*/
|
||||
int insertDocumentSplitInfo(DocumentSplitInfo newInfo);
|
||||
|
||||
/**
|
||||
* 目录根据id查询
|
||||
* @param infoId
|
||||
* @return
|
||||
*/
|
||||
List<SarFileSplitMenu> querySarFileSplitMenuByInfoId(@Param("infoId") String infoId);
|
||||
|
||||
/**
|
||||
* 目录批量新增
|
||||
* @param oldMenuList
|
||||
* @return
|
||||
*/
|
||||
int insertBatchSarFileSplitMenuByInfoId(@Param("entities") List<SarFileSplitMenu> oldMenuList);
|
||||
|
||||
/**
|
||||
* 文档拆分详情根据infoid查询
|
||||
* @param infoId
|
||||
* @return
|
||||
*/
|
||||
List<Map<String, Object>> queryLawsDocumentSplitByInfoId(@Param("infoId") String infoId);
|
||||
|
||||
/**
|
||||
* 条目信息根据itemId查询
|
||||
* @param itemId
|
||||
* @return
|
||||
*/
|
||||
List<SarFileSplitItemsVal> querySarFileSplitItemsValByItemId(@Param("itemId") String itemId);
|
||||
|
||||
/**
|
||||
* 条目信息批量新增
|
||||
* @param sarFileSplitItemsVal
|
||||
*/
|
||||
int insertSarFileSplitItemsVal(@Param("entities") List<SarFileSplitItemsVal> sarFileSplitItemsVal);
|
||||
|
||||
/**
|
||||
* 文档拆分详情根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> queryDocumentSplitDetailById(String id);
|
||||
|
||||
/**
|
||||
* 文档拆分-拆分已入库文本分页列表查询
|
||||
* @param queryWrapper
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
IPage<SplitFileInfo> querySplitFileInfoByPage(@Param(Constants.WRAPPER) QueryWrapper<SplitFileInfo> queryWrapper, IPage<SplitFileInfo> page);
|
||||
|
||||
/**
|
||||
* 条文表-根据id集合查询
|
||||
* @param listMapIdList
|
||||
*/
|
||||
List<SarFileSplitItemsEO> querySarFileSplitItemsByIds(@Param("idList") List<String> listMapIdList);
|
||||
|
||||
/**
|
||||
* 文档拆分详情通过idList范围查询
|
||||
* @param idList
|
||||
*/
|
||||
List<LawsDocumentSplit> queryLawsDocumentSplitInIds(List<String> idList);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-查询menuId分组数量
|
||||
* @param infoId
|
||||
*/
|
||||
List<String> queryLawsDocumentSplitGroupByMenuId(@Param("infoId") String infoId);
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.jero.modules.documenttool.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.documenttool.entity.LawsDocumentSplit;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/15/19:32
|
||||
* @Description:
|
||||
*/
|
||||
public interface LawsDocumentSplitMapper extends BaseMapper<LawsDocumentSplit> {
|
||||
}
|
||||
+275
@@ -0,0 +1,275 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.documenttool.mapper.DocumentSplitMapper">
|
||||
|
||||
<insert id="addBatchItemsVal">
|
||||
insert into SAR_FILE_SPLIT_ITEMS_VAL
|
||||
(id, type, item_id, valid_flag, creation_user, creation_time, modify_time, modify_user, display_seq, img_name, item_content, index_item)
|
||||
values
|
||||
<foreach collection="valList" item="item" index="index" separator=",">(
|
||||
#{item.id, jdbcType=VARCHAR}, #{item.type, jdbcType=VARCHAR},
|
||||
#{item.itemId, jdbcType=VARCHAR},
|
||||
#{item.validFlag, jdbcType=INTEGER}, #{item.creationUser, jdbcType=VARCHAR},
|
||||
#{item.creationTime, jdbcType=TIMESTAMP}, #{item.modifyTime, jdbcType=TIMESTAMP},
|
||||
#{item.modifyUser, jdbcType=VARCHAR}, #{item.displaySeq, jdbcType=INTEGER},
|
||||
#{item.imgName, jdbcType=INTEGER},
|
||||
#{item.itemContent, jdbcType=CLOB},
|
||||
#{item.indexItem, jdbcType=INTEGER})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="insertLawsDocumentSplit">
|
||||
insert into laws_document_split(${insertField})
|
||||
values
|
||||
<foreach item='value' index='index' collection='insertValue' open='(' separator=',' close=')'>
|
||||
#{value}
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="insertDocumentSplitInfo">
|
||||
insert into sar_file_split_info(id, create_by, create_time, update_by, update_time, sys_org_code, serial_number, title, file_type, file_name, split_result, file_id, connect_id, title_en, author, split_status, standard_id, del_flag, publish_before_id)
|
||||
values (#{id}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{sysOrgCode}, #{serialNumber}, #{title}, #{fileType}, #{fileName}, #{splitResult}, #{fileId}, #{connectId}, #{titleEn}, #{author}, #{splitStatus}, #{standardId}, #{delFlag}, #{publishBeforeId})
|
||||
</insert>
|
||||
|
||||
<insert id="insertBatchSarFileSplitMenuByInfoId">
|
||||
insert into sar_file_split_menu(id, sys_org_code, info_id, name, parent_id, display_seq, valid_flag, remarks, item_name, creation_user, creation_time, modify_user, modify_time)
|
||||
values
|
||||
<foreach collection="entities" item="entity" separator=",">
|
||||
(#{entity.id}, #{entity.sysOrgCode}, #{entity.infoId}, #{entity.name}, #{entity.parentId}, #{entity.displaySeq}, #{entity.validFlag}, #{entity.remarks}, #{entity.itemName}, #{entity.creationUser}, #{entity.creationTime}, #{entity.modifyUser}, #{entity.modifyTime})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="insertSarFileSplitItemsVal">
|
||||
insert into sar_file_split_items_val(id, sys_org_code, item_id, type, item_content, display_seq, valid_flag, img_name, index_item, creation_time, modify_user, modify_time, creation_user)
|
||||
values
|
||||
<foreach collection="entities" item="entity" separator=",">
|
||||
(#{entity.id}, #{entity.sysOrgCode}, #{entity.itemId}, #{entity.type}, #{entity.itemContent}, #{entity.displaySeq}, #{entity.validFlag}, #{entity.imgName}, #{entity.indexItem}, #{entity.creationTime}, #{entity.modifyUser}, #{entity.modifyTime}, #{entity.creationUser})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<delete id="sarFileSplitMenuDeleteByIdList">
|
||||
delete from SAR_FILE_SPLIT_MENU
|
||||
where id in
|
||||
<foreach collection="menuIdList" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteDocumentSplitDetail">
|
||||
delete from laws_document_split
|
||||
where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteBatchDocumentSplitDetail">
|
||||
delete from laws_document_split
|
||||
where ${updateCondition}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteItemsValByItemId">
|
||||
delete from sar_file_split_items_val
|
||||
where item_id = #{itemId}
|
||||
<choose>
|
||||
<when test="type != null and type != ''">
|
||||
and type = #{type}
|
||||
</when>
|
||||
<otherwise>
|
||||
and type <![CDATA[<>]]> 'interpretation'
|
||||
</otherwise>
|
||||
</choose>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteItemsValByItemIds">
|
||||
delete from sar_file_split_items_val
|
||||
where item_id in
|
||||
<foreach collection="itemIds.split(',')" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
|
||||
<choose>
|
||||
<when test="type != null and type != ''">
|
||||
and type = #{type}
|
||||
</when>
|
||||
<otherwise>
|
||||
and type <![CDATA[<>]]> 'interpretation'
|
||||
</otherwise>
|
||||
</choose>
|
||||
</delete>
|
||||
|
||||
<select id="queryByPage" resultType="com.jero.modules.documenttool.entity.DocumentSplitInfo">
|
||||
select *
|
||||
from (select i.id as id,
|
||||
serial_number,
|
||||
(CASE
|
||||
WHEN length(s.standard_name) > 0 THEN s.standard_name
|
||||
WHEN length(d.standard_name) > 0 THEN d.standard_name
|
||||
ELSE title
|
||||
END) title,
|
||||
(CASE
|
||||
WHEN length(s.id) > 0 THEN 1
|
||||
WHEN length(d.id) > 0 THEN 3
|
||||
ELSE ''
|
||||
END) splitStandardSource,
|
||||
file_type,
|
||||
file_name,
|
||||
split_status,
|
||||
(IF(i.is_asms_import = '1' and u.id is null, i.author, concat(u.realname, '(', u.username, ')'))) as author,
|
||||
i.create_time,
|
||||
i.split_result,
|
||||
u2.id createBy,
|
||||
i.standard_id,
|
||||
i.del_flag,
|
||||
publish_before_id,
|
||||
file_id,
|
||||
u.realname as realname,
|
||||
u.username as username
|
||||
from sar_file_split_info i
|
||||
left join laws_domestic_standard s on i.standard_id = s.id and s.del_flag = 0
|
||||
left join laws_enterprise_standard d on i.standard_id = d.id and d.del_flag = 0
|
||||
left join sys_user u on i.author = u.id
|
||||
left join sys_user u2 on i.create_by = u2.username) t
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="queryDocumentSplitDetail" resultType="java.util.Map">
|
||||
select
|
||||
${selectColumn}
|
||||
from laws_document_split s
|
||||
left join SAR_FILE_SPLIT_MENU m on s.MENU_ID = m.id
|
||||
${selectCondition}
|
||||
</select>
|
||||
|
||||
<select id="queryItemsValByItemIds" resultType="com.jero.modules.split.entity.SarFileSplitItemsValEO">
|
||||
select id, type, item_id, item_content, valid_flag, creation_user,
|
||||
creation_time, modify_time, modify_user, display_seq,img_name,index_item
|
||||
from SAR_FILE_SPLIT_ITEMS_VAL
|
||||
where valid_flag = '0' and ITEM_ID in
|
||||
<foreach collection="itemIdList" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
order by display_seq
|
||||
</select>
|
||||
|
||||
<select id="queryItemsValByItemId" resultType="com.jero.modules.split.entity.SarFileSplitItemsValEO">
|
||||
select id, type, item_id, item_content, valid_flag, creation_user,
|
||||
creation_time, modify_time, modify_user, display_seq,img_name,index_item
|
||||
from SAR_FILE_SPLIT_ITEMS_VAL
|
||||
where valid_flag = '0' and ITEM_ID = #{itemId}
|
||||
<choose>
|
||||
<when test="type != null and type != ''">
|
||||
and type = #{type}
|
||||
</when>
|
||||
<otherwise>
|
||||
and type <![CDATA[<>]]> 'interpretation'
|
||||
</otherwise>
|
||||
</choose>
|
||||
order by display_seq
|
||||
</select>
|
||||
|
||||
<select id="queryLawsDocumentSplitById" resultType="java.util.Map">
|
||||
select *
|
||||
from laws_document_split
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="queryDocumentSplitInfoById"
|
||||
resultType="com.jero.modules.documenttool.entity.DocumentSplitInfo">
|
||||
select id, create_by, create_time, update_by, update_time, sys_org_code,
|
||||
serial_number, title, file_type, file_name, split_result, file_id,
|
||||
connect_id, title_en, author, split_status, standard_id, del_flag
|
||||
from sar_file_split_info
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="querySarFileSplitMenuByInfoId"
|
||||
resultType="com.jero.modules.documenttool.entity.SarFileSplitMenu">
|
||||
select id, sys_org_code, info_id, name, parent_id, display_seq, valid_flag,
|
||||
remarks, item_name, creation_user, creation_time, modify_user, modify_time
|
||||
from sar_file_split_menu
|
||||
where valid_flag = 0 and info_id = #{infoId}
|
||||
</select>
|
||||
|
||||
<select id="queryLawsDocumentSplitByInfoId" resultType="java.util.Map">
|
||||
select * from laws_document_split where del_flag = 0 and info_id = #{infoId}
|
||||
</select>
|
||||
|
||||
<select id="querySarFileSplitItemsValByItemId"
|
||||
resultType="com.jero.modules.documenttool.entity.SarFileSplitItemsVal">
|
||||
select id, sys_org_code, item_id, type, item_content, display_seq, valid_flag,
|
||||
img_name, index_item, creation_time, modify_user, modify_time, creation_user
|
||||
from sar_file_split_items_val
|
||||
where valid_flag = 0 and item_id = #{itemId}
|
||||
</select>
|
||||
|
||||
<select id="queryLawsDocumentSplitInId" resultType="java.util.Map">
|
||||
select *
|
||||
from laws_document_split
|
||||
where id in
|
||||
<foreach collection="idList.split(',')" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="queryDocumentSplitDetailById" resultType="java.util.Map">
|
||||
select *
|
||||
from laws_document_split
|
||||
where id =#{id}
|
||||
</select>
|
||||
|
||||
<select id="querySplitFileInfoByPage" resultType="com.jero.modules.documenttool.entity.SplitFileInfo">
|
||||
select standard.*, o.id id, o.file_name, o.standard_file_type, o.url
|
||||
from (select id standardId, standard_number, standard_number standardNo, standard_name, standard_state, release_date, 1 origin, create_time, create_by, update_by, update_time
|
||||
from laws_domestic_standard
|
||||
where del_flag = 0
|
||||
union all
|
||||
select id standardId, standard_number, standard_number standardNo, standard_name, standard_state, release_date, 3 origin, create_time, create_by, update_by, update_time
|
||||
from laws_enterprise_standard
|
||||
where del_flag = 0) standard left join oss_file o on standardId = o.standard_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="querySarFileSplitItemsByIds" resultType="com.jero.modules.split.entity.SarFileSplitItemsEO">
|
||||
SELECT id,
|
||||
creation_user,
|
||||
creation_time,
|
||||
modify_user,
|
||||
modify_time,
|
||||
sys_org_code,
|
||||
info_id,
|
||||
items_num,
|
||||
items_name,
|
||||
iterms_conditions,
|
||||
menu_id
|
||||
FROM sar_file_split_items
|
||||
WHERE id IN
|
||||
<foreach collection="idList" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="queryLawsDocumentSplitInIds"
|
||||
resultType="com.jero.modules.documenttool.entity.LawsDocumentSplit">
|
||||
select *
|
||||
from laws_document_split
|
||||
where id in
|
||||
<foreach collection="idList" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="queryLawsDocumentSplitGroupByMenuId" resultType="java.lang.String">
|
||||
SELECT *
|
||||
FROM (SELECT menu_id, COUNT(*) count
|
||||
FROM laws_document_split
|
||||
WHERE info_id = #{infoId}
|
||||
GROUP BY menu_id
|
||||
ORDER BY count DESC) t
|
||||
WHERE count > 1
|
||||
</select>
|
||||
|
||||
|
||||
<update id="editDocumentSplitDetail">
|
||||
UPDATE laws_document_split
|
||||
SET ${updateSet}
|
||||
WHERE ${updateCondition}
|
||||
</update>
|
||||
</mapper>
|
||||
+208
@@ -0,0 +1,208 @@
|
||||
package com.jero.modules.documenttool.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.modules.documenttool.entity.DocumentSplitInfo;
|
||||
import com.jero.modules.documenttool.entity.LawsDocumentSplitView;
|
||||
import com.jero.modules.documenttool.entity.SplitFileInfo;
|
||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||
import com.jero.modules.split.entity.SarFileSplitItemsValEO;
|
||||
import com.jero.modules.split.entity.SarFileSplitMenuEO;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author: yjz
|
||||
* @Date: 2023/10/12/23:03
|
||||
* @Description: 文档拆分
|
||||
*/
|
||||
public interface IDocumentSplitService {
|
||||
|
||||
/**
|
||||
* 文档拆分-分页列表查询
|
||||
* @param documentSplitInfo
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
IPage<DocumentSplitInfo> queryByPage(DocumentSplitInfo documentSplitInfo, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 文档拆分-列表查询
|
||||
* @param documentSplitInfo
|
||||
* @return
|
||||
*/
|
||||
List<DocumentSplitInfo> queryByList(DocumentSplitInfo documentSplitInfo);
|
||||
|
||||
/**
|
||||
* 文档拆分-更改权限
|
||||
* @param documentSplitInfo
|
||||
*/
|
||||
void updatePermissions(DocumentSplitInfo documentSplitInfo);
|
||||
|
||||
/**
|
||||
* 判断操作权限
|
||||
* @param ids
|
||||
*/
|
||||
void checkOutOperation(List<String> ids);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-分页列表查询
|
||||
* @param parameter
|
||||
* @return
|
||||
*/
|
||||
IPage<Map<String, Object>> queryDocumentSplitDetail(Map<String, Object> parameter);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-列表查询
|
||||
* @param parameter
|
||||
* @return
|
||||
*/
|
||||
List<Map<String, Object>> queryDocumentSplitDetailByList(Map<String, Object> parameter);
|
||||
|
||||
/**
|
||||
* 文档拆分-拆分
|
||||
* @param sarFileSplitInfoEO
|
||||
*/
|
||||
void add(SarFileSplitInfoEO sarFileSplitInfoEO);
|
||||
|
||||
/**
|
||||
* 拆分文档保存
|
||||
* @param sarFileSplitInfoEO
|
||||
*/
|
||||
void saveDocumentSplitInfo(SarFileSplitInfoEO sarFileSplitInfoEO);
|
||||
|
||||
/**
|
||||
* 企标权限校验
|
||||
* @param sarFileSplitInfoEO
|
||||
*/
|
||||
void enterpriseCheck(SarFileSplitInfoEO sarFileSplitInfoEO);
|
||||
|
||||
/**
|
||||
* 唯一性校验
|
||||
*/
|
||||
void uniqueCheck(SarFileSplitInfoEO sarFileSplitInfoEO);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-编辑
|
||||
* @param parameter
|
||||
*/
|
||||
void editDocumentSplitDetail(Map<String, Object> parameter);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-批量编辑
|
||||
* @param parameter
|
||||
*/
|
||||
void editBatchDocumentSplitDetail(Map<String, Object> parameter);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-合并条款
|
||||
* @param parameter
|
||||
*/
|
||||
void mergeDocumentSplitDetail(Map<String, Object> parameter);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-删除
|
||||
* @param parameter
|
||||
*/
|
||||
void deleteDocumentSplitDetail(Map<String, Object> parameter);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-批量删除
|
||||
* @param parameter
|
||||
*/
|
||||
void deleteBatchDocumentSplitDetail(Map<String, Object> parameter);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-复制
|
||||
* @param id
|
||||
*/
|
||||
void copyDocumentSplitDetail(String id);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-批量复制
|
||||
* @param ids
|
||||
*/
|
||||
void copyBatchDocumentSplitDetail(String ids);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-条目信息列表
|
||||
* @param itemId
|
||||
* @return
|
||||
*/
|
||||
List<SarFileSplitItemsValEO> queryItemsValList(String itemId);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
Map<String,Object> queryDocumentSplitDetailById(String id);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-模板下载
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
void downloadImportTemplate(HttpServletRequest request, HttpServletResponse response);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-条文解读列表
|
||||
* @param itemId
|
||||
* @return
|
||||
*/
|
||||
List<SarFileSplitItemsValEO> queryInterpretationArticlesList(String itemId);
|
||||
|
||||
/**
|
||||
* 文档拆分-查看
|
||||
* @param parameter
|
||||
* @return
|
||||
*/
|
||||
LawsDocumentSplitView queryView(Map<String, Object> parameter);
|
||||
|
||||
/**
|
||||
* 文档拆分-发布
|
||||
* @param parameter
|
||||
* @return
|
||||
*/
|
||||
void publish(Map<String, Object> parameter);
|
||||
|
||||
/**
|
||||
* 文档拆分-撤回
|
||||
* @param parameter
|
||||
*/
|
||||
void revocation(Map<String, Object> parameter);
|
||||
|
||||
/**
|
||||
* 文档拆分详情-导出
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
void exportDocumentSplitDetail(Map<String, Object> parameter, HttpServletRequest request, HttpServletResponse response);
|
||||
|
||||
/**
|
||||
* 文档拆分-拆分已入库文本分页列表查询
|
||||
* @param splitFileInfo
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
IPage<SplitFileInfo> querySplitFileInfoByPage(SplitFileInfo splitFileInfo, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 文档拆分-通过文档拆分id查询目录树形结构
|
||||
* @param infoId
|
||||
* @return
|
||||
*/
|
||||
List<SarFileSplitMenuEO> queryTreeMenuByInfoId(String infoId);
|
||||
|
||||
/**
|
||||
* 文档拆分-是否水平越权
|
||||
* @return
|
||||
*/
|
||||
void isHorizontalOverstep(String ids);
|
||||
|
||||
|
||||
}
|
||||
+1390
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user