元数据配置 加明细信息
master
周文涛 2 years ago
parent 5f10f7a769
commit 3f6d657297

@ -0,0 +1,88 @@
package org.jeecg.common.util;
import org.apache.commons.lang.StringUtils;
import org.jeecg.common.exception.JeecgBootException;
import java.util.List;
/**
* @Description
* @Author ZhouWenTao
* @Date 2023/6/26 19:14
*/
public abstract class AssertUtils {
/**
*
* @param flag
* @param message
*/
public static void isTrue(boolean flag, String message) {
if (!flag) {
throw new JeecgBootException(message);
}
}
/**
* true
* @param flag
* @param message
*/
public static void notTrue(boolean flag, String message) {
if (flag) {
throw new JeecgBootException(message);
}
}
public static void notNull(Object object, String message) {
if (object == null) {
throw new JeecgBootException(message);
}
}
public static void isEmpty(String str, String message) {
if (StringUtils.isNotBlank(str)) {
throw new JeecgBootException(message);
}
}
public static void notEmpty(String str, String message) {
if (StringUtils.isBlank(str)) {
throw new JeecgBootException(message);
}
}
/**
* Array /
* @param list
* @param message
*/
public static void hasSize(List list,String message){
if (list==null || list.size()==0) {
throw new JeecgBootException(message);
}
}
/**
* Array /
* @param list
* @param message
*/
public static void hasSize(Object[] list,String message){
if (list==null || list.length==0) {
throw new JeecgBootException(message);
}
}
/**
*
* @param o
* @param len
* @param message
*/
public static void checkLength(Object o,Integer len,String message){
notNull(o,"<"+message+">判断之前参数不可空!");
if (o.toString().length()>len) {
throw new JeecgBootException(message);
}
}
}

