修改文档对比-全文对比接口

This commit is contained in:
gaosong
2022-08-05 01:40:14 +08:00
parent a7781e140d
commit f1a396f3fd
26 changed files with 977 additions and 274 deletions
@@ -1,28 +1,29 @@
package com.jero.modules.compare.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.compare.entity.SarFileCompareInfo;
import com.jero.modules.compare.service.ISarFileCompareInfoService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.compare.entity.SarFileCompareDetailVO;
import com.jero.modules.compare.entity.SarFileCompareInfo;
import com.jero.modules.compare.service.ISarFileCompareInfoService;
import com.jero.modules.docTranslation.enums.ReleaseConditionEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
/**
@@ -174,13 +175,11 @@ public class SarFileCompareInfoController extends JeroController<SarFileCompareI
/**
* 发起文档对比
*
* @param leftStandard
* @param rightStandard
* @param remark
* @return
* @param json
* @return 对比详情ID
*/
@AutoLog(value = "发起文档对比")
@ApiOperation(value = "发起文档对比", notes = "发起文档对比")
@AutoLog(value = "文档对比信息表-发起文档对比")
@ApiOperation(value = "文档对比信息表-发起文档对比", notes = "文档对比信息表-发起文档对比")
@RequestMapping(value = "/fullTextComparison", method = RequestMethod.POST)
public Result<?> fullTextComparison(@RequestBody JSONObject json) {
try {
@@ -190,12 +189,43 @@ public class SarFileCompareInfoController extends JeroController<SarFileCompareI
if (json.get("remark") != null) {
remark = json.get("remark").toString();
}
Map<String, Object> resMap = sarFileCompareInfoService.fullTextComparison(leftStandard, rightStandard, remark);
return Result.OK(resMap);
String InfoId = sarFileCompareInfoService.fullTextComparison(leftStandard, rightStandard, remark);
return Result.OK(InfoId);
} catch (Exception ex) {
log.error("发起文档对比失败:" + ex.getMessage());
return Result.OK("发起文档对比失败!");
}
}
/**
* 更改发布状态
*
* @param sarFileCompareInfo
* @return
*/
@AutoLog(value = "文档对比信息表-更改发布状态")
@ApiOperation(value = "文档对比信息表-更改发布状态", notes = "文档对比信息表-更改发布状态")
@RequestMapping(value = "/changeState", method = RequestMethod.POST)
public Result<?> changeState(@Validated @RequestBody SarFileCompareInfo sarFileCompareInfo) {
if (sarFileCompareInfo.getReleaseState().equals(ReleaseConditionEnum.DRAFT.getValue())) {
sarFileCompareInfo.setReleaseState(ReleaseConditionEnum.PUBLISHED.getValue());
} else {
sarFileCompareInfo.setReleaseState(ReleaseConditionEnum.DRAFT.getValue());
}
sarFileCompareInfoService.editById(sarFileCompareInfo);
return Result.OK("更改成功!");
}
/**
* 求对比详情
*
* @return
*/
@AutoLog(value = "文档对比信息表-请求对比详情")
@ApiOperation(value = "文档对比信息表-请求对比详情", notes = "文档对比信息表-请求对比详情")
@RequestMapping(value = "/getComparisonDetail", method = RequestMethod.POST)
public Result<?> getComparisonDetail(@RequestBody JSONObject json) {
SarFileCompareDetailVO sarFileCompareDetailVO = sarFileCompareInfoService.getComparisonDetail(json.get("id").toString());
return Result.OK(sarFileCompareDetailVO);
}
}
@@ -0,0 +1,170 @@
package com.jero.modules.compare.controller;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.compare.entity.SarFileCompareMenu;
import com.jero.modules.compare.service.ISarFileCompareMenuService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
/**
* @Description: 文档对比信息目录表
* @Author: jero-boot
* @Date: 2022-08-03
* @Version: V1.0
*/
@Api(tags="文档对比信息目录表")
@RestController
@RequestMapping("/compare/sarFileCompareMenu")
@Slf4j
public class SarFileCompareMenuController extends JeroController<SarFileCompareMenu, ISarFileCompareMenuService> {
@Autowired
private ISarFileCompareMenuService sarFileCompareMenuService;
/**
* 分页列表查询
*
* @param sarFileCompareMenu
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "文档对比信息目录表-分页列表查询")
@ApiOperation(value="文档对比信息目录表-分页列表查询", notes="文档对比信息目录表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(SarFileCompareMenu sarFileCompareMenu,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<SarFileCompareMenu> queryWrapper = QueryGenerator.initQueryWrapper(sarFileCompareMenu, req.getParameterMap());
Page<SarFileCompareMenu> page = new Page<SarFileCompareMenu>(pageNo, pageSize);
IPage<SarFileCompareMenu> pageList = sarFileCompareMenuService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "文档对比信息目录表-列表查询")
@ApiOperation(value="文档对比信息目录表-列表查询", notes="文档对比信息目录表-列表查询")
@GetMapping(value = "/list")
public Result<List<SarFileCompareMenu>> queryList() {
List<SarFileCompareMenu> list = sarFileCompareMenuService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param sarFileCompareMenu
* @return
*/
@AutoLog(value = "文档对比信息目录表-添加")
@ApiOperation(value="文档对比信息目录表-添加", notes="文档对比信息目录表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody SarFileCompareMenu sarFileCompareMenu) {
sarFileCompareMenuService.add(sarFileCompareMenu);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param sarFileCompareMenu
* @return
*/
@AutoLog(value = "文档对比信息目录表-编辑")
@ApiOperation(value="文档对比信息目录表-编辑", notes="文档对比信息目录表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody SarFileCompareMenu sarFileCompareMenu) {
sarFileCompareMenuService.editById(sarFileCompareMenu);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "文档对比信息目录表-通过id删除")
@ApiOperation(value="文档对比信息目录表-通过id删除", notes="文档对比信息目录表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
sarFileCompareMenuService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "文档对比信息目录表-批量删除")
@ApiOperation(value="文档对比信息目录表-批量删除", notes="文档对比信息目录表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.sarFileCompareMenuService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "文档对比信息目录表-通过id查询")
@ApiOperation(value="文档对比信息目录表-通过id查询", notes="文档对比信息目录表-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
SarFileCompareMenu sarFileCompareMenu = sarFileCompareMenuService.queryById(id);
if(sarFileCompareMenu==null) {
return Result.error("未找到对应数据");
}
return Result.OK(sarFileCompareMenu);
}
/**
* 导出excel
*
* @param request
* @param sarFileCompareMenu
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, SarFileCompareMenu sarFileCompareMenu) {
return super.exportXls(request, sarFileCompareMenu, SarFileCompareMenu.class, "文档对比信息目录表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, SarFileCompareMenu.class);
}
}
@@ -0,0 +1,121 @@
package com.jero.modules.compare.entity;
import java.util.ArrayList;
import java.util.List;
public class SarFileCompareDetailVO {
private String InfoId;
private String serialNumberLeft;
private String fileNameLeft;
private String serialNumberRight;
private String fileNameRight;
private String remark;
private String comments;
private SarFileCompareMenuVo menuLeft;
private List<SarFileCompareItem> textLeft;
private SarFileCompareMenuVo menuRight;
private List<SarFileCompareItem> textRight;
public String getInfoId() {
return InfoId;
}
public void setInfoId(String infoId) {
InfoId = infoId;
}
public String getSerialNumberLeft() {
return serialNumberLeft;
}
public void setSerialNumberLeft(String serialNumberLeft) {
this.serialNumberLeft = serialNumberLeft;
}
public String getFileNameLeft() {
return fileNameLeft;
}
public void setFileNameLeft(String fileNameLeft) {
this.fileNameLeft = fileNameLeft;
}
public String getSerialNumberRight() {
return serialNumberRight;
}
public void setSerialNumberRight(String serialNumberRight) {
this.serialNumberRight = serialNumberRight;
}
public String getFileNameRight() {
return fileNameRight;
}
public void setFileNameRight(String fileNameRight) {
this.fileNameRight = fileNameRight;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getComments() {
return comments;
}
public void setComments(String comments) {
this.comments = comments;
}
public SarFileCompareMenuVo getMenuLeft() {
return menuLeft;
}
public void setMenuLeft(SarFileCompareMenuVo menuLeft) {
this.menuLeft = menuLeft;
}
public List<SarFileCompareItem> getTextLeft() {
return textLeft;
}
public void setTextLeft(List<SarFileCompareItem> textLeft) {
this.textLeft = textLeft;
}
public void addTextLeft(SarFileCompareItem text) {
if (this.textLeft == null) {
this.textLeft = new ArrayList<>();
}
this.textLeft.add(text);
}
public SarFileCompareMenuVo getMenuRight() {
return menuRight;
}
public void setMenuRight(SarFileCompareMenuVo menuRight) {
this.menuRight = menuRight;
}
public List<SarFileCompareItem> getTextRight() {
return textRight;
}
public void setTextRight(List<SarFileCompareItem> textRight) {
this.textRight = textRight;
}
public void addTextRight(SarFileCompareItem text) {
if (this.textRight == null) {
this.textRight = new ArrayList<>();
}
this.textRight.add(text);
}
}
@@ -21,7 +21,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 文档对比信息表
* @Author: jero-boot
* @Date: 2022-08-02
* @Date: 2022-08-04
* @Version: V1.0
*/
@Data
@@ -66,6 +66,11 @@ public class SarFileCompareInfo implements Serializable {
@ApiModelProperty(value = "文档1")
private String fileIdLeft;
/**文档key1*/
@Excel(name = "文档key1", width = 15)
@ApiModelProperty(value = "文档key1")
private String fileKeyLeft;
/**编号1*/
@Excel(name = "编号1", width = 15)
@ApiModelProperty(value = "编号1")
@@ -91,6 +96,11 @@ public class SarFileCompareInfo implements Serializable {
@ApiModelProperty(value = "文档2")
private String fileIdRight;
/**文档key2*/
@Excel(name = "文档key2", width = 15)
@ApiModelProperty(value = "文档key2")
private String fileKeyRight;
/**编号2*/
@Excel(name = "编号2", width = 15)
@ApiModelProperty(value = "编号2")
@@ -21,7 +21,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 文档对比信息条款表
* @Author: jero-boot
* @Date: 2022-08-02
* @Date: 2022-08-04
* @Version: V1.0
*/
@Data
@@ -66,10 +66,10 @@ public class SarFileCompareItem implements Serializable {
@ApiModelProperty(value = "文档对比信息id")
private String infoId;
/**条款id*/
@Excel(name = "条款id", width = 15)
@ApiModelProperty(value = "条款id")
private String itemsId;
/**目录id*/
@Excel(name = "目录id", width = 15)
@ApiModelProperty(value = "目录id")
private String menuId;
/**条款名称*/
@Excel(name = "条款名称", width = 15)
@@ -91,9 +91,9 @@ public class SarFileCompareItem implements Serializable {
@ApiModelProperty(value = "条款展示编号")
private Integer itemsDisplayNum;
/**目标位置*/
@Excel(name = "标位置", width = 15)
@ApiModelProperty(value = "标位置")
/**对应相似条目*/
@Excel(name = "对应相似条", width = 15)
@ApiModelProperty(value = "对应相似条")
private Integer targetStand;
/**条款位置*/
@@ -0,0 +1,126 @@
package com.jero.modules.compare.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 文档对比信息目录表
* @Author: jero-boot
* @Date: 2022-08-04
* @Version: V1.0
*/
@Data
@TableName("sar_file_compare_menu")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="sar_file_compare_menu对象", description="文档对比信息目录表")
public class SarFileCompareMenu implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**目录ID*/
@Excel(name = "目录ID", width = 15)
@ApiModelProperty(value = "目录ID")
private String menuId;
/**信息ID*/
@Excel(name = "信息ID", width = 15)
@ApiModelProperty(value = "信息ID")
private String infoId;
/**目录名称*/
@Excel(name = "目录名称", width = 15)
@ApiModelProperty(value = "目录名称")
private String name;
/**父级目录ID*/
@Excel(name = "父级目录ID", width = 15)
@ApiModelProperty(value = "父级目录ID")
private String parentId;
/**排序序号*/
@Excel(name = "排序序号", width = 15)
@ApiModelProperty(value = "排序序号")
private Integer displaySeq;
/**目录位置*/
@Excel(name = "目录位置", width = 15)
@ApiModelProperty(value = "目录位置")
private String leftOrRight;
/**条款名称*/
@Excel(name = "条款名称", width = 15)
@ApiModelProperty(value = "条款名称")
private String itemName;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private String remarks;
public SarFileCompareMenu(String id, String createBy, Date createTime, String updateBy, Date updateTime, String sysOrgCode, String menuId, String infoId, String name, String parentId, Integer displaySeq, String leftOrRight, String itemName, String remarks) {
this.id = id;
this.createBy = createBy;
this.createTime = createTime;
this.updateBy = updateBy;
this.updateTime = updateTime;
this.sysOrgCode = sysOrgCode;
this.menuId = menuId;
this.infoId = infoId;
this.name = name;
this.parentId = parentId;
this.displaySeq = displaySeq;
this.leftOrRight = leftOrRight;
this.itemName = itemName;
this.remarks = remarks;
}
public SarFileCompareMenu() {
}
}
@@ -0,0 +1,41 @@
package com.jero.modules.compare.entity;
import java.util.ArrayList;
import java.util.List;
public class SarFileCompareMenuVo extends SarFileCompareMenu {
private List<SarFileCompareMenuVo> children;
public SarFileCompareMenuVo(SarFileCompareMenu menu) {
super();
this.setId(menu.getId());
this.setCreateBy(menu.getCreateBy());
this.setCreateTime(menu.getCreateTime());
this.setUpdateBy(menu.getUpdateBy());
this.setUpdateTime(menu.getUpdateTime());
this.setSysOrgCode(menu.getSysOrgCode());
this.setMenuId(menu.getMenuId());
this.setInfoId(menu.getInfoId());
this.setName(menu.getName());
this.setParentId(menu.getParentId());
this.setDisplaySeq(menu.getDisplaySeq());
this.setLeftOrRight(menu.getLeftOrRight());
this.setItemName(menu.getItemName());
this.setRemarks(menu.getRemarks());
}
public List<SarFileCompareMenuVo> getChildren() {
return children;
}
public void setChildren(List<SarFileCompareMenuVo> children) {
this.children = children;
}
public void addChild(SarFileCompareMenuVo child) {
if (null == this.children) {
this.children = new ArrayList<>();
}
children.add(child);
}
}
@@ -0,0 +1,24 @@
package com.jero.modules.compare.enums;
/**
* 对比信息发布状态
*/
public enum ComparesInfoStateEnum {
DRAFT(0, "草稿"), RELEASE(1, "发布");
private int value;
private String lable;
private ComparesInfoStateEnum(int value, String lable) {
this.value = value;
this.lable = lable;
}
public int getValue() {
return value;
}
public String getLable() {
return lable;
}
}
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 文档对比信息表
* @Author: jero-boot
* @Date: 2022-08-02
* @Date: 2022-08-04
* @Version: V1.0
*/
public interface SarFileCompareInfoMapper extends BaseMapper<SarFileCompareInfo> {
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 文档对比信息条款表
* @Author: jero-boot
* @Date: 2022-08-02
* @Date: 2022-08-04
* @Version: V1.0
*/
public interface SarFileCompareItemMapper extends BaseMapper<SarFileCompareItem> {
@@ -0,0 +1,17 @@
package com.jero.modules.compare.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.compare.entity.SarFileCompareMenu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 文档对比信息目录表
* @Author: jero-boot
* @Date: 2022-08-03
* @Version: V1.0
*/
public interface SarFileCompareMenuMapper extends BaseMapper<SarFileCompareMenu> {
}
@@ -9,11 +9,13 @@
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="file_id_left" property="fileIdLeft" />
<result column="file_key_left" property="fileKeyLeft" />
<result column="serial_number_left" property="serialNumberLeft" />
<result column="title_left" property="titleLeft" />
<result column="file_type_left" property="fileTypeLeft" />
<result column="file_name_left" property="fileNameLeft" />
<result column="file_id_right" property="fileIdRight" />
<result column="file_key_right" property="fileKeyRight" />
<result column="serial_number_right" property="serialNumberRight" />
<result column="title_right" property="titleRight" />
<result column="file_type_right" property="fileTypeRight" />
@@ -9,7 +9,7 @@
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="info_id" property="infoId" />
<result column="items_id" property="itemsId" />
<result column="menu_id" property="menuId" />
<result column="items_name" property="itemsName" />
<result column="items_num" property="itemsNum" />
<result column="items_text" property="itemsText" />
@@ -0,0 +1,20 @@
<?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.compare.mapper.SarFileCompareMenuMapper">
<resultMap id="SarFileCompareMenuResultMap" type="com.jero.modules.compare.entity.SarFileCompareMenu">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="menu_id" property="menuId" />
<result column="info_id" property="infoId" />
<result column="name" property="name" />
<result column="parent_id" property="parentId" />
<result column="display_seq" property="displaySeq" />
<result column="left_or_right" property="leftOrRight" />
<result column="item_name" property="itemName" />
<result column="remarks" property="remarks" />
</resultMap>
</mapper>
@@ -1,5 +1,6 @@
package com.jero.modules.compare.service;
import com.jero.modules.compare.entity.SarFileCompareDetailVO;
import com.jero.modules.compare.entity.SarFileCompareInfo;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -69,5 +70,13 @@ public interface ISarFileCompareInfoService extends IService<SarFileCompareInfo>
* @param remark
* @return
*/
Map<String, Object> fullTextComparison(String leftStandard, String rightStandard, String remark) throws Exception;
String fullTextComparison(String leftStandard, String rightStandard, String remark) throws Exception;
/**
* 求对比详情
*
* @param id
* @return
*/
SarFileCompareDetailVO getComparisonDetail(String id);
}
@@ -1,61 +1,64 @@
package com.jero.modules.compare.service;
import com.jero.modules.compare.entity.SarFileCompareItem;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.compare.entity.SarFileCompareItem;
import java.util.List;
/**
* @Description: 文档对比信息条款表
* @Author: jero-boot
* @Date: 2022-08-02
* @Date: 2022-08-02
* @Version: V1.0
*/
public interface ISarFileCompareItemService extends IService<SarFileCompareItem> {
/**
* 保存
*
* @param sarFileCompareItem
* @return
*/
/**
* 保存
*
* @param sarFileCompareItem
* @return
*/
void add(SarFileCompareItem sarFileCompareItem);
/**
* 更新
*
* @param sarFileCompareItem
* @return
*/
/**
* 更新
*
* @param sarFileCompareItem
* @return
*/
void editById(SarFileCompareItem sarFileCompareItem);
/**
* 通过id删除
*
* @param id
* @return
*/
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
/**
* 通过id查询
*
* @param id
* @return
*/
SarFileCompareItem queryById(String id);
/**
* 列表查询
*
* @return
*/
* 列表查询
*
* @return
*/
List<SarFileCompareItem> queryList();
List<SarFileCompareItem> queryListByInfoId(String infoId);
}
@@ -0,0 +1,64 @@
package com.jero.modules.compare.service;
import com.jero.modules.compare.entity.SarFileCompareMenu;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 文档对比信息目录表
* @Author: jero-boot
* @Date: 2022-08-03
* @Version: V1.0
*/
public interface ISarFileCompareMenuService extends IService<SarFileCompareMenu> {
/**
* 保存
*
* @param sarFileCompareMenu
* @return
*/
void add(SarFileCompareMenu sarFileCompareMenu);
/**
* 更新
*
* @param sarFileCompareMenu
* @return
*/
void editById(SarFileCompareMenu sarFileCompareMenu);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
SarFileCompareMenu queryById(String id);
/**
* 列表查询
*
* @return
*/
List<SarFileCompareMenu> queryList();
List<SarFileCompareMenu> queryListByInfoId(String infoId);
}
@@ -1,35 +1,25 @@
package com.jero.modules.compare.service.impl;
import com.jero.modules.compare.entity.SarFileCompareInfo;
import com.jero.modules.compare.entity.SarFileCompareItem;
import com.jero.modules.compare.enums.ValidFlagEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.compare.entity.*;
import com.jero.modules.compare.mapper.SarFileCompareInfoMapper;
import com.jero.modules.compare.service.ISarFileCompareInfoService;
import com.jero.modules.compare.service.ISarFileCompareItemService;
import com.jero.modules.compare.service.ISarFileCompareMenuService;
import com.jero.modules.compare.utils.CompHanLPUtils;
import com.jero.modules.compare.utils.treeTool.Tree;
import com.jero.modules.compare.utils.treeTool.TreeNode;
import com.jero.modules.docTranslation.enums.ReleaseConditionEnum;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.split.entity.SarFileSplitInfoEO;
import com.jero.modules.split.entity.SarFileSplitItemsEO;
import com.jero.modules.split.entity.SarFileSplitItemsValEO;
import com.jero.modules.split.entity.SarFileSplitMenuEO;
import com.jero.modules.split.page.SarFileSplitItemsEOPage;
import com.jero.modules.split.page.SarFileSplitItemsValEOPage;
import com.jero.modules.split.page.SarFileSplitMenuEOPage;
import com.jero.modules.split.service.IFileSplitItemsEOService;
import com.jero.modules.split.service.ISarFileSplitInfoService;
import com.jero.modules.split.service.ISarFileSplitItemsValEOService;
import com.jero.modules.split.service.ISarFileSplitMenuEOService;
import com.jero.modules.system.util.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 文档对比信息表
* @Author: jero-boot
@@ -45,16 +35,15 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl<SarFileCompareInf
@Autowired
private IFileSplitItemsEOService sarFileSplitItemsEOService;
@Autowired
private ISarFileSplitItemsValEOService sarFileSplitItemsValEOService;
@Autowired
private ISarFileSplitInfoService sarFileSplitInfoEOService;
@Autowired
private ISarFileCompareItemService sarFileCompareItemService;
@Autowired
private ISarFileCompareMenuService sarFileCompareMenuService;
/**
* 保存
@@ -135,149 +124,95 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl<SarFileCompareInf
* @return
* @throws Exception
*/
public Map<String, Object> fullTextComparison(String leftStandard, String rightStandard, String remark) throws Exception {
Map<String, Object> resultMap = new HashMap<String, Object>();
List<Map<String, Object>> leftMapList = fullTextComparePackageData(leftStandard);
List<Map<String, Object>> rightMapList = fullTextComparePackageData(rightStandard);
List<Map<String, Object>> resLeftMapList = null;
List<Map<String, Object>> resRightMapList = null;
if (leftMapList != null && !leftMapList.isEmpty() && rightMapList != null && !rightMapList.isEmpty()) {
public String fullTextComparison(String leftStandard, String rightStandard, String remark) throws Exception {
SarFileCompareInfo sfcInfo = addStandCompareHis(leftStandard, rightStandard, remark);
List<SarFileSplitMenuEO> leftMenuEOList = sarFileSplitMenuEOService.queryByInfoId(leftStandard);
Map<String, SarFileCompareMenu> leftMenuMap = wrapperMenuMap(leftMenuEOList, sfcInfo.getId(), "LEFT");
sarFileCompareMenuService.saveBatch(leftMenuMap.values());
List<SarFileSplitMenuEO> rightMenuEOList = sarFileSplitMenuEOService.queryByInfoId(rightStandard);
Map<String, SarFileCompareMenu> rightMenuMap = wrapperMenuMap(rightMenuEOList, sfcInfo.getId(), "RIGHT");
sarFileCompareMenuService.saveBatch(rightMenuMap.values());
List<SarFileSplitItemsEO> leftItemEOList = sarFileSplitItemsEOService.selectByInfoId(leftStandard);
List<SarFileCompareItem> leftItemList = wrapperItemList(leftItemEOList, sfcInfo.getId(), leftMenuMap, "LEFT");
List<SarFileSplitItemsEO> rightItemEOList = sarFileSplitItemsEOService.selectByInfoId(rightStandard);
List<SarFileCompareItem> rightItemList = wrapperItemList(rightItemEOList, sfcInfo.getId(), rightMenuMap, "RIGHT");
if (!leftItemList.isEmpty() && !rightItemList.isEmpty()) {
//双重循环找到相似度最高的条款做关联
for (int i = 0; i < leftMapList.size(); i++) {
String leftTxt = leftMapList.get(i).get("itemsText").toString();
for (SarFileCompareItem leftItem : leftItemList) {
String leftTxt = leftItem.getItemsText();
//定义初始化的相似度
double compareSimilarity = 0.0;
if (!leftTxt.isEmpty()) {
for (int j = 0; j < rightMapList.size(); j++) {
String rightTxt = rightMapList.get(j).get("itemsText").toString();
double similarity = CompHanLPUtils.findSimilarity(leftTxt.trim(), rightTxt.trim());
//如果相似度超过0.6 并且该相似度比之前的相似度还高,那么该条款目前相似度最高
if (similarity >= 0.6 && compareSimilarity < similarity) {
compareSimilarity = similarity;
leftMapList.get(i).put("targetStand", j);
if (rightMapList.get(j).get("targetStand") == null) {
rightMapList.get(j).put("targetStand", i);
if (null != leftTxt && !leftTxt.isEmpty()) {
for (SarFileCompareItem rightItem : rightItemList) {
String rightTxt = rightItem.getItemsText();
if (null != rightTxt && !rightTxt.isEmpty()) {
double similarity = CompHanLPUtils.findSimilarity(leftTxt.trim(), rightTxt.trim());
//如果相似度超过0.6 并且该相似度比之前的相似度还高,那么该条款目前相似度最高
if (similarity >= 0.6 && compareSimilarity < similarity) {
compareSimilarity = similarity;
leftItem.setTargetStand(rightItem.getItemsDisplayNum());
rightItem.setTargetStand(leftItem.getItemsDisplayNum());
}
}
}
}
}
//循环对比结束,开始填充html代码
resLeftMapList = writeResultHtml(leftMapList);
resultMap.put("resLeftMapList", resLeftMapList);
resRightMapList = writeResultHtml(rightMapList);
resultMap.put("resRightMapList", resRightMapList);
}
//往全文比对历史表中添加数据
addStandCompareHis(leftStandard, rightStandard, remark, resLeftMapList, resRightMapList);
return resultMap;
sarFileCompareItemService.saveBatch(leftItemList);
sarFileCompareItemService.saveBatch(rightItemList);
return sfcInfo.getId();
}
/**
* 组装条款数据
*
* @param standardId
* @return
* @throws Exception
*/
public List<Map<String, Object>> fullTextComparePackageData(String standardId) throws Exception {
List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
//调用查询条款接口
SarFileSplitItemsEOPage sarFileSplitItemsEOPage = new SarFileSplitItemsEOPage();
sarFileSplitItemsEOPage.setInfoId(standardId);
sarFileSplitItemsEOPage.setValidFlag(String.valueOf(ValidFlagEnum.VALID_TRUE.getValue()));
sarFileSplitItemsEOPage.setOrderBy("SAR_FILE_SPLIT_MENU.display_seq asc");
if (StringUtils.isNotEmpty(sarFileSplitItemsEOPage.getMenuId())) {
List<SarFileSplitMenuEO> sarFileSplitMenuEOList = sarFileSplitMenuEOService.queryByList(new SarFileSplitMenuEOPage());
Tree tree = new Tree<>(sarFileSplitMenuEOList);
TreeNode treeNode = tree.getTreeNode(sarFileSplitItemsEOPage.getMenuId());
List<String> menuIds = new ArrayList<>();
menuIds.add(treeNode.getNodeId());
for (TreeNode node : treeNode.getAllChildren()) {
menuIds.add(node.getNodeId());
}
sarFileSplitItemsEOPage.setMenuIdList(menuIds);
private Map<String, SarFileCompareMenu> wrapperMenuMap(List<SarFileSplitMenuEO> list, String infoId, String leftOrRight) {
Map<String, SarFileCompareMenu> resMap = new HashMap<>();
for (SarFileSplitMenuEO meo : list) {
SarFileCompareMenu sfcMenu = new SarFileCompareMenu();
sfcMenu.setInfoId(infoId);
sfcMenu.setMenuId(meo.getId());
sfcMenu.setName(meo.getName());
sfcMenu.setItemName(meo.getItemName());
sfcMenu.setParentId(meo.getPId());
sfcMenu.setDisplaySeq(meo.getDisplaySeq().intValue());
sfcMenu.setRemarks(meo.getRemarks());
sfcMenu.setLeftOrRight(leftOrRight);
resMap.put(sfcMenu.getMenuId(), sfcMenu);
}
List<SarFileSplitItemsEO> itemList = sarFileSplitItemsEOService.queryByList(sarFileSplitItemsEOPage);
if (itemList != null && !itemList.isEmpty()) {
for (SarFileSplitItemsEO sarFileSplitItemsEO : itemList) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("itemsNum", sarFileSplitItemsEO.getItemsNum());
map.put("itemsName", sarFileSplitItemsEO.getItemsName());
map.put("itemsId", sarFileSplitItemsEO.getId());
//(内容1\n内容2\n格式)
String txt = "";
//调用条款内容详情表查询条款内容
SarFileSplitItemsValEOPage sarFileSplitItemsValEOPage = new SarFileSplitItemsValEOPage();
sarFileSplitItemsValEOPage.setItemId(sarFileSplitItemsEO.getId());
sarFileSplitItemsValEOPage.setValidFlag(String.valueOf(ValidFlagEnum.VALID_TRUE.getValue()));
sarFileSplitItemsValEOPage.setType("TEXT");
List<SarFileSplitItemsValEO> leftValList = sarFileSplitItemsValEOService.queryByList(sarFileSplitItemsValEOPage);
if (leftValList != null && !leftValList.isEmpty()) {
for (SarFileSplitItemsValEO sarFileSplitItemsValEO : leftValList) {
txt += "<p>" + sarFileSplitItemsValEO.getItemContent() + "</p>";
}
}
map.put("itemsText", txt);
map.put("targetStand", null);
map.put("menuId", sarFileSplitItemsEO.getMenuId());
mapList.add(map);
}
}
return mapList;
return resMap;
}
/**
* 填充html代码,返回结果
*
* @param resMapList
* @return
*/
public List<Map<String, Object>> writeResultHtml(List<Map<String, Object>> resMapList) throws Exception {
List<Map<String, Object>> resultMapList = new ArrayList<>();
for (Map resMap : resMapList) {
Map<String, Object> map = new HashMap<>();
StringBuilder stringBuilder = new StringBuilder();
Object itemsNum = resMap.get("itemsNum");
if (null != itemsNum) {
stringBuilder.append(itemsNum.toString());
} else {
stringBuilder.append("undefined");
private List<SarFileCompareItem> wrapperItemList(List<SarFileSplitItemsEO> list, String infoId, Map<String, SarFileCompareMenu> menuMap, String leftOrRight) {
List<SarFileCompareItem> resList = new ArrayList<>();
for (SarFileSplitItemsEO itemsEO : list) {
SarFileCompareItem item = new SarFileCompareItem();
item.setInfoId(infoId);
item.setItemsName(itemsEO.getItemsName());
item.setMenuId(itemsEO.getMenuId());
item.setItemsNum(itemsEO.getItemsNum());
item.setItemsText(itemsEO.getItermsConditions());
SarFileCompareMenu menu = menuMap.get(itemsEO.getMenuId());
if (menu != null) {
item.setItemsDisplayNum(menu.getDisplaySeq());
}
stringBuilder.append("&nbsp;");
Object itemsName = resMap.get("itemsName");
if (null != itemsName) {
stringBuilder.append(itemsName.toString());
} else {
stringBuilder.append("undefined");
}
stringBuilder.append("<div>");
item.setLeftOrRight(leftOrRight);
resList.add(item);
}
Object itemsTxt = resMap.get("itemsTxt");
if (null != itemsTxt) {
stringBuilder.append(itemsTxt.toString());
}
stringBuilder.append("</div>");
map.put("resultHtml", stringBuilder.toString());
Object targetStand = resMap.get("targetStand");
int targetStandInt = 0;
if (null != targetStand) {
targetStand = (Integer) targetStand;
}
map.put("targetStand", targetStand);
Object itemsId = resMap.get("itemsId");
String itemsIdStr = "undefined";
if (null != itemsId) {
itemsIdStr = itemsId.toString();
}
map.put("itemsId", itemsIdStr);
resultMapList.add(map);
return resList;
}
private void copySarFileSplitMenu(String infoId, String cInfoId) {
LambdaQueryWrapper<SarFileSplitMenuEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SarFileSplitMenuEO::getInfoId, infoId);
List<SarFileSplitMenuEO> menuEOList = sarFileSplitMenuEOService.list(queryWrapper);
List<SarFileCompareMenu> sfcMenuList = new ArrayList<>();
for (SarFileSplitMenuEO menuEO : menuEOList) {
SarFileCompareMenu sfcMenu = new SarFileCompareMenu();
sfcMenu.setInfoId(cInfoId);
}
return resMapList;
}
/**
@@ -286,66 +221,85 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl<SarFileCompareInf
* @param leftStandId
* @param rightStandId
* @param remark
* @param resLeftMapList
* @param resRightMapList
* @throws Exception
*/
public void addStandCompareHis(String leftStandId, String rightStandId, String remark, List<Map<String, Object>> resLeftMapList, List<Map<String, Object>> resRightMapList) throws Exception {
public SarFileCompareInfo addStandCompareHis(String leftStandId, String rightStandId, String remark) throws Exception {
SarFileSplitInfoEO leftInfo = sarFileSplitInfoEOService.queryById(leftStandId);
SarFileSplitInfoEO rightInfo = sarFileSplitInfoEOService.queryById(rightStandId);
//保存标准比对历史表数据
SarFileCompareInfo sarFileCompareInfo = new SarFileCompareInfo();
sarFileCompareInfo.setId(UUID.randomUUID().toString());
sarFileCompareInfo.setFileIdLeft(leftInfo.getFileId());
String id = UUID.randomUUID().toString();
sarFileCompareInfo.setId(id);
sarFileCompareInfo.setFileIdLeft(leftInfo.getId());
sarFileCompareInfo.setFileKeyLeft(leftInfo.getFileId());
sarFileCompareInfo.setFileNameLeft(leftInfo.getFileName());
sarFileCompareInfo.setTitleLeft(leftInfo.getTitle());
sarFileCompareInfo.setFileTypeLeft(leftInfo.getFileType());
sarFileCompareInfo.setSerialNumberLeft(leftInfo.getSerialNumber());
sarFileCompareInfo.setFileIdRight(rightInfo.getFileId());
sarFileCompareInfo.setFileIdRight(rightInfo.getId());
sarFileCompareInfo.setFileKeyRight(rightInfo.getFileId());
sarFileCompareInfo.setFileNameRight(rightInfo.getFileName());
sarFileCompareInfo.setFileTypeRight(rightInfo.getFileType());
sarFileCompareInfo.setTitleRight(rightInfo.getTitle());
sarFileCompareInfo.setSerialNumberRight(rightInfo.getSerialNumber());
sarFileCompareInfo.setReleaseState(ReleaseConditionEnum.DRAFT.getValue());
sarFileCompareInfo.setRemark(remark);
this.add(sarFileCompareInfo);
//保存标准的所有条款比对的历史数据
if (resLeftMapList != null && !resLeftMapList.isEmpty()) {
setStandCompareHisEO(resLeftMapList, sarFileCompareInfo.getId(), "LEFT");
}
if (resRightMapList != null && !resRightMapList.isEmpty()) {
setStandCompareHisEO(resRightMapList, sarFileCompareInfo.getId(), "RIGHT");
}
return sarFileCompareInfo;
}
public void setStandCompareHisEO(List<Map<String, Object>> mapList, String id, String leftOrRight) throws Exception {
for (int i = 0; i < mapList.size(); i++) {
SarFileCompareItem sarFileCompareItem = new SarFileCompareItem();
sarFileCompareItem.setItemsId(id);
sarFileCompareItem.setItemsDisplayNum(i);
sarFileCompareItem.setLeftOrRight(leftOrRight);
Object itemsId = mapList.get(i).get("itemsId");
if (null != itemsId) {
sarFileCompareItem.setItemsId(itemsId.toString());
public SarFileCompareDetailVO getComparisonDetail(String id) {
SarFileCompareDetailVO sfVo = new SarFileCompareDetailVO();
SarFileCompareInfo sfcInfo = this.queryById(id);
sfVo.setInfoId(id);
sfVo.setFileNameLeft(sfcInfo.getFileNameLeft());
sfVo.setFileNameRight(sfcInfo.getFileNameRight());
sfVo.setSerialNumberLeft(sfcInfo.getSerialNumberLeft());
sfVo.setSerialNumberRight(sfcInfo.getSerialNumberRight());
sfVo.setRemark(sfcInfo.getRemark());
sfVo.setComments(sfcInfo.getComments());
List<SarFileCompareMenu> menuList = sarFileCompareMenuService.queryListByInfoId(id);
for (SarFileCompareMenu menu : menuList) {
if ("General catalogue".equals(menu.getName())) {
if (menu.getLeftOrRight().equals("LEFT")) {
SarFileCompareMenuVo menuLeft = new SarFileCompareMenuVo(menu);
menuLeft.setChildren(getMenuChildren(menuList, "LEFT", menuLeft.getMenuId()));
sfVo.setMenuLeft(menuLeft);
} else if (menu.getLeftOrRight().equals("RIGHT")) {
SarFileCompareMenuVo menuRight = new SarFileCompareMenuVo(menu);
menuRight.setChildren(getMenuChildren(menuList, "RIGHT", menuRight.getMenuId()));
sfVo.setMenuRight(menuRight);
}
}
Object itemsName = mapList.get(i).get("itemsName");
if (null != itemsName) {
sarFileCompareItem.setItemsName(itemsName.toString());
if (sfVo.getMenuRight() != null && sfVo.getMenuLeft() != null) {
break;
}
Object itemsNum = mapList.get(i).get("itemsNum");
if (null != itemsNum) {
sarFileCompareItem.setItemsNum(itemsNum.toString());
}
Object itemsText = mapList.get(i).get("itemsText");
if (null != itemsText) {
sarFileCompareItem.setItemsText(itemsText.toString());
}
Object targetStand = mapList.get(i).get("targetStand");
if (targetStand != null) {
sarFileCompareItem.setTargetStand((int) targetStand);
}
sarFileCompareItemService.add(sarFileCompareItem);
}
List<SarFileCompareItem> itemList = sarFileCompareItemService.queryListByInfoId(id);
for (SarFileCompareItem item : itemList) {
if (item.getLeftOrRight().equals("LEFT")) {
sfVo.addTextLeft(item);
} else if (item.getLeftOrRight().equals("RIGHT")) {
sfVo.addTextRight(item);
}
}
return sfVo;
}
private List<SarFileCompareMenuVo> getMenuChildren(List<SarFileCompareMenu> menuList, String leftOrRight, String pid) {
List<SarFileCompareMenuVo> list = new ArrayList<>();
for (SarFileCompareMenu menu : menuList) {
if (menu.getLeftOrRight().equals(leftOrRight) && menu.getParentId() != null && menu.getParentId().equals(pid)) {
SarFileCompareMenuVo menuVO = new SarFileCompareMenuVo(menu);
menuVO.setChildren(getMenuChildren(menuList, leftOrRight, menuVO.getMenuId()));
list.add(menuVO);
}
}
return list;
}
}
@@ -1,6 +1,8 @@
package com.jero.modules.compare.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.modules.compare.entity.SarFileCompareItem;
import com.jero.modules.compare.entity.SarFileCompareMenu;
import com.jero.modules.compare.mapper.SarFileCompareItemMapper;
import com.jero.modules.compare.service.ISarFileCompareItemService;
import org.springframework.stereotype.Service;
@@ -86,4 +88,13 @@ public class SarFileCompareItemServiceImpl extends ServiceImpl<SarFileCompareIte
public List<SarFileCompareItem> queryList() {
return list();
}
@Override
public List<SarFileCompareItem> queryListByInfoId(String infoId) {
LambdaQueryWrapper<SarFileCompareItem> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SarFileCompareItem::getInfoId, infoId);
queryWrapper.orderBy(true,true,SarFileCompareItem::getItemsDisplayNum);
List<SarFileCompareItem> list = this.list(queryWrapper);
return list;
}
}
@@ -0,0 +1,101 @@
package com.jero.modules.compare.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.compare.entity.SarFileCompareMenu;
import com.jero.modules.compare.mapper.SarFileCompareMenuMapper;
import com.jero.modules.compare.service.ISarFileCompareMenuService;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* @Description: 文档对比信息目录表
* @Author: jero-boot
* @Date: 2022-08-03
* @Version: V1.0
*/
@Service
public class SarFileCompareMenuServiceImpl extends ServiceImpl<SarFileCompareMenuMapper, SarFileCompareMenu> implements ISarFileCompareMenuService {
/**
* 保存
*
* @param sarFileCompareMenu
* @return
*/
@Override
public void add(SarFileCompareMenu sarFileCompareMenu) {
Date now = new Date();
sarFileCompareMenu.setCreateTime(now);
sarFileCompareMenu.setUpdateTime(now);
save(sarFileCompareMenu);
}
/**
* 更新
*
* @param sarFileCompareMenu
* @return
*/
@Override
public void editById(SarFileCompareMenu sarFileCompareMenu) {
Date now = new Date();
sarFileCompareMenu.setUpdateTime(now);
saveOrUpdate(sarFileCompareMenu);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public SarFileCompareMenu queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<SarFileCompareMenu> queryList() {
return list();
}
@Override
public List<SarFileCompareMenu> queryListByInfoId(String infoId) {
LambdaQueryWrapper<SarFileCompareMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SarFileCompareMenu::getInfoId, infoId);
queryWrapper.orderBy(true,true,SarFileCompareMenu::getDisplaySeq);
List<SarFileCompareMenu> list = this.list(queryWrapper);
return list;
}
}
@@ -1,5 +1,6 @@
package com.jero.modules.split.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.split.entity.SarFileSplitItemsEO;
@@ -67,5 +68,5 @@ public interface FileSplitItemsEOMapper extends BaseMapper<SarFileSplitItemsEO>
int insertForeach(List<SarFileSplitItemsEO> list);
List<SarFileSplitItemsEO> queryByList(SarFileSplitItemsEOPage page);
List<SarFileSplitItemsEO> selectByInfoId(String value);
}
@@ -117,22 +117,10 @@
)
</foreach>
</insert>
<select id="queryByList" resultType="com.jero.modules.split.entity.SarFileSplitItemsEO" parameterType="com.jero.modules.split.page.SarFileSplitItemsEOPage">
select * from SAR_FILE_SPLIT_ITEMS
left join SAR_FILE_SPLIT_MENU on SAR_FILE_SPLIT_ITEMS.MENU_ID = SAR_FILE_SPLIT_MENU.id
<if test="infoId != null" >
and SAR_FILE_SPLIT_ITEMS.info_id ${infoIdOperator} #{infoId}
</if>
<if test="menuId != null">
and SAR_FILE_SPLIT_ITEMS.MENU_ID in
<foreach collection="menuIdList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="pager.orderCondition != null and pager.orderCondition != ''" >
${pager.orderCondition}
</if>
<!--根据infoid查询-->
<select id="selectByInfoId" resultType="com.jero.modules.split.entity.SarFileSplitItemsEO">
select *
from sar_file_split_items
where info_id = #{value}
</select>
</mapper>
@@ -84,5 +84,5 @@ public interface IFileSplitItemsEOService extends IService<SarFileSplitItemsEO>
List<Map<String, Object>> getHeader(String flag, String cut);
List<SarFileSplitItemsEO> queryByList(SarFileSplitItemsEOPage page);
List<SarFileSplitItemsEO> selectByInfoId(String infoId);
}
@@ -41,4 +41,7 @@ public interface ISarFileSplitMenuEOService extends IService<SarFileSplitMenuEO>
int queryByCount(SarFileSplitMenuEOPage page);
List<SarFileSplitMenuEO> queryByPage(SarFileSplitMenuEOPage page);
List<SarFileSplitMenuEO> queryByInfoId(String infoId);
}
@@ -72,6 +72,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.shiro.SecurityUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mock.web.MockMultipartFile;
@@ -3734,12 +3735,11 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
/**
* 查找拆分列表
* @param page
* @return
*/
@Override
public List<SarFileSplitItemsEO> queryByList(SarFileSplitItemsEOPage page){
return dao.queryByList(page);
public List<SarFileSplitItemsEO> selectByInfoId(String infoId){
return dao.selectByInfoId(infoId);
}
}
@@ -1,5 +1,6 @@
package com.jero.modules.split.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.split.entity.SarFileSplitMenuEO;
import com.jero.modules.split.mapper.SarFileSplitItemsValEOMapper;
@@ -141,4 +142,11 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
return dao.queryByPage(page);
}
@Override
public List<SarFileSplitMenuEO> queryByInfoId(String infoId) {
SarFileSplitMenuEOPage page = new SarFileSplitMenuEOPage();
page.setInfoId(infoId);
return dao.queryByList(page);
}
}