提交本地工具-标准比对的相关接口

This commit is contained in:
duanwenbin
2021-07-08 15:50:05 +08:00
parent 4f7d1648db
commit 4bfbd48dc6
25 changed files with 3715 additions and 0 deletions
+32
View File
@@ -85,5 +85,37 @@
<systemPath>${basedir}/src/main/lib/zip4j-1.3.1.jar</systemPath>
</dependency>
<dependency>
<groupId>com.janeluo</groupId>
<artifactId>ikanalyzer</artifactId>
<version>2012_u6</version>
<exclusions>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
<dependency>
<groupId>com.hankcs</groupId>
<artifactId>hanlp</artifactId>
<version>portable-1.7.5</version>
</dependency>
</dependencies>
</project>
@@ -0,0 +1,68 @@
package com.adc.da.common;
import com.adc.da.slrs.standardSplit.vo.MarkTextVO;
import org.apache.commons.lang.StringUtils;
import java.util.List;
/**
* @Description:
* @Author: yangxuenan
* date: 2020/3/24 15:28
*/
public class HtmlTextExcel {
public static String changeHtmlToExcel (String itemContent, List<MarkTextVO> addList, List<MarkTextVO> delList) {
if (StringUtils.isNotEmpty(itemContent)) {
itemContent = itemContent.replaceAll("<div>","");
itemContent = itemContent.replaceAll("<div class=\"compareBackgroundColor\">","");
itemContent = itemContent.replaceAll("</div>","\n");
itemContent = itemContent.replaceAll("<p>","");
itemContent = itemContent.replaceAll("</p>","\n");
//获取所有新增内容的位置
String splitContentAdd = itemContent;
int addSpiltIndex = 0;
int cirIndex = 0;
int stLen = "<span class=\"insertClass\">".length();
int edLen = "</span>".length();
while (splitContentAdd.contains("<span class=\"insertClass\">")) {
int addStIndex = splitContentAdd.indexOf("<span class=\"insertClass\">");
int addEdIndex = splitContentAdd.indexOf("</span>");
if (addStIndex > -1) {
MarkTextVO markTextVO = new MarkTextVO();
markTextVO.setStartIndex(addSpiltIndex + addStIndex - (cirIndex*(stLen+edLen)));
markTextVO.setEndIndex(addSpiltIndex + addEdIndex - (cirIndex*(stLen+edLen)) - stLen);
addList.add(markTextVO);
addSpiltIndex = addSpiltIndex + addEdIndex + 7;
// String replaceStr = splitContentAdd.substring(0,addStIndex);
splitContentAdd = splitContentAdd.substring(addEdIndex + 7,splitContentAdd.length());
cirIndex++;
}
}
//获取所有删除内容的位置
String splitContentDel = itemContent;
int delSpiltIndex = 0;
int cirIndexDel = 0;
int stLenDel = "<span class=\"delClass\">".length();
int edLenDel = "</span>".length();
while (splitContentDel.contains("<span class=\"delClass\">")) {
int delStIndex = splitContentDel.indexOf("<span class=\"delClass\">");
int delEdIndex = splitContentDel.indexOf("</span>");
if (delStIndex > -1) {
MarkTextVO markTextVO = new MarkTextVO();
markTextVO.setStartIndex(delSpiltIndex + delStIndex - (cirIndexDel*(stLenDel+edLenDel)));
markTextVO.setEndIndex(delSpiltIndex + delEdIndex - (cirIndexDel*(stLenDel+edLenDel)) - stLenDel);
delList.add(markTextVO);
delSpiltIndex = delSpiltIndex + delEdIndex + 7;
// String replaceStr = splitContentDel.substring(0,delStIndex);
splitContentDel = splitContentDel.substring(delEdIndex + 7,splitContentDel.length());
cirIndexDel++;
}
}
itemContent = itemContent.replaceAll("<span class=\"insertClass\">","");
itemContent = itemContent.replaceAll("</span>","");
itemContent = itemContent.replaceAll("<span class=\"delClass\">","");
itemContent = itemContent.replaceAll("</span>","");
}
return itemContent;
}
}
@@ -0,0 +1,133 @@
package com.adc.da.slrs.standardSplit.controller;
import com.adc.da.base.web.BaseController;
import com.adc.da.http.PageInfo;
import com.adc.da.person.dao.PersonCollectEODao;
import com.adc.da.person.dao.PersonShareEODao;
import com.adc.da.slrs.standardSplit.entity.SarStandCompareHisEO;
import com.adc.da.slrs.standardSplit.entity.SarStandCompareHisEOPage;
import com.adc.da.slrs.standardSplit.service.SarItemsCompareHisEOService;
import com.adc.da.slrs.standardSplit.service.SarStandCompareHisEOService;
import com.adc.da.slrs.standardSplit.service.SarStandItemsCompareHisEOService;
import com.adc.da.sys.util.LoginUserUtil;
import com.adc.da.sys.util.UUIDUtils;
import com.adc.da.util.http.ResponseMessage;
import com.adc.da.util.http.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
import static org.springframework.http.MediaType.APPLICATION_JSON_UTF8_VALUE;
@RestController
@RequestMapping("/${restPath}/lawss/sarStandCompareHis")
@Api(description = "|SarStandCompareHisEO|")
public class SarStandCompareHisEOController extends BaseController<SarStandCompareHisEO> {
private static final Logger logger = LoggerFactory.getLogger(SarStandCompareHisEOController.class);
@Autowired
private SarStandCompareHisEOService sarStandCompareHisEOService;
@Autowired
private SarStandItemsCompareHisEOService sarStandItemsCompareHisEOService;
@Autowired
private SarItemsCompareHisEOService sarItemsCompareHisEOService;
@Autowired
private PersonShareEODao personShareEODao;
@Autowired
private PersonCollectEODao personCollectEODao;
@ApiOperation(value = "|SarStandCompareHisEO|分页查询")
@GetMapping("/page")
// @RequiresPermissions("lawss:sarStandCompareHis:page")
public ResponseMessage<PageInfo<SarStandCompareHisEO>> page(SarStandCompareHisEOPage page) throws Exception {
List<SarStandCompareHisEO> rows = sarStandCompareHisEOService.standCompareHisPage(page);
return Result.success(getPageInfo(page.getPager(), rows));
}
@ApiOperation(value = "|SarStandCompareHisEO|查询")
@GetMapping("")
//401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarStandCompareHis:list")
public ResponseMessage<List<SarStandCompareHisEO>> list(SarStandCompareHisEOPage page) throws Exception {
return Result.success(sarStandCompareHisEOService.queryByList(page));
}
@ApiOperation(value = "|SarStandCompareHisEO|详情")
@GetMapping("/{id}")
//401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarStandCompareHis:get")
public ResponseMessage<SarStandCompareHisEO> find(@PathVariable String id) throws Exception {
return Result.success(sarStandCompareHisEOService.selectByPrimaryKey(id));
}
@ApiOperation(value = "|SarStandCompareHisEO|新增")
@PostMapping("/addStandCompareHis")
//@RequiresPermissions("lawss:sarStandCompareHis:save")
public ResponseMessage<String> addStandCompareHis(@RequestBody SarStandCompareHisEO sarStandCompareHisEO) {
try {
String id = UUIDUtils.randomUUID20();
sarStandCompareHisEO.setId(id);
sarStandCompareHisEO.setCreateUser(LoginUserUtil.getUserId());
sarStandCompareHisEO.setModifyUser(LoginUserUtil.getUserId());
sarStandCompareHisEO.setCreateTime(new Date());
sarStandCompareHisEO.setModifyTime(new Date());
sarStandCompareHisEOService.insertSelective(sarStandCompareHisEO);
return Result.success(id);
}catch (Exception e){
logger.error(e.getMessage(),e);
return Result.error("保存失败");
}
}
@ApiOperation(value = "|SarStandCompareHisEO|修改")
@PutMapping(consumes = APPLICATION_JSON_UTF8_VALUE)
//401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarStandCompareHis:update")
public ResponseMessage<SarStandCompareHisEO> update(@RequestBody SarStandCompareHisEO sarStandCompareHisEO) throws Exception {
sarStandCompareHisEOService.updateByPrimaryKeySelective(sarStandCompareHisEO);
return Result.success(sarStandCompareHisEO);
}
@ApiOperation(value = "批量删除")
@PostMapping("/deleteByIds")
// @RequiresPermissions("lawss:sarStandCompareHis:delete")
public ResponseMessage deleteByIds(String deleteByIdList){
String ids[] = deleteByIdList.split(",");
try {
for (String id : ids) {
sarStandCompareHisEOService.deleteByPrimaryKey(id);
sarStandItemsCompareHisEOService.deleteByStandHisId(id);
sarItemsCompareHisEOService.deleteByStandHisId(id);
personShareEODao.deleteByResId(id);
personCollectEODao.deleteByResId(id);
}
return Result.success("001","删除成功",true);
}catch (Exception e){
return Result.error("002","删除失败",false);
}
}
@ApiOperation(value = "条款比对")
@PostMapping("/clauseComparison")
public ResponseMessage<Map<String,Object>> clauseComparison(String oldItemId, String newItemId, String standHisId) throws Exception {
Map<String,Object> resultMap = sarStandCompareHisEOService.clauseComparison(oldItemId,newItemId,standHisId);
return Result.success(resultMap);
}
@ApiOperation(value = "全文比对")
@PostMapping("/fullTextComparison")
public ResponseMessage<Map<String,Object>> fullTextComparison(String leftStandard, String rightStandard) throws Exception {
Map<String,Object> resultMap = sarStandCompareHisEOService.fullTextComparison(leftStandard,rightStandard);
return Result.success(resultMap);
}
}
@@ -0,0 +1,284 @@
package com.adc.da.slrs.standardSplit.controller;
import com.adc.da.base.web.BaseController;
import com.adc.da.common.HtmlTextExcel;
import com.adc.da.common.ReadExcel;
import com.adc.da.http.PageInfo;
import com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEO;
import com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEOPage;
import com.adc.da.slrs.standardSplit.service.SarStandCompareHisEOService;
import com.adc.da.slrs.standardSplit.service.SarStandItemsCompareHisEOService;
import com.adc.da.slrs.standardSplit.vo.MarkTextVO;
import com.adc.da.util.exception.AdcDaBaseException;
import com.adc.da.util.http.ResponseMessage;
import com.adc.da.util.http.Result;
import com.adc.da.util.utils.IOUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.util.*;
import static org.springframework.http.MediaType.APPLICATION_JSON_UTF8_VALUE;
@RestController
@RequestMapping("/${restPath}/lawss/sarStandItemsCompareHis")
@Api(description = "|SarStandItemsCompareHisEO|")
public class SarStandItemsCompareHisEOController extends BaseController<SarStandItemsCompareHisEO> {
private static final Logger logger = LoggerFactory.getLogger(SarStandItemsCompareHisEOController.class);
@Autowired
private SarStandItemsCompareHisEOService sarStandItemsCompareHisEOService;
@Autowired
private SarStandCompareHisEOService sarStandCompareHisEOService;
@ApiOperation(value = "|SarStandItemsCompareHisEO|分页查询")
@GetMapping("/page")
// @RequiresPermissions("lawss:sarStandItemsCompareHis:page")
public ResponseMessage<PageInfo<SarStandItemsCompareHisEO>> page(SarStandItemsCompareHisEOPage page) throws Exception {
List<SarStandItemsCompareHisEO> rows = sarStandItemsCompareHisEOService.queryByPage(page);
return Result.success(getPageInfo(page.getPager(), rows));
}
@ApiOperation(value = "|SarStandItemsCompareHisEO|查询")
@GetMapping("getStandItemsCompareHisList")
// @RequiresPermissions("lawss:sarStandItemsCompareHis:list")
public ResponseMessage<List<SarStandItemsCompareHisEO>> list(SarStandItemsCompareHisEOPage page) throws Exception {
List<SarStandItemsCompareHisEO> list = sarStandItemsCompareHisEOService.queryByList(page);
Map<String,String> pidMap = new HashMap<>();
for(SarStandItemsCompareHisEO sarStandItemsCompareHisEO : list){
pidMap.put(sarStandItemsCompareHisEO.getItemsNum(),sarStandItemsCompareHisEO.getId());
}
for(SarStandItemsCompareHisEO sarStandItemsCompareHisEO : list){
String menu = sarStandItemsCompareHisEO.getItemsNum();
if(menu.indexOf(".") > 0){
String menuP = menu.substring(0,menu.lastIndexOf("."));
sarStandItemsCompareHisEO.setPid(pidMap.get(menuP));
}else{
sarStandItemsCompareHisEO.setPid("");
}
}
return Result.success(list);
}
@ApiOperation(value = "|SarStandItemsCompareHisEO|详情")
@GetMapping("/{id}")
//401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarStandItemsCompareHis:get")
public ResponseMessage<SarStandItemsCompareHisEO> find(@PathVariable String id) throws Exception {
return Result.success(sarStandItemsCompareHisEOService.selectByPrimaryKey(id));
}
@ApiOperation(value = "|SarStandItemsCompareHisEO|新增")
@PostMapping(consumes = APPLICATION_JSON_UTF8_VALUE)
//401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarStandItemsCompareHis:save")
public ResponseMessage<SarStandItemsCompareHisEO> create(@RequestBody SarStandItemsCompareHisEO sarStandItemsCompareHisEO) throws Exception {
sarStandItemsCompareHisEOService.insertSelective(sarStandItemsCompareHisEO);
return Result.success(sarStandItemsCompareHisEO);
}
@ApiOperation(value = "|SarStandItemsCompareHisEO|修改")
@PutMapping("/updateCompareItems")
// @RequiresPermissions("lawss:sarStandItemsCompareHis:update")
public ResponseMessage<SarStandItemsCompareHisEO> update(@RequestBody SarStandItemsCompareHisEO sarStandItemsCompareHisEO) throws Exception {
sarStandItemsCompareHisEO.setModifyTime(new Date());
sarStandItemsCompareHisEOService.updateByPrimaryKeySelective(sarStandItemsCompareHisEO);
return Result.success("0","保存成功",sarStandItemsCompareHisEO);
}
@ApiOperation(value = "|SarStandItemsCompareHisEO|删除")
@DeleteMapping("/{id}")
//401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarStandItemsCompareHis:delete")
public ResponseMessage delete(@PathVariable String id) throws Exception {
sarStandItemsCompareHisEOService.deleteByPrimaryKey(id);
logger.info("delete from SAR_STAND_ITEMS_COMPARE_HIS where id = {}", id);
return Result.success();
}
@ApiOperation(value = "|SarItemsCompareHisEO|导出excel")
@GetMapping(value = "/exportItemsCompareHis")
public void exportItemsCompareHis(String standHisId, String exportName, HttpServletResponse response, HttpServletRequest request) throws Exception {
OutputStream os = null;
OutputStream excelOS = null;
HSSFWorkbook workbook = new HSSFWorkbook();
String fileOriName = "条款比对信息";
if (StringUtils.isNotEmpty(exportName)) {
fileOriName = exportName;
}
try{
String fileName = fileOriName + ".xls";
HSSFSheet sheetItemsLeft = workbook.createSheet("旧文档");
HSSFSheet sheetItemsRight = workbook.createSheet("新文档");
String[] headers = {"条款号","条款名称","条款内容","备注"};
// 基础样式
HSSFCellStyle cellStyleBase =workbook.createCellStyle();
cellStyleBase.setWrapText(true);
cellStyleBase.setVerticalAlignment(VerticalAlignment.CENTER);
HSSFFont fontBase = workbook.createFont();
fontBase.setColor(IndexedColors.BLACK.index);
// 增加文字样式
HSSFFont fontAdd = workbook.createFont();
fontAdd.setColor(IndexedColors.LIGHT_BLUE.index);
// 删除文字样式
HSSFFont fontDel = workbook.createFont();
fontDel.setColor(IndexedColors.RED.index);
//查询左侧全部条款
SarStandItemsCompareHisEOPage page = new SarStandItemsCompareHisEOPage();
page.setStandHisId(standHisId);
page.setLeftOrRight("LEFT");
List<SarStandItemsCompareHisEO> getLeftList = sarStandItemsCompareHisEOService.queryByList(page);
//查询右侧全部条款
page.setStandHisId(standHisId);
page.setLeftOrRight("RIGHT");
List<SarStandItemsCompareHisEO> getRightList = sarStandItemsCompareHisEOService.queryByList(page);
//左右两侧都不为空才会执行比对
if (getLeftList != null && !getLeftList.isEmpty() && getRightList != null && !getRightList.isEmpty()) {
for (SarStandItemsCompareHisEO compareHisEO : getLeftList) {
Integer targetStand = compareHisEO.getTargetStand();
if (targetStand != null) {
String oldItemId = compareHisEO.getItemsId();
if(getRightList.size() > targetStand){
SarStandItemsCompareHisEO rightCompareHis = getRightList.get(targetStand);
String newItemId = rightCompareHis.getItemsId();
Map<String,Object> resultMap = sarStandCompareHisEOService.clauseComparison(oldItemId,newItemId,standHisId);
List<String> leftString = (ArrayList<String>)resultMap.get("leftString");
List<String> rightString = (ArrayList<String>)resultMap.get("rightString");
String leftContent = "";
if (leftString != null && !leftString.isEmpty()) {
for (String content : leftString) {
leftContent += content;
}
}
compareHisEO.setItemsText(leftContent);
String rightContent = "";
if (rightString != null && !rightString.isEmpty()) {
for (String content : rightString) {
rightContent += content;
}
}
getRightList.get(targetStand).setItemsText(rightContent);
}
}
}
}
//导出左侧比对结果
if (getLeftList != null && !getLeftList.isEmpty()) {
// 左侧在excel表中添加表头
HSSFRow row = sheetItemsLeft.createRow(0);
sheetItemsLeft.setColumnWidth(0,20*256);
sheetItemsLeft.setColumnWidth(1,30*256);
sheetItemsLeft.setColumnWidth(2,100*256);
sheetItemsLeft.setColumnWidth(3,80*256);
for (int i = 0; i < headers.length; i++) {
HSSFCell cell = row.createCell(i);
HSSFRichTextString text = new HSSFRichTextString(headers[i]);
cell.setCellValue(text);
}
// 左侧放文字内容
for(int rowNum = 0;rowNum < getLeftList.size(); rowNum++){
HSSFRow row1 = sheetItemsLeft.createRow(rowNum + 1);
row1.createCell(0).setCellValue(getLeftList.get(rowNum).getItemsNum());
row1.createCell(1).setCellValue(getLeftList.get(rowNum).getItemsName());
row1.getCell(1).setCellStyle(cellStyleBase);
//处理条款内容
String itemText = getLeftList.get(rowNum).getItemsText();
List<MarkTextVO> addList = new ArrayList<>();
List<MarkTextVO> delList = new ArrayList<>();
itemText = HtmlTextExcel.changeHtmlToExcel(itemText,addList,delList);
HSSFRichTextString ts= new HSSFRichTextString(itemText);
ts.applyFont(0,ts.length(),fontBase);
if (addList != null && !addList.isEmpty()) {
for (MarkTextVO markTextVO : addList) {
int stIndex = markTextVO.getStartIndex();
int edIndex = markTextVO.getEndIndex();
ts.applyFont(stIndex,edIndex,fontAdd);
}
}
if (delList != null && !delList.isEmpty()) {
for (MarkTextVO markTextVO : delList) {
int stIndex = markTextVO.getStartIndex();
int edIndex = markTextVO.getEndIndex();
ts.applyFont(stIndex,edIndex,fontDel);
}
}
row1.createCell(2).setCellValue(ts);
row1.getCell(2).setCellStyle(cellStyleBase);
row1.createCell(3).setCellValue(getLeftList.get(rowNum).getRemark());
row1.getCell(3).setCellStyle(cellStyleBase);
}
}
//导出右侧比对结果
if (getRightList != null && !getRightList.isEmpty()) {
HSSFRow rowRightHeader = sheetItemsRight.createRow(0);
sheetItemsRight.setColumnWidth(0,20*256);
sheetItemsRight.setColumnWidth(1,30*256);
sheetItemsRight.setColumnWidth(2,100*256);
sheetItemsRight.setColumnWidth(3,80*256);
for (int i = 0; i < headers.length; i++) {
HSSFCell cell = rowRightHeader.createCell(i);
HSSFRichTextString text = new HSSFRichTextString(headers[i]);
cell.setCellValue(text);
}
// 右侧放文字内容
for(int rowNum = 0;rowNum < getRightList.size(); rowNum++){
HSSFRow row1 = sheetItemsRight.createRow(rowNum + 1);
row1.createCell(0).setCellValue(getRightList.get(rowNum).getItemsNum());
row1.createCell(1).setCellValue(getRightList.get(rowNum).getItemsName());
row1.getCell(1).setCellStyle(cellStyleBase);
//处理条款内容
String itemText = getRightList.get(rowNum).getItemsText();
List<MarkTextVO> addList = new ArrayList<>();
List<MarkTextVO> delList = new ArrayList<>();
itemText = HtmlTextExcel.changeHtmlToExcel(itemText,addList,delList);
HSSFRichTextString ts= new HSSFRichTextString(itemText);
ts.applyFont(0,ts.length(),fontBase);
if (addList != null && !addList.isEmpty()) {
for (MarkTextVO markTextVO : addList) {
int stIndex = markTextVO.getStartIndex();
int edIndex = markTextVO.getEndIndex();
ts.applyFont(stIndex,edIndex,fontAdd);
}
}
if (delList != null && !delList.isEmpty()) {
for (MarkTextVO markTextVO : delList) {
int stIndex = markTextVO.getStartIndex();
int edIndex = markTextVO.getEndIndex();
ts.applyFont(stIndex,edIndex,fontDel);
}
}
row1.createCell(2).setCellValue(ts);
row1.getCell(2).setCellStyle(cellStyleBase);
row1.createCell(3).setCellValue(getRightList.get(rowNum).getRemark());
row1.getCell(3).setCellStyle(cellStyleBase);
}
}
response.setHeader("Content-Disposition",
"attachment; filename=\"" + ReadExcel.encodeFileName(fileName, request) +"\"");
response.setContentType("application/force-download");
response.flushBuffer();
os = response.getOutputStream();
workbook.write(os);
os.flush();
os.close(); // 后开先关
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AdcDaBaseException("下载文件失败,请重试");
} finally {
IOUtils.closeQuietly(os);
IOUtils.closeQuietly(excelOS);
}
}
}
@@ -0,0 +1,23 @@
package com.adc.da.slrs.standardSplit.dao;
import com.adc.da.slrs.standardSplit.entity.SarItemsCompareHisEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
/**
*
* <br>
* <b>功能:</b>SAR_ITEMS_COMPARE_HIS SarItemsCompareHisEODao<br>
* <b>作者:</b>code generator<br>
* <b>日期:</b> 2020-02-26 <br>
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
*/
@Mapper
public interface SarItemsCompareHisEODao extends BaseMapper<SarItemsCompareHisEO> {
@Delete("delete from SAR_ITEMS_COMPARE_HIS WHERE STAND_HIS_ID = #{standHisId}")
void deleteByStandHisId(String standHisId);
int insertSelective(SarItemsCompareHisEO sarItemsCompareHisEO);
}
@@ -0,0 +1,35 @@
package com.adc.da.slrs.standardSplit.dao;
import com.adc.da.slrs.standardSplit.entity.SarStandCompareHisEO;
import com.adc.da.slrs.standardSplit.entity.SarStandCompareHisEOPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
*
* <br>
* <b>功能:</b>SAR_STAND_COMPARE_HIS SarStandCompareHisEODao<br>
* <b>作者:</b>code generator<br>
* <b>日期:</b> 2020-02-24 <br>
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
*/
@Mapper
public interface SarStandCompareHisEODao extends BaseMapper<SarStandCompareHisEO> {
int queryByCount(SarStandCompareHisEOPage page);
List<SarStandCompareHisEO> queryByPage(SarStandCompareHisEOPage page);
List<SarStandCompareHisEO> queryByList(SarStandCompareHisEOPage page);
SarStandCompareHisEO selectByPrimaryKey(String id);
int insertSelective(SarStandCompareHisEO sarStandCompareHisEO);
int updateByPrimaryKeySelective(SarStandCompareHisEO sarStandCompareHisEO);
int deleteByPrimaryKey(String id);
}
@@ -0,0 +1,36 @@
package com.adc.da.slrs.standardSplit.dao;
import com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEO;
import com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEOPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
*
* <br>
* <b>功能:</b>SAR_STAND_ITEMS_COMPARE_HIS SarStandItemsCompareHisEODao<br>
* <b>作者:</b>code generator<br>
* <b>日期:</b> 2020-02-24 <br>
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
*/
@Mapper
public interface SarStandItemsCompareHisEODao extends BaseMapper<SarStandItemsCompareHisEO> {
@Delete("delete from SAR_STAND_ITEMS_COMPARE_HIS WHERE STAND_HIS_ID = #{standHisId}")
void deleteByStandHisId(String standHisId);
int insertSelective(SarStandItemsCompareHisEO var);
List<SarStandItemsCompareHisEO> queryByPage(SarStandItemsCompareHisEOPage page);
List<SarStandItemsCompareHisEO> queryByList(SarStandItemsCompareHisEOPage page);
SarStandItemsCompareHisEO selectByPrimaryKey(String id);
void updateByPrimaryKeySelective(SarStandItemsCompareHisEO page);
void deleteByPrimaryKey(String id);
}
@@ -0,0 +1,283 @@
package com.adc.da.slrs.standardSplit.entity;
import com.adc.da.base.entity.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
/**
* <b>功能:</b>SAR_ITEMS_COMPARE_HIS SarItemsCompareHisEOEntity<br>
* <b>作者:</b>code generator<br>
* <b>日期:</b> 2020-02-26 <br>
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
*/
public class SarItemsCompareHisEO extends BaseEntity {
private String id;
private String oldItemsId;
private String oldItemsName;
private String oldItemsText;
private String newItemsId;
private String newItemsName;
private String newItemsText;
private String createUser;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private String modifyUser;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date modifyTime;
private String standHisId;
private String similarityDegree;
private String oldItemsNum;
private String newItemsNum;
private String oldRemark;
private String newRemark;
/**
* java字段名转换为原始数据库列名。<b>如果不存在则返回null</b><br>
* <p>字段列表:</p>
* <li>id -> id</li>
* <li>oldItemsId -> old_items_id</li>
* <li>oldItemsName -> old_items_name</li>
* <li>oldItemsText -> old_items_text</li>
* <li>newItemsId -> new_items_id</li>
* <li>newItemsName -> new_items_name</li>
* <li>newItemsText -> new_items_text</li>
* <li>createUser -> create_user</li>
* <li>createTime -> create_time</li>
* <li>modifyUser -> modify_user</li>
* <li>modifyTime -> modify_time</li>
* <li>standHisId -> stand_his_id</li>
* <li>similarityDegree -> similarity_degree</li>
* <li>oldItemsNum -> old_items_num</li>
* <li>newItemsNum -> new_items_num</li>
*/
public static String fieldToColumn(String fieldName) {
if (fieldName == null) return null;
switch (fieldName) {
case "id": return "id";
case "oldItemsId": return "old_items_id";
case "oldItemsName": return "old_items_name";
case "oldItemsText": return "old_items_text";
case "newItemsId": return "new_items_id";
case "newItemsName": return "new_items_name";
case "newItemsText": return "new_items_text";
case "createUser": return "create_user";
case "createTime": return "create_time";
case "modifyUser": return "modify_user";
case "modifyTime": return "modify_time";
case "standHisId": return "stand_his_id";
case "similarityDegree": return "similarity_degree";
case "oldItemsNum": return "old_items_num";
case "newItemsNum": return "new_items_num";
default: return null;
}
}
/**
* 原始数据库列名转换为java字段名。<b>如果不存在则返回null</b><br>
* <p>字段列表:</p>
* <li>id -> id</li>
* <li>old_items_id -> oldItemsId</li>
* <li>old_items_name -> oldItemsName</li>
* <li>old_items_text -> oldItemsText</li>
* <li>new_items_id -> newItemsId</li>
* <li>new_items_name -> newItemsName</li>
* <li>new_items_text -> newItemsText</li>
* <li>create_user -> createUser</li>
* <li>create_time -> createTime</li>
* <li>modify_user -> modifyUser</li>
* <li>modify_time -> modifyTime</li>
* <li>stand_his_id -> standHisId</li>
* <li>similarity_degree -> similarityDegree</li>
* <li>old_items_num -> oldItemsNum</li>
* <li>new_items_num -> newItemsNum</li>
*/
public static String columnToField(String columnName) {
if (columnName == null) return null;
switch (columnName) {
case "id": return "id";
case "old_items_id": return "oldItemsId";
case "old_items_name": return "oldItemsName";
case "old_items_text": return "oldItemsText";
case "new_items_id": return "newItemsId";
case "new_items_name": return "newItemsName";
case "new_items_text": return "newItemsText";
case "create_user": return "createUser";
case "create_time": return "createTime";
case "modify_user": return "modifyUser";
case "modify_time": return "modifyTime";
case "stand_his_id": return "standHisId";
case "similarity_degree": return "similarityDegree";
case "old_items_num": return "oldItemsNum";
case "new_items_num": return "newItemsNum";
default: return null;
}
}
/** **/
public String getId() {
return this.id;
}
/** **/
public void setId(String id) {
this.id = id;
}
/** **/
public String getOldItemsId() {
return this.oldItemsId;
}
/** **/
public void setOldItemsId(String oldItemsId) {
this.oldItemsId = oldItemsId;
}
/** **/
public String getOldItemsName() {
return this.oldItemsName;
}
/** **/
public void setOldItemsName(String oldItemsName) {
this.oldItemsName = oldItemsName;
}
/** **/
public String getOldItemsText() {
return this.oldItemsText;
}
/** **/
public void setOldItemsText(String oldItemsText) {
this.oldItemsText = oldItemsText;
}
/** **/
public String getNewItemsId() {
return this.newItemsId;
}
/** **/
public void setNewItemsId(String newItemsId) {
this.newItemsId = newItemsId;
}
/** **/
public String getNewItemsName() {
return this.newItemsName;
}
/** **/
public void setNewItemsName(String newItemsName) {
this.newItemsName = newItemsName;
}
/** **/
public String getNewItemsText() {
return this.newItemsText;
}
/** **/
public void setNewItemsText(String newItemsText) {
this.newItemsText = newItemsText;
}
/** **/
public String getCreateUser() {
return this.createUser;
}
/** **/
public void setCreateUser(String createUser) {
this.createUser = createUser;
}
/** **/
public Date getCreateTime() {
return this.createTime;
}
/** **/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/** **/
public String getModifyUser() {
return this.modifyUser;
}
/** **/
public void setModifyUser(String modifyUser) {
this.modifyUser = modifyUser;
}
/** **/
public Date getModifyTime() {
return this.modifyTime;
}
/** **/
public void setModifyTime(Date modifyTime) {
this.modifyTime = modifyTime;
}
/** **/
public String getStandHisId() {
return this.standHisId;
}
/** **/
public void setStandHisId(String standHisId) {
this.standHisId = standHisId;
}
/** **/
public String getSimilarityDegree() {
return this.similarityDegree;
}
/** **/
public void setSimilarityDegree(String similarityDegree) {
this.similarityDegree = similarityDegree;
}
/** **/
public String getOldItemsNum() {
return this.oldItemsNum;
}
/** **/
public void setOldItemsNum(String oldItemsNum) {
this.oldItemsNum = oldItemsNum;
}
/** **/
public String getNewItemsNum() {
return this.newItemsNum;
}
/** **/
public void setNewItemsNum(String newItemsNum) {
this.newItemsNum = newItemsNum;
}
public String getOldRemark() {
return oldRemark;
}
public void setOldRemark(String oldRemark) {
this.oldRemark = oldRemark;
}
public String getNewRemark() {
return newRemark;
}
public void setNewRemark(String newRemark) {
this.newRemark = newRemark;
}
}
@@ -0,0 +1,329 @@
package com.adc.da.slrs.standardSplit.entity;
import com.adc.da.base.entity.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* <b>功能:</b>SAR_STAND_COMPARE_HIS SarStandCompareHisEOEntity<br>
* <b>作者:</b>code generator<br>
* <b>日期:</b> 2020-02-24 <br>
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
*/
public class SarStandCompareHisEO extends BaseEntity {
private String compareType;
private String id;
private String oldStandId;
private String oldStandNum;
private String oldStandName;
private String newStandId;
private String newStandNum;
private String newStandName;
private String oldFileType;
private String oldFileTypeShow;
private String oldSarType;
private String createUser;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private String modifyUser;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date modifyTime;
private String newFileType;
private String newFileTypeShow;
private String newSarType;
private String collectId;
private List<SarStandItemsCompareHisEO> resLeftMapList = new ArrayList<>();
private List<SarStandItemsCompareHisEO> resRightMapList = new ArrayList<>();
/**
* java字段名转换为原始数据库列名。<b>如果不存在则返回null</b><br>
* <p>字段列表:</p>
* <li>compareType -> compare_type</li>
* <li>id -> id</li>
* <li>oldStandId -> old_stand_id</li>
* <li>oldStandNum -> old_stand_num</li>
* <li>oldStandName -> old_stand_name</li>
* <li>newStandId -> new_stand_id</li>
* <li>newStandNum -> new_stand_num</li>
* <li>newStandName -> new_stand_name</li>
* <li>oldFileType -> old_file_type</li>
* <li>oldSarType -> old_sar_type</li>
* <li>createUser -> create_user</li>
* <li>createTime -> create_time</li>
* <li>modifyUser -> modify_user</li>
* <li>modifyTime -> modify_time</li>
* <li>newFileType -> new_file_type</li>
* <li>newSarType -> new_sar_type</li>
*/
public static String fieldToColumn(String fieldName) {
if (fieldName == null) return null;
switch (fieldName) {
case "compareType": return "compare_type";
case "id": return "id";
case "oldStandId": return "old_stand_id";
case "oldStandNum": return "old_stand_num";
case "oldStandName": return "old_stand_name";
case "newStandId": return "new_stand_id";
case "newStandNum": return "new_stand_num";
case "newStandName": return "new_stand_name";
case "oldFileType": return "old_file_type";
case "oldSarType": return "old_sar_type";
case "createUser": return "create_user";
case "createTime": return "create_time";
case "modifyUser": return "modify_user";
case "modifyTime": return "modify_time";
case "newFileType": return "new_file_type";
case "newSarType": return "new_sar_type";
default: return null;
}
}
/**
* 原始数据库列名转换为java字段名。<b>如果不存在则返回null</b><br>
* <p>字段列表:</p>
* <li>compare_type -> compareType</li>
* <li>id -> id</li>
* <li>old_stand_id -> oldStandId</li>
* <li>old_stand_num -> oldStandNum</li>
* <li>old_stand_name -> oldStandName</li>
* <li>new_stand_id -> newStandId</li>
* <li>new_stand_num -> newStandNum</li>
* <li>new_stand_name -> newStandName</li>
* <li>old_file_type -> oldFileType</li>
* <li>old_sar_type -> oldSarType</li>
* <li>create_user -> createUser</li>
* <li>create_time -> createTime</li>
* <li>modify_user -> modifyUser</li>
* <li>modify_time -> modifyTime</li>
* <li>new_file_type -> newFileType</li>
* <li>new_sar_type -> newSarType</li>
*/
public static String columnToField(String columnName) {
if (columnName == null) return null;
switch (columnName) {
case "compare_type": return "compareType";
case "id": return "id";
case "old_stand_id": return "oldStandId";
case "old_stand_num": return "oldStandNum";
case "old_stand_name": return "oldStandName";
case "new_stand_id": return "newStandId";
case "new_stand_num": return "newStandNum";
case "new_stand_name": return "newStandName";
case "old_file_type": return "oldFileType";
case "old_sar_type": return "oldSarType";
case "create_user": return "createUser";
case "create_time": return "createTime";
case "modify_user": return "modifyUser";
case "modify_time": return "modifyTime";
case "new_file_type": return "newFileType";
case "new_sar_type": return "newSarType";
default: return null;
}
}
/** **/
public String getCompareType() {
return this.compareType;
}
/** **/
public void setCompareType(String compareType) {
this.compareType = compareType;
}
/** **/
public String getId() {
return this.id;
}
/** **/
public void setId(String id) {
this.id = id;
}
/** **/
public String getOldStandId() {
return this.oldStandId;
}
/** **/
public void setOldStandId(String oldStandId) {
this.oldStandId = oldStandId;
}
/** **/
public String getOldStandNum() {
return this.oldStandNum;
}
/** **/
public void setOldStandNum(String oldStandNum) {
this.oldStandNum = oldStandNum;
}
/** **/
public String getOldStandName() {
return this.oldStandName;
}
/** **/
public void setOldStandName(String oldStandName) {
this.oldStandName = oldStandName;
}
/** **/
public String getNewStandId() {
return this.newStandId;
}
/** **/
public void setNewStandId(String newStandId) {
this.newStandId = newStandId;
}
/** **/
public String getNewStandNum() {
return this.newStandNum;
}
/** **/
public void setNewStandNum(String newStandNum) {
this.newStandNum = newStandNum;
}
/** **/
public String getNewStandName() {
return this.newStandName;
}
/** **/
public void setNewStandName(String newStandName) {
this.newStandName = newStandName;
}
/** **/
public String getOldFileType() {
return this.oldFileType;
}
/** **/
public void setOldFileType(String oldFileType) {
this.oldFileType = oldFileType;
}
/** **/
public String getOldSarType() {
return this.oldSarType;
}
/** **/
public void setOldSarType(String oldSarType) {
this.oldSarType = oldSarType;
}
/** **/
public String getCreateUser() {
return this.createUser;
}
/** **/
public void setCreateUser(String createUser) {
this.createUser = createUser;
}
/** **/
public Date getCreateTime() {
return this.createTime;
}
/** **/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/** **/
public String getModifyUser() {
return this.modifyUser;
}
/** **/
public void setModifyUser(String modifyUser) {
this.modifyUser = modifyUser;
}
/** **/
public Date getModifyTime() {
return this.modifyTime;
}
/** **/
public void setModifyTime(Date modifyTime) {
this.modifyTime = modifyTime;
}
/** **/
public String getNewFileType() {
return this.newFileType;
}
/** **/
public void setNewFileType(String newFileType) {
this.newFileType = newFileType;
}
/** **/
public String getNewSarType() {
return this.newSarType;
}
/** **/
public void setNewSarType(String newSarType) {
this.newSarType = newSarType;
}
public List<SarStandItemsCompareHisEO> getResLeftMapList() {
return resLeftMapList;
}
public void setResLeftMapList(List<SarStandItemsCompareHisEO> resLeftMapList) {
this.resLeftMapList = resLeftMapList;
}
public List<SarStandItemsCompareHisEO> getResRightMapList() {
return resRightMapList;
}
public void setResRightMapList(List<SarStandItemsCompareHisEO> resRightMapList) {
this.resRightMapList = resRightMapList;
}
public String getOldFileTypeShow() {
return oldFileTypeShow;
}
public void setOldFileTypeShow(String oldFileTypeShow) {
this.oldFileTypeShow = oldFileTypeShow;
}
public String getNewFileTypeShow() {
return newFileTypeShow;
}
public void setNewFileTypeShow(String newFileTypeShow) {
this.newFileTypeShow = newFileTypeShow;
}
public String getCollectId() {
return collectId;
}
public void setCollectId(String collectId) {
this.collectId = collectId;
}
}
@@ -0,0 +1,377 @@
package com.adc.da.slrs.standardSplit.entity;
import com.adc.da.base.page.BasePage;
/**
* <b>功能:</b>SAR_STAND_COMPARE_HIS SarStandCompareHisEOPage<br>
* <b>作者:</b>code generator<br>
* <b>日期:</b> 2020-02-24 <br>
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
*/
public class SarStandCompareHisEOPage extends BasePage {
private String compareType;
private String compareTypeOperator = "=";
private String id;
private String idOperator = "=";
private String oldStandId;
private String oldStandIdOperator = "=";
private String oldStandNum;
private String oldStandNumOperator = "=";
private String oldStandName;
private String oldStandNameOperator = "=";
private String newStandId;
private String newStandIdOperator = "=";
private String newStandNum;
private String newStandNumOperator = "=";
private String newStandName;
private String newStandNameOperator = "=";
private String oldFileType;
private String oldFileTypeOperator = "=";
private String oldSarType;
private String oldSarTypeOperator = "=";
private String createUser;
private String createUserOperator = "=";
private String createTime;
private String createTime1;
private String createTime2;
private String createTimeOperator = "=";
private String modifyUser;
private String modifyUserOperator = "=";
private String modifyTime;
private String modifyTime1;
private String modifyTime2;
private String modifyTimeOperator = "=";
private String newFileType;
private String newFileTypeOperator = "=";
private String newSarType;
private String newSarTypeOperator = "=";
private String oldNumOrName;
private String newNumOrName;
private String shunxu;
private String sql;
public String getCompareType() {
return this.compareType;
}
public void setCompareType(String compareType) {
this.compareType = compareType;
}
public String getCompareTypeOperator() {
return this.compareTypeOperator;
}
public void setCompareTypeOperator(String compareTypeOperator) {
this.compareTypeOperator = compareTypeOperator;
}
public String getId() {
return this.id;
}
public void setId(String id) {
this.id = id;
}
public String getIdOperator() {
return this.idOperator;
}
public void setIdOperator(String idOperator) {
this.idOperator = idOperator;
}
public String getOldStandId() {
return this.oldStandId;
}
public void setOldStandId(String oldStandId) {
this.oldStandId = oldStandId;
}
public String getOldStandIdOperator() {
return this.oldStandIdOperator;
}
public void setOldStandIdOperator(String oldStandIdOperator) {
this.oldStandIdOperator = oldStandIdOperator;
}
public String getOldStandNum() {
return this.oldStandNum;
}
public void setOldStandNum(String oldStandNum) {
this.oldStandNum = oldStandNum;
}
public String getOldStandNumOperator() {
return this.oldStandNumOperator;
}
public void setOldStandNumOperator(String oldStandNumOperator) {
this.oldStandNumOperator = oldStandNumOperator;
}
public String getOldStandName() {
return this.oldStandName;
}
public void setOldStandName(String oldStandName) {
this.oldStandName = oldStandName;
}
public String getOldStandNameOperator() {
return this.oldStandNameOperator;
}
public void setOldStandNameOperator(String oldStandNameOperator) {
this.oldStandNameOperator = oldStandNameOperator;
}
public String getNewStandId() {
return this.newStandId;
}
public void setNewStandId(String newStandId) {
this.newStandId = newStandId;
}
public String getNewStandIdOperator() {
return this.newStandIdOperator;
}
public void setNewStandIdOperator(String newStandIdOperator) {
this.newStandIdOperator = newStandIdOperator;
}
public String getNewStandNum() {
return this.newStandNum;
}
public void setNewStandNum(String newStandNum) {
this.newStandNum = newStandNum;
}
public String getNewStandNumOperator() {
return this.newStandNumOperator;
}
public void setNewStandNumOperator(String newStandNumOperator) {
this.newStandNumOperator = newStandNumOperator;
}
public String getNewStandName() {
return this.newStandName;
}
public void setNewStandName(String newStandName) {
this.newStandName = newStandName;
}
public String getNewStandNameOperator() {
return this.newStandNameOperator;
}
public void setNewStandNameOperator(String newStandNameOperator) {
this.newStandNameOperator = newStandNameOperator;
}
public String getOldFileType() {
return this.oldFileType;
}
public void setOldFileType(String oldFileType) {
this.oldFileType = oldFileType;
}
public String getOldFileTypeOperator() {
return this.oldFileTypeOperator;
}
public void setOldFileTypeOperator(String oldFileTypeOperator) {
this.oldFileTypeOperator = oldFileTypeOperator;
}
public String getOldSarType() {
return this.oldSarType;
}
public void setOldSarType(String oldSarType) {
this.oldSarType = oldSarType;
}
public String getOldSarTypeOperator() {
return this.oldSarTypeOperator;
}
public void setOldSarTypeOperator(String oldSarTypeOperator) {
this.oldSarTypeOperator = oldSarTypeOperator;
}
public String getCreateUser() {
return this.createUser;
}
public void setCreateUser(String createUser) {
this.createUser = createUser;
}
public String getCreateUserOperator() {
return this.createUserOperator;
}
public void setCreateUserOperator(String createUserOperator) {
this.createUserOperator = createUserOperator;
}
public String getCreateTime() {
return this.createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getCreateTime1() {
return this.createTime1;
}
public void setCreateTime1(String createTime1) {
this.createTime1 = createTime1;
}
public String getCreateTime2() {
return this.createTime2;
}
public void setCreateTime2(String createTime2) {
this.createTime2 = createTime2;
}
public String getCreateTimeOperator() {
return this.createTimeOperator;
}
public void setCreateTimeOperator(String createTimeOperator) {
this.createTimeOperator = createTimeOperator;
}
public String getModifyUser() {
return this.modifyUser;
}
public void setModifyUser(String modifyUser) {
this.modifyUser = modifyUser;
}
public String getModifyUserOperator() {
return this.modifyUserOperator;
}
public void setModifyUserOperator(String modifyUserOperator) {
this.modifyUserOperator = modifyUserOperator;
}
public String getModifyTime() {
return this.modifyTime;
}
public void setModifyTime(String modifyTime) {
this.modifyTime = modifyTime;
}
public String getModifyTime1() {
return this.modifyTime1;
}
public void setModifyTime1(String modifyTime1) {
this.modifyTime1 = modifyTime1;
}
public String getModifyTime2() {
return this.modifyTime2;
}
public void setModifyTime2(String modifyTime2) {
this.modifyTime2 = modifyTime2;
}
public String getModifyTimeOperator() {
return this.modifyTimeOperator;
}
public void setModifyTimeOperator(String modifyTimeOperator) {
this.modifyTimeOperator = modifyTimeOperator;
}
public String getNewFileType() {
return this.newFileType;
}
public void setNewFileType(String newFileType) {
this.newFileType = newFileType;
}
public String getNewFileTypeOperator() {
return this.newFileTypeOperator;
}
public void setNewFileTypeOperator(String newFileTypeOperator) {
this.newFileTypeOperator = newFileTypeOperator;
}
public String getNewSarType() {
return this.newSarType;
}
public void setNewSarType(String newSarType) {
this.newSarType = newSarType;
}
public String getNewSarTypeOperator() {
return this.newSarTypeOperator;
}
public void setNewSarTypeOperator(String newSarTypeOperator) {
this.newSarTypeOperator = newSarTypeOperator;
}
public String getOldNumOrName() {
return oldNumOrName;
}
public void setOldNumOrName(String oldNumOrName) {
this.oldNumOrName = oldNumOrName;
}
public String getNewNumOrName() {
return newNumOrName;
}
public void setNewNumOrName(String newNumOrName) {
this.newNumOrName = newNumOrName;
}
public String getShunxu() {
return shunxu;
}
public void setShunxu(String shunxu) {
this.shunxu = shunxu;
}
public String getSql() {
return sql;
}
public void setSql(String sql) {
this.sql = sql;
}
}
@@ -0,0 +1,222 @@
package com.adc.da.slrs.standardSplit.entity;
import com.adc.da.base.entity.BaseEntity;
import java.util.Date;
/**
* <b>功能:</b>SAR_STAND_ITEMS_COMPARE_HIS SarStandItemsCompareHisEOEntity<br>
* <b>作者:</b>code generator<br>
* <b>日期:</b> 2020-02-24 <br>
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
*/
public class SarStandItemsCompareHisEO extends BaseEntity {
private String id;
private String itemsId;
private String itemsName;
private String itemsNum;
private String itemsText;
private Integer itemsDisplayNum;
private Integer targetStand;
private String leftOrRight;
private String standHisId;
@org.springframework.format.annotation.DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@org.springframework.format.annotation.DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date modifyTime;
private String remark;
private String pid;
/**
* java字段名转换为原始数据库列名。<b>如果不存在则返回null</b><br>
* <p>字段列表:</p>
* <li>id -> id</li>
* <li>itemsId -> items_id</li>
* <li>itemsName -> items_name</li>
* <li>itemsNum -> items_num</li>
* <li>itemsText -> items_text</li>
* <li>itemsDisplayNum -> items_display_num</li>
* <li>targetStand -> target_stand</li>
* <li>leftOrRight -> left_or_right</li>
* <li>standHisId -> stand_his_id</li>
* <li>createTime -> create_time</li>
* <li>modifyTime -> modify_time</li>
*/
public static String fieldToColumn(String fieldName) {
if (fieldName == null) return null;
switch (fieldName) {
case "id": return "id";
case "itemsId": return "items_id";
case "itemsName": return "items_name";
case "itemsNum": return "items_num";
case "itemsText": return "items_text";
case "itemsDisplayNum": return "items_display_num";
case "targetStand": return "target_stand";
case "leftOrRight": return "left_or_right";
case "standHisId": return "stand_his_id";
case "createTime": return "create_time";
case "modifyTime": return "modify_time";
default: return null;
}
}
/**
* 原始数据库列名转换为java字段名。<b>如果不存在则返回null</b><br>
* <p>字段列表:</p>
* <li>id -> id</li>
* <li>items_id -> itemsId</li>
* <li>items_name -> itemsName</li>
* <li>items_num -> itemsNum</li>
* <li>items_text -> itemsText</li>
* <li>items_display_num -> itemsDisplayNum</li>
* <li>target_stand -> targetStand</li>
* <li>left_or_right -> leftOrRight</li>
* <li>stand_his_id -> standHisId</li>
* <li>create_time -> createTime</li>
* <li>modify_time -> modifyTime</li>
*/
public static String columnToField(String columnName) {
if (columnName == null) return null;
switch (columnName) {
case "id": return "id";
case "items_id": return "itemsId";
case "items_name": return "itemsName";
case "items_num": return "itemsNum";
case "items_text": return "itemsText";
case "items_display_num": return "itemsDisplayNum";
case "target_stand": return "targetStand";
case "left_or_right": return "leftOrRight";
case "stand_his_id": return "standHisId";
case "create_time": return "createTime";
case "modify_time": return "modifyTime";
default: return null;
}
}
/** **/
public String getId() {
return this.id;
}
/** **/
public void setId(String id) {
this.id = id;
}
/** **/
public String getItemsId() {
return this.itemsId;
}
/** **/
public void setItemsId(String itemsId) {
this.itemsId = itemsId;
}
/** **/
public String getItemsName() {
return this.itemsName;
}
/** **/
public void setItemsName(String itemsName) {
this.itemsName = itemsName;
}
/** **/
public String getItemsNum() {
return this.itemsNum;
}
/** **/
public void setItemsNum(String itemsNum) {
this.itemsNum = itemsNum;
}
/** **/
public String getItemsText() {
return this.itemsText;
}
/** **/
public void setItemsText(String itemsText) {
this.itemsText = itemsText;
}
/** **/
public Integer getItemsDisplayNum() {
return this.itemsDisplayNum;
}
/** **/
public void setItemsDisplayNum(Integer itemsDisplayNum) {
this.itemsDisplayNum = itemsDisplayNum;
}
/** **/
public Integer getTargetStand() {
return this.targetStand;
}
/** **/
public void setTargetStand(Integer targetStand) {
this.targetStand = targetStand;
}
/** **/
public String getLeftOrRight() {
return this.leftOrRight;
}
/** **/
public void setLeftOrRight(String leftOrRight) {
this.leftOrRight = leftOrRight;
}
/** **/
public String getStandHisId() {
return this.standHisId;
}
/** **/
public void setStandHisId(String standHisId) {
this.standHisId = standHisId;
}
/** **/
public Date getCreateTime() {
return this.createTime;
}
/** **/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/** **/
public Date getModifyTime() {
return this.modifyTime;
}
/** **/
public void setModifyTime(Date modifyTime) {
this.modifyTime = modifyTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
}
@@ -0,0 +1,248 @@
package com.adc.da.slrs.standardSplit.entity;
import com.adc.da.base.page.BasePage;
/**
* <b>功能:</b>SAR_STAND_ITEMS_COMPARE_HIS SarStandItemsCompareHisEOPage<br>
* <b>作者:</b>code generator<br>
* <b>日期:</b> 2020-02-24 <br>
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
*/
public class SarStandItemsCompareHisEOPage extends BasePage {
private String id;
private String idOperator = "=";
private String itemsId;
private String itemsIdOperator = "=";
private String itemsName;
private String itemsNameOperator = "=";
private String itemsNum;
private String itemsNumOperator = "=";
private String itemsText;
private String itemsTextOperator = "=";
private String itemsDisplayNum;
private String itemsDisplayNumOperator = "=";
private String targetStand;
private String targetStandOperator = "=";
private String leftOrRight;
private String leftOrRightOperator = "=";
private String standHisId;
private String standHisIdOperator = "=";
private String createTime;
private String createTime1;
private String createTime2;
private String createTimeOperator = "=";
private String modifyTime;
private String modifyTime1;
private String modifyTime2;
private String modifyTimeOperator = "=";
public String getId() {
return this.id;
}
public void setId(String id) {
this.id = id;
}
public String getIdOperator() {
return this.idOperator;
}
public void setIdOperator(String idOperator) {
this.idOperator = idOperator;
}
public String getItemsId() {
return this.itemsId;
}
public void setItemsId(String itemsId) {
this.itemsId = itemsId;
}
public String getItemsIdOperator() {
return this.itemsIdOperator;
}
public void setItemsIdOperator(String itemsIdOperator) {
this.itemsIdOperator = itemsIdOperator;
}
public String getItemsName() {
return this.itemsName;
}
public void setItemsName(String itemsName) {
this.itemsName = itemsName;
}
public String getItemsNameOperator() {
return this.itemsNameOperator;
}
public void setItemsNameOperator(String itemsNameOperator) {
this.itemsNameOperator = itemsNameOperator;
}
public String getItemsNum() {
return this.itemsNum;
}
public void setItemsNum(String itemsNum) {
this.itemsNum = itemsNum;
}
public String getItemsNumOperator() {
return this.itemsNumOperator;
}
public void setItemsNumOperator(String itemsNumOperator) {
this.itemsNumOperator = itemsNumOperator;
}
public String getItemsText() {
return this.itemsText;
}
public void setItemsText(String itemsText) {
this.itemsText = itemsText;
}
public String getItemsTextOperator() {
return this.itemsTextOperator;
}
public void setItemsTextOperator(String itemsTextOperator) {
this.itemsTextOperator = itemsTextOperator;
}
public String getItemsDisplayNum() {
return this.itemsDisplayNum;
}
public void setItemsDisplayNum(String itemsDisplayNum) {
this.itemsDisplayNum = itemsDisplayNum;
}
public String getItemsDisplayNumOperator() {
return this.itemsDisplayNumOperator;
}
public void setItemsDisplayNumOperator(String itemsDisplayNumOperator) {
this.itemsDisplayNumOperator = itemsDisplayNumOperator;
}
public String getTargetStand() {
return this.targetStand;
}
public void setTargetStand(String targetStand) {
this.targetStand = targetStand;
}
public String getTargetStandOperator() {
return this.targetStandOperator;
}
public void setTargetStandOperator(String targetStandOperator) {
this.targetStandOperator = targetStandOperator;
}
public String getLeftOrRight() {
return this.leftOrRight;
}
public void setLeftOrRight(String leftOrRight) {
this.leftOrRight = leftOrRight;
}
public String getLeftOrRightOperator() {
return this.leftOrRightOperator;
}
public void setLeftOrRightOperator(String leftOrRightOperator) {
this.leftOrRightOperator = leftOrRightOperator;
}
public String getStandHisId() {
return this.standHisId;
}
public void setStandHisId(String standHisId) {
this.standHisId = standHisId;
}
public String getStandHisIdOperator() {
return this.standHisIdOperator;
}
public void setStandHisIdOperator(String standHisIdOperator) {
this.standHisIdOperator = standHisIdOperator;
}
public String getCreateTime() {
return this.createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getCreateTime1() {
return this.createTime1;
}
public void setCreateTime1(String createTime1) {
this.createTime1 = createTime1;
}
public String getCreateTime2() {
return this.createTime2;
}
public void setCreateTime2(String createTime2) {
this.createTime2 = createTime2;
}
public String getCreateTimeOperator() {
return this.createTimeOperator;
}
public void setCreateTimeOperator(String createTimeOperator) {
this.createTimeOperator = createTimeOperator;
}
public String getModifyTime() {
return this.modifyTime;
}
public void setModifyTime(String modifyTime) {
this.modifyTime = modifyTime;
}
public String getModifyTime1() {
return this.modifyTime1;
}
public void setModifyTime1(String modifyTime1) {
this.modifyTime1 = modifyTime1;
}
public String getModifyTime2() {
return this.modifyTime2;
}
public void setModifyTime2(String modifyTime2) {
this.modifyTime2 = modifyTime2;
}
public String getModifyTimeOperator() {
return this.modifyTimeOperator;
}
public void setModifyTimeOperator(String modifyTimeOperator) {
this.modifyTimeOperator = modifyTimeOperator;
}
}
@@ -46,4 +46,6 @@ public interface SarFileSplitItemsEOService {
List<SplitTableInfo> getSheetTableList);
void combineItems(String ids);
List<SarFileSplitItemsEO> queryByList2(SarFileSplitItemsEOPage page);
}
@@ -0,0 +1,10 @@
package com.adc.da.slrs.standardSplit.service;
import com.adc.da.slrs.standardSplit.entity.SarItemsCompareHisEO;
public interface SarItemsCompareHisEOService {
int insertSelective(SarItemsCompareHisEO sarItemsCompareHisEO);
void deleteByStandHisId(String id);
}
@@ -0,0 +1,25 @@
package com.adc.da.slrs.standardSplit.service;
import com.adc.da.slrs.standardSplit.entity.SarStandCompareHisEO;
import com.adc.da.slrs.standardSplit.entity.SarStandCompareHisEOPage;
import java.util.List;
import java.util.Map;
public interface SarStandCompareHisEOService {
List<SarStandCompareHisEO> standCompareHisPage(SarStandCompareHisEOPage page);
List<SarStandCompareHisEO> queryByList(SarStandCompareHisEOPage page);
SarStandCompareHisEO selectByPrimaryKey(String id);
int insertSelective(SarStandCompareHisEO sarStandCompareHisEO);
int updateByPrimaryKeySelective(SarStandCompareHisEO sarStandCompareHisEO);
int deleteByPrimaryKey(String id);
Map<String,Object> clauseComparison(String oldItemId, String newItemId, String standHisId);
Map<String,Object> fullTextComparison(String leftStandard, String rightStandard) throws Exception;
}
@@ -0,0 +1,23 @@
package com.adc.da.slrs.standardSplit.service;
import com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEO;
import com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEOPage;
import java.util.List;
public interface SarStandItemsCompareHisEOService {
int insertSelective(SarStandItemsCompareHisEO var);
void deleteByStandHisId(String id);
List<SarStandItemsCompareHisEO> queryByPage(SarStandItemsCompareHisEOPage page);
List<SarStandItemsCompareHisEO> queryByList(SarStandItemsCompareHisEOPage page);
SarStandItemsCompareHisEO selectByPrimaryKey(String id);
void updateByPrimaryKeySelective(SarStandItemsCompareHisEO page);
void deleteByPrimaryKey(String id);
}
@@ -940,6 +940,11 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic
}
}
@Override
public List<SarFileSplitItemsEO> queryByList2(SarFileSplitItemsEOPage page) {
return sarFileSplitItemsEODao.queryByList2(page);
}
public void changeInfos (StringBuilder resultContent,String reaultItemId,List<String> delMenuIds,List<String> delIds,List<SarFileSplitItemsValEO> resultValList) {
//1.更新最终合并的条款内容
if (resultContent != null) {
@@ -0,0 +1,30 @@
package com.adc.da.slrs.standardSplit.service.impl;
import com.adc.da.slrs.standardSplit.dao.SarItemsCompareHisEODao;
import com.adc.da.slrs.standardSplit.entity.*;
import com.adc.da.slrs.standardSplit.service.SarItemsCompareHisEOService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class SarItemsCompareHisEOServiceImpl implements SarItemsCompareHisEOService {
private static final Logger logger = LoggerFactory.getLogger(SarItemsCompareHisEOServiceImpl.class);
@Autowired
private SarItemsCompareHisEODao sarItemsCompareHisEODao;
@Override
public int insertSelective(SarItemsCompareHisEO sarItemsCompareHisEO) {
return sarItemsCompareHisEODao.insertSelective(sarItemsCompareHisEO);
}
@Override
public void deleteByStandHisId(String id) {
sarItemsCompareHisEODao.deleteByStandHisId(id);
}
}
@@ -0,0 +1,433 @@
package com.adc.da.slrs.standardSplit.service.impl;
import com.adc.da.person.service.IPersonCollectEOService;
import com.adc.da.slrs.standardSplit.dao.SarStandAttrDetailsEODao;
import com.adc.da.slrs.standardSplit.dao.SarStandCompareHisEODao;
import com.adc.da.slrs.standardSplit.entity.*;
import com.adc.da.slrs.standardSplit.service.*;
import com.adc.da.sys.common.SelectionResult;
import com.adc.da.sys.constant.ValidFlagEnum;
import com.adc.da.sys.util.LoginUserUtil;
import com.adc.da.sys.util.UUIDUtils;
import com.adc.da.utils.treetool.Tree;
import com.adc.da.utils.treetool.TreeNode;
import com.adc.da.utils.util.CompHanLPUtils;
import com.adc.da.utils.util.DiffUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.text.NumberFormat;
import java.util.*;
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class SarStandCompareHisEOServiceImpl implements SarStandCompareHisEOService {
private static final Logger logger = LoggerFactory.getLogger(SarStandCompareHisEOServiceImpl.class);
@Autowired
private SarStandCompareHisEODao dao;
@Autowired
private SarStandAttrDetailsEODao sarStandAttrDetailsEODao;
@Autowired
private IPersonCollectEOService personCollectEOService;
@Autowired
private SarStandCompareHisEODao sarStandCompareHisEODao;
@Autowired
private SarFileSplitItemsValEOService sarFileSplitItemsValEOService;
@Autowired
private SarFileSplitItemsEOService sarFileSplitItemsEOService;
@Autowired
private SarItemsCompareHisEOService sarItemsCompareHisEOService;
@Autowired
private SarFileSplitMenuEOService sarFileSplitMenuEOService;
@Autowired
private SarFileSplitInfoEOService sarFileSplitInfoEOService;
@Autowired
private SarStandItemsCompareHisEOService sarStandItemsCompareHisEOService;
@Override
public List<SarStandCompareHisEO> standCompareHisPage(SarStandCompareHisEOPage page) {
if(StringUtils.isNotBlank(page.getShunxu())){
String sql = "ORDER BY CREATE_TIME "+page.getShunxu();
page.setSql(sql);
}else{
String sql = "ORDER BY CREATE_TIME DESC";
page.setSql(sql);
}
Integer rowCount = dao.queryByCount(page);
page.getPager().setRowCount(rowCount);
List<SarStandCompareHisEO> rows = dao.queryByPage(page);
if (rows != null && !rows.isEmpty()) {
for (SarStandCompareHisEO infoEO : rows) {
String collectId = personCollectEOService.queryCollectByUserAndId(infoEO.getId());
infoEO.setCollectId(collectId);
if (StringUtils.isNotBlank(infoEO.getOldFileType())) {
List<SelectionResult> getList = sarStandAttrDetailsEODao.selectFileFieldForSel(infoEO.getOldFileType());
if (getList != null && !getList.isEmpty()) {
infoEO.setOldFileTypeShow(getList.get(0).getLabel());
} else {
infoEO.setOldFileTypeShow(null);
}
}
if (StringUtils.isNotBlank(infoEO.getNewFileType())) {
List<SelectionResult> getList = sarStandAttrDetailsEODao.selectFileFieldForSel(infoEO.getNewFileType());
if (getList != null && !getList.isEmpty()) {
infoEO.setNewFileTypeShow(getList.get(0).getLabel());
} else {
infoEO.setNewFileTypeShow(null);
}
}
}
}
return rows;
}
@Override
public List<SarStandCompareHisEO> queryByList(SarStandCompareHisEOPage page) {
return sarStandCompareHisEODao.queryByList(page);
}
@Override
public SarStandCompareHisEO selectByPrimaryKey(String id) {
return sarStandCompareHisEODao.selectByPrimaryKey(id);
}
@Override
public int insertSelective(SarStandCompareHisEO sarStandCompareHisEO) {
return sarStandCompareHisEODao.insertSelective(sarStandCompareHisEO);
}
@Override
public int updateByPrimaryKeySelective(SarStandCompareHisEO sarStandCompareHisEO) {
return sarStandCompareHisEODao.updateByPrimaryKeySelective(sarStandCompareHisEO);
}
@Override
public int deleteByPrimaryKey(String id) {
return sarStandCompareHisEODao.deleteByPrimaryKey(id);
}
@Override
public Map<String, Object> clauseComparison(String oldItemId, String newItemId, String standHisId) {
Map<String,Object> resultMap = new HashMap<String, Object>();
String oldTxt = "";
SarFileSplitItemsValEOPage oldPage = new SarFileSplitItemsValEOPage();
oldPage.setItemId(oldItemId);
oldPage.setType("TEXT");
oldPage.setOrderBy("DISPLAY_SEQ,ID");
List<SarFileSplitItemsValEO> oldList = sarFileSplitItemsValEOService.queryByList(oldPage);
if(oldList!=null && !oldList.isEmpty()){
for(int i = 1;i<=oldList.size();i++){
if(i==oldList.size()) {
oldTxt += oldList.get(i-1).getItemContent();
}else{
oldTxt += oldList.get(i-1).getItemContent() + "\n";
}
}
}
String newTxt = "";
SarFileSplitItemsValEOPage newPage = new SarFileSplitItemsValEOPage();
newPage.setItemId(newItemId);
newPage.setType("TEXT");
newPage.setOrderBy("DISPLAY_SEQ,ID");
List<SarFileSplitItemsValEO> newList = sarFileSplitItemsValEOService.queryByList(newPage);
if(newList!=null && !newList.isEmpty()){
for(int i = 1;i<=newList.size();i++){
if(i==newList.size()) {
newTxt += newList.get(i-1).getItemContent();
}else{
newTxt += newList.get(i-1).getItemContent() + "\n";
}
}
}
String similarityDegree="";
double similarity = 100.00;
if(!StringUtils.isNotBlank(oldTxt.trim()) && !StringUtils.isNotBlank(newTxt.trim())){
similarityDegree = "100.00";
}else if(StringUtils.isNotBlank(oldTxt.trim()) && StringUtils.isNotBlank(newTxt.trim())){
similarity = CompHanLPUtils.findSimilarity(oldTxt.trim(), newTxt.trim());
NumberFormat nf = java.text.NumberFormat.getPercentInstance();
//nf.setMaximumIntegerDigits(2);//小数点前保留几位
nf.setMinimumFractionDigits(2);// 小数点后保留几位
similarityDegree = nf.format(similarity);
}else{
similarity = 0.00;
similarityDegree = "0.00";
}
resultMap.put("similarityDegree",similarityDegree);
List<String> leftString = new ArrayList<>();
List<String> rightString = new ArrayList<>();
if(similarity >= 0.6){
DiffUtils diffUtils = new DiffUtils();
List<String> htmlDiffStr = diffUtils.getHtmlDiffStr(oldTxt.trim(), newTxt.trim());
List<String> stringList1 = Arrays.asList(htmlDiffStr.get(0).split("<br/>"));
for(String left : stringList1){
StringBuilder stringBuilder = new StringBuilder(left);
stringBuilder.append("</div>");
if(similarity <0.75 && left.indexOf("<span class")!=-1){
stringBuilder.insert(0,"<div class=\"compareBackgroundColor\">");
}else{
stringBuilder.insert(0,"<div>");
}
leftString.add(stringBuilder.toString());
}
List<String> stringList2 = Arrays.asList(htmlDiffStr.get(1).split("<br/>"));
for(String right : stringList2){
StringBuilder stringBuilder = new StringBuilder(right);
stringBuilder.append("</div>");
if(similarity <0.75 && right.indexOf("<span class")!=-1){
stringBuilder.insert(0,"<div class=\"compareBackgroundColor\">");
}else{
stringBuilder.insert(0,"<div>");
}
rightString.add(stringBuilder.toString());
}
resultMap.put("leftString",leftString);
resultMap.put("rightString",rightString);
}else{
String oldTxtTemp = oldTxt.replace("\n", "<br/>");
List<String> stringList1 = Arrays.asList(oldTxtTemp.split("<br/>"));
for(String left : stringList1){
StringBuilder stringBuilder = new StringBuilder(left);
stringBuilder.append("</div>");
stringBuilder.insert(0,"<div>");
leftString.add(stringBuilder.toString());
}
resultMap.put("leftString",leftString);
String newTxtTemp = newTxt.replace("\n", "<br/>");
List<String> stringList2 = Arrays.asList(newTxtTemp.split("<br/>"));
for(String right : stringList2){
StringBuilder stringBuilder = new StringBuilder(right);
stringBuilder.append("</div>");
stringBuilder.insert(0,"<div>");
rightString.add(stringBuilder.toString());
}
resultMap.put("rightString",rightString);
}
//往条款比对历史表中添加数据
if(standHisId != null && !standHisId.isEmpty()){
SarFileSplitItemsEO leftEo = sarFileSplitItemsEOService.selectByPrimaryKey(oldItemId);
SarFileSplitItemsEO rightEo = sarFileSplitItemsEOService.selectByPrimaryKey(newItemId);
String leftItemsText = "";
if(leftString != null && !leftString.isEmpty()){
for(String left : leftString){
leftItemsText += left;
}
}
String rightItemsText = "";
if(rightString != null && !rightString.isEmpty()){
for(String right : rightString){
rightItemsText += right;
}
}
SarItemsCompareHisEO sarItemsCompareHisEO = new SarItemsCompareHisEO();
sarItemsCompareHisEO.setId(UUIDUtils.randomUUID20());
sarItemsCompareHisEO.setOldItemsId(leftEo.getId());
sarItemsCompareHisEO.setOldItemsName(leftEo.getItemsName());
sarItemsCompareHisEO.setOldItemsNum(leftEo.getItemsNum());
sarItemsCompareHisEO.setOldItemsText(leftItemsText);
sarItemsCompareHisEO.setNewItemsId(rightEo.getId());
sarItemsCompareHisEO.setNewItemsName(rightEo.getItemsName());
sarItemsCompareHisEO.setNewItemsNum(rightEo.getItemsNum());
sarItemsCompareHisEO.setNewItemsText(rightItemsText);
sarItemsCompareHisEO.setStandHisId(standHisId);
sarItemsCompareHisEO.setSimilarityDegree(similarityDegree);
sarItemsCompareHisEO.setCreateUser(LoginUserUtil.getUserId());
sarItemsCompareHisEO.setModifyUser(LoginUserUtil.getUserId());
sarItemsCompareHisEO.setModifyTime(new Date());
sarItemsCompareHisEO.setCreateTime(new Date());
sarItemsCompareHisEOService.insertSelective(sarItemsCompareHisEO);
}
return resultMap;
}
@Override
public Map<String, Object> fullTextComparison(String leftStandard, String rightStandard) 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()){
//双重循环找到相似度最高的条款做关联
for(int i=0;i<leftMapList.size();i++){
String leftTxt = leftMapList.get(i).get("itemsText").toString();
//定义初始化的相似度
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);
}
}
}
}
}
//循环对比结束,开始填充html代码
resLeftMapList = writeResultHtml(leftMapList);
resultMap.put("resLeftMapList",resLeftMapList);
resRightMapList = writeResultHtml(rightMapList);
resultMap.put("resRightMapList",resRightMapList);
}
//往全文比对历史表中添加数据
addStandCompareHis(leftStandard,rightStandard,"全文比对",resLeftMapList,resRightMapList);
return resultMap;
}
/**
* @Author yuzhong
* @Description 填充html代码,返回结果
* @Date 16:41 2020/2/18
* @Param [resMapList]
* @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
**/
public List<Map<String,Object>> writeResultHtml (List<Map<String,Object>> resMapList) {
List<Map<String,Object>> resultMapList = new ArrayList<>();
for(Map resMap : resMapList){
Map<String,Object> map = new HashMap<>();
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("<div>"+resMap.get("itemsNum").toString()+"&nbsp;"+resMap.get("itemsName").toString()
);
String itemsTxt = resMap.get("itemsText").toString();
stringBuilder.append(itemsTxt);
stringBuilder.append("</div>");
map.put("resultHtml",stringBuilder.toString());
map.put("targetStand",(Integer)resMap.get("targetStand"));
map.put("itemsId",resMap.get("itemsId").toString());
resultMapList.add(map);
}
return resMapList;
}
/**
* @Author yuzhong
* @Description 保存比对历史
* @Date 17:24 2020/2/24
* @Param [sarStandCompareHisEO]
* @return void
**/
@Async
public void addStandCompareHis(String leftStandId,String rightStandId,String compareType,
List<Map<String,Object>> resLeftMapList,List<Map<String,Object>> resRightMapList) throws Exception{
SarFileSplitInfoEO leftInfo = sarFileSplitInfoEOService.selectByPrimaryKey(leftStandId);
SarFileSplitInfoEO rightInfo = sarFileSplitInfoEOService.selectByPrimaryKey(rightStandId);
//保存标准比对历史表数据
SarStandCompareHisEO sarStandCompareHisEO = new SarStandCompareHisEO();
String id = UUIDUtils.randomUUID20();
sarStandCompareHisEO.setId(id);
sarStandCompareHisEO.setOldStandId(leftStandId);
sarStandCompareHisEO.setNewStandId(rightStandId);
sarStandCompareHisEO.setOldFileType(leftInfo.getFileType());
sarStandCompareHisEO.setNewFileType(rightInfo.getFileType());
sarStandCompareHisEO.setOldStandName(leftInfo.getStandNameSplit());
sarStandCompareHisEO.setNewStandName(rightInfo.getStandNameSplit());
sarStandCompareHisEO.setOldStandNum(leftInfo.getStandNumSplit());
sarStandCompareHisEO.setNewStandNum(rightInfo.getStandNumSplit());
sarStandCompareHisEO.setOldSarType(leftInfo.getSarType());
sarStandCompareHisEO.setNewSarType(rightInfo.getSarType());
sarStandCompareHisEO.setCreateTime(new Date());
sarStandCompareHisEO.setModifyTime(new Date());
sarStandCompareHisEO.setCreateUser(LoginUserUtil.getUserId());
sarStandCompareHisEO.setModifyUser(LoginUserUtil.getUserId());
sarStandCompareHisEO.setCompareType(compareType);
dao.insertSelective(sarStandCompareHisEO);
//保存标准的所有条款比对的历史数据
if(resLeftMapList!=null && !resLeftMapList.isEmpty()) {
setStandCompareHisEO(resLeftMapList, id, "LEFT");
}
if(resRightMapList!=null && !resRightMapList.isEmpty()) {
setStandCompareHisEO(resRightMapList, id, "RIGHT");
}
}
public void setStandCompareHisEO(List<Map<String,Object>> mapList,String id,String leftOrRight) throws Exception{
for(int i=0;i<mapList.size();i++){
SarStandItemsCompareHisEO sarStandItemsCompareHisEO = new SarStandItemsCompareHisEO();
sarStandItemsCompareHisEO.setId(UUIDUtils.randomUUID20());
sarStandItemsCompareHisEO.setCreateTime(new Date());
sarStandItemsCompareHisEO.setModifyTime(new Date());
sarStandItemsCompareHisEO.setStandHisId(id);
sarStandItemsCompareHisEO.setItemsDisplayNum(i);
sarStandItemsCompareHisEO.setLeftOrRight(leftOrRight);
sarStandItemsCompareHisEO.setItemsId(mapList.get(i).get("itemsId").toString());
sarStandItemsCompareHisEO.setItemsName(mapList.get(i).get("itemsName").toString());
sarStandItemsCompareHisEO.setItemsNum(mapList.get(i).get("itemsNum").toString());
sarStandItemsCompareHisEO.setItemsText(mapList.get(i).get("itemsText").toString());
if(mapList.get(i).get("targetStand")!=null) {
sarStandItemsCompareHisEO.setTargetStand((int)mapList.get(i).get("targetStand"));
}
sarStandItemsCompareHisEOService.insertSelective(sarStandItemsCompareHisEO);
}
}
/**
* @Author yuzhong
* @Description 组装条款数据
* @Date 16:41 2020/2/18
* @Param [standardId]
* @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
**/
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(com.adc.da.util.utils.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);
}
List<SarFileSplitItemsEO> itemList = sarFileSplitItemsEOService.queryByList2(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>";
}
// txt = txt.substring(0,txt.length() - 1);
}
map.put("itemsText",txt);
map.put("targetStand",null);
map.put("menuId",sarFileSplitItemsEO.getMenuId());
mapList.add(map);
}
}
return mapList;
}
}
@@ -0,0 +1,59 @@
package com.adc.da.slrs.standardSplit.service.impl;
import com.adc.da.slrs.standardSplit.dao.SarStandItemsCompareHisEODao;
import com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEO;
import com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEOPage;
import com.adc.da.slrs.standardSplit.service.SarStandCompareHisEOService;
import com.adc.da.slrs.standardSplit.service.SarStandItemsCompareHisEOService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class SarStandItemsCompareHisEOServiceImpl implements SarStandItemsCompareHisEOService {
private static final Logger logger = LoggerFactory.getLogger(SarStandItemsCompareHisEOServiceImpl.class);
@Autowired
private SarStandItemsCompareHisEODao sarStandItemsCompareHisEODao;
@Override
public int insertSelective(SarStandItemsCompareHisEO var) {
return sarStandItemsCompareHisEODao.insertSelective(var);
}
@Override
public void deleteByStandHisId(String id) {
sarStandItemsCompareHisEODao.deleteByStandHisId(id);
}
@Override
public List<SarStandItemsCompareHisEO> queryByPage(SarStandItemsCompareHisEOPage page) {
return sarStandItemsCompareHisEODao.queryByPage(page);
}
@Override
public List<SarStandItemsCompareHisEO> queryByList(SarStandItemsCompareHisEOPage page) {
return sarStandItemsCompareHisEODao.queryByList(page);
}
@Override
public SarStandItemsCompareHisEO selectByPrimaryKey(String id) {
return sarStandItemsCompareHisEODao.selectByPrimaryKey(id);
}
@Override
public void updateByPrimaryKeySelective(SarStandItemsCompareHisEO page) {
sarStandItemsCompareHisEODao.updateByPrimaryKeySelective(page);
}
@Override
public void deleteByPrimaryKey(String id) {
sarStandItemsCompareHisEODao.deleteByPrimaryKey(id);
}
}
@@ -0,0 +1,29 @@
package com.adc.da.slrs.standardSplit.vo;
/**
* @Description:
* @Author: yangxuenan
* date: 2020/3/24 15:32
*/
public class MarkTextVO {
private int startIndex;
private int endIndex;
public int getStartIndex() {
return startIndex;
}
public void setStartIndex(int startIndex) {
this.startIndex = startIndex;
}
public int getEndIndex() {
return endIndex;
}
public void setEndIndex(int endIndex) {
this.endIndex = endIndex;
}
}
@@ -0,0 +1,265 @@
package com.adc.da.utils.util;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.extra.tokenizer.Result;
import cn.hutool.extra.tokenizer.TokenizerEngine;
import cn.hutool.extra.tokenizer.TokenizerUtil;
import cn.hutool.extra.tokenizer.Word;
import cn.hutool.extra.tokenizer.engine.hanlp.HanLPEngine;
import cn.hutool.extra.tokenizer.engine.jieba.JiebaEngine;
import com.hankcs.hanlp.HanLP;
import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
import java.io.StringReader;
import java.text.NumberFormat;
import java.util.*;
import java.util.stream.Collectors;
import org.jsoup.Jsoup;
import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;
@Slf4j
public class CompHanLPUtils {
/**
* 通过Ik 进行将句子分词
* @param text
* @return
*/
public static Vector<String> participleIk(String text) {
//对输入进行分词
Vector<String> str = new Vector<>();
try {
StringReader reader = new StringReader(text);
//当为true时,分词器进行最大词长切分
IKSegmenter ik = new IKSegmenter(reader, true);
Lexeme lexeme = null;
while ((lexeme = ik.next()) != null) {
str.add(lexeme.getLexemeText());
}
if (str.size() == 0) {
return null;
}
//分词后
log.info("str分词后:" + str);
} catch (IOException e) {
log.error(e.getMessage());
}
return str;
}
/**
* 结巴分词
* @param text
* @return
*/
public static Vector<String> participleJieBa(String text) {
JiebaEngine engine = new JiebaEngine();
Result results = engine.parse(text);
//输出:这 两个 方法 的 区别 在于 返回 值
String result = CollUtil.join((Iterator<Word>) results, ",");
return new Vector<>(Arrays.asList(result.split(",")));
}
/**
* 中文分词
* @param text
* @return
*/
public static Vector<String> participleChinese(String text){
//自动根据用户引入的分词库的jar来自动选择使用的引擎
TokenizerEngine engine = TokenizerUtil.createEngine();
//解析文本
//String text = "这两个方法的区别在于返回值";
Result results = engine.parse(text);
//输出:这 两个 方法 的 区别 在于 返回 值
String result = CollUtil.join((Iterator<Word>)results, ",");
return new Vector<>(Arrays.asList(result.split(",")));
}
/**
* 采用 HanLP 进行自定义分词
*/
public static Vector<String> participleHanLP(String text){
TokenizerEngine engine = new HanLPEngine();
//解析文本
//String text = "这两个方法的区别在于返回值";
Result results = engine.parse(text);
//输出:这 两个 方法 的 区别 在于 返回 值
String result = CollUtil.join((Iterator<Word>)results, ",");
return new Vector<>(Arrays.asList(result.split(",")));
}
/**
* Java利用hanlp完成语句相似度分析
* @param sentenceOne
* @param sentenceTwo
* @return
*/
public static double findSimilarity(String sentenceOne, String sentenceTwo) {
List<String> sentOneWords = getSplitWords(sentenceOne);
List<String> sentTwoWords = getSplitWords(sentenceTwo);
List<String> allWords = mergeList(sentOneWords, sentTwoWords);
int[] statisticOne = statistic(allWords, sentOneWords);
int[] statisticTwo = statistic(allWords, sentTwoWords);
double dividend = 0;
double divisor1 = 0;
double divisor2 = 0;
int length = statisticOne.length;
for (int i = 0; i < length; i++) {
dividend += statisticOne[i] * statisticTwo[i];
divisor1 += Math.pow(statisticOne[i], 2);
divisor2 += Math.pow(statisticTwo[i], 2);
}
return dividend / (Math.sqrt(divisor1) * Math.sqrt(divisor2));
}
private static int[] statistic(List<String> allWords, List<String> sentWords) {
int[] result = new int[allWords.size()];
int size = allWords.size();
for (int i = 0; i < size; i++) {
result[i] = Collections.frequency(sentWords, allWords.get(i));
}
return result;
}
/**
* 去重
* @param listOne
* @param listTwo
* @return
*/
private static List<String> mergeList(List<String> listOne, List<String> listTwo) {
List<String> result = new ArrayList<>();
result.addAll(listOne);
result.addAll(listTwo);
return result.stream().distinct().collect(Collectors.toList());
}
/**
* 过滤标签
* @param sentence
* @return
*/
private static List<String> getSplitWords(String sentence) {
// 去除掉html标签
sentence = Jsoup.parse(sentence.replace(" ","")).body().text();
// 标点符号会被单独分为一个Term,去除之
return HanLP.segment(sentence).stream().map(a -> a.word).filter(s -> !"`~!@#$^&*()=|{}':;',\\[\\].<>/?~@#¥……&*()——|{}【】‘;:”“'。,、? ".contains(s)).collect(Collectors.toList());
}
public static void main(String[] args) {
String str1="6转向系\n" +
"6.1汽车(三轮汽车除外)的方向盘应设置于左侧,其他机动车的方向盘不得设置于右侧;专项作业车、教练车按需要可设置左右两个方向盘。有驾驶室的正三轮摩托车如使用方向盘转向,则方向盘中心立柱距车辆纵向中心平面的水平距离应小于等于200 mm;其他摩托车不得使用方向盘转向。\n" +
"6.2机动车的方向盘(或方向把)应转动灵活,操纵方便,无卡滞现象。机动车应设置转向限位装置。转向系统在任何操作位置上,不得与其他部件有干涉现象。\n" +
"6.3机动车(摩托车、三轮汽车、手扶拖拉机运输机组除外)正常行驶时,转向轮转向后应有一定的回正能力(允许有残余角),以使机动车具有稳定的直线行驶能力。\n" +
"6.4机动车方向盘的最大自由转动量应小于或等于:\n" +
"a) 最大设计车速大于或等于100 km/h 的机动车:15°\n" +
"b) 三轮汽车:35°;\n" +
"c) 其他机动车:25° 。\n" +
"6.5汽车(三轮汽车除外)应具有适度的不足转向特性。\n" +
"6.6三轮汽车、摩托车的转向轮向左或向右转角应小于等于:\n" +
"a\t三轮汽车、三轮摩托车、正三轮轻便摩托车:45°;\n" +
"6\t\t两轮普通摩托车、两轮轻便摩托车:48°。\n" +
"6.6机动车在平坦、硬实、干燥和清洁的道路上行驶不应跑偏,其方向盘(或方向把)不应有摆振、路感不灵或其他异常现象。\n" +
"6.8机动车在平坦、硬实、干燥和清洁的水泥或沥青道路上行驶,以10 km/h的速度在5 s之内沿螺旋线从直线行驶过渡到外圆直径为25 m的车辆通道圆行驶,施加于方向盘外缘的最大切向力应小于等于245 N。\n" +
"6.9专用校车应采用转向助力装置;其他机动车转向轴最大设计轴荷大于4 000 kg时,也应采用转向助力装置。装有转向助力装置的机动车,转向时其转向助力功能不得出现时有时无的现象,且转向助力装置失效时仍应具有用方向盘控制机动车的能力。装有电动转向助力装置的汽车,在产品使用说明书规定的正常使用状态下,应保证转向助力装置的电能供应。\n" +
"6.10汽车和汽车列车(不计具有作业功能的专用装置的突出部分)、轮式拖拉机运输机组应能在同一个车辆通道圆内通过,车辆通道圆的外圆直径认为25.00 m,车辆通道圆的内圆直径D2为10.60 m。 汽车和汽车列车、轮式拖拉机运输机组由直线行驶过渡到上述圆周运动时,任何部分超出直线行驶时的 车辆外侧面垂直面的值(外摆值)应小于等于0.80 m(对铰接客车和铰接式无轨电车外摆值应小于等于 1.20 m),其试验方法见GB 1589。\n" +
"6.11汽车(三轮汽车除外)的车轮定位应与该车型的技术要求一致。对前轴采用非独立悬架的汽车(前轴采用双转向轴时除外),其转向轮的横向侧滑量,用侧滑台检验时侧滑量值应在±5 m/km之间。\n" +
"6.12转向节及臂,转向横、直拉杆及球销不得有裂纹和损伤,并且转向球销不应松旷。对机动车进行改装或修理时横、直拉杆不得拼焊。\n" +
"6.13三轮汽车、摩托车的前减振器、上下联板和方向把不应有变形和裂损。\n";
String str2="6转向系\n" +
"6.1汽车(三轮汽车除外)的方向盘应设置于左侧,其他机动车的方向盘不应设置于右侧;专项作业车、教练车按需要可设置左右两个方向盘。装有两个后轮、有驾驶室的正三轮摩托车如使用方向盘转向,则方向盘中心立柱距车辆纵向中心平面的水平距离应小于或等于200 mm ;其他摩托车不应使用方向盘转向。\n" +
"6.2机动车的方向盘(或方向把)应转动灵活,无卡滞现象。机动车应设置转向限位装置。转向系统在任何操作位置上,不应与其他部件有干涉现象。\n" +
"6.3机动车(摩托车、三轮汽车、手扶拖拉机运输机组除外〉正常行驶时,转向轮转向后应有一定的回正能力(允许有残余角),以使机动车具有稳定的直线行驶能力0\n" +
"6.4机动车方向盘的最大自由转动量应小于或等于:\n" +
"a) 最大设计车速大于或等于100 km/h 的机动车:15°\n" +
"b) 三轮汽车:35°;\n" +
"c) 其他机动车:25° 。\n" +
"6.5汽车(三轮汽车除外)应具有适度的不足转向特性。\n" +
"6.6三轮汽车、摩托车的转向轮向左或向右转角应小于或等于:\n" +
"a) 三轮汽车、三轮摩托车、正三轮轻便摩托车:45°;\n" +
"b)两轮普通摩托车、两轮轻便摩托车:48°0\n" +
"6.7机动车在平坦、硬实、干燥和清洁的道路上行驶不应跑偏,其方向盘(或方向把)不应有摆振等异常现象。\n" +
"6.8机动车在平坦、硬实、干燥和清洁的水泥或沥青道路上行驶,以10 km/h 的速度在5 s 之内沿螺旋线从直线行驶过渡到外圆直径为25m 的车辆通道圆行驶,施加于方向盘外缘的最大切向力应小于或等于245 N。\n" +
"6.9汽车(三轮汽车除外)的车轮定位应与该车型的技术要求一致。对前轴采用非独立悬架的汽车(前轴采用双转向轴时除外),其转向轮的横向侧滑量,用侧滑台检验时侧滑量值应小于或等于5 m/km。\n" +
"6.10 专用校车应采用转向助力装置;其他机动车转向轴最大设计轴荷大于4 000 kg 时,也应采用转向助力装置。装有转向助力装置的机动车,转向时其转向助力功能不应出现时有时无的现象,且转向助力装置失效时仍应具有用方向盘控制机动车的能力。\n" +
"6.11转向节及臂,转向横、直拉杆及球销应连接可靠,且不应有裂纹和损伤,并且转向球销不应松旷。对机动车进行改装或修理时横、直拉杆不应拼焊。\n" +
"6.12三轮汽车、摩托车的前减振器、上下联板和方向把不应有变形和裂损。";
String str3="\n" +
"5车辆识别代号的标示位置\n" +
"5.1每辆车辆都应具有唯一的车辆识别代号,并永久保持地标示在车辆上,同一车辆上标示的所有的 车辆识别代号的字码构成与排列顺序应相同。除第9章规定的情况外,不得对已标示的车辆识别代号 进行变更。\n" +
"5.2车辆应在产品标牌上标示车辆识别代号(L1、L3类车辆可除外),产品标牌的型式、标示位置、标示要求应符合GB/T 18411的规定。\n" +
"5.3车辆应至少有一个车辆识别代号直接打刻在车架(无车架的车辆为车身主要承载且不能拆卸的部件)能防止锈烛、磨损的部位上。其中:\n" +
"a\tM1类车辆的车辆识别代号应打刻在发动机舱内能防止替换的车辆结构件上,或打刻在车门 立柱上,如受结构限制没有打刻空间时也可打刻在右侧除行李舱外的车辆其他结构件上;\n" +
"b\t最大设计总质量大于或等于12000 kg的货车及所有牵引杆挂车,车辆识别代号应打刻在右前轮纵向中心线前端纵梁外侧,如受结构限制也可打刻在右前轮纵向中心线附近纵梁外侧;\n" +
"c\t半挂车和中置轴挂车的车辆识别代号应打刻在右前支腿前端纵梁外侧(无纵梁车辆除外);\n" +
"d\t其他汽车和无纵梁挂车的车辆识别代号应打刻在车辆右侧前部的车辆结构件上,如受结构限 制也可打刻在右侧其他车辆结构件上。\n" +
"打刻车辆识别代号的部件不应采用打磨、挖补、垫片、凿改、重新涂漆(设计和制造上为保护打刻的 车辆识别代号而采取涂漆工艺的情形除外)等方式处理,从上(前)方观察时,打刻区域周边足够大面积 的表面不应有任何覆盖物,如有覆盖物,该覆盖物的表面应明确标示“车辆识别代号”或“VIN”字样,且覆盖物在不使用任何专用工具的情况下能直接取下(或揭开)及复原,以方便地观察到足够大的包括打刻区域的表面。\n" +
"注1:打刻区域周边足够大面积的表面(足够大的包括打刻区域的表面)是指打刻车辆识别代号的部件的全部表面,但所暴露表面能满足查看打刻车辆识别代号的部件有无挖补、重新焊接、粘贴等痕迹的需要时,也应视为满足要求。\n" +
"注2:对摩托车,打刻的车辆识别代号在不举升车辆的情形下可观察、拓印的,视为满足要求。\n" +
"打刻的车辆识别代号从上(前)方应易于观察、拓印,对于汽车和挂车还应能拍照。\n" +
"5.4具有电子控制单元的汽车,其至少有一个电子控制单元应不可篡改地存储车辆识别代号。\n" +
"5.5 M1、N1类车辆应在靠近风窗立柱的位置标示车辆识别代号,该车辆识别代号在白天不需移动任何部件从车外即能清晰识读。\n" +
"5.6除按照5.2、5.3、5.4、5.5规定标示车辆识别代号之外,类车辆还应在行李舱的易见部位标示车辆识别代号;且若车辆制造厂选取车辆识别代号作为车辆及部件识别标记的标识信息,还应按照GB 30509的规定,标示车辆识别代号。\n" +
"5.7除按照5.2、5.3、5.4规定标示车辆识别代号之外,最大设计总质量大于或等于12000 kg的栏板式、仓栅式、自卸式、罐式货车及最大设计总质量大于或等于10000 kg的栏板式、仓栅式、自卸式、罐式挂车还应在其货箱或常压罐体(或设计和制造上固定在货箱或常压罐体上且用于与车架连接的结构件)上打刻至少两个车辆识别代号。打刻的车辆识别代号应位于货箱(常压罐体)左、右两侧或前端面且易于拍照;且若打刻在货箱(常压罐体)左、右两侧时,打刻的车辆识别代号距货箱(常压罐体)前端面的距离应小于或等于1 000 mm,若打刻在左、右两侧连接结构件时应尽量靠近货箱(常压罐体)前端面。\n" +
"5.8车辆制造厂应至少在一种随车文件中标示车辆识别代号。";
String str4 = "\n" +
"5.3车辆的驱动\n" +
"5.3.1车辆不应靠自身动力驱动。\n" +
"5.3.2在碰撞瞬间,车辆应不冉承受任何附加转向或驱动装置的作用。\n" +
"5.3.3车辆到达壁障的路线在横向任一方向偏离理论轨迹均不应超过150 mm。\n" +
"5.4 试验速度\n" +
"在碰撞瞬间,车辆速度应为504 km/h。如果试验在更高的碰撞速度下进行并且车辆符合要求,也认为试验合格。\n" +
"5.5对前排座椅假人的测量\n" +
"5.5.1为确定性能指标必需的所有测量,均应采用符合附录D要求的测量系统。\n" +
"5.5.2不同的参数应通过具备下列CFC(通道的频率等级)的独立数据通道来记录。\n" +
"5.5.2.1对假人头部的测量\n" +
"重心处的加速度(a)由加速度的二维分量计算得出。加速度分量测量时,CFC为1000。\n" +
"5.5.2.2对假人颈部的测量\n" +
"5.5.2.2.1在头颈连接处测量的轴向张力和前后剪切力,CFC为1000。\n" +
"5.5.2.2.2在头颈连接处测量的对Y轴的弯矩,CFC为600。\n" +
"5.5.2.3对假人胸部的测量\n" +
"胸部变形测量时,CFC为180。\n" +
"5.5.2.4对假人大腿的测量\n" +
"轴向压缩力测量时,CFC为600。";
double similarity = CompHanLPUtils.findSimilarity(str1, str2);
NumberFormat nf = NumberFormat.getPercentInstance();
nf.setMaximumIntegerDigits(2);//小数点前保留几位
nf.setMinimumFractionDigits(2);// 小数点后保留几位
String similarityDegree = nf.format(similarity);
System.out.println(similarityDegree);
System.out.println("======================================================");
double similarity1 = CompHanLPUtils.findSimilarity(str1, str3);
System.out.println(similarity1);
System.out.println("======================================================");
double similarity2 = CompHanLPUtils.findSimilarity(str1, str4);
System.out.println(similarity2);
System.out.println("======================================================");
double similarity3 = CompHanLPUtils.findSimilarity(str3, str4);
System.out.println(similarity3);
}
}
@@ -0,0 +1,269 @@
<?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.adc.da.slrs.standardSplit.dao.SarItemsCompareHisEODao" >
<!-- Result Map-->
<resultMap id="BaseResultMap" type="com.adc.da.slrs.standardSplit.entity.SarItemsCompareHisEO" >
<id column="id" property="id" />
<result column="old_items_id" property="oldItemsId" />
<result column="old_items_name" property="oldItemsName" />
<result column="old_items_text" property="oldItemsText" />
<result column="new_items_id" property="newItemsId" />
<result column="new_items_name" property="newItemsName" />
<result column="new_items_text" property="newItemsText" />
<result column="create_user" property="createUser" />
<result column="create_time" property="createTime" />
<result column="modify_user" property="modifyUser" />
<result column="modify_time" property="modifyTime" />
<result column="stand_his_id" property="standHisId" />
<result column="similarity_degree" property="similarityDegree" />
<result column="old_items_num" property="oldItemsNum" />
<result column="new_items_num" property="newItemsNum" />
<result column="old_remark" property="oldRemark" />
<result column="new_remark" property="newRemark" />
</resultMap>
<!-- SAR_ITEMS_COMPARE_HIS table all fields -->
<sql id="Base_Column_List" >
id, old_items_id, old_items_name, old_items_text, new_items_id, new_items_name, new_items_text,
create_user, create_time, modify_user, modify_time, stand_his_id, similarity_degree,
old_items_num, new_items_num,old_remark,new_remark
</sql>
<!-- 查询条件 -->
<sql id="Base_Where_Clause">
where 1=1
<trim suffixOverrides="," >
<if test="id != null" >
and id ${idOperator} #{id}
</if>
<if test="oldItemsId != null" >
and old_items_id ${oldItemsIdOperator} #{oldItemsId}
</if>
<if test="oldItemsName != null" >
and old_items_name ${oldItemsNameOperator} #{oldItemsName}
</if>
<if test="oldItemsText != null" >
and old_items_text ${oldItemsTextOperator} #{oldItemsText}
</if>
<if test="newItemsId != null" >
and new_items_id ${newItemsIdOperator} #{newItemsId}
</if>
<if test="newItemsName != null" >
and new_items_name ${newItemsNameOperator} #{newItemsName}
</if>
<if test="newItemsText != null" >
and new_items_text ${newItemsTextOperator} #{newItemsText}
</if>
<if test="createUser != null" >
and create_user ${createUserOperator} #{createUser}
</if>
<if test="createTime != null" >
and create_time ${createTimeOperator} #{createTime}
</if>
<if test="createTime1 != null" >
and create_time &gt;= #{createTime1}
</if>
<if test="createTime2 != null" >
and create_time &lt;= #{createTime2}
</if>
<if test="modifyUser != null" >
and modify_user ${modifyUserOperator} #{modifyUser}
</if>
<if test="modifyTime != null" >
and modify_time ${modifyTimeOperator} #{modifyTime}
</if>
<if test="modifyTime1 != null" >
and modify_time &gt;= #{modifyTime1}
</if>
<if test="modifyTime2 != null" >
and modify_time &lt;= #{modifyTime2}
</if>
<if test="standHisId != null" >
and stand_his_id ${standHisIdOperator} #{standHisId}
</if>
<if test="similarityDegree != null" >
and similarity_degree ${similarityDegreeOperator} #{similarityDegree}
</if>
<if test="oldItemsNum != null" >
and old_items_num ${oldItemsNumOperator} #{oldItemsNum}
</if>
<if test="newItemsNum != null" >
and new_items_num ${newItemsNumOperator} #{newItemsNum}
</if>
</trim>
</sql>
<!-- 插入记录 -->
<insert id="insert" parameterType="com.adc.da.slrs.standardSplit.entity.SarItemsCompareHisEO" >
<!-- <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
SELECT SEQ_SAR_ITEMS_COMPARE_HIS.NEXTVAL FROM DUAL
</selectKey> -->
insert into SAR_ITEMS_COMPARE_HIS(<include refid="Base_Column_List" />)
values (#{id, jdbcType=VARCHAR}, #{oldItemsId, jdbcType=VARCHAR}, #{oldItemsName, jdbcType=VARCHAR}, #{oldItemsText, jdbcType=CLOB}, #{newItemsId, jdbcType=VARCHAR}, #{newItemsName, jdbcType=VARCHAR}, #{newItemsText, jdbcType=CLOB}, #{createUser, jdbcType=VARCHAR}, #{createTime, jdbcType=TIMESTAMP}, #{modifyUser, jdbcType=VARCHAR}, #{modifyTime, jdbcType=TIMESTAMP}, #{standHisId, jdbcType=VARCHAR}, #{similarityDegree, jdbcType=VARCHAR}, #{oldItemsNum, jdbcType=VARCHAR}, #{newItemsNum, jdbcType=VARCHAR})
</insert>
<!-- 动态插入记录 主键是序列 -->
<insert id="insertSelective" parameterType="com.adc.da.slrs.standardSplit.entity.SarItemsCompareHisEO" >
<!-- <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
SELECT SEQ_SAR_ITEMS_COMPARE_HIS.NEXTVAL FROM DUAL
</selectKey> -->
insert into SAR_ITEMS_COMPARE_HIS
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >id,</if>
<if test="oldItemsId != null" >old_items_id,</if>
<if test="oldItemsName != null" >old_items_name,</if>
<if test="oldItemsText != null" >old_items_text,</if>
<if test="newItemsId != null" >new_items_id,</if>
<if test="newItemsName != null" >new_items_name,</if>
<if test="newItemsText != null" >new_items_text,</if>
<if test="createUser != null" >create_user,</if>
<if test="createTime != null" >create_time,</if>
<if test="modifyUser != null" >modify_user,</if>
<if test="modifyTime != null" >modify_time,</if>
<if test="standHisId != null" >stand_his_id,</if>
<if test="similarityDegree != null" >similarity_degree,</if>
<if test="oldItemsNum != null" >old_items_num,</if>
<if test="newItemsNum != null" >new_items_num,</if>
<if test="oldRemark != null" >old_remark,</if>
<if test="newRemark != null" >new_remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >#{id, jdbcType=VARCHAR},</if>
<if test="oldItemsId != null" >#{oldItemsId, jdbcType=VARCHAR},</if>
<if test="oldItemsName != null" >#{oldItemsName, jdbcType=VARCHAR},</if>
<if test="oldItemsText != null" >#{oldItemsText, jdbcType=CLOB},</if>
<if test="newItemsId != null" >#{newItemsId, jdbcType=VARCHAR},</if>
<if test="newItemsName != null" >#{newItemsName, jdbcType=VARCHAR},</if>
<if test="newItemsText != null" >#{newItemsText, jdbcType=CLOB},</if>
<if test="createUser != null" >#{createUser, jdbcType=VARCHAR},</if>
<if test="createTime != null" >#{createTime, jdbcType=TIMESTAMP},</if>
<if test="modifyUser != null" >#{modifyUser, jdbcType=VARCHAR},</if>
<if test="modifyTime != null" >#{modifyTime, jdbcType=TIMESTAMP},</if>
<if test="standHisId != null" >#{standHisId, jdbcType=VARCHAR},</if>
<if test="similarityDegree != null" >#{similarityDegree, jdbcType=VARCHAR},</if>
<if test="oldItemsNum != null" >#{oldItemsNum, jdbcType=VARCHAR},</if>
<if test="newItemsNum != null" >#{newItemsNum, jdbcType=VARCHAR},</if>
<if test="oldRemark != null" >#{oldRemark, jdbcType=VARCHAR},</if>
<if test="newRemark != null" >#{newRemark, jdbcType=VARCHAR},</if>
</trim>
</insert>
<!-- 根据pk,修改记录-->
<update id="updateByPrimaryKey" parameterType="com.adc.da.slrs.standardSplit.entity.SarItemsCompareHisEO" >
update SAR_ITEMS_COMPARE_HIS
set old_items_id = #{oldItemsId},
old_items_name = #{oldItemsName},
old_items_text = #{oldItemsText},
new_items_id = #{newItemsId},
new_items_name = #{newItemsName},
new_items_text = #{newItemsText},
create_user = #{createUser},
create_time = #{createTime},
modify_user = #{modifyUser},
modify_time = #{modifyTime},
stand_his_id = #{standHisId},
similarity_degree = #{similarityDegree},
old_items_num = #{oldItemsNum},
new_items_num = #{newItemsNum}
where id = #{id}
</update>
<!-- 修改记录,只修改只不为空的字段 -->
<update id="updateByPrimaryKeySelective" parameterType="com.adc.da.slrs.standardSplit.entity.SarItemsCompareHisEO" >
update SAR_ITEMS_COMPARE_HIS
<set >
<if test="oldItemsId != null" >
old_items_id = #{oldItemsId},
</if>
<if test="oldItemsName != null" >
old_items_name = #{oldItemsName},
</if>
<if test="oldItemsText != null" >
old_items_text = #{oldItemsText},
</if>
<if test="newItemsId != null" >
new_items_id = #{newItemsId},
</if>
<if test="newItemsName != null" >
new_items_name = #{newItemsName},
</if>
<if test="newItemsText != null" >
new_items_text = #{newItemsText},
</if>
<if test="createUser != null" >
create_user = #{createUser},
</if>
<if test="createTime != null" >
create_time = #{createTime},
</if>
<if test="modifyUser != null" >
modify_user = #{modifyUser},
</if>
<if test="modifyTime != null" >
modify_time = #{modifyTime},
</if>
<if test="standHisId != null" >
stand_his_id = #{standHisId},
</if>
<if test="similarityDegree != null" >
similarity_degree = #{similarityDegree},
</if>
<if test="oldItemsNum != null" >
old_items_num = #{oldItemsNum},
</if>
<if test="newItemsNum != null" >
new_items_num = #{newItemsNum},
</if>
<if test="oldRemark != null" >
old_remark = #{oldRemark},
</if>
<if test="newRemark != null" >
new_remark = #{newRemark},
</if>
</set>
where id = #{id}
</update>
<!-- 根据id查询 SAR_ITEMS_COMPARE_HIS -->
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String">
select <include refid="Base_Column_List" />
from SAR_ITEMS_COMPARE_HIS
where id = #{value}
</select>
<!-- 删除记录 -->
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from SAR_ITEMS_COMPARE_HIS
where id = #{value}
</delete>
<!-- SAR_ITEMS_COMPARE_HIS 列表总数-->
<select id="queryByCount" resultType="java.lang.Integer" parameterType="com.adc.da.base.page.BasePage">
select count(1) from SAR_ITEMS_COMPARE_HIS
<include refid="Base_Where_Clause"/>
</select>
<!-- 查询SAR_ITEMS_COMPARE_HIS列表 -->
<select id="queryByPage" resultMap="BaseResultMap" parameterType="com.adc.da.base.page.BasePage">
select <include refid="Base_Column_List" /> from
(select tmp_tb.* from
(select <include refid="Base_Column_List" /> from SAR_ITEMS_COMPARE_HIS
<include refid="Base_Where_Clause"/>
<if test="pager.orderCondition != null and pager.orderCondition != ''" >
${pager.orderCondition}
</if>
ORDER BY CREATE_TIME DESC
) tmp_tb limit ${pager.startIndex-1},${pageSize}) a
</select>
<select id="queryByList" resultMap="BaseResultMap" parameterType="com.adc.da.base.page.BasePage">
select <include refid="Base_Column_List"/> from SAR_ITEMS_COMPARE_HIS
<include refid="Base_Where_Clause"/>
<if test="pager.orderCondition != null and pager.orderCondition != ''" >
${pager.orderCondition}
</if>
</select>
</mapper>
@@ -0,0 +1,273 @@
<?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.adc.da.slrs.standardSplit.dao.SarStandCompareHisEODao" >
<!-- Result Map-->
<resultMap id="BaseResultMap" type="com.adc.da.slrs.standardSplit.entity.SarStandCompareHisEO" >
<id column="id" property="id" />
<result column="compare_type" property="compareType" />
<result column="old_stand_id" property="oldStandId" />
<result column="old_stand_num" property="oldStandNum" />
<result column="old_stand_name" property="oldStandName" />
<result column="new_stand_id" property="newStandId" />
<result column="new_stand_num" property="newStandNum" />
<result column="new_stand_name" property="newStandName" />
<result column="old_file_type" property="oldFileType" />
<result column="old_sar_type" property="oldSarType" />
<result column="create_user" property="createUser" />
<result column="create_time" property="createTime" />
<result column="modify_user" property="modifyUser" />
<result column="modify_time" property="modifyTime" />
<result column="new_file_type" property="newFileType" />
<result column="new_sar_type" property="newSarType" />
</resultMap>
<!-- SAR_STAND_COMPARE_HIS table all fields -->
<sql id="Base_Column_List" >
compare_type, id, old_stand_id, old_stand_num, old_stand_name, new_stand_id, new_stand_num, new_stand_name, old_file_type, old_sar_type, create_user, create_time, modify_user, modify_time, new_file_type, new_sar_type
</sql>
<!-- 查询条件 -->
<sql id="Base_Where_Clause">
where 1=1
<trim suffixOverrides="," >
<if test="compareType != null" >
and compare_type ${compareTypeOperator} #{compareType}
</if>
<if test="id != null" >
and id ${idOperator} #{id}
</if>
<if test="oldStandId != null" >
and old_stand_id ${oldStandIdOperator} #{oldStandId}
</if>
<if test="oldStandNum != null" >
and old_stand_num ${oldStandNumOperator} #{oldStandNum}
</if>
<if test="oldStandName != null" >
and old_stand_name ${oldStandNameOperator} #{oldStandName}
</if>
<if test="newStandId != null" >
and new_stand_id ${newStandIdOperator} #{newStandId}
</if>
<if test="newStandNum != null" >
and new_stand_num ${newStandNumOperator} #{newStandNum}
</if>
<if test="newStandName != null" >
and new_stand_name ${newStandNameOperator} #{newStandName}
</if>
<if test="oldFileType != null" >
and old_file_type ${oldFileTypeOperator} #{oldFileType}
</if>
<if test="oldSarType != null" >
and old_sar_type ${oldSarTypeOperator} #{oldSarType}
</if>
<if test="createUser != null" >
and create_user ${createUserOperator} #{createUser}
</if>
<if test="createTime != null" >
and create_time ${createTimeOperator} #{createTime}
</if>
<if test="createTime1 != null" >
and create_time &gt;= #{createTime1}
</if>
<if test="createTime2 != null" >
and create_time &lt;= #{createTime2}
</if>
<if test="modifyUser != null" >
and modify_user ${modifyUserOperator} #{modifyUser}
</if>
<if test="modifyTime != null" >
and modify_time ${modifyTimeOperator} #{modifyTime}
</if>
<if test="modifyTime1 != null" >
and modify_time &gt;= #{modifyTime1}
</if>
<if test="modifyTime2 != null" >
and modify_time &lt;= #{modifyTime2}
</if>
<if test="newFileType != null" >
and new_file_type ${newFileTypeOperator} #{newFileType}
</if>
<if test="newSarType != null" >
and new_sar_type ${newSarTypeOperator} #{newSarType}
</if>
<if test="oldNumOrName != null" >
and (old_stand_num like concat('%',#{oldNumOrName},'%') OR old_stand_name like concat('%',#{oldNumOrName},'%'))
</if>
<if test="newNumOrName != null" >
and (new_stand_num like concat('%',#{newNumOrName},'%') OR new_stand_name like concat('%',#{newNumOrName},'%'))
</if>
</trim>
</sql>
<!-- 插入记录 -->
<insert id="insert" parameterType="com.adc.da.slrs.standardSplit.entity.SarStandCompareHisEO" >
<!-- <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
SELECT SEQ_SAR_STAND_COMPARE_HIS.NEXTVAL FROM DUAL
</selectKey> -->
insert into SAR_STAND_COMPARE_HIS(<include refid="Base_Column_List" />)
values (#{compareType, jdbcType=VARCHAR}, #{id, jdbcType=VARCHAR}, #{oldStandId, jdbcType=VARCHAR}, #{oldStandNum, jdbcType=VARCHAR}, #{oldStandName, jdbcType=VARCHAR}, #{newStandId, jdbcType=VARCHAR}, #{newStandNum, jdbcType=VARCHAR}, #{newStandName, jdbcType=VARCHAR}, #{oldFileType, jdbcType=VARCHAR}, #{oldSarType, jdbcType=VARCHAR}, #{createUser, jdbcType=VARCHAR}, #{createTime, jdbcType=TIMESTAMP}, #{modifyUser, jdbcType=VARCHAR}, #{modifyTime, jdbcType=TIMESTAMP}, #{newFileType, jdbcType=VARCHAR}, #{newSarType, jdbcType=VARCHAR})
</insert>
<!-- 动态插入记录 主键是序列 -->
<insert id="insertSelective" parameterType="com.adc.da.slrs.standardSplit.entity.SarStandCompareHisEO" >
<!-- <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
SELECT SEQ_SAR_STAND_COMPARE_HIS.NEXTVAL FROM DUAL
</selectKey> -->
insert into SAR_STAND_COMPARE_HIS
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="compareType != null" >compare_type,</if>
<if test="id != null" >id,</if>
<if test="oldStandId != null" >old_stand_id,</if>
<if test="oldStandNum != null" >old_stand_num,</if>
<if test="oldStandName != null" >old_stand_name,</if>
<if test="newStandId != null" >new_stand_id,</if>
<if test="newStandNum != null" >new_stand_num,</if>
<if test="newStandName != null" >new_stand_name,</if>
<if test="oldFileType != null" >old_file_type,</if>
<if test="oldSarType != null" >old_sar_type,</if>
<if test="createUser != null" >create_user,</if>
<if test="createTime != null" >create_time,</if>
<if test="modifyUser != null" >modify_user,</if>
<if test="modifyTime != null" >modify_time,</if>
<if test="newFileType != null" >new_file_type,</if>
<if test="newSarType != null" >new_sar_type,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="compareType != null" >#{compareType, jdbcType=VARCHAR},</if>
<if test="id != null" >#{id, jdbcType=VARCHAR},</if>
<if test="oldStandId != null" >#{oldStandId, jdbcType=VARCHAR},</if>
<if test="oldStandNum != null" >#{oldStandNum, jdbcType=VARCHAR},</if>
<if test="oldStandName != null" >#{oldStandName, jdbcType=VARCHAR},</if>
<if test="newStandId != null" >#{newStandId, jdbcType=VARCHAR},</if>
<if test="newStandNum != null" >#{newStandNum, jdbcType=VARCHAR},</if>
<if test="newStandName != null" >#{newStandName, jdbcType=VARCHAR},</if>
<if test="oldFileType != null" >#{oldFileType, jdbcType=VARCHAR},</if>
<if test="oldSarType != null" >#{oldSarType, jdbcType=VARCHAR},</if>
<if test="createUser != null" >#{createUser, jdbcType=VARCHAR},</if>
<if test="createTime != null" >#{createTime, jdbcType=TIMESTAMP},</if>
<if test="modifyUser != null" >#{modifyUser, jdbcType=VARCHAR},</if>
<if test="modifyTime != null" >#{modifyTime, jdbcType=TIMESTAMP},</if>
<if test="newFileType != null" >#{newFileType, jdbcType=VARCHAR},</if>
<if test="newSarType != null" >#{newSarType, jdbcType=VARCHAR},</if>
</trim>
</insert>
<!-- 根据pk,修改记录-->
<update id="updateByPrimaryKey" parameterType="com.adc.da.slrs.standardSplit.entity.SarStandCompareHisEO" >
update SAR_STAND_COMPARE_HIS
set compare_type = #{compareType},
old_stand_id = #{oldStandId},
old_stand_num = #{oldStandNum},
old_stand_name = #{oldStandName},
new_stand_id = #{newStandId},
new_stand_num = #{newStandNum},
new_stand_name = #{newStandName},
old_file_type = #{oldFileType},
old_sar_type = #{oldSarType},
create_user = #{createUser},
create_time = #{createTime},
modify_user = #{modifyUser},
modify_time = #{modifyTime},
new_file_type = #{newFileType},
new_sar_type = #{newSarType}
where id = #{id}
</update>
<!-- 修改记录,只修改只不为空的字段 -->
<update id="updateByPrimaryKeySelective" parameterType="com.adc.da.slrs.standardSplit.entity.SarStandCompareHisEO" >
update SAR_STAND_COMPARE_HIS
<set >
<if test="compareType != null" >
compare_type = #{compareType},
</if>
<if test="oldStandId != null" >
old_stand_id = #{oldStandId},
</if>
<if test="oldStandNum != null" >
old_stand_num = #{oldStandNum},
</if>
<if test="oldStandName != null" >
old_stand_name = #{oldStandName},
</if>
<if test="newStandId != null" >
new_stand_id = #{newStandId},
</if>
<if test="newStandNum != null" >
new_stand_num = #{newStandNum},
</if>
<if test="newStandName != null" >
new_stand_name = #{newStandName},
</if>
<if test="oldFileType != null" >
old_file_type = #{oldFileType},
</if>
<if test="oldSarType != null" >
old_sar_type = #{oldSarType},
</if>
<if test="createUser != null" >
create_user = #{createUser},
</if>
<if test="createTime != null" >
create_time = #{createTime},
</if>
<if test="modifyUser != null" >
modify_user = #{modifyUser},
</if>
<if test="modifyTime != null" >
modify_time = #{modifyTime},
</if>
<if test="newFileType != null" >
new_file_type = #{newFileType},
</if>
<if test="newSarType != null" >
new_sar_type = #{newSarType},
</if>
</set>
where id = #{id}
</update>
<!-- 根据id查询 SAR_STAND_COMPARE_HIS -->
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String">
select <include refid="Base_Column_List" />
from SAR_STAND_COMPARE_HIS
where id = #{value}
</select>
<!-- 删除记录 -->
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from SAR_STAND_COMPARE_HIS
where id = #{value}
</delete>
<!-- SAR_STAND_COMPARE_HIS 列表总数-->
<select id="queryByCount" resultType="java.lang.Integer" parameterType="com.adc.da.base.page.BasePage">
select count(1) from SAR_STAND_COMPARE_HIS
<include refid="Base_Where_Clause"/>
</select>
<!-- 查询SAR_STAND_COMPARE_HIS列表 -->
<select id="queryByPage" resultMap="BaseResultMap" parameterType="com.adc.da.base.page.BasePage">
select <include refid="Base_Column_List" /> from
(select tmp_tb.* from
(select <include refid="Base_Column_List" /> from SAR_STAND_COMPARE_HIS
<include refid="Base_Where_Clause"/>
<if test="pager.orderCondition != null and pager.orderCondition != ''" >
${pager.orderCondition}
</if>
<if test="sql != null">
${sql}
</if>
) tmp_tb limit ${pager.startIndex-1},${pageSize}) a
</select>
<select id="queryByList" resultMap="BaseResultMap" parameterType="com.adc.da.base.page.BasePage">
select <include refid="Base_Column_List"/> from SAR_STAND_COMPARE_HIS
<include refid="Base_Where_Clause"/>
<if test="pager.orderCondition != null and pager.orderCondition != ''" >
${pager.orderCondition}
</if>
</select>
</mapper>
@@ -0,0 +1,222 @@
<?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.adc.da.slrs.standardSplit.dao.SarStandItemsCompareHisEODao" >
<!-- Result Map-->
<resultMap id="BaseResultMap" type="com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEO" >
<id column="id" property="id" />
<result column="items_id" property="itemsId" />
<result column="items_name" property="itemsName" />
<result column="items_num" property="itemsNum" />
<result column="items_text" property="itemsText" />
<result column="items_display_num" property="itemsDisplayNum" />
<result column="target_stand" property="targetStand" />
<result column="left_or_right" property="leftOrRight" />
<result column="stand_his_id" property="standHisId" />
<result column="create_time" property="createTime" />
<result column="modify_time" property="modifyTime" />
<result column="remark" property="remark" />
</resultMap>
<!-- SAR_STAND_ITEMS_COMPARE_HIS table all fields -->
<sql id="Base_Column_List" >
id, items_id, items_name, items_num, items_text, items_display_num, target_stand, left_or_right,
stand_his_id, create_time, modify_time,remark
</sql>
<!-- 查询条件 -->
<sql id="Base_Where_Clause">
where 1=1
<trim suffixOverrides="," >
<if test="id != null" >
and id ${idOperator} #{id}
</if>
<if test="itemsId != null" >
and items_id ${itemsIdOperator} #{itemsId}
</if>
<if test="itemsName != null" >
and items_name ${itemsNameOperator} #{itemsName}
</if>
<if test="itemsNum != null" >
and items_num ${itemsNumOperator} #{itemsNum}
</if>
<if test="itemsText != null" >
and items_text ${itemsTextOperator} #{itemsText}
</if>
<if test="itemsDisplayNum != null" >
and items_display_num ${itemsDisplayNumOperator} #{itemsDisplayNum}
</if>
<if test="targetStand != null" >
and target_stand ${targetStandOperator} #{targetStand}
</if>
<if test="leftOrRight != null" >
and left_or_right ${leftOrRightOperator} #{leftOrRight}
</if>
<if test="standHisId != null" >
and stand_his_id ${standHisIdOperator} #{standHisId}
</if>
<if test="createTime != null" >
and create_time ${createTimeOperator} #{createTime}
</if>
<if test="createTime1 != null" >
and create_time &gt;= #{createTime1}
</if>
<if test="createTime2 != null" >
and create_time &lt;= #{createTime2}
</if>
<if test="modifyTime != null" >
and modify_time ${modifyTimeOperator} #{modifyTime}
</if>
<if test="modifyTime1 != null" >
and modify_time &gt;= #{modifyTime1}
</if>
<if test="modifyTime2 != null" >
and modify_time &lt;= #{modifyTime2}
</if>
</trim>
</sql>
<!-- 插入记录 -->
<insert id="insert" parameterType="com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEO" >
<!-- <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
SELECT SEQ_SAR_STAND_ITEMS_COMPARE_HIS.NEXTVAL FROM DUAL
</selectKey> -->
insert into SAR_STAND_ITEMS_COMPARE_HIS(<include refid="Base_Column_List" />)
values (#{id, jdbcType=VARCHAR}, #{itemsId, jdbcType=VARCHAR}, #{itemsName, jdbcType=VARCHAR}, #{itemsNum, jdbcType=VARCHAR}, #{itemsText, jdbcType=CLOB}, #{itemsDisplayNum, jdbcType=INTEGER}, #{targetStand, jdbcType=INTEGER}, #{leftOrRight, jdbcType=VARCHAR}, #{standHisId, jdbcType=VARCHAR}, #{createTime, jdbcType=TIMESTAMP}, #{modifyTime, jdbcType=TIMESTAMP})
</insert>
<!-- 动态插入记录 主键是序列 -->
<insert id="insertSelective" parameterType="com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEO" >
<!-- <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
SELECT SEQ_SAR_STAND_ITEMS_COMPARE_HIS.NEXTVAL FROM DUAL
</selectKey> -->
insert into SAR_STAND_ITEMS_COMPARE_HIS
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >id,</if>
<if test="itemsId != null" >items_id,</if>
<if test="itemsName != null" >items_name,</if>
<if test="itemsNum != null" >items_num,</if>
<if test="itemsText != null" >items_text,</if>
<if test="itemsDisplayNum != null" >items_display_num,</if>
<if test="targetStand != null" >target_stand,</if>
<if test="leftOrRight != null" >left_or_right,</if>
<if test="standHisId != null" >stand_his_id,</if>
<if test="createTime != null" >create_time,</if>
<if test="modifyTime != null" >modify_time,</if>
<if test="remark != null" >remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >#{id, jdbcType=VARCHAR},</if>
<if test="itemsId != null" >#{itemsId, jdbcType=VARCHAR},</if>
<if test="itemsName != null" >#{itemsName, jdbcType=VARCHAR},</if>
<if test="itemsNum != null" >#{itemsNum, jdbcType=VARCHAR},</if>
<if test="itemsText != null" >#{itemsText, jdbcType=CLOB},</if>
<if test="itemsDisplayNum != null" >#{itemsDisplayNum, jdbcType=INTEGER},</if>
<if test="targetStand != null" >#{targetStand, jdbcType=INTEGER},</if>
<if test="leftOrRight != null" >#{leftOrRight, jdbcType=VARCHAR},</if>
<if test="standHisId != null" >#{standHisId, jdbcType=VARCHAR},</if>
<if test="createTime != null" >#{createTime, jdbcType=TIMESTAMP},</if>
<if test="modifyTime != null" >#{modifyTime, jdbcType=TIMESTAMP},</if>
<if test="remark != null" >#{remark, jdbcType=VARCHAR},</if>
</trim>
</insert>
<!-- 根据pk,修改记录-->
<update id="updateByPrimaryKey" parameterType="com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEO" >
update SAR_STAND_ITEMS_COMPARE_HIS
set items_id = #{itemsId},
items_name = #{itemsName},
items_num = #{itemsNum},
items_text = #{itemsText},
items_display_num = #{itemsDisplayNum},
target_stand = #{targetStand},
left_or_right = #{leftOrRight},
stand_his_id = #{standHisId},
create_time = #{createTime},
modify_time = #{modifyTime}
where id = #{id}
</update>
<!-- 修改记录,只修改只不为空的字段 -->
<update id="updateByPrimaryKeySelective" parameterType="com.adc.da.slrs.standardSplit.entity.SarStandItemsCompareHisEO" >
update SAR_STAND_ITEMS_COMPARE_HIS
<set >
<if test="itemsId != null" >
items_id = #{itemsId},
</if>
<if test="itemsName != null" >
items_name = #{itemsName},
</if>
<if test="itemsNum != null" >
items_num = #{itemsNum},
</if>
<if test="itemsText != null" >
items_text = #{itemsText},
</if>
<if test="itemsDisplayNum != null" >
items_display_num = #{itemsDisplayNum},
</if>
<if test="targetStand != null" >
target_stand = #{targetStand},
</if>
<if test="leftOrRight != null" >
left_or_right = #{leftOrRight},
</if>
<if test="standHisId != null" >
stand_his_id = #{standHisId},
</if>
<if test="createTime != null" >
create_time = #{createTime},
</if>
<if test="modifyTime != null" >
modify_time = #{modifyTime},
</if>
<if test="remark != null" >
remark = #{remark},
</if>
</set>
where id = #{id}
</update>
<!-- 根据id查询 SAR_STAND_ITEMS_COMPARE_HIS -->
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String">
select <include refid="Base_Column_List" />
from SAR_STAND_ITEMS_COMPARE_HIS
where id = #{value}
</select>
<!-- 删除记录 -->
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from SAR_STAND_ITEMS_COMPARE_HIS
where id = #{value}
</delete>
<!-- SAR_STAND_ITEMS_COMPARE_HIS 列表总数-->
<select id="queryByCount" resultType="java.lang.Integer" parameterType="com.adc.da.base.page.BasePage">
select count(1) from SAR_STAND_ITEMS_COMPARE_HIS
<include refid="Base_Where_Clause"/>
</select>
<!-- 查询SAR_STAND_ITEMS_COMPARE_HIS列表 -->
<select id="queryByPage" resultMap="BaseResultMap" parameterType="com.adc.da.base.page.BasePage">
select <include refid="Base_Column_List" /> from
(select tmp_tb.* from
(select <include refid="Base_Column_List" /> from SAR_STAND_ITEMS_COMPARE_HIS
<include refid="Base_Where_Clause"/>
<if test="pager.orderCondition != null and pager.orderCondition != ''" >
${pager.orderCondition}
</if>
) tmp_tb limit ${pager.startIndex-1},${pageSize}) a
</select>
<select id="queryByList" resultMap="BaseResultMap" parameterType="com.adc.da.base.page.BasePage">
select <include refid="Base_Column_List"/> from SAR_STAND_ITEMS_COMPARE_HIS
<include refid="Base_Where_Clause"/>
<if test="pager.orderCondition != null and pager.orderCondition != ''" >
${pager.orderCondition}
</if>
ORDER BY ITEMS_DISPLAY_NUM ASC
</select>
</mapper>