@ -11,11 +11,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.AssertUtils;
import org.jeecg.modules.ocr.entity.OcrMetadataConfig; import org.jeecg.modules.ocr.entity.OcrMetadataConfig;
import org.jeecg.modules.ocr.entity.OcrMetadataConfigDetail;
import org.jeecg.modules.ocr.model.OcrMetadataConfigSaveModel;
import org.jeecg.modules.ocr.service.IOcrMetadataConfigService; import org.jeecg.modules.ocr.service.IOcrMetadataConfigService;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.ocr.utils.DownloadTemplateUtil; import org.jeecg.modules.ocr.utils.DownloadTemplateUtil;
import org.jeecg.modules.ocr.vo.OcrMetadataConfigVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -51,11 +56,11 @@ public class OcrMetadataConfigController extends JeecgController<OcrMetadataConf
//@AutoLog(value = "元数据配置-分页列表查询") //@AutoLog(value = "元数据配置-分页列表查询")
@ApiOperation(value="元数据配置-分页列表查询", notes="元数据配置-分页列表查询") @ApiOperation(value="元数据配置-分页列表查询", notes="元数据配置-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<IPage<OcrMetadataConfig>> queryPageList(OcrMetadataConfig ocrMetadataConfig, public Result<IPage<OcrMetadataConfigVo>> queryPageList(OcrMetadataConfig ocrMetadataConfig,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
if (StringUtils.isNotBlank(ocrMetadataConfig.getConfigName())){ /*if (StringUtils.isNotBlank(ocrMetadataConfig.getConfigName())){
ocrMetadataConfig.setConfigName("*"+ocrMetadataConfig.getConfigName()+"*"); ocrMetadataConfig.setConfigName("*"+ocrMetadataConfig.getConfigName()+"*");
} }
if (StringUtils.isNotBlank(ocrMetadataConfig.getResultName())){ if (StringUtils.isNotBlank(ocrMetadataConfig.getResultName())){
@ -63,40 +68,64 @@ public class OcrMetadataConfigController extends JeecgController<OcrMetadataConf
} }
if (StringUtils.isNotBlank(ocrMetadataConfig.getGetField())){ if (StringUtils.isNotBlank(ocrMetadataConfig.getGetField())){
ocrMetadataConfig.setGetField("*"+ocrMetadataConfig.getGetField()+"*"); ocrMetadataConfig.setGetField("*"+ocrMetadataConfig.getGetField()+"*");
} }*/
QueryWrapper<OcrMetadataConfig> queryWrapper = QueryGenerator.initQueryWrapper(ocrMetadataConfig, req.getParameterMap()); //QueryWrapper<OcrMetadataConfig> queryWrapper = QueryGenerator.initQueryWrapper(ocrMetadataConfig, req.getParameterMap());
Page<OcrMetadataConfig> page = new Page<OcrMetadataConfig>(pageNo, pageSize); Page<OcrMetadataConfig> page = new Page<OcrMetadataConfig>(pageNo, pageSize);
IPage<OcrMetadataConfig> pageList = ocrMetadataConfigService.page(page, queryWrapper); IPage<OcrMetadataConfigVo> pageList = ocrMetadataConfigService.pageVo(page, ocrMetadataConfig);
return Result.OK(pageList); return Result.OK(pageList);
} }
/** /**
* *
* *
* @param ocrMetadataConfig * @param ocrMetadataConfigSaveModel
* @return * @return
*/ */
@AutoLog(value = "元数据配置-添加") @AutoLog(value = "元数据配置-添加")
@ApiOperation(value="元数据配置-添加", notes="元数据配置-添加") @ApiOperation(value="元数据配置-添加", notes="元数据配置-添加")
// @RequiresPermissions("org.jeecg.modules.ocr:ocr_metadata_config:add") // @RequiresPermissions("org.jeecg.modules.ocr:ocr_metadata_config:add")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<String> add(@RequestBody OcrMetadataConfig ocrMetadataConfig) { @Transactional(rollbackFor = Exception.class)
ocrMetadataConfigService.save(ocrMetadataConfig); public Result<String> add(@RequestBody OcrMetadataConfigSaveModel ocrMetadataConfigSaveModel) {
checkSaveModel(ocrMetadataConfigSaveModel);
String configName = ocrMetadataConfigSaveModel.getConfigName();
boolean existsFlag=ocrMetadataConfigService.existsByConfigName(configName,null);//true 已存在,false不存在
AssertUtils.notTrue(existsFlag,String.format("[配置名称]-%s 已存在",configName));
ocrMetadataConfigService.saveModel(ocrMetadataConfigSaveModel);
return Result.OK("添加成功!"); return Result.OK("添加成功!");
} }
/**
*
* @param ocrMetadataConfigSaveModel
*/
public void checkSaveModel(OcrMetadataConfigSaveModel ocrMetadataConfigSaveModel){
AssertUtils.notEmpty(ocrMetadataConfigSaveModel.getConfigName(),"[配置名称]不可为空");
if (ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList()!=null) {
for (OcrMetadataConfigDetail detail : ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList()) {
AssertUtils.notEmpty(detail.getFieldName(),"[字段名称]不可为空");
AssertUtils.notEmpty(detail.getGetField(),"[获取字段]不可为空");
}
}
}
/** /**
* *
* *
* @param ocrMetadataConfig * @param ocrMetadataConfigSaveModel
* @return * @return
*/ */
@AutoLog(value = "元数据配置-编辑") @AutoLog(value = "元数据配置-编辑")
@ApiOperation(value="元数据配置-编辑", notes="元数据配置-编辑") @ApiOperation(value="元数据配置-编辑", notes="元数据配置-编辑")
// @RequiresPermissions("org.jeecg.modules.ocr:ocr_metadata_config:edit") // @RequiresPermissions("org.jeecg.modules.ocr:ocr_metadata_config:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody OcrMetadataConfig ocrMetadataConfig) { public Result<String> edit(@RequestBody OcrMetadataConfigSaveModel ocrMetadataConfigSaveModel) {
ocrMetadataConfigService.updateById(ocrMetadataConfig); checkSaveModel(ocrMetadataConfigSaveModel);
AssertUtils.notEmpty(ocrMetadataConfigSaveModel.getId(),"");
String configName = ocrMetadataConfigSaveModel.getConfigName();
boolean existsFlag=ocrMetadataConfigService.existsByConfigName(configName,ocrMetadataConfigSaveModel.getId());//true 已存在,false不存在
AssertUtils.notTrue(existsFlag,String.format("[配置名称]-%s 已存在",configName));
ocrMetadataConfigService.updateModel(ocrMetadataConfigSaveModel);
return Result.OK("编辑成功!"); return Result.OK("编辑成功!");
} }

