From 31bb5ef6301cffebe01f76786c8abbe25ce30478 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A7=9C=E7=8E=89=E7=90=A6?=
<7507756+jiang_yuqi@user.noreply.gitee.com>
Date: Mon, 23 Oct 2023 01:34:55 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ruoyi-ui/src/api/work/workUser.js | 44 ++++
ruoyi-ui/src/views/work/workFile/index.vue | 24 ++-
.../views/work/workFile/indexViewDrawer.vue | 167 +++++++++++++++
.../web/controller/BgWorkFileController.java | 7 +-
.../web/controller/BgWorkTrainController.java | 2 +
.../controller/WorkFileUserController.java | 104 ++++++++++
.../yanzhu/jh/work/domain/WorkFileUser.java | 191 ++++++++++++++++++
.../jh/work/domain/WorkFileUserLog.java | 82 ++++++++
.../jh/work/mapper/WorkFileUserMapper.java | 87 ++++++++
.../jh/work/service/IWorkFileService.java | 8 +
.../jh/work/service/IWorkFileUserService.java | 61 ++++++
.../service/impl/WorkFileServiceImpl.java | 51 +++++
.../service/impl/WorkFileUserServiceImpl.java | 136 +++++++++++++
.../trouble/SmzSspProblemmodifyMapper.xml | 2 +
.../mapper/work/WorkFileUserMapper.xml | 140 +++++++++++++
15 files changed, 1096 insertions(+), 10 deletions(-)
create mode 100644 ruoyi-ui/src/api/work/workUser.js
create mode 100644 ruoyi-ui/src/views/work/workFile/indexViewDrawer.vue
create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/controller/WorkFileUserController.java
create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUser.java
create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUserLog.java
create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/mapper/WorkFileUserMapper.java
create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileUserService.java
create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileUserServiceImpl.java
create mode 100644 yanzhu-jh/src/main/resources/mapper/work/WorkFileUserMapper.xml
diff --git a/ruoyi-ui/src/api/work/workUser.js b/ruoyi-ui/src/api/work/workUser.js
new file mode 100644
index 00000000..ebe768e9
--- /dev/null
+++ b/ruoyi-ui/src/api/work/workUser.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询文件访问用户列表
+export function listWorkUser(query) {
+ return request({
+ url: '/work/workUser/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询文件访问用户详细
+export function getWorkUser(id) {
+ return request({
+ url: '/work/workUser/' + id,
+ method: 'get'
+ })
+}
+
+// 新增文件访问用户
+export function addWorkUser(data) {
+ return request({
+ url: '/work/workUser',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改文件访问用户
+export function updateWorkUser(data) {
+ return request({
+ url: '/work/workUser',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除文件访问用户
+export function delWorkUser(id) {
+ return request({
+ url: '/work/workUser/' + id,
+ method: 'delete'
+ })
+}
diff --git a/ruoyi-ui/src/views/work/workFile/index.vue b/ruoyi-ui/src/views/work/workFile/index.vue
index b3e36f1d..5311634f 100644
--- a/ruoyi-ui/src/views/work/workFile/index.vue
+++ b/ruoyi-ui/src/views/work/workFile/index.vue
@@ -123,16 +123,20 @@
{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}') }}
-
+
+
+ {{ scope.row.readNum}}
+
+
-
+ icon="el-icon-view"
+ @click="handleView(scope.row)"
+ v-hasPermi="['work:workFile:query']"
+ >查看
取 消
+
+
\ No newline at end of file
diff --git a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkFileController.java b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkFileController.java
index 336c7201..94d4f80c 100644
--- a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkFileController.java
+++ b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkFileController.java
@@ -7,6 +7,7 @@ import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.service.ISysDeptService;
import com.yanzhu.jh.work.domain.WorkFile;
import com.yanzhu.jh.work.service.IWorkFileService;
+import com.yanzhu.jh.work.service.IWorkFileUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -44,13 +45,11 @@ public class BgWorkFileController extends BaseController {
}
/**
- * 根据文件归属查询文件
- * @param fileId
+ * 打开文件
* @return
*/
@GetMapping("/workFileRead")
public AjaxResult workFileRead(Long fileId){
- return success();
+ return success(workFileService.openWorkFile(fileId));
}
-
}
diff --git a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkTrainController.java b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkTrainController.java
index ca34df26..d894841a 100644
--- a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkTrainController.java
+++ b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkTrainController.java
@@ -1,6 +1,7 @@
package com.yanzhu.jh.bigscreen.web.controller;
import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.SecurityUtils;
@@ -43,4 +44,5 @@ public class BgWorkTrainController extends BaseController {
}
return getDataTable(workTrainService.selectBgscreenWorkTrainListv2(workTrain));
}
+
}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/controller/WorkFileUserController.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/controller/WorkFileUserController.java
new file mode 100644
index 00000000..fa75ff5f
--- /dev/null
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/controller/WorkFileUserController.java
@@ -0,0 +1,104 @@
+package com.yanzhu.jh.work.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.yanzhu.jh.work.domain.WorkFileUser;
+import com.yanzhu.jh.work.service.IWorkFileUserService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 文件访问用户Controller
+ *
+ * @author JiangYuQi
+ * @date 2023-10-22
+ */
+@RestController
+@RequestMapping("/work/workUser")
+public class WorkFileUserController extends BaseController
+{
+ @Autowired
+ private IWorkFileUserService workFileUserService;
+
+ /**
+ * 查询文件访问用户列表
+ */
+ @PreAuthorize("@ss.hasPermi('work:workFile:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(WorkFileUser workFileUser)
+ {
+ startPage();
+ List list = workFileUserService.selectWorkFileUserList(workFileUser);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出文件访问用户列表
+ */
+ @PreAuthorize("@ss.hasPermi('work:workUser:export')")
+ @Log(title = "文件访问用户", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, WorkFileUser workFileUser)
+ {
+ List list = workFileUserService.selectWorkFileUserList(workFileUser);
+ ExcelUtil util = new ExcelUtil(WorkFileUser.class);
+ util.exportExcel(response, list, "文件访问用户数据");
+ }
+
+ /**
+ * 获取文件访问用户详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('work:workUser:query')")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id)
+ {
+ return success(workFileUserService.selectWorkFileUserById(id));
+ }
+
+ /**
+ * 新增文件访问用户
+ */
+ @PreAuthorize("@ss.hasPermi('work:workUser:add')")
+ @Log(title = "文件访问用户", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody WorkFileUser workFileUser)
+ {
+ return toAjax(workFileUserService.insertWorkFileUser(workFileUser));
+ }
+
+ /**
+ * 修改文件访问用户
+ */
+ @PreAuthorize("@ss.hasPermi('work:workUser:edit')")
+ @Log(title = "文件访问用户", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody WorkFileUser workFileUser)
+ {
+ return toAjax(workFileUserService.updateWorkFileUser(workFileUser));
+ }
+
+ /**
+ * 删除文件访问用户
+ */
+ @PreAuthorize("@ss.hasPermi('work:workFile:remove')")
+ @Log(title = "文件访问用户", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(workFileUserService.deleteWorkFileUserByIds(ids));
+ }
+}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUser.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUser.java
new file mode 100644
index 00000000..ad30a01b
--- /dev/null
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUser.java
@@ -0,0 +1,191 @@
+package com.yanzhu.jh.work.domain;
+
+import java.util.List;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 文件访问用户对象 work_file_user
+ *
+ * @author JiangYuQi
+ * @date 2023-10-22
+ */
+public class WorkFileUser extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 主键 */
+ private Long id;
+
+ /** 文件主键 */
+ @Excel(name = "文件主键")
+ private Long fileId;
+
+ /** 项目主键 */
+ @Excel(name = "项目主键")
+ private Long projectId;
+
+ /** 部门主键 */
+ @Excel(name = "部门主键")
+ private Long deptId;
+
+ /** 用户主键 */
+ @Excel(name = "用户主键")
+ private Long userId;
+
+ /** 数据状态 */
+ @Excel(name = "数据状态")
+ private String isDel;
+
+ private String deptType;
+ private String deptTypeName;
+ private String deptName;
+ private String nickName;
+ private String userName;
+ private String ancestors;
+ private Integer num;
+
+ /** 文件访问用户记录信息 */
+ private List workFileUserLogList;
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public Long getId()
+ {
+ return id;
+ }
+ public void setFileId(Long fileId)
+ {
+ this.fileId = fileId;
+ }
+
+ public Long getFileId()
+ {
+ return fileId;
+ }
+ public void setProjectId(Long projectId)
+ {
+ this.projectId = projectId;
+ }
+
+ public Long getProjectId()
+ {
+ return projectId;
+ }
+ public void setDeptId(Long deptId)
+ {
+ this.deptId = deptId;
+ }
+
+ public Long getDeptId()
+ {
+ return deptId;
+ }
+ public void setUserId(Long userId)
+ {
+ this.userId = userId;
+ }
+
+ public Long getUserId()
+ {
+ return userId;
+ }
+ public void setIsDel(String isDel)
+ {
+ this.isDel = isDel;
+ }
+
+ public String getIsDel()
+ {
+ return isDel;
+ }
+
+ public List getWorkFileUserLogList()
+ {
+ return workFileUserLogList;
+ }
+
+ public void setWorkFileUserLogList(List workFileUserLogList)
+ {
+ this.workFileUserLogList = workFileUserLogList;
+ }
+
+ public String getDeptType() {
+ return deptType;
+ }
+
+ public void setDeptType(String deptType) {
+ this.deptType = deptType;
+ }
+
+ public String getDeptTypeName() {
+ return deptTypeName;
+ }
+
+ public void setDeptTypeName(String deptTypeName) {
+ this.deptTypeName = deptTypeName;
+ }
+
+ public String getDeptName() {
+ return deptName;
+ }
+
+ public void setDeptName(String deptName) {
+ this.deptName = deptName;
+ }
+
+ public String getNickName() {
+ return nickName;
+ }
+
+ public void setNickName(String nickName) {
+ this.nickName = nickName;
+ }
+
+ public Integer getNum() {
+ return num;
+ }
+
+ public void setNum(Integer num) {
+ this.num = num;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getAncestors() {
+ return ancestors;
+ }
+
+ public void setAncestors(String ancestors) {
+ this.ancestors = ancestors;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("id", getId())
+ .append("fileId", getFileId())
+ .append("projectId", getProjectId())
+ .append("deptId", getDeptId())
+ .append("userId", getUserId())
+ .append("isDel", getIsDel())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .append("remark", getRemark())
+ .append("workFileUserLogList", getWorkFileUserLogList())
+ .toString();
+ }
+}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUserLog.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUserLog.java
new file mode 100644
index 00000000..e5d52fc1
--- /dev/null
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUserLog.java
@@ -0,0 +1,82 @@
+package com.yanzhu.jh.work.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 文件访问用户记录对象 work_file_user_log
+ *
+ * @author JiangYuQi
+ * @date 2023-10-22
+ */
+public class WorkFileUserLog extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 主键 */
+ private Long id;
+
+ /** 用户访问文件主键 */
+ @Excel(name = "用户访问文件主键")
+ private Long fileUserId;
+
+ /** 访问时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date time;
+
+ /** 数据状态 */
+ @Excel(name = "数据状态")
+ private String isDel;
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public Long getId()
+ {
+ return id;
+ }
+ public void setFileUserId(Long fileUserId)
+ {
+ this.fileUserId = fileUserId;
+ }
+
+ public Long getFileUserId()
+ {
+ return fileUserId;
+ }
+ public void setTime(Date time)
+ {
+ this.time = time;
+ }
+
+ public Date getTime()
+ {
+ return time;
+ }
+ public void setIsDel(String isDel)
+ {
+ this.isDel = isDel;
+ }
+
+ public String getIsDel()
+ {
+ return isDel;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("id", getId())
+ .append("fileUserId", getFileUserId())
+ .append("time", getTime())
+ .append("isDel", getIsDel())
+ .toString();
+ }
+}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/mapper/WorkFileUserMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/mapper/WorkFileUserMapper.java
new file mode 100644
index 00000000..b74a3e69
--- /dev/null
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/mapper/WorkFileUserMapper.java
@@ -0,0 +1,87 @@
+package com.yanzhu.jh.work.mapper;
+
+import java.util.List;
+import com.yanzhu.jh.work.domain.WorkFileUser;
+import com.yanzhu.jh.work.domain.WorkFileUserLog;
+
+/**
+ * 文件访问用户Mapper接口
+ *
+ * @author JiangYuQi
+ * @date 2023-10-22
+ */
+public interface WorkFileUserMapper
+{
+ /**
+ * 查询文件访问用户
+ *
+ * @param id 文件访问用户主键
+ * @return 文件访问用户
+ */
+ public WorkFileUser selectWorkFileUserById(Long id);
+
+ /**
+ * 查询文件访问用户列表
+ *
+ * @param workFileUser 文件访问用户
+ * @return 文件访问用户集合
+ */
+ public List selectWorkFileUserList(WorkFileUser workFileUser);
+
+ /**
+ * 新增文件访问用户
+ *
+ * @param workFileUser 文件访问用户
+ * @return 结果
+ */
+ public int insertWorkFileUser(WorkFileUser workFileUser);
+
+ /**
+ * 修改文件访问用户
+ *
+ * @param workFileUser 文件访问用户
+ * @return 结果
+ */
+ public int updateWorkFileUser(WorkFileUser workFileUser);
+
+ /**
+ * 删除文件访问用户
+ *
+ * @param id 文件访问用户主键
+ * @return 结果
+ */
+ public int deleteWorkFileUserById(Long id);
+
+ /**
+ * 批量删除文件访问用户
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteWorkFileUserByIds(Long[] ids);
+
+ /**
+ * 批量删除文件访问用户记录
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteWorkFileUserLogByFileUserIds(Long[] ids);
+
+ /**
+ * 批量新增文件访问用户记录
+ *
+ * @param workFileUserLogList 文件访问用户记录列表
+ * @return 结果
+ */
+ public int batchWorkFileUserLog(List workFileUserLogList);
+
+
+ /**
+ * 通过文件访问用户主键删除文件访问用户记录信息
+ *
+ * @param id 文件访问用户ID
+ * @return 结果
+ */
+ public int deleteWorkFileUserLogByFileUserId(Long id);
+}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileService.java
index 91b21915..e76fe2e7 100644
--- a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileService.java
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileService.java
@@ -44,6 +44,14 @@ public interface IWorkFileService
*/
public int insertWorkFile(WorkFile workFile);
+ /**
+ * 打开文件
+ *
+ * @param fileId 文件传达
+ * @return 结果
+ */
+ public WorkFile openWorkFile(Long fileId);
+
/**
* 修改文件传达
*
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileUserService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileUserService.java
new file mode 100644
index 00000000..6d71a6d5
--- /dev/null
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileUserService.java
@@ -0,0 +1,61 @@
+package com.yanzhu.jh.work.service;
+
+import java.util.List;
+import com.yanzhu.jh.work.domain.WorkFileUser;
+
+/**
+ * 文件访问用户Service接口
+ *
+ * @author JiangYuQi
+ * @date 2023-10-22
+ */
+public interface IWorkFileUserService
+{
+ /**
+ * 查询文件访问用户
+ *
+ * @param id 文件访问用户主键
+ * @return 文件访问用户
+ */
+ public WorkFileUser selectWorkFileUserById(Long id);
+
+ /**
+ * 查询文件访问用户列表
+ *
+ * @param workFileUser 文件访问用户
+ * @return 文件访问用户集合
+ */
+ public List selectWorkFileUserList(WorkFileUser workFileUser);
+
+ /**
+ * 新增文件访问用户
+ *
+ * @param workFileUser 文件访问用户
+ * @return 结果
+ */
+ public int insertWorkFileUser(WorkFileUser workFileUser);
+
+ /**
+ * 修改文件访问用户
+ *
+ * @param workFileUser 文件访问用户
+ * @return 结果
+ */
+ public int updateWorkFileUser(WorkFileUser workFileUser);
+
+ /**
+ * 批量删除文件访问用户
+ *
+ * @param ids 需要删除的文件访问用户主键集合
+ * @return 结果
+ */
+ public int deleteWorkFileUserByIds(Long[] ids);
+
+ /**
+ * 删除文件访问用户信息
+ *
+ * @param id 文件访问用户主键
+ * @return 结果
+ */
+ public int deleteWorkFileUserById(Long id);
+}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileServiceImpl.java
index 7295c2e3..a514ef45 100644
--- a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileServiceImpl.java
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileServiceImpl.java
@@ -1,17 +1,23 @@
package com.yanzhu.jh.work.service.impl;
import com.ruoyi.common.core.text.Convert;
+import com.ruoyi.common.enums.PublicStateEnum;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.file.FileUtils;
import com.yanzhu.jh.work.domain.WorkFile;
+import com.yanzhu.jh.work.domain.WorkFileUser;
+import com.yanzhu.jh.work.domain.WorkFileUserLog;
import com.yanzhu.jh.work.mapper.WorkFileMapper;
+import com.yanzhu.jh.work.mapper.WorkFileUserMapper;
import com.yanzhu.jh.work.service.IWorkFileService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -27,6 +33,9 @@ public class WorkFileServiceImpl implements IWorkFileService
@Autowired
private WorkFileMapper workFileMapper;
+ @Autowired
+ private WorkFileUserMapper workFileUserMapper;
+
/**
* 查询文件传达
*
@@ -51,6 +60,48 @@ public class WorkFileServiceImpl implements IWorkFileService
return workFileMapper.selectWorkFileList(workFile);
}
+ /**
+ * 打开文件
+ *
+ * @param fileId 文件传达
+ * @return 结果
+ */
+ @Override
+ @Transactional
+ public WorkFile openWorkFile(Long fileId){
+ WorkFile workFile = workFileMapper.selectWorkFileById(fileId);
+ WorkFileUser workFileUser = new WorkFileUser();
+ workFileUser.setFileId(fileId);
+ workFileUser.setUserId(SecurityUtils.getUserId());
+ List list = workFileUserMapper.selectWorkFileUserList(workFileUser);
+ List logList = new ArrayList<>();
+ if(list==null || list.size()==0){
+ workFileUser.setIsDel(PublicStateEnum.OK.getCode());
+ workFileUser.setDeptId(SecurityUtils.getDeptId());
+ workFileUser.setCreateBy(SecurityUtils.getUsername());
+ workFileUser.setCreateTime(new Date());
+ workFileUserMapper.insertWorkFileUser(workFileUser);
+
+ WorkFileUserLog workFileUserLog = new WorkFileUserLog();
+ workFileUserLog.setFileUserId(workFileUser.getId());
+ workFileUserLog.setTime(new Date());
+ workFileUserLog.setIsDel(PublicStateEnum.OK.getCode());
+ logList.add(workFileUserLog);
+ workFileUserMapper.batchWorkFileUserLog(logList);
+
+ workFile.setReadNum(workFile.getReadNum()+1);
+ workFileMapper.updateWorkFile(workFile);
+ }else{
+ WorkFileUserLog workFileUserLog = new WorkFileUserLog();
+ workFileUserLog.setFileUserId(workFileUser.getId());
+ workFileUserLog.setTime(new Date());
+ workFileUserLog.setIsDel(PublicStateEnum.OK.getCode());
+ logList.add(workFileUserLog);
+ workFileUserMapper.batchWorkFileUserLog(logList);
+ }
+ return workFile;
+ }
+
/**
* 查询文件传达列表
*
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileUserServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileUserServiceImpl.java
new file mode 100644
index 00000000..c2c8684b
--- /dev/null
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileUserServiceImpl.java
@@ -0,0 +1,136 @@
+package com.yanzhu.jh.work.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.transaction.annotation.Transactional;
+import com.yanzhu.jh.work.domain.WorkFileUserLog;
+import com.yanzhu.jh.work.mapper.WorkFileUserMapper;
+import com.yanzhu.jh.work.domain.WorkFileUser;
+import com.yanzhu.jh.work.service.IWorkFileUserService;
+import com.ruoyi.common.utils.SecurityUtils;
+/**
+ * 文件访问用户Service业务层处理
+ *
+ * @author JiangYuQi
+ * @date 2023-10-22
+ */
+@Service
+public class WorkFileUserServiceImpl implements IWorkFileUserService
+{
+ @Autowired
+ private WorkFileUserMapper workFileUserMapper;
+
+ /**
+ * 查询文件访问用户
+ *
+ * @param id 文件访问用户主键
+ * @return 文件访问用户
+ */
+ @Override
+ public WorkFileUser selectWorkFileUserById(Long id)
+ {
+ return workFileUserMapper.selectWorkFileUserById(id);
+ }
+
+ /**
+ * 查询文件访问用户列表
+ *
+ * @param workFileUser 文件访问用户
+ * @return 文件访问用户
+ */
+ @Override
+ public List selectWorkFileUserList(WorkFileUser workFileUser)
+ {
+ return workFileUserMapper.selectWorkFileUserList(workFileUser);
+ }
+
+ /**
+ * 新增文件访问用户
+ *
+ * @param workFileUser 文件访问用户
+ * @return 结果
+ */
+ @Transactional
+ @Override
+ public int insertWorkFileUser(WorkFileUser workFileUser)
+ {
+ workFileUser.setCreateBy(SecurityUtils.getUsername());
+ workFileUser.setCreateTime(DateUtils.getNowDate());
+ int rows = workFileUserMapper.insertWorkFileUser(workFileUser);
+ insertWorkFileUserLog(workFileUser);
+ return rows;
+ }
+
+ /**
+ * 修改文件访问用户
+ *
+ * @param workFileUser 文件访问用户
+ * @return 结果
+ */
+ @Transactional
+ @Override
+ public int updateWorkFileUser(WorkFileUser workFileUser)
+ {
+ workFileUser.setUpdateBy(SecurityUtils.getUsername());
+ workFileUser.setUpdateTime(DateUtils.getNowDate());
+ workFileUserMapper.deleteWorkFileUserLogByFileUserId(workFileUser.getId());
+ insertWorkFileUserLog(workFileUser);
+ return workFileUserMapper.updateWorkFileUser(workFileUser);
+ }
+
+ /**
+ * 批量删除文件访问用户
+ *
+ * @param ids 需要删除的文件访问用户主键
+ * @return 结果
+ */
+ @Transactional
+ @Override
+ public int deleteWorkFileUserByIds(Long[] ids)
+ {
+ workFileUserMapper.deleteWorkFileUserLogByFileUserIds(ids);
+ return workFileUserMapper.deleteWorkFileUserByIds(ids);
+ }
+
+ /**
+ * 删除文件访问用户信息
+ *
+ * @param id 文件访问用户主键
+ * @return 结果
+ */
+ @Transactional
+ @Override
+ public int deleteWorkFileUserById(Long id)
+ {
+ workFileUserMapper.deleteWorkFileUserLogByFileUserId(id);
+ return workFileUserMapper.deleteWorkFileUserById(id);
+ }
+
+ /**
+ * 新增文件访问用户记录信息
+ *
+ * @param workFileUser 文件访问用户对象
+ */
+ public void insertWorkFileUserLog(WorkFileUser workFileUser)
+ {
+ List workFileUserLogList = workFileUser.getWorkFileUserLogList();
+ Long id = workFileUser.getId();
+ if (StringUtils.isNotNull(workFileUserLogList))
+ {
+ List list = new ArrayList();
+ for (WorkFileUserLog workFileUserLog : workFileUserLogList)
+ {
+ workFileUserLog.setFileUserId(id);
+ list.add(workFileUserLog);
+ }
+ if (list.size() > 0)
+ {
+ workFileUserMapper.batchWorkFileUserLog(list);
+ }
+ }
+ }
+}
diff --git a/yanzhu-jh/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml b/yanzhu-jh/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml
index 4d1b411d..1b91c433 100644
--- a/yanzhu-jh/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml
+++ b/yanzhu-jh/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml
@@ -166,6 +166,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and (ssp.lordSentUser = #{nowUser} or ssp.copySendUser like concat('%', #{nowUser}, '%') or ssp.recheckSendUser = #{nowUser} or ssp.createUser = #{nowUser} )
and ssp.checkState in (0,1,3)
+ and ssp.checkState in (0,3)
+ and ssp.checkState = 1
and ssp.checkState = 4
and (date(NOW()) ]]> date(ssp.nickedTime) and (ssp.updateTime is null or date(ssp.updateTime) ]]> date(ssp.nickedTime)))
diff --git a/yanzhu-jh/src/main/resources/mapper/work/WorkFileUserMapper.xml b/yanzhu-jh/src/main/resources/mapper/work/WorkFileUserMapper.xml
new file mode 100644
index 00000000..8eeec5ba
--- /dev/null
+++ b/yanzhu-jh/src/main/resources/mapper/work/WorkFileUserMapper.xml
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select id, file_id, project_id, dept_id, user_id, is_del, create_by, create_time, update_by, update_time, remark from work_file_user
+
+
+
+
+
+
+
+ insert into work_file_user
+
+ file_id,
+ project_id,
+ dept_id,
+ user_id,
+ is_del,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ remark,
+
+
+ #{fileId},
+ #{projectId},
+ #{deptId},
+ #{userId},
+ #{isDel},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+ #{remark},
+
+
+
+
+ update work_file_user
+
+ file_id = #{fileId},
+ project_id = #{projectId},
+ dept_id = #{deptId},
+ user_id = #{userId},
+ is_del = #{isDel},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+ remark = #{remark},
+
+ where id = #{id}
+
+
+
+ delete from work_file_user where id = #{id}
+
+
+
+ delete from work_file_user where id in
+
+ #{id}
+
+
+
+
+ delete from work_file_user_log where file_user_id in
+
+ #{fileUserId}
+
+
+
+
+ delete from work_file_user_log where file_user_id = #{fileUserId}
+
+
+
+ insert into work_file_user_log( id, file_user_id, time, is_del) values
+
+ ( #{item.id}, #{item.fileUserId}, #{item.time}, #{item.isDel})
+
+
+
\ No newline at end of file