diff --git a/htmlweb/web/backstage/oa/ocr/information/edit.html b/htmlweb/web/backstage/oa/ocr/information/edit.html index 60d01481..16f73e24 100644 --- a/htmlweb/web/backstage/oa/ocr/information/edit.html +++ b/htmlweb/web/backstage/oa/ocr/information/edit.html @@ -207,7 +207,7 @@ $.ajaxSettings.async = true; - parent.axgetXiaoyao('${ctx}/ocr/field/getData' + $("#id").val(),null,false , function(data){ + parent.axgetXiaoyao('${ctx}/ocr/field/getData/' + $("#id").val(),null,false , function(data){ if(data.code == "OK"){ $("#id").val(data.data.id); diff --git a/htmlweb/web/backstage/oa/ocr/information/list.html b/htmlweb/web/backstage/oa/ocr/information/list.html index bcf1d318..a546500e 100644 --- a/htmlweb/web/backstage/oa/ocr/information/list.html +++ b/htmlweb/web/backstage/oa/ocr/information/list.html @@ -144,7 +144,7 @@ parent._xiaoyaoOpenMenuTab('${ctx}/backstage/oa/ocrfieldconfigurationHtml/toSave',"添加字段信息",jframeid + '_add'); } function updateData(jframeid,str){ - var url = '${ctx}/backstage/oa/ocrfieldconfigurationHtml/toEdit' + str ; + var url = '${ctx}/backstage/oa/ocrfieldconfigurationHtml/toEdit/' + str ; parent._xiaoyaoOpenMenuTab(url,"修改字段信息",jframeid + '_edit'); } function _useredit(jframeid){ diff --git a/jyjz-common/jyjz-common-mybatisplus/src/main/java/cn/jyjz/xiaoyao/common/mybatisplus/util/SearchQueryFormat.java b/jyjz-common/jyjz-common-mybatisplus/src/main/java/cn/jyjz/xiaoyao/common/mybatisplus/util/SearchQueryFormat.java index b436c091..0ef8a17d 100644 --- a/jyjz-common/jyjz-common-mybatisplus/src/main/java/cn/jyjz/xiaoyao/common/mybatisplus/util/SearchQueryFormat.java +++ b/jyjz-common/jyjz-common-mybatisplus/src/main/java/cn/jyjz/xiaoyao/common/mybatisplus/util/SearchQueryFormat.java @@ -151,8 +151,9 @@ public class SearchQueryFormat { if(StringUtils.isNotBlank(searchQueryForm.getOp()) && searchQueryForm.getOp().equals(SearchQueryConstant.SEARCH_EQUAL)){ - - queryWrapper.eq(obj.getQueryFiled(entry.getKey().toUpperCase()),searchQueryForm.getValue()); + String upperCase = entry.getKey().toUpperCase(); + String queryFiled = obj.getQueryFiled(upperCase); + queryWrapper.eq(queryFiled,searchQueryForm.getValue()); }else if(StringUtils.isNotBlank(searchQueryForm.getOp()) && searchQueryForm.getOp().equals(SearchQueryConstant.SEARCH_LIKE)){ 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 index 1ade0d98..4c8e959b 100644 --- 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 @@ -1,6 +1,8 @@ package cn.jyjz.xiaoyao.ocr.controller; import cn.hutool.core.bean.BeanUtil; +import cn.jyjz.xiaoyao.admin.dataobject.Post; +import cn.jyjz.xiaoyao.admin.service.UserService; import cn.jyjz.xiaoyao.common.base.controller.BaseController; import cn.jyjz.xiaoyao.common.base.param.ParamterPage; import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil; @@ -30,6 +32,7 @@ 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.util.Arrays; import java.util.List; @@ -42,21 +45,30 @@ public class OcrFieldController extends BaseController { @Autowired private OcrFieldService ocrFieldService; + + @Autowired + private UserService userService; /** * 自定义筛选字段列表查询 * @return */ @ApiOperation(value="根据评审类型查询字段列表", notes="根据评审类型查询字段列表") @GetMapping(value = "/list") - public ResultVo> list(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - @RequestParam(name="reviewType") @ApiParam(value = "字段类型(终审:0,工单:1、一审二审:2、审核填报:3)") Integer reviewType, - @RequestParam(name="name") @ApiParam(value = "字段名称") String name) { + public ResultVo> list(@RequestParam(name="start", defaultValue="1") Integer start, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest request) { + + SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); + + cn.jyjz.xiaoyao.admin.dataobject.User user = this.userService.getSessionUser(request); + OcrField ocrField = new OcrField(); + ocrField.setSearchQueryrolesShowleave(user.getSearchQueryrolesShowleave()); + QueryWrapper queryWrapper = SearchQueryFormat.queryStringFormat(searchQuery,ocrField); ResultVo> resultVo = new ResultVo<>(); ParamterPage paramterPage = new ParamterPage(); paramterPage.setPagesize(pageSize); - paramterPage.setStart(pageNo); - IPage ocrFieldIPage = ocrFieldService.list(paramterPage,reviewType,name); + paramterPage.setStart(start); + IPage ocrFieldIPage = ocrFieldService.list(paramterPage,queryWrapper); resultVo.setData(ocrFieldIPage); resultVo.addOK("查询成功"); return resultVo; @@ -92,9 +104,9 @@ public class OcrFieldController extends BaseController { } - @ApiOperation(value="删除筛选字段", notes="删除筛选字段") - @GetMapping(value = "/getData") - public ResultVo getData(@RequestParam(name="id") @ApiParam(value = "字段ID", required = true) Long id) { + @ApiOperation(value="详情", notes="详情") + @GetMapping(value = "/getData/{id}") + public ResultVo getData(@PathVariable(name="id") @ApiParam(value = "字段ID", required = true) Long id) { return ResultVoUtil.success(ocrFieldService.getById(id)); } @@ -104,9 +116,9 @@ public class OcrFieldController extends BaseController { */ @ApiOperation(value="字段新增和修改", notes="字段新增和修改") @PostMapping(value = "/saveOrUpdate") - public ResultVo saveOrUpdate(@ApiParam(value = "字段信息", required = true) @RequestBody OcrFieldVo ocrFieldVo) { + public ResultVo saveOrUpdate(@ApiParam(value = "字段信息", required = true) OcrFieldVo ocrFieldVo) { try { - ocrFieldService.saveData(BeanUtil.copyProperties(ocrFieldVo,OcrField.class)); + return ocrFieldService.saveData(BeanUtil.copyProperties(ocrFieldVo,OcrField.class)); } catch (BeansException e) { e.printStackTrace(); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrFieldHtmlController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrFieldHtmlController.java index a6b82a71..e0e1925a 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrFieldHtmlController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrFieldHtmlController.java @@ -9,6 +9,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; @@ -46,10 +47,11 @@ public class OcrFieldHtmlController extends BaseController{ return "/backstage/oa/ocr/information/add"; } - @GetMapping("/toEdit") - public String toEdit(HttpServletResponse response,HttpServletRequest request){ + @GetMapping("/toEdit/{id}") + public String toEdit(HttpServletResponse response,HttpServletRequest request,@PathVariable("id") String id){ String resourceid = request.getParameter("resourceid"); request.setAttribute("resourceid",resourceid); + request.setAttribute("id", id); return "/backstage/oa/ocr/information/edit"; } } 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 index f94f9bfb..10114026 100644 --- 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 @@ -2,11 +2,14 @@ package cn.jyjz.xiaoyao.ocr.dataobject; import cn.jyjz.xiaoyao.admin.dataobject.Tenant; import cn.jyjz.xiaoyao.common.base.jsonDomain.DateSerializer; +import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery; +import cn.jyjz.xiaoyao.common.mybatisplus.dto.BaseDto; 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.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -17,6 +20,10 @@ import lombok.NoArgsConstructor; import java.io.Serializable; import java.sql.Date; +import java.util.AbstractMap; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; @Data @Builder @@ -24,7 +31,7 @@ import java.sql.Date; @AllArgsConstructor @Schema(name = "字段信息", title = "字段信息") @TableName(value = "ocr_field") -public class OcrField implements Serializable { +public class OcrField implements BaseDto,java.io.Serializable { private static final long serialVersionUID = 8088861709460050761L; @Schema(description = "主键") @TableId(value = "id",type = IdType.AUTO) @@ -84,4 +91,26 @@ public class OcrField implements Serializable { @Schema(description = "是否可隐藏,0:否,1:是") @TableField(value="is_hide") private Integer isHide; + + //保存当前登录用户的数据权限范围的搜索条件 + @TableField(exist = false) + @JsonIgnore + private SearchQuery searchQueryrolesShowleave; + + @TableField(exist = false) + @JsonIgnore + private final Map query = Stream.of( + new AbstractMap.SimpleEntry<>("NAME","name"), + new AbstractMap.SimpleEntry<>("REVIEWTYPE","review_type") + ) + .collect(Collectors.toMap(AbstractMap.SimpleEntry::getKey, AbstractMap.SimpleEntry::getValue)); + @Override + public String getQueryFiled(String filedname){ + String obj = null; + if(null != query && query.size() > 0){ + obj = query.get(filedname); + } + return obj; + } + } 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 index 2ea6e287..cf539d7b 100644 --- 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 @@ -1,10 +1,12 @@ package cn.jyjz.xiaoyao.ocr.service; import cn.jyjz.xiaoyao.common.base.param.ParamterPage; +import cn.jyjz.xiaoyao.common.base.vo.ResultVo; 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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.List; @@ -17,7 +19,7 @@ public interface OcrFieldService extends BaseService { /** * 自定义筛选字段列表查询 */ - IPage list(ParamterPage paramterPage, Integer reviewType, String name); + IPage list(ParamterPage paramterPage, QueryWrapper queryWrapper); /** * 自定义筛选字段列表查询全部 @@ -31,5 +33,5 @@ public interface OcrFieldService extends BaseService { /** * 自定义筛选字段新增和修改 */ - void saveData(OcrField ocrField); + ResultVo saveData(OcrField ocrField); } 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 index 70d11d12..f284ea8a 100644 --- 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 @@ -1,6 +1,9 @@ package cn.jyjz.xiaoyao.ocr.service.impl; +import cn.hutool.core.date.DateUtil; import cn.jyjz.xiaoyao.common.base.param.ParamterPage; +import cn.jyjz.xiaoyao.common.base.vo.ResultVo; +import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl; import cn.jyjz.xiaoyao.ocr.dataDao.OcrFieldMybatisDao; import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; @@ -17,6 +20,8 @@ import org.springframework.beans.BeansException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.sql.Date; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -32,11 +37,8 @@ public class OcrFieldServiceImpl extends BaseServiceImpl list(ParamterPage paramterPage, Integer reviewType, String name){ + public IPage list(ParamterPage paramterPage, QueryWrapper queryWrapper){ try { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(Objects.nonNull(reviewType),"reviewType",reviewType); - queryWrapper.like(StringUtils.isNotBlank(name),"name",name); queryWrapper.eq("del", 0); queryWrapper.orderByAsc("sort"); return this.selectSearchListPage(paramterPage, queryWrapper); @@ -95,20 +97,26 @@ public class OcrFieldServiceImpl extends BaseServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(OcrField::getName, name); - OcrField ocrFieldOne = this.getOne(queryWrapper); - if (ocrFieldOne != null) { - ocrField.setId(ocrFieldOne.getId()); // 设置 ID,以便更新指定记录 + if (Objects.nonNull(ocrField.getId())) { + String name = ocrField.getName(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OcrField::getName, name); + OcrField ocrFieldOne = this.getOne(queryWrapper); + if(Objects.nonNull(ocrFieldOne)&&!ocrFieldOne.getId().equals(ocrField.getId())){ + return ResultVoUtil.error(ResultVo.ERROR,"字段名称已存在"); + } + ocrField.setUpdateTime(DateUtil.date().toSqlDate()); updateById(ocrField); // 更新记录 } else { + ocrField.setCreateTime(DateUtil.date().toSqlDate()); + ocrField.setUpdateTime(DateUtil.date().toSqlDate()); save(ocrField); // 保存记录 } } catch (Exception e) { e.printStackTrace(); } + return ResultVoUtil.success(); } } 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 index 09c49abf..861cc05d 100644 --- 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 @@ -1,6 +1,8 @@ package cn.jyjz.xiaoyao.ocr.vo; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Builder; @@ -18,6 +20,9 @@ import java.io.Serializable; public class OcrFieldVo implements Serializable { private static final long serialVersionUID = 8088861709460050761L; + @Schema(description = "主键") + private Long id; + @Schema(description = "字段名称",required = true) private String name;