@ -2,7 +2,10 @@ package org.jeecg.modules.ocr.entity;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
@ -58,9 +61,11 @@ public class OcrMetadataConfig implements Serializable {
/**结果名称*/ /**结果名称*/
@Excel(name = "结果名称", width = 15) @Excel(name = "结果名称", width = 15)
@ApiModelProperty(value = "结果名称") @ApiModelProperty(value = "结果名称")
@TableField(exist = false)
private String resultName; private String resultName;
/**获取字段*/ /**获取字段*/
@Excel(name = "获取字段", width = 15) @Excel(name = "获取字段", width = 15)
@ApiModelProperty(value = "获取字段") @ApiModelProperty(value = "获取字段")
@TableField(exist = false)
private String getField; private String getField;
} }

@ -0,0 +1,71 @@
package org.jeecg.modules.ocr.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description:
* @Author: jeecg-boot
* @Date: 2023-07-17
* @Version: V1.0
*/
@Data
@TableName("ocr_metadata_config_detail")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ocr_metadata_config_detail对象", description="元数据配置明细")
public class OcrMetadataConfigDetail implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**元数据配置id*/
@ApiModelProperty(value = "元数据配置id")
private java.lang.String metadataConfigId;
/**字段*/
@Excel(name = "字段名称", width = 15)
@ApiModelProperty(value = "字段名称")
private java.lang.String fieldName;
/**获取字段*/
@Excel(name = "获取字段", width = 15)
@ApiModelProperty(value = "获取字段")
private java.lang.String getField;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
}

