diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareInfoController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareInfoController.java index e25f54deb..de5908b73 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareInfoController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareInfoController.java @@ -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 fullTextComparison(@RequestBody JSONObject json) { try { @@ -190,12 +189,43 @@ public class SarFileCompareInfoController extends JeroController 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); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareMenuController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareMenuController.java new file mode 100644 index 000000000..e398c5727 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareMenuController.java @@ -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 { + @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 queryWrapper = QueryGenerator.initQueryWrapper(sarFileCompareMenu, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = sarFileCompareMenuService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "文档对比信息目录表-列表查询") + @ApiOperation(value="文档对比信息目录表-列表查询", notes="文档对比信息目录表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List 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); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareDetailVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareDetailVO.java new file mode 100644 index 000000000..d93762946 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareDetailVO.java @@ -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 textLeft; + private SarFileCompareMenuVo menuRight; + private List 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 getTextLeft() { + return textLeft; + } + + public void setTextLeft(List 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 getTextRight() { + return textRight; + } + + public void setTextRight(List textRight) { + this.textRight = textRight; + } + + public void addTextRight(SarFileCompareItem text) { + if (this.textRight == null) { + this.textRight = new ArrayList<>(); + } + this.textRight.add(text); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareInfo.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareInfo.java index fec7f0f57..7760d639c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareInfo.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareInfo.java @@ -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") diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItem.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItem.java index 10717e093..b92921961 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItem.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItem.java @@ -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; /**条款位置*/ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenu.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenu.java new file mode 100644 index 000000000..754f85899 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenu.java @@ -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() { + + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenuVo.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenuVo.java new file mode 100644 index 000000000..18cee5103 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenuVo.java @@ -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 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 getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public void addChild(SarFileCompareMenuVo child) { + if (null == this.children) { + this.children = new ArrayList<>(); + } + children.add(child); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/enums/ComparesInfoStateEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/enums/ComparesInfoStateEnum.java new file mode 100644 index 000000000..fa94f0621 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/enums/ComparesInfoStateEnum.java @@ -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; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareInfoMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareInfoMapper.java index fa41936d1..113090c39 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareInfoMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareInfoMapper.java @@ -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 { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemMapper.java index 2fabfcce3..4bbf387b1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemMapper.java @@ -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 { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareMenuMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareMenuMapper.java new file mode 100644 index 000000000..fe457fd5f --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareMenuMapper.java @@ -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 { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareInfoMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareInfoMapper.xml index 829a862dd..4b2c440cd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareInfoMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareInfoMapper.xml @@ -9,11 +9,13 @@ + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemMapper.xml index fc42d5309..c04f04e9f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemMapper.xml @@ -9,7 +9,7 @@ - + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareMenuMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareMenuMapper.xml new file mode 100644 index 000000000..6d0130b4a --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareMenuMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareInfoService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareInfoService.java index ba26736d9..5dc0688fe 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareInfoService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareInfoService.java @@ -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 * @param remark * @return */ - Map 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); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java index a925f9f33..c4bcc295f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java @@ -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 { - /** - * 保存 - * - * @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 ids); - /** - * 通过id查询 - * - * @param id - * @return - */ + /** + * 通过id查询 + * + * @param id + * @return + */ SarFileCompareItem queryById(String id); /** - * 列表查询 - * - * @return - */ + * 列表查询 + * + * @return + */ List queryList(); + + List queryListByInfoId(String infoId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareMenuService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareMenuService.java new file mode 100644 index 000000000..d8d4fc63f --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareMenuService.java @@ -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 { + + /** + * 保存 + * + * @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 ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + SarFileCompareMenu queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); + + + List queryListByInfoId(String infoId); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java index 2ce5214e4..d6d8b299f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java @@ -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 fullTextComparison(String leftStandard, String rightStandard, String remark) throws Exception { - Map resultMap = new HashMap(); - List> leftMapList = fullTextComparePackageData(leftStandard); - List> rightMapList = fullTextComparePackageData(rightStandard); - List> resLeftMapList = null; - List> 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 leftMenuEOList = sarFileSplitMenuEOService.queryByInfoId(leftStandard); + Map leftMenuMap = wrapperMenuMap(leftMenuEOList, sfcInfo.getId(), "LEFT"); + sarFileCompareMenuService.saveBatch(leftMenuMap.values()); + List rightMenuEOList = sarFileSplitMenuEOService.queryByInfoId(rightStandard); + Map rightMenuMap = wrapperMenuMap(rightMenuEOList, sfcInfo.getId(), "RIGHT"); + sarFileCompareMenuService.saveBatch(rightMenuMap.values()); + + List leftItemEOList = sarFileSplitItemsEOService.selectByInfoId(leftStandard); + List leftItemList = wrapperItemList(leftItemEOList, sfcInfo.getId(), leftMenuMap, "LEFT"); + List rightItemEOList = sarFileSplitItemsEOService.selectByInfoId(rightStandard); + List 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> fullTextComparePackageData(String standardId) throws Exception { - List> mapList = new ArrayList>(); - //调用查询条款接口 - 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 sarFileSplitMenuEOList = sarFileSplitMenuEOService.queryByList(new SarFileSplitMenuEOPage()); - Tree tree = new Tree<>(sarFileSplitMenuEOList); - TreeNode treeNode = tree.getTreeNode(sarFileSplitItemsEOPage.getMenuId()); - - List menuIds = new ArrayList<>(); - menuIds.add(treeNode.getNodeId()); - for (TreeNode node : treeNode.getAllChildren()) { - menuIds.add(node.getNodeId()); - } - sarFileSplitItemsEOPage.setMenuIdList(menuIds); + private Map wrapperMenuMap(List list, String infoId, String leftOrRight) { + Map 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 itemList = sarFileSplitItemsEOService.queryByList(sarFileSplitItemsEOPage); - if (itemList != null && !itemList.isEmpty()) { - for (SarFileSplitItemsEO sarFileSplitItemsEO : itemList) { - Map map = new HashMap(); - 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 leftValList = sarFileSplitItemsValEOService.queryByList(sarFileSplitItemsValEOPage); - if (leftValList != null && !leftValList.isEmpty()) { - for (SarFileSplitItemsValEO sarFileSplitItemsValEO : leftValList) { - txt += "

" + sarFileSplitItemsValEO.getItemContent() + "

"; - } - } - 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> writeResultHtml(List> resMapList) throws Exception { - List> resultMapList = new ArrayList<>(); - for (Map resMap : resMapList) { - Map 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 wrapperItemList(List list, String infoId, Map menuMap, String leftOrRight) { + List 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(" "); - Object itemsName = resMap.get("itemsName"); - if (null != itemsName) { - stringBuilder.append(itemsName.toString()); - } else { - stringBuilder.append("undefined"); - } - stringBuilder.append("
"); + item.setLeftOrRight(leftOrRight); + resList.add(item); + } - Object itemsTxt = resMap.get("itemsTxt"); - if (null != itemsTxt) { - stringBuilder.append(itemsTxt.toString()); - } - stringBuilder.append("
"); - 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 queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SarFileSplitMenuEO::getInfoId, infoId); + List menuEOList = sarFileSplitMenuEOService.list(queryWrapper); + List 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> resLeftMapList, List> 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> 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 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 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 getMenuChildren(List menuList, String leftOrRight, String pid) { + List 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; + } + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java index 3373dfce7..97c9c3f41 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java @@ -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 queryList() { return list(); } + + @Override + public List queryListByInfoId(String infoId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SarFileCompareItem::getInfoId, infoId); + queryWrapper.orderBy(true,true,SarFileCompareItem::getItemsDisplayNum); + List list = this.list(queryWrapper); + return list; + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareMenuServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareMenuServiceImpl.java new file mode 100644 index 000000000..7a9a80f06 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareMenuServiceImpl.java @@ -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 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 ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public SarFileCompareMenu queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } + + + @Override + public List queryListByInfoId(String infoId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SarFileCompareMenu::getInfoId, infoId); + queryWrapper.orderBy(true,true,SarFileCompareMenu::getDisplaySeq); + List list = this.list(queryWrapper); + return list; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/FileSplitItemsEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/FileSplitItemsEOMapper.java index a82b7511b..a7051d77c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/FileSplitItemsEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/FileSplitItemsEOMapper.java @@ -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 int insertForeach(List list); - List queryByList(SarFileSplitItemsEOPage page); + List selectByInfoId(String value); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml index 29a65a59f..6512e6f1e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml @@ -117,22 +117,10 @@ ) - - + select * + from sar_file_split_items + where info_id = #{value} - diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java index b16caa11d..5dc2bacf4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java @@ -84,5 +84,5 @@ public interface IFileSplitItemsEOService extends IService List> getHeader(String flag, String cut); - List queryByList(SarFileSplitItemsEOPage page); + List selectByInfoId(String infoId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitMenuEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitMenuEOService.java index fac750ad5..361e46e32 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitMenuEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitMenuEOService.java @@ -41,4 +41,7 @@ public interface ISarFileSplitMenuEOService extends IService int queryByCount(SarFileSplitMenuEOPage page); List queryByPage(SarFileSplitMenuEOPage page); + + + List queryByInfoId(String infoId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index 132bc2a02..757e76a96 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -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 queryByList(SarFileSplitItemsEOPage page){ - return dao.queryByList(page); + public List selectByInfoId(String infoId){ + return dao.selectByInfoId(infoId); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java index b252a40fb..660eb7c95 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java @@ -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 queryByInfoId(String infoId) { + SarFileSplitMenuEOPage page = new SarFileSplitMenuEOPage(); + page.setInfoId(infoId); + return dao.queryByList(page); + } + }