diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRecordEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRecordEOController.java index 7c3a48a08..b246489ea 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRecordEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRecordEOController.java @@ -2,12 +2,14 @@ package com.jero.modules.ocr.controller; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.constant.enums.CutEnum; import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.document.service.IBussDocumentLibraryEOService; import com.jero.modules.ocr.entity.OcrRecordEO; import com.jero.modules.ocr.enums.FileSyncStateEnum; @@ -19,6 +21,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -30,6 +33,7 @@ import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** @@ -61,6 +65,10 @@ public class OcrRecordEOController extends JeroController queryPageList(@RequestBody OcrRecordEOPage ocrRecordEOPage) { + //查询创建者为当前用户的数据 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String loginUser = sysUser.getUsername(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); if (StringUtils.isNotEmpty(ocrRecordEOPage.getStandNumber())) { ocrRecordEOPage.setStandNumber(ocrRecordEOPage.getStandNumber().replace("%","\\%")); @@ -70,6 +78,7 @@ public class OcrRecordEOController extends JeroController page = new Page(ocrRecordEOPage.getPageNo(), ocrRecordEOPage.getPageSize()); @@ -234,13 +243,31 @@ public class OcrRecordEOController extends JeroController delete(@RequestParam(name="id",required=true) String id) { + public Result delete(@RequestParam(name="id",required=true) String id, + @RequestParam(name="cut",required=true) String cut) { if (StringUtils.isBlank(id)) { return Result.error("删除数据不能为空"); } - ocrRecordService.deleteById(id); - //TODO 删除上传的pdf文件,转换成功的将doc文件一并删除 - return Result.OK("删除成功!"); + + //增加创建者校验 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String loginUser = sysUser.getUsername(); + QueryWrapper ocrRecordEOQueryWrapper = new QueryWrapper<>(); + ocrRecordEOQueryWrapper.eq("id",id); + String ocrRecordEOCreateBy = ocrRecordService.list(ocrRecordEOQueryWrapper).stream().map(e -> e.getCreateBy()).collect(Collectors.toList()).get(0); + if (loginUser.equals(ocrRecordEOCreateBy)) { + ocrRecordService.deleteById(id); + + //TODO 删除上传的pdf文件,转换成功的将doc文件一并删除 + return Result.OK("删除成功!"); + + }else { + if (CutEnum.CN.getValue().equals(cut)) { + return Result.error("当前用户非创建者,无法下载"); + }else{ + return Result.error("The current user is not the creator and cannot be downloaded."); + } + } } /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRestfulController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRestfulController.java index 56565b83b..acdb9bd31 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRestfulController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ocr/controller/OcrRestfulController.java @@ -1,9 +1,11 @@ package com.jero.modules.ocr.controller; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jero.common.api.vo.Result; import com.jero.common.constant.enums.CutEnum; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.ocr.entity.OcrRecordEO; import com.jero.modules.ocr.enums.ResultContentEnum; import com.jero.modules.ocr.service.IOcrRecordEOService; @@ -17,6 +19,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.http.entity.ContentType; +import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -29,6 +32,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.*; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.stream.Collectors; /** * @program: OcrDemo @@ -67,27 +71,41 @@ public class OcrRestfulController{ @ApiOperation(value = "下载word文件") @GetMapping("/downFile") @RequiresPermissions("ocr:ocrRestful:downFile") - public void downFile(String fileName, HttpServletResponse response, HttpServletRequest request) throws Exception { - InputStream is = null; - OutputStream os = null; - response.reset(); - try { - String downFileName = fileName.substring(fileName.indexOf("_") + 1); - response.setHeader("Content-Disposition", "attachment; filename=" + downFileName); - response.setContentType("application/octet-stream"); + public void downFile(String fileName, HttpServletResponse response, HttpServletRequest request,String cut) throws Exception { + //增加创建者校验 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String loginUser = sysUser.getUsername(); + QueryWrapper ocrRecordEOQueryWrapper = new QueryWrapper<>(); + ocrRecordEOQueryWrapper.eq("doc_real_name",fileName); + String ocrRecordEOCreateBy = ocrRecordEOService.list(ocrRecordEOQueryWrapper).stream().map(e -> e.getCreateBy()).collect(Collectors.toList()).get(0); + if (loginUser.equals(ocrRecordEOCreateBy)) { + InputStream is = null; + OutputStream os = null; + response.reset(); + try { + String downFileName = fileName.substring(fileName.indexOf("_") + 1); + response.setHeader("Content-Disposition", "attachment; filename=" + downFileName); + response.setContentType("application/octet-stream"); - String fullPath = ocrPath + fileName; - is = new FileInputStream(fullPath); - os = response.getOutputStream(); - IOUtils.copy(is, os); - os.flush(); - } catch (FileNotFoundException var4) { - throw new JeroBootException("文件[" + ocrPath + fileName + "]不存在"); - } catch (IOException e) { - log.error(e.getMessage(), e); - } finally { - is.close(); - os.close(); + String fullPath = ocrPath + fileName; + is = new FileInputStream(fullPath); + os = response.getOutputStream(); + IOUtils.copy(is, os); + os.flush(); + } catch (FileNotFoundException var4) { + throw new JeroBootException("文件[" + ocrPath + fileName + "]不存在"); + } catch (IOException e) { + log.error(e.getMessage(), e); + } finally { + is.close(); + os.close(); + } + }else{ + if (CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("当前用户非创建者,无法下载"); + }else{ + throw new JeroBootException("The current user is not the creator and cannot be downloaded."); + } } } diff --git a/jero-web/src/components/AssignedBy/index.vue b/jero-web/src/components/AssignedBy/index.vue index 9441b302a..94e9b2840 100644 --- a/jero-web/src/components/AssignedBy/index.vue +++ b/jero-web/src/components/AssignedBy/index.vue @@ -139,13 +139,10 @@ export default { ...this.form } if(this.form.username !== undefined) { - this.form.username = `*${this.form.username}*` + params.username = `*${this.form.username}*` } getAction(`sys/user/page`, params).then(res => { if (res.success) { - if(this.form.username !== undefined) { - this.form.username = this.form.username.slice(1,this.form.username.length-1) - } this.areaTable = [...res.result.records] this.total = res.result.total } diff --git a/jero-web/src/components/CollectionType/index.vue b/jero-web/src/components/CollectionType/index.vue index 29464e56a..0a7533ca8 100644 --- a/jero-web/src/components/CollectionType/index.vue +++ b/jero-web/src/components/CollectionType/index.vue @@ -32,10 +32,9 @@
-
@@ -49,45 +48,41 @@
-
-
-
-
-
@@ -174,12 +169,11 @@
- +
@@ -191,47 +185,43 @@
- +
- +
- +
- +
- +
@@ -267,12 +257,11 @@
- +
@@ -284,47 +273,43 @@
- +
- +
- +
- +
- +
@@ -369,12 +354,11 @@
- +
@@ -386,47 +370,43 @@
- +
- +
- +
- +
- +
@@ -522,12 +502,11 @@
- +
@@ -539,47 +518,43 @@
- +
- +
- +
- +
- +
diff --git a/jero-web/src/components/tableCollection/index.vue b/jero-web/src/components/tableCollection/index.vue index 62b9a5144..654667688 100644 --- a/jero-web/src/components/tableCollection/index.vue +++ b/jero-web/src/components/tableCollection/index.vue @@ -10,6 +10,7 @@ :data-source="dataSource" :loading="loading" :columns="columns" + :rowClassName="rowClassName" :components="components" @change="tableOnChange" @onHeaderRow='onHeaderRow' @@ -231,6 +232,9 @@ mounted() { }, methods: { + rowClassName(row,index) { + return row.changeFlag == '1'? 'yellow' : 'red' + }, // 查看配置详细信息 onClickSee(val) { let _this = this @@ -574,5 +578,10 @@ .resize-table-th { position: relative; } - + /deep/.ant-table-tbody .yellow { + background-color: #ffff001f !important; + height: 40px !important; + border: none !important; + padding: 0 !important; + } diff --git a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue index 45cce2ea1..88e1fd3e8 100644 --- a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue +++ b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue @@ -192,7 +192,7 @@ + :selectedRowKeysArray='selectedRowKeysArray' @areaVisible='areaVisibsynchronous = false'/> @@ -824,10 +824,11 @@ export default { if(itemIn !== 'sdt') { if(item[itemIn] instanceof Object) { postDateobj[itemIn] = item[itemIn] - if(item[itemIn].list[0].dataValue instanceof Array) { - item[itemIn].list[0].dataValue = item[itemIn].list[0].dataValue.join(',') - // todo 校验 - } + item[itemIn].list.forEach((item,index) => { + if(item.type == 'pull_more'){ + item.dataValue = item.dataValue.join(',') + } + }) } } })