@ -4,10 +4,8 @@ import java.io.Serializable;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.Date; import java.util.Date;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data; import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -62,6 +60,7 @@ public class OcrRuleCheck implements Serializable {
/**配置规则*/ /**配置规则*/
@Excel(name = "配置规则", width = 15) @Excel(name = "配置规则", width = 15)
@ApiModelProperty(value = "配置规则") @ApiModelProperty(value = "配置规则")
@TableField(exist = false)
private String configRule; private String configRule;
/**结果名称*/ /**结果名称*/
@Excel(name = "结果名称", width = 15) @Excel(name = "结果名称", width = 15)

@ -0,0 +1,17 @@
package org.jeecg.modules.ocr.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.ocr.entity.OcrMetadataConfigDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description:
* @Author: jeecg-boot
* @Date: 2023-07-17
* @Version: V1.0
*/
public interface OcrMetadataConfigDetailMapper extends BaseMapper<OcrMetadataConfigDetail> {
}

@ -1,7 +1,13 @@
package org.jeecg.modules.ocr.mapper; package org.jeecg.modules.ocr.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.ocr.entity.OcrMetadataConfig; import org.jeecg.modules.ocr.entity.OcrMetadataConfig;
import org.jeecg.modules.ocr.vo.OcrMetadataConfigVo;
import java.util.Map;
/** /**
* @Description: * @Description:
@ -11,4 +17,5 @@ import org.jeecg.modules.ocr.entity.OcrMetadataConfig;
*/ */
public interface OcrMetadataConfigMapper extends BaseMapper<OcrMetadataConfig> { public interface OcrMetadataConfigMapper extends BaseMapper<OcrMetadataConfig> {
IPage<OcrMetadataConfigVo> pageVo(@Param("page") Page<OcrMetadataConfig> page,@Param("o") Map<String,Object> params);
} }

@ -0,0 +1,5 @@
<?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="org.jeecg.modules.ocr.mapper.OcrMetadataConfigDetailMapper">
</mapper>

@ -2,4 +2,23 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.ocr.mapper.OcrMetadataConfigMapper"> <mapper namespace="org.jeecg.modules.ocr.mapper.OcrMetadataConfigMapper">
<select id="pageVo" resultType="org.jeecg.modules.ocr.vo.OcrMetadataConfigVo">
SELECT oc.*,
GROUP_CONCAT(ocd.field_name)as resultName,
GROUP_CONCAT(ocd.get_field)as getField
FROM ocr_metadata_config oc
LEFT JOIN ocr_metadata_config_detail ocd ON ocd.metadata_config_id = oc.id
WHERE 1=1
<if test="o.configName !=null and o.configName!=''">
AND oc.config_name like concat('%',#{o.configName},'%')
</if>
<if test="o.resultName !=null and o.resultName!=''">
AND ocd.field_name like concat('%',#{o.resultName},'%')
</if>
<if test="o.getField !=null and o.getField!=''">
AND ocd.get_field like concat('%',#{o.getField},'%')
</if>
group by oc.id
order by oc.update_time,oc.create_time desc
</select>
</mapper> </mapper>

@ -0,0 +1,25 @@
package org.jeecg.modules.ocr.model;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.modules.ocr.entity.OcrMetadataConfigDetail;
import java.util.ArrayList;
import java.util.List;
/**
* @Description
* @Author ZhouWenTao
* @Date 2023/7/17 14:06
*/
@Data
public class OcrMetadataConfigSaveModel {
/**主键*/
public String id;
/**配置名称*/
@ApiModelProperty(value = "配置名称")
private String configName;
/**元数据字段列表*/
public List<OcrMetadataConfigDetail> ocrMetadataConfigDetailList=new ArrayList<>();
}

@ -0,0 +1,14 @@
package org.jeecg.modules.ocr.service;
import org.jeecg.modules.ocr.entity.OcrMetadataConfigDetail;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description:
* @Author: jeecg-boot
* @Date: 2023-07-17
* @Version: V1.0
*/
public interface IOcrMetadataConfigDetailService extends IService<OcrMetadataConfigDetail> {
}

@ -1,7 +1,11 @@
package org.jeecg.modules.ocr.service; package org.jeecg.modules.ocr.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.ocr.entity.OcrMetadataConfig; import org.jeecg.modules.ocr.entity.OcrMetadataConfig;
import org.jeecg.modules.ocr.model.OcrMetadataConfigSaveModel;
import org.jeecg.modules.ocr.vo.OcrMetadataConfigVo;
/** /**
* @Description: * @Description:
@ -11,4 +15,33 @@ import org.jeecg.modules.ocr.entity.OcrMetadataConfig;
*/ */
public interface IOcrMetadataConfigService extends IService<OcrMetadataConfig> { public interface IOcrMetadataConfigService extends IService<OcrMetadataConfig> {
/**
*
* @param configName
* @param id
* @return
*/
boolean existsByConfigName(String configName, String id);
/**
*
* @param ocrMetadataConfigSaveModel
* @return
*/
OcrMetadataConfig saveModel(OcrMetadataConfigSaveModel ocrMetadataConfigSaveModel);
/**
*
* @param ocrMetadataConfigSaveModel
* @return
*/
OcrMetadataConfig updateModel(OcrMetadataConfigSaveModel ocrMetadataConfigSaveModel);
/**
*
* @param page
* @param ocrMetadataConfig
* @return
*/
IPage<OcrMetadataConfigVo> pageVo(Page<OcrMetadataConfig> page, OcrMetadataConfig ocrMetadataConfig);
} }

@ -0,0 +1,19 @@
package org.jeecg.modules.ocr.service.impl;
import org.jeecg.modules.ocr.entity.OcrMetadataConfigDetail;
import org.jeecg.modules.ocr.mapper.OcrMetadataConfigDetailMapper;
import org.jeecg.modules.ocr.service.IOcrMetadataConfigDetailService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description:
* @Author: jeecg-boot
* @Date: 2023-07-17
* @Version: V1.0
*/
@Service
public class OcrMetadataConfigDetailServiceImpl extends ServiceImpl<OcrMetadataConfigDetailMapper, OcrMetadataConfigDetail> implements IOcrMetadataConfigDetailService {
}

@ -1,11 +1,27 @@
package org.jeecg.modules.ocr.service.impl; package org.jeecg.modules.ocr.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang.StringUtils;
import org.jeecg.common.util.AssertUtils;
import org.jeecg.modules.ocr.entity.OcrMetadataConfig; import org.jeecg.modules.ocr.entity.OcrMetadataConfig;
import org.jeecg.modules.ocr.entity.OcrMetadataConfigDetail;
import org.jeecg.modules.ocr.mapper.OcrMetadataConfigMapper; import org.jeecg.modules.ocr.mapper.OcrMetadataConfigMapper;
import org.jeecg.modules.ocr.model.OcrMetadataConfigSaveModel;
import org.jeecg.modules.ocr.service.IOcrMetadataConfigDetailService;
import org.jeecg.modules.ocr.service.IOcrMetadataConfigService; import org.jeecg.modules.ocr.service.IOcrMetadataConfigService;
import org.jeecg.modules.ocr.vo.OcrMetadataConfigVo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* @Description: * @Description:
* @Author: jeecg-boot * @Author: jeecg-boot
@ -14,5 +30,65 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
*/ */
@Service @Service
public class OcrMetadataConfigServiceImpl extends ServiceImpl<OcrMetadataConfigMapper, OcrMetadataConfig> implements IOcrMetadataConfigService { public class OcrMetadataConfigServiceImpl extends ServiceImpl<OcrMetadataConfigMapper, OcrMetadataConfig> implements IOcrMetadataConfigService {
@Resource
IOcrMetadataConfigDetailService ocrMetadataConfigDetailService;
@Resource
OcrMetadataConfigMapper ocrMetadataConfigMapper;
@Override
public boolean existsByConfigName(String configName, String id) {
LambdaQueryWrapper<OcrMetadataConfig> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(OcrMetadataConfig::getConfigName,configName);
queryWrapper.ne(StringUtils.isNotBlank(id),OcrMetadataConfig::getId,id);
return this.baseMapper.selectCount(queryWrapper)>0?true:false;
}
@Override
public OcrMetadataConfig saveModel(OcrMetadataConfigSaveModel ocrMetadataConfigSaveModel) {
OcrMetadataConfig ocrMetadataConfig=new OcrMetadataConfig();
ocrMetadataConfig.setConfigName(ocrMetadataConfigSaveModel.getConfigName());
this.save(ocrMetadataConfig);
for (OcrMetadataConfigDetail detail : ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList()) {
detail.setMetadataConfigId(ocrMetadataConfig.getId());
ocrMetadataConfigDetailService.saveOrUpdate(detail);
}
return ocrMetadataConfig;
}
@Override
public OcrMetadataConfig updateModel(OcrMetadataConfigSaveModel ocrMetadataConfigSaveModel) {
AssertUtils.notEmpty(ocrMetadataConfigSaveModel.getId(),"[id]不可为空");
OcrMetadataConfig ocrMetadataConfig = this.getById(ocrMetadataConfigSaveModel.getId());
ocrMetadataConfig.setConfigName(ocrMetadataConfigSaveModel.getConfigName());
this.updateById(ocrMetadataConfig);
for (OcrMetadataConfigDetail detail : ocrMetadataConfigSaveModel.getOcrMetadataConfigDetailList()) {
detail.setMetadataConfigId(ocrMetadataConfig.getId());
ocrMetadataConfigDetailService.saveOrUpdate(detail);
}
return ocrMetadataConfig;
}
@Override
public IPage<OcrMetadataConfigVo> pageVo(Page<OcrMetadataConfig> page, OcrMetadataConfig ocrMetadataConfig) {
Map<String,Object> params=new LinkedHashMap<>();
params.put("getField",ocrMetadataConfig.getGetField());
params.put("configName",ocrMetadataConfig.getConfigName());
params.put("resultName",ocrMetadataConfig.getResultName());
/*params.put("column","createTime");
params.put("order","desc");*/
IPage<OcrMetadataConfigVo> pageList=baseMapper.pageVo(page,params);
List<OcrMetadataConfigDetail> metadataConfigDetails = ocrMetadataConfigDetailService.list();
List<OcrMetadataConfigDetail> arrayTestList=new ArrayList<>();
String fieldName=null,getField=null;
for (OcrMetadataConfigVo record : pageList.getRecords()) {
if (metadataConfigDetails!=null && metadataConfigDetails.size()>0) {
arrayTestList = metadataConfigDetails.stream().filter(m -> m.getMetadataConfigId().equals(record.getId())).collect(Collectors.toList());
fieldName = arrayTestList.stream().map(o -> o.getFieldName()).collect(Collectors.joining(","));
getField = arrayTestList.stream().map(o -> o.getGetField()).collect(Collectors.joining(","));
record.setResultName(fieldName);
record.setGetField(getField);
record.setOcrMetadataConfigDetailList(arrayTestList);
}
}
return pageList;
}
} }

@ -0,0 +1,19 @@
package org.jeecg.modules.ocr.vo;
import lombok.Data;
import org.jeecg.modules.ocr.entity.OcrMetadataConfig;
import org.jeecg.modules.ocr.entity.OcrMetadataConfigDetail;
import java.util.ArrayList;
import java.util.List;
/**
* @Description
* @Author ZhouWenTao
* @Date 2023/7/17 16:53
*/
@Data
public class OcrMetadataConfigVo extends OcrMetadataConfig {
/**配置明细信息*/
public List<OcrMetadataConfigDetail> ocrMetadataConfigDetailList=new ArrayList<>();
}
Loading…
Cancel
Save