From 8e3c79a52af1f907f26cb94295b2f23cf0d1da0c Mon Sep 17 00:00:00 2001 From: DELL Date: Fri, 15 Mar 2024 20:38:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocr/controller/OcrFieldController.java | 95 +++++++++++++++ .../controller/OcrUserFieldController.java | 72 +++++++++++ .../ocr/dataDao/OcrFieldMybatisDao.java | 13 ++ .../ocr/dataDao/OcrUserFieldMybatisDao.java | 13 ++ .../jyjz/xiaoyao/ocr/dataobject/OcrField.java | 67 ++++++++++ .../xiaoyao/ocr/dataobject/OcrUserField.java | 69 +++++++++++ .../cn/jyjz/xiaoyao/ocr/dto/OcrFieldDto.java | 35 ++++++ .../jyjz/xiaoyao/ocr/dto/OcrUserFieldDto.java | 34 ++++++ .../xiaoyao/ocr/service/OcrFieldService.java | 33 +++++ .../ocr/service/OcrUserFieldService.java | 24 ++++ .../ocr/service/impl/OcrFieldServiceImpl.java | 115 ++++++++++++++++++ .../service/impl/OcrUserFieldServiceImpl.java | 74 +++++++++++ .../cn/jyjz/xiaoyao/ocr/vo/OcrFieldVo.java | 47 +++++++ .../jyjz/xiaoyao/ocr/vo/OcrUserFieldVo.java | 51 ++++++++ .../resources/mapper/oa/OcrFieldMapper.xml | 15 +++ .../mapper/oa/OcrUserFieldMapper.xml | 15 +++ 16 files changed, 772 insertions(+) create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrFieldController.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrUserFieldController.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrFieldMybatisDao.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrUserFieldMybatisDao.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrField.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrUserField.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dto/OcrFieldDto.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dto/OcrUserFieldDto.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrFieldService.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrUserFieldService.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrFieldServiceImpl.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrUserFieldServiceImpl.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrFieldVo.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrUserFieldVo.java create mode 100644 jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrFieldMapper.xml create mode 100644 jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrUserFieldMapper.xml diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrFieldController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrFieldController.java new file mode 100644 index 00000000..ac128912 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrFieldController.java @@ -0,0 +1,95 @@ +package cn.jyjz.xiaoyao.ocr.controller; + +import cn.jyjz.xiaoyao.common.base.controller.BaseController; +import cn.jyjz.xiaoyao.common.base.vo.ResultVo; +import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; +import cn.jyjz.xiaoyao.ocr.dto.OcrFieldDto; +import cn.jyjz.xiaoyao.ocr.service.OcrFieldService; +import cn.jyjz.xiaoyao.ocr.vo.OcrFieldVo; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import java.util.List; + +@RestController +@RequestMapping("/ocr/field") +public class OcrFieldController extends BaseController { + + private Logger log = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private OcrFieldService ocrFieldService; + + /** + * 自定义筛选字段列表查询 + * @return + */ + @ApiOperation(value="自定义筛选字段列表查询", notes="自定义筛选字段列表查询") + @GetMapping(value = "/list") + public ResultVo> list(@RequestParam(name="reviewType") Integer reviewType) { + ResultVo> resultVo = new ResultVo<>(); + List ocrFieldDtos = ocrFieldService.list(reviewType); + resultVo.setData(ocrFieldDtos); + resultVo.addOK("查询成功"); + return resultVo; + } + + /** + * 自定义筛选字段列表查询全部 + * @return + */ + @ApiOperation(value="自定义筛选字段列表查询", notes="自定义筛选字段列表查询") + @GetMapping(value = "/listAll") + public ResultVo> listAll() { + ResultVo> resultVo = new ResultVo<>(); + List ocrFieldDtos = ocrFieldService.listAll(); + resultVo.setData(ocrFieldDtos); + resultVo.addOK("查询成功"); + return resultVo; + } + + /** + * 根据字段ID删除自定义筛选字段 + * @return + */ + @ApiOperation(value="删除自定义筛选字段", notes="删除自定义筛选字段") + @GetMapping(value = "/delete") + public ResultVo delete(@RequestParam(name="id") Long id) { + + OcrFieldDto ocrFieldDto = ocrFieldService.delete(id); + if(ocrFieldDto != null){ + return ResultVoUtil.success(); + } + return ResultVoUtil.error("删除失败"); + } + + /** + * 自定义筛选字段新增和修改 + * @return + */ + @ApiOperation(value="自定义筛选字段新增和修改", notes="自定义筛选字段新增和修改") + @PostMapping(value = "/saveOrUpdate") + public ResultVo saveOrUpdate(OcrFieldVo ocrFieldVo) { + try { + OcrField ocrField = new OcrField(); + ocrField.setId(ocrFieldVo.getId()); + ocrField.setName(ocrFieldVo.getName()); + ocrField.setReviewType(ocrFieldVo.getReviewType()); + ocrField.setFieldDesc(ocrFieldVo.getFieldDesc()); + ocrField.setCreateBy(ocrFieldVo.getCreateBy()); + ocrField.setCreateTime(ocrFieldVo.getCreateTime()); + ocrField.setUpdateBy(ocrFieldVo.getUpdateBy()); + ocrField.setUpdateTime(ocrFieldVo.getUpdateTime()); + ocrFieldService.saveData(ocrField); + } catch (BeansException e) { + e.printStackTrace(); + } + return ResultVoUtil.success(); + } + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrUserFieldController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrUserFieldController.java new file mode 100644 index 00000000..e843ff03 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrUserFieldController.java @@ -0,0 +1,72 @@ +package cn.jyjz.xiaoyao.ocr.controller; + +import cn.jyjz.xiaoyao.common.base.controller.BaseController; +import cn.jyjz.xiaoyao.common.base.vo.ResultVo; +import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrUserField; +import cn.jyjz.xiaoyao.ocr.dto.OcrFieldDto; +import cn.jyjz.xiaoyao.ocr.dto.OcrUserFieldDto; +import cn.jyjz.xiaoyao.ocr.service.OcrFieldService; +import cn.jyjz.xiaoyao.ocr.service.OcrUserFieldService; +import cn.jyjz.xiaoyao.ocr.vo.OcrFieldVo; +import cn.jyjz.xiaoyao.ocr.vo.OcrUserFieldVo; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/ocr/user/field") +public class OcrUserFieldController extends BaseController{ + + private Logger log = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private OcrUserFieldService ocrUserFieldService; + + /** + * 保存或更新用户展示字段列表 + * @return + */ + @ApiOperation(value="保存或更新用户展示字段列表", notes="保存或更新用户展示字段列表") + @PostMapping(value = "/saveOrUpdate") + public ResultVo saveOrUpdate(OcrUserFieldVo ocrUserFieldVo) { + try { + OcrUserField ocrUserField = new OcrUserField(); + ocrUserField.setId(ocrUserFieldVo.getId()); + ocrUserField.setUserId(ocrUserFieldVo.getUserId()); + ocrUserField.setReviewType(ocrUserFieldVo.getReviewType()); + ocrUserField.setUserField(ocrUserFieldVo.getUserField()); + ocrUserField.setCreateBy(ocrUserFieldVo.getCreateBy()); + ocrUserField.setCreateTime(ocrUserFieldVo.getCreateTime()); + ocrUserField.setUpdateBy(ocrUserFieldVo.getUpdateBy()); + ocrUserField.setUpdateTime(ocrUserFieldVo.getUpdateTime()); + ocrUserFieldService.saveData(ocrUserField); + } catch (BeansException e) { + e.printStackTrace(); + } + return ResultVoUtil.success(); + } + + /** + * 用户-筛选字段查询 + * @return + */ + @ApiOperation(value="自定义筛选字段列表查询", notes="自定义筛选字段列表查询") + @GetMapping(value = "/queryFields") + public ResultVo queryFields(@RequestParam(name="userId") Long userId ,@RequestParam(name="reviewType") Integer reviewType) { + ResultVo resultVo = new ResultVo<>(); + OcrUserFieldDto ocrUserFieldDto = ocrUserFieldService.queryFields(userId,reviewType); + resultVo.setData(ocrUserFieldDto); + resultVo.addOK("查询成功"); + return resultVo; + } + + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrFieldMybatisDao.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrFieldMybatisDao.java new file mode 100644 index 00000000..54e8d942 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrFieldMybatisDao.java @@ -0,0 +1,13 @@ +package cn.jyjz.xiaoyao.ocr.dataDao; + +import cn.jyjz.xiaoyao.ocr.dataobject.OcrArea; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** +* 数据持久化 +*/ +@Mapper +public interface OcrFieldMybatisDao extends BaseMapper { +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrUserFieldMybatisDao.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrUserFieldMybatisDao.java new file mode 100644 index 00000000..d34d6bae --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataDao/OcrUserFieldMybatisDao.java @@ -0,0 +1,13 @@ +package cn.jyjz.xiaoyao.ocr.dataDao; + +import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrUserField; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** +* 数据持久化 +*/ +@Mapper +public interface OcrUserFieldMybatisDao extends BaseMapper { +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrField.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrField.java new file mode 100644 index 00000000..e7afeabd --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrField.java @@ -0,0 +1,67 @@ +package cn.jyjz.xiaoyao.ocr.dataobject; + +import cn.jyjz.xiaoyao.admin.dataobject.Tenant; +import cn.jyjz.xiaoyao.common.base.jsonDomain.DateSerializer; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.sql.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "字段信息", title = "字段信息") +@TableName(value = "ocr_field") +public class OcrField implements Serializable { + private static final long serialVersionUID = 8088861709460050761L; + @Schema(description = "主键") + @TableId(value = "id",type = IdType.AUTO) + @TableField(value="id") + private Long id; + + @Schema(description = "字段名称") + @TableField(value="name") + private String name; + + @Schema(description = "字段类型(终审:0,工单:1、一审二审:2、审核填报:3)") + @TableField(value="review_type") + private Integer reviewType; + + @Schema(description = "字段描述") + @TableField(value="field_desc") + private String fieldDesc; + + @Schema(description = "创建人") + @TableField(value="create_by") + private String createBy; + + @Schema(description = "创建时间") + @TableField(value="create_time") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @Schema(description = "修改人") + @TableField(value="update_by") + private String updateBy; + + @Schema(description = "修改时间") + @TableField(value="update_time") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @Schema(description = "是否删除,0:未删除,1:已删除") + @TableField(value="del") + private Integer del; +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrUserField.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrUserField.java new file mode 100644 index 00000000..1b5ad9c6 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrUserField.java @@ -0,0 +1,69 @@ +package cn.jyjz.xiaoyao.ocr.dataobject; + +import cn.jyjz.xiaoyao.admin.dataobject.Tenant; +import cn.jyjz.xiaoyao.common.base.jsonDomain.DateSerializer; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.sql.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "用户-展示字段", title = "用户-展示字段") +@TableName(value = "ocr_user_field") +public class OcrUserField implements Serializable { + private static final long serialVersionUID = 8088861709460050761L; + @Schema(description = "主键") + @TableId(value = "id",type = IdType.AUTO) + @TableField(value="id") + private Long id; + + @Schema(description = "用户ID") + @TableField(value="user_id") + private long userId; + + @Schema(description = "评审类型(终审:0,工单:1、一审二审:2、审核填报:3)") + @TableField(value="review_type") + private Integer reviewType; + + @Schema(description = "展示字段字符串") + @TableField(value="user_field") + private String userField; + + @Schema(description = "创建人") + @TableField(value="create_by") + private String createBy; + + @Schema(description = "创建时间") + @TableField(value="create_time") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @Schema(description = "修改人") + @TableField(value="update_by") + private String updateBy; + + @Schema(description = "修改时间") + @TableField(value="update_time") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @Schema(description = "是否删除,0:未删除,1:已删除") + @TableField(value="del") + private Integer del; +} + + diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dto/OcrFieldDto.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dto/OcrFieldDto.java new file mode 100644 index 00000000..cf759864 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dto/OcrFieldDto.java @@ -0,0 +1,35 @@ +package cn.jyjz.xiaoyao.ocr.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.sql.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "字段信息", title = "字段信息") +public class OcrFieldDto implements Serializable { + private static final long serialVersionUID = 8088861709460050761L; + @Schema(description = "主键") + private Long id; + + @Schema(description = "字段名称") + private String name; + + @Schema(description = "字段类型(终审:0,工单:1、一审二审:2、审核填报:3)") + private Integer reviewType; + + @Schema(description = "字段描述") + private String fieldDesc; + + @Schema(description = "是否删除,0:未删除,1:已删除") + private Integer del; +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dto/OcrUserFieldDto.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dto/OcrUserFieldDto.java new file mode 100644 index 00000000..e4b408ca --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dto/OcrUserFieldDto.java @@ -0,0 +1,34 @@ +package cn.jyjz.xiaoyao.ocr.dto; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.sql.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "用户-展示字段", title = "用户-展示字段") +public class OcrUserFieldDto implements Serializable { + private static final long serialVersionUID = 8088861709460050761L; + @Schema(description = "主键") + private Long id; + + @Schema(description = "用户ID") + private long userId; + + @Schema(description = "评审类型(终审:0,工单:1、一审二审:2、审核填报:3)") + private Integer reviewType; + + @Schema(description = "展示字段字符串") + private String userField; +} + + diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrFieldService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrFieldService.java new file mode 100644 index 00000000..2050712a --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrFieldService.java @@ -0,0 +1,33 @@ +package cn.jyjz.xiaoyao.ocr.service; + +import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; +import cn.jyjz.xiaoyao.ocr.dto.OcrFieldDto; +import cn.jyjz.xiaoyao.ocr.vo.OcrFieldVo; + +import java.util.List; + +/** +* 业务层 +*/ +public interface OcrFieldService extends BaseService { + + /** + * 自定义筛选字段列表查询 + */ + List list(Integer reviewType); + + /** + * 自定义筛选字段列表查询全部 + */ + List listAll(); + + /** + * 删除自定义筛选字段 + */ + OcrFieldDto delete(Long id); + /** + * 自定义筛选字段新增和修改 + */ + void saveData(OcrField ocrField); +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrUserFieldService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrUserFieldService.java new file mode 100644 index 00000000..8f5d4ea0 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrUserFieldService.java @@ -0,0 +1,24 @@ +package cn.jyjz.xiaoyao.ocr.service; + +import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrUserField; +import cn.jyjz.xiaoyao.ocr.dto.OcrUserFieldDto; + +import java.util.List; + +/** +* 业务层 +*/ +public interface OcrUserFieldService extends BaseService { + /** + * 自定义筛选字段新增和修改 + */ + void saveData(OcrUserField ocrUserField); + + /** + * 用户-筛选字段查询 + */ + OcrUserFieldDto queryFields(Long userId,Integer reviewType); + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrFieldServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrFieldServiceImpl.java new file mode 100644 index 00000000..829ad333 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrFieldServiceImpl.java @@ -0,0 +1,115 @@ +package cn.jyjz.xiaoyao.ocr.service.impl; + +import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl; +import cn.jyjz.xiaoyao.ocr.dataDao.OcrFieldMybatisDao; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; +import cn.jyjz.xiaoyao.ocr.dto.OcrFieldDto; +import cn.jyjz.xiaoyao.ocr.service.OcrFieldService; +import cn.jyjz.xiaoyao.ocr.vo.OcrFieldVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + + +/** +* 业务层实现 +*/ +@Service +@Slf4j +public class OcrFieldServiceImpl extends BaseServiceImpl implements OcrFieldService { + @Autowired + private OcrFieldMybatisDao ocrFieldMybatisDao; + + @Override + public List list(Integer reviewType){ + List ocrFieldDtoList = new ArrayList<>(); + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OcrField::getReviewType, reviewType); + queryWrapper.eq(OcrField::getDel, 0); + List ocrFieldList = this.list(queryWrapper); + if(ocrFieldList.size()>0){ + for (OcrField ocrField : ocrFieldList) { + OcrFieldDto dto = new OcrFieldDto(); + dto.setId(ocrField.getId()); + dto.setName(ocrField.getName()); + dto.setReviewType(ocrField.getReviewType()); + dto.setFieldDesc(ocrField.getFieldDesc()); + ocrFieldDtoList.add(dto); + } + } + } catch (BeansException e) { + e.printStackTrace(); + } + return ocrFieldDtoList; + } + + @Override + public List listAll(){ + List ocrFieldDtoList = new ArrayList<>(); + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OcrField::getDel, 0); + List ocrFieldList = this.list(queryWrapper); + if(ocrFieldList.size()>0){ + for (OcrField ocrField : ocrFieldList) { + OcrFieldDto dto = new OcrFieldDto(); + dto.setId(ocrField.getId()); + dto.setName(ocrField.getName()); + dto.setReviewType(ocrField.getReviewType()); + dto.setFieldDesc(ocrField.getFieldDesc()); + ocrFieldDtoList.add(dto); + } + } + } catch (BeansException e) { + e.printStackTrace(); + } + return ocrFieldDtoList; + } + + @Override + public OcrFieldDto delete(Long id){ + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OcrField::getId, id); + OcrField ocrField = this.getOne(queryWrapper); + if (ocrField != null) { + // 将 del 字段值设置为 1,表示逻辑删除 + ocrField.setDel(1); + // 更新记录 + updateById(ocrField); + // 将更新后的记录转换为 DTO 对象返回 + OcrFieldDto ocrFieldDto = new OcrFieldDto(); + BeanUtils.copyProperties(ocrFieldDto, ocrField); + return ocrFieldDto; + } + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + @Override + public void saveData(OcrField ocrField){ + try { + String name = ocrField.getName(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OcrField::getName, name); + OcrField ocrFieldOne = this.getOne(queryWrapper); + if (ocrFieldOne != null) { + ocrField.setId(ocrFieldOne.getId()); // 设置 ID,以便更新指定记录 + updateById(ocrField); // 更新记录 + } else { + save(ocrField); // 保存记录 + } + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrUserFieldServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrUserFieldServiceImpl.java new file mode 100644 index 00000000..85c612f2 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrUserFieldServiceImpl.java @@ -0,0 +1,74 @@ +package cn.jyjz.xiaoyao.ocr.service.impl; + +import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl; +import cn.jyjz.xiaoyao.ocr.dataDao.OcrUserFieldMybatisDao; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrUserField; +import cn.jyjz.xiaoyao.ocr.dto.OcrUserFieldDto; +import cn.jyjz.xiaoyao.ocr.service.OcrUserFieldService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.sql.Date; +import java.sql.Timestamp; +import java.util.List; + + +/** +* 业务层实现 +*/ +@Service +@Slf4j +public class OcrUserFieldServiceImpl extends BaseServiceImpl implements OcrUserFieldService { + @Autowired + private OcrUserFieldMybatisDao ocrUserFieldMybatisDao; + + @Override + public void saveData(OcrUserField ocrUserField){ + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OcrUserField::getUserId,ocrUserField.getUserId()); + queryWrapper.eq(OcrUserField::getReviewType,ocrUserField.getReviewType()); + queryWrapper.eq(OcrUserField::getDel,0); + OcrUserField ocrUserFieldOne = this.getOne(queryWrapper); + long currentTimeMillis = System.currentTimeMillis(); + Timestamp timestamp = new Timestamp(currentTimeMillis); + Date currentDate = new Date(timestamp.getTime()); + if (ocrUserFieldOne != null) { + ocrUserField.setId(ocrUserFieldOne.getId()); + ocrUserField.setUpdateTime(currentDate); + this.updateById(ocrUserField); + } else { + ocrUserField.setCreateTime(currentDate); + ocrUserField.setUpdateTime(currentDate); + this.save(ocrUserField); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public OcrUserFieldDto queryFields(Long userId,Integer reviewType){ + OcrUserFieldDto dto = new OcrUserFieldDto(); + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OcrUserField::getUserId,userId); + queryWrapper.eq(OcrUserField::getReviewType,reviewType); + queryWrapper.eq(OcrUserField::getDel,0); + OcrUserField ocrUserFieldOne = this.getOne(queryWrapper); + dto.setId(ocrUserFieldOne.getId()); + dto.setUserId(ocrUserFieldOne.getUserId()); + dto.setReviewType(ocrUserFieldOne.getReviewType()); + dto.setUserField(ocrUserFieldOne.getUserField()); + } catch (BeansException e) { + e.printStackTrace(); + } + return dto; + } + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrFieldVo.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrFieldVo.java new file mode 100644 index 00000000..1da0f92a --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrFieldVo.java @@ -0,0 +1,47 @@ +package cn.jyjz.xiaoyao.ocr.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.sql.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "字段信息", title = "字段信息") +public class OcrFieldVo implements Serializable { + private static final long serialVersionUID = 8088861709460050761L; + @Schema(description = "主键") + private Long id; + + @Schema(description = "字段名称") + private String name; + + @Schema(description = "字段类型(终审:0,工单:1、一审二审:2、审核填报:3)") + private Integer reviewType; + + @Schema(description = "字段描述") + private String fieldDesc; + + @Schema(description = "创建人") + private String createBy; + + @Schema(description = "创建时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @Schema(description = "修改人") + private String updateBy; + + @Schema(description = "修改时间") + private Date updateTime; + + @Schema(description = "是否删除,0:未删除,1:已删除") + private Integer del; +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrUserFieldVo.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrUserFieldVo.java new file mode 100644 index 00000000..ec9bf9e4 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/vo/OcrUserFieldVo.java @@ -0,0 +1,51 @@ +package cn.jyjz.xiaoyao.ocr.vo; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.sql.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "用户-展示字段", title = "用户-展示字段") +public class OcrUserFieldVo implements Serializable { + private static final long serialVersionUID = 8088861709460050761L; + @Schema(description = "主键") + private Long id; + + @Schema(description = "用户ID") + private long userId; + + @Schema(description = "评审类型(终审:0,工单:1、一审二审:2、审核填报:3)") + private Integer reviewType; + + @Schema(description = "展示字段字符串") + private String userField; + + @Schema(description = "创建人") + private String createBy; + + @Schema(description = "创建时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @Schema(description = "修改人") + private String updateBy; + + @Schema(description = "修改时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @Schema(description = "是否删除,0:未删除,1:已删除") + private Integer del; +} + + diff --git a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrFieldMapper.xml b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrFieldMapper.xml new file mode 100644 index 00000000..f745cfec --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrFieldMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrUserFieldMapper.xml b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrUserFieldMapper.xml new file mode 100644 index 00000000..ba749c64 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrUserFieldMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + +