Browse Source

操作日志及bug修复

huangjn 2 years ago
parent
commit
046d8bd6c7
19 changed files with 262 additions and 56 deletions
  1. 5 0
      blade-ops/blade-resource/pom.xml
  2. 9 0
      blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java
  3. 6 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/OperationLog.java
  4. 1 1
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/OperationLogClient.java
  5. 2 2
      blade-service/blade-business/src/main/java/org/springblade/business/controller/ArchiveFileController.java
  6. 38 18
      blade-service/blade-business/src/main/java/org/springblade/business/controller/BusinessUserOpinionController.java
  7. 76 3
      blade-service/blade-business/src/main/java/org/springblade/business/controller/OperationLogController.java
  8. 15 16
      blade-service/blade-business/src/main/java/org/springblade/business/controller/UserOpinionFlowController.java
  9. 26 2
      blade-service/blade-business/src/main/java/org/springblade/business/controller/UserViewProjectContractController.java
  10. 4 2
      blade-service/blade-business/src/main/java/org/springblade/business/feignClient/OperationLogClientImpl.java
  11. 0 4
      blade-service/blade-business/src/main/java/org/springblade/business/feignClient/OpinionUserClientImpl.java
  12. 20 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveFileMapper.xml
  13. 7 2
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/OperationLogMapper.java
  14. 25 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/OperationLogMapper.xml
  15. 8 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/IOperationLogService.java
  16. 3 1
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/AssessmentUserServiceImpl.java
  17. 17 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/OperationLogServiceImpl.java
  18. 0 4
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UserOpinionFlowServiceImpl.java
  19. 0 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/SaveUserInfoByProjectService.java

+ 5 - 0
blade-ops/blade-resource/pom.xml

@@ -110,6 +110,11 @@
             <artifactId>aspose-words</artifactId>
             <version>15.8.0</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.pdfbox</groupId>
+            <artifactId>pdfbox</artifactId>
+            <version>2.0.20</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 9 - 0
blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java

@@ -24,6 +24,7 @@ import com.itextpdf.text.pdf.PdfWriter;
 import io.swagger.annotations.Api;
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
+import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.WorkbookFactory;
 import org.springblade.core.oss.model.BladeFile;
@@ -199,6 +200,14 @@ public class OssEndpoint {
 		} else if(file.getOriginalFilename().contains("png") || file.getOriginalFilename().contains("jpg")){
 			originalFilename = file.getOriginalFilename().replaceAll(".png", ".pdf").replaceAll(".jpg", ".pdf");
 			newBladeFile = this.pngOrJpgToPdf(originalFilename, file.getInputStream());
+
+		} else if(file.getOriginalFilename().contains("pdf")){
+			//获取PDF文件
+			PDDocument document = PDDocument.load(file.getInputStream());
+			//获取文件页数
+			newBladeFile.setPage(document.getPages().getCount());
+			//pdf的路径就是文件上传的路径
+			newBladeFile.setPdfUrl(bladeFile.getLink());
 		}
 
 		BeanUtils.copyProperties(bladeFile, newBladeFile);

+ 6 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/OperationLog.java

@@ -58,6 +58,10 @@ public class OperationLog extends BaseEntity {
      */
 	@ApiModelProperty("操作媒介,PC还是APP")
     private String operationMedium;
+
+	@ApiModelProperty("操作页面")
+    private String operationView;
+
     /**
      * 操作账户
      */
@@ -72,5 +76,7 @@ public class OperationLog extends BaseEntity {
 	@ApiModelProperty("操作人")
     private String createUserName;
 
+    @ApiModelProperty("操作时间")
+    private String operationTime;
 
 }

+ 1 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/OperationLogClient.java

@@ -19,6 +19,6 @@ public interface OperationLogClient {
      * @param operationObjId 操作的业务对象ID
      */
     @PostMapping(API_PREFIX + "/saveUserOperationLog")
-    void saveUserOperationLog(@RequestBody Integer type, @RequestParam String operationModule, @RequestParam Object operationObjId);
+    void saveUserOperationLog(@RequestBody Integer type, @RequestParam String operationModule, @RequestParam String operationView, @RequestParam Object operationObjId);
 
 }

+ 2 - 2
blade-service/blade-business/src/main/java/org/springblade/business/controller/ArchiveFileController.java

@@ -78,7 +78,7 @@ public class ArchiveFileController extends BladeController {
 		}
 
 		//保存操作记录
-		this.operationLogClient.saveUserOperationLog(26, "工程文件", ids);
+		this.operationLogClient.saveUserOperationLog(26, "其它文件", "工程文件", ids);
 
 		return R.data(true);
 	}
@@ -99,7 +99,7 @@ public class ArchiveFileController extends BladeController {
 			taskVO.setApprovalType(2);
 
 			//新增操作日志
-			this.operationLogClient.saveUserOperationLog(25, "工程文件", archiveTaskIds);
+			this.operationLogClient.saveUserOperationLog(25, "其它文件", "工程文件", archiveTaskIds);
 
 			//启动流程
 			this.taskClient.startTask(taskVO);

+ 38 - 18
blade-service/blade-business/src/main/java/org/springblade/business/controller/BusinessUserOpinionController.java

@@ -9,7 +9,9 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
+import org.springblade.business.entity.UserOpinionFile;
 import org.springblade.business.entity.UserOpinionFlow;
+import org.springblade.business.service.IUserOpinionFileService;
 import org.springblade.business.service.IUserOpinionFlowService;
 import org.springblade.business.service.IUserOpinionService;
 import org.springblade.business.vo.AssessmentUserVOS;
@@ -24,6 +26,7 @@ import org.springblade.core.tool.utils.DateUtil;
 import org.springframework.web.bind.annotation.*;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @RestController
 @AllArgsConstructor
@@ -35,6 +38,8 @@ public class BusinessUserOpinionController {
 
     private final IUserOpinionFlowService userOpinionFlowService;
 
+    private final IUserOpinionFileService userOpinionFileService;
+
     /**
      * 考核区分页
      */
@@ -57,6 +62,12 @@ public class BusinessUserOpinionController {
             vo.setEndTime(endTime);
         }
         List<AssessmentUserVOS> result = this.userOpinionFlowService.queryUserAssessmentPage(vo);
+        result.forEach(vos -> {
+            List<UserOpinionFile> files = this.userOpinionFileService.selectUserOpinionFileByUserOpinionKey(vos.getUserOpinionId());
+            if(files != null && files.size() > 0){
+                vos.setFileUrlList(files.stream().map(UserOpinionFile::getFileUrl).distinct().collect(Collectors.toList()));
+            }
+        });
 
         iPage.setTotal(count);
         iPage.setRecords(result);
@@ -91,7 +102,8 @@ public class BusinessUserOpinionController {
             @ApiImplicitParam(name = "newNumber", value = "当前流程次数", required = true),
             @ApiImplicitParam(name = "currentLinkId", value = "当前环节ID", required = true)
     })
-    public R<Boolean> manageUserOperationStatus(@RequestParam String userOpinionId, @RequestParam Integer newNumber, @RequestParam String currentLinkId){
+    public R<Boolean> manageUserOperationStatus(@RequestParam String userOpinionId, @RequestParam Integer currentLink, @RequestParam Integer newNumber, @RequestParam String currentLinkId){
+
         if(StringUtils.isEmpty(currentLinkId)){
             return R.data(-1, false, "缺少currentLinkId参数");
         }
@@ -99,36 +111,44 @@ public class BusinessUserOpinionController {
         BladeUser user = AuthUtil.getUser();
         //获取当前最新流程
         List<UserOpinionFlowVO> flowVOS = this.userOpinionFlowService.queryCurrentUserOpinionFlowByUserOpinionId(userOpinionId, newNumber);
+
         //找到当前环节的下一环节
         Long nextLink = null, nextLinkEnd = null;
-        for(int i = 0, l = flowVOS.size(); i < l; i ++){
-            if(new Long(currentLinkId).equals(flowVOS.get(i).getId())){
-                //找到下一个环节ID
-                switch (i){
-                    case 1:
-                        //说明当前环节是提交"进入人工处理环节"操作
-                        nextLink = flowVOS.get(i + 1).getId();
-                        break;
-                    case 2:
-                        //说明当前环节是提交"已解决"操作
-                        nextLinkEnd = flowVOS.get(i + 1).getId();
-                        break;
-                    default:
-                        break;
+        if(new Integer("3").equals(currentLink)){
+            //直接提交完结
+            nextLink = flowVOS.get(2).getId();
+            nextLinkEnd = flowVOS.get(3).getId();
+        } else {
+            for(int i = 0, l = flowVOS.size(); i < l; i ++){
+                if(new Long(currentLinkId).equals(flowVOS.get(i).getId())){
+                    //找到下一个环节ID
+                    switch (i){
+                        case 1:
+                            //说明当前环节是提交"进入人工处理环节"操作
+                            nextLink = flowVOS.get(i + 1).getId();
+                            break;
+                        case 2:
+                            //说明当前环节是提交"已解决"操作
+                            nextLinkEnd = flowVOS.get(i + 1).getId();
+                            break;
+                        default:
+                            break;
+                    }
+                    break;
                 }
-                break;
             }
         }
+
         //将当前环节更改为已完成
         boolean result = this.userOpinionFlowService.update(Wrappers.<UserOpinionFlow>lambdaUpdate().set(UserOpinionFlow::getIsCurrent, 2).set(UserOpinionFlow::getUpdateUser, user.getUserId()).set(UserOpinionFlow::getUpdateTime, new Date()).eq(UserOpinionFlow::getId, currentLinkId));
         if(result){
             if(nextLink != null && StringUtils.isNotEmpty(String.valueOf(nextLink))){
                 //提交"进入人工处理环节"操作
-                result = this.userOpinionFlowService.update(Wrappers.<UserOpinionFlow>lambdaUpdate().set(UserOpinionFlow::getIsCurrent, 1).eq(UserOpinionFlow::getId, nextLink));
+                result = this.userOpinionFlowService.update(Wrappers.<UserOpinionFlow>lambdaUpdate().set(UserOpinionFlow::getUpdateTime, new Date()).set(UserOpinionFlow::getIsCurrent, new Integer("3").equals(currentLink) ? 2 : 1).eq(UserOpinionFlow::getId, nextLink));
             }
             if(nextLinkEnd != null && StringUtils.isNotEmpty(String.valueOf(nextLinkEnd))){
                 //提交"已解决"操作
-                result = this.userOpinionFlowService.update(Wrappers.<UserOpinionFlow>lambdaUpdate().set(UserOpinionFlow::getIsCurrent, 2).eq(UserOpinionFlow::getId, nextLinkEnd));
+                result = this.userOpinionFlowService.update(Wrappers.<UserOpinionFlow>lambdaUpdate().set(UserOpinionFlow::getUpdateTime, new Date()).set(UserOpinionFlow::getIsCurrent, 2).eq(UserOpinionFlow::getId, nextLinkEnd));
             }
             return R.data(result);
         }

+ 76 - 3
blade-service/blade-business/src/main/java/org/springblade/business/controller/OperationLogController.java

@@ -16,16 +16,20 @@
  */
 package org.springblade.business.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 
+import org.apache.commons.lang.StringUtils;
+import org.jetbrains.annotations.NotNull;
 import org.springblade.business.wrapper.OperationLogWrapper;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.feign.IDictBizClient;
 import org.springframework.web.bind.annotation.*;
@@ -35,6 +39,7 @@ import org.springblade.business.vo.OperationLogVO;
 import org.springblade.business.service.IOperationLogService;
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -53,16 +58,84 @@ public class OperationLogController extends BladeController {
 
 	private final IDictBizClient dictBizClient;
 
+	/**
+	 * 获取操作类型
+	 */
+	@GetMapping("/queryOperationTypeList")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "获取操作类型")
+	public R<List<DictBiz>> queryOperationTypeList(@RequestParam String businessModule, @RequestParam String operationView){
+		//获取业务字典
+		List<DictBiz> dictBizList = this.dictBizClient.getList("operation_type", "notRoot").getData();
+		//获取查询结果
+		List<String> result = this.operationLogService.queryOperationTypeList(businessModule, operationView);
+		//处理字典
+		if(result != null && result.size() > 0){
+			dictBizList.removeIf(next -> !result.contains(next.getDictKey()));
+		}
+
+		return R.data(dictBizList);
+	}
+
+	/**
+	 * 获取操作页面
+	 */
+	@GetMapping("/queryOperationView")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "获取操作页面")
+	public R<List<DictBiz>> queryOperationView(@RequestParam String businessModule){
+		List<String> views = this.operationLogService.queryOperationView(businessModule);
+		return this.createDictBizList(views);
+	}
+
+	@NotNull
+	private R<List<DictBiz>> createDictBizList(List<String> list) {
+		List<DictBiz> result = new ArrayList<>();
+		list.forEach(obj -> {
+			DictBiz biz = new DictBiz();
+			biz.setDictKey(obj);
+			biz.setDictValue(obj);
+
+			result.add(biz);
+		});
+		return R.data(result);
+	}
+
+	/**
+	 * 获取业务模块
+	 */
+	@GetMapping("/queryBusinessModule")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "获取业务模块")
+	public R<List<DictBiz>> queryBusinessModule(){
+		List<String> modules = this.operationLogService.queryBusinessModule();
+		return this.createDictBizList(modules);
+	}
+
 	/**
 	 * 分页 
 	 */
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 1)
-	@ApiOperation(value = "分页", notes = "传入operationLog")
-	public R<IPage<OperationLogVO>> list(OperationLog operationLog, Query query) {
+	@ApiOperation(value = "分页")
+	public R<IPage<OperationLogVO>> list(OperationLogVO operationLog, Query query) {
 
 		operationLog.setCreateUser(AuthUtil.getUserId());
-		IPage<OperationLog> pages = operationLogService.page(Condition.getPage(query), Condition.getQueryWrapper(operationLog));
+		QueryWrapper<OperationLog> wrapper = Condition.getQueryWrapper(operationLog);
+		if(StringUtils.isNotEmpty(operationLog.getStartTime()) && StringUtils.isNotEmpty(operationLog.getEndTime())){
+			String endTime = operationLog.getEndTime();
+			endTime = DateUtil.format(org.apache.commons.lang.time.DateUtils.addDays(DateUtil.parse(endTime, "yyyy-MM-dd"), 1), "yyyy-MM-dd");
+			try{
+				wrapper.lambda().between(OperationLog::getOperationTime, operationLog.getStartTime(), endTime);
+			}catch (Exception e){
+				e.printStackTrace();
+			}
+		}
+		if(StringUtils.isNotEmpty(operationLog.getQueryValue())){
+			wrapper.lambda().like(OperationLog::getOperationContent, operationLog.getQueryValue());
+		}
+
+		IPage<OperationLog> pages = operationLogService.page(Condition.getPage(query), wrapper);
 
 		//获取业务字典
 		List<DictBiz> dictBizList = this.dictBizClient.getList("operation_type", "notRoot").getData();

+ 15 - 16
blade-service/blade-business/src/main/java/org/springblade/business/controller/UserOpinionFlowController.java

@@ -1,19 +1,3 @@
-/*
- *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions are met:
- *
- *  Redistributions of source code must retain the above copyright notice,
- *  this list of conditions and the following disclaimer.
- *  Redistributions in binary form must reproduce the above copyright
- *  notice, this list of conditions and the following disclaimer in the
- *  documentation and/or other materials provided with the distribution.
- *  Neither the name of the dreamlu.net developer nor the names of its
- *  contributors may be used to endorse or promote products derived from
- *  this software without specific prior written permission.
- *  Author: Chill 庄骞 (smallchill@163.com)
- */
 package org.springblade.business.controller;
 
 import io.swagger.annotations.Api;
@@ -34,6 +18,8 @@ import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.system.entity.DictBiz;
+import org.springblade.system.feign.IDictBizClient;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springblade.business.entity.UserOpinionFlow;
@@ -62,6 +48,8 @@ public class UserOpinionFlowController extends BladeController {
 
 	private final IAssessmentUserService assessmentUserService;
 
+	private final IDictBizClient dictBizClient;
+
 	/**
 	 * 统合接口
 	 * @param oldEndFlow 流程图的最后一个节点ID
@@ -85,6 +73,7 @@ public class UserOpinionFlowController extends BladeController {
 				//不满意并再次提交
 				return this.saveNewCurrentUserOpinionFlow(userOpinionId, oldEndFlow);
 			case 3:
+				//投诉
 				return this.updateCurrentUserOpinionFlow(oldEndFlow, 3);
 			default:
 				break;
@@ -107,6 +96,16 @@ public class UserOpinionFlowController extends BladeController {
 		assessmentUser.setAssessmentUser(oldFlow.getManageUser().toString());
 		assessmentUser.setCreateUser(AuthUtil.getUserId());
 		assessmentUser.setCreateTime(new Date());
+		assessmentUser.setAssessmentContent("被投诉");
+		//获取字典
+		List<DictBiz> dictBizList = this.dictBizClient.getList("assessment_type", "notRoot").getData();
+		//找到对应类型
+		for(DictBiz biz : dictBizList){
+			if(biz.getDictValue().contains("被投诉")){
+				assessmentUser.setAssessmentMoney(biz.getDictKey());
+			}
+		}
+
 		this.assessmentUserService.save(assessmentUser);
 
 		return R.data(this.userOpinionFlowService.updateById(this.setUserData(oldFlow, false)));

+ 26 - 2
blade-service/blade-business/src/main/java/org/springblade/business/controller/UserViewProjectContractController.java

@@ -21,11 +21,13 @@ import org.springblade.manager.feign.ProjectAssignmentUserClient;
 import org.springblade.manager.feign.ProjectClient;
 import org.springblade.manager.vo.ContractInfoVO;
 import org.springblade.manager.vo.ProjectInfoVO;
+import org.springblade.system.feign.ISysClient;
+import org.springblade.system.user.entity.User;
+import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
@@ -45,6 +47,28 @@ public class UserViewProjectContractController {
 
     private final IDefaultProjectService defaultProjectService;
 
+    private final IUserClient userClient;
+
+    private final ISysClient sysClient;
+
+    /**
+     * 获取用户信息
+     */
+    @PostMapping("/queryCurrentUserData")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation(value = "获取用户信息")
+    public R<User> queryCurrentUserData(){
+        User user = this.userClient.userInfoById(AuthUtil.getUserId()).getData();
+        if(user != null){
+            //获取部门
+            List<String> deptNames = this.sysClient.getDeptNames(user.getDeptId()).getData();
+            if(deptNames != null && deptNames.size() > 0){
+                user.setDeptId(String.join(",", deptNames));
+            }
+        }
+        return R.data(user);
+    }
+
     /**
      * 获取客户端首页当前用户关联的项目及合同段信息
      * @return 项目及合同段结果集

+ 4 - 2
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/OperationLogClientImpl.java

@@ -24,7 +24,7 @@ public class OperationLogClientImpl implements OperationLogClient {
     private final IDictBizClient dictBizClient;
 
     @Override
-    public void saveUserOperationLog(Integer type, String operationModule, Object operationObjId) {
+    public void saveUserOperationLog(Integer type, String operationModule, String operationView, Object operationObjId) {
         try{
             //获取业务字典
             List<DictBiz> dictBizList = this.dictBizClient.getList("operation_type", "notRoot").getData();
@@ -41,7 +41,7 @@ public class OperationLogClientImpl implements OperationLogClient {
             //操作模块
             newData.setOperationModule(operationModule);
             //操作内容
-            newData.setOperationAccount(operationAccount + ";" + operationObjId);
+            newData.setOperationContent(operationAccount + ";" + operationObjId);
             //PC 还是 APP
             newData.setOperationMedium("PC");
             //业务数据
@@ -50,6 +50,8 @@ public class OperationLogClientImpl implements OperationLogClient {
                 //业务数据ID
                 newData.setBusinessId(operationObjId.toString());
             }
+            //操作页面
+            newData.setOperationView(operationView);
             //操作账户
             newData.setOperationAccount(AuthUtil.getUserName());
             //操作人姓名

+ 0 - 4
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/OpinionUserClientImpl.java

@@ -1,6 +1,5 @@
 package org.springblade.business.feignClient;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import org.springblade.business.entity.AssessmentUser;
@@ -8,11 +7,8 @@ import org.springblade.business.feign.OpinionUserClient;
 import org.springblade.business.service.IAssessmentUserService;
 import org.springblade.business.service.IUserOpinionFlowService;
 import org.springblade.business.vo.AssessmentUserVOS;
-import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.RestController;
 
-import org.springblade.core.mp.support.Query;
-
 import java.util.List;
 
 @RestController

+ 20 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveFileMapper.xml

@@ -51,6 +51,16 @@
                 #{nodeId}
             </foreach>
         </if>
+        <if test="vo.queryValue != null and vo.queryValue != ''">
+            and (
+                file_name like concat('%',#{vo.queryValue},'%') or
+                file_number like concat('%',#{vo.queryValue},'%') or
+                duty_user like concat('%',#{vo.queryValue},'%') or
+                sheet_source like concat('%',#{vo.queryValue},'%') or
+                drawing_no like concat('%',#{vo.queryValue},'%') or
+                cite_change_number like concat('%',#{vo.queryValue},'%')
+                )
+        </if>
     </select>
 
     <select id="selectArchiveFilePage" resultMap="archiveFileResultMap">
@@ -73,6 +83,16 @@
                 #{nodeId}
             </foreach>
         </if>
+        <if test="vo.queryValue != null and vo.queryValue != ''">
+            and (
+                file_name like concat('%',#{vo.queryValue},'%') or
+                file_number like concat('%',#{vo.queryValue},'%') or
+                duty_user like concat('%',#{vo.queryValue},'%') or
+                sheet_source like concat('%',#{vo.queryValue},'%') or
+                drawing_no like concat('%',#{vo.queryValue},'%') or
+                cite_change_number like concat('%',#{vo.queryValue},'%')
+            )
+        </if>
     </select>
 
 </mapper>

+ 7 - 2
blade-service/blade-business/src/main/java/org/springblade/business/mapper/OperationLogMapper.java

@@ -16,10 +16,9 @@
  */
 package org.springblade.business.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.business.entity.OperationLog;
-import org.springblade.business.vo.OperationLogVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import java.util.List;
 
 /**
@@ -30,4 +29,10 @@ import java.util.List;
  */
 public interface OperationLogMapper extends BaseMapper<OperationLog> {
 
+    List<String> queryOperationTypeList(@Param("userId") Long userId, @Param("businessModule") String businessModule, @Param("operationView") String operationView);
+
+    List<String> queryOperationView(@Param("userId") Long userId, @Param("businessModule") String businessModule);
+
+    List<String> queryBusinessModule(@Param("userId") Long userId);
+
 }

+ 25 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/OperationLogMapper.xml

@@ -17,8 +17,33 @@
         <result column="operation_content" property="operationContent"/>
         <result column="operation_medium" property="operationMedium"/>
         <result column="operation_account" property="operationAccount"/>
+        <result column="operation_view" property="operationView"/>
         <result column="business_id" property="businessId"/>
         <result column="create_user_name" property="createUserName"/>
+        <result column="operation_time" property="operationTime"/>
     </resultMap>
 
+    <select id="queryOperationTypeList" resultType="java.lang.String">
+        select operation_type from u_operation_log where create_user = #{userId}
+        <if test="operationView != null and operationView != ''">
+            and operation_view like concat('%',#{operationView},'%')
+        </if>
+        <if test="businessModule != null and businessModule != ''">
+            and operation_module like concat('%',#{businessModule},'%')
+        </if>
+        and is_deleted = 0 group by operation_type
+    </select>
+
+    <select id="queryOperationView" resultType="java.lang.String">
+        select operation_view from u_operation_log where create_user = #{userId}
+        <if test="businessModule != null and businessModule != ''">
+            and operation_module like concat('%',#{businessModule},'%')
+        </if>
+        and is_deleted = 0 group by operation_view
+    </select>
+
+    <select id="queryBusinessModule" resultType="java.lang.String">
+        select operation_module from u_operation_log where create_user = #{userId} and is_deleted = 0 group by operation_module
+    </select>
+
 </mapper>

+ 8 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/IOperationLogService.java

@@ -21,6 +21,8 @@ import org.springblade.business.vo.OperationLogVO;
 import org.springblade.core.mp.base.BaseService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  *  服务类
  *
@@ -29,4 +31,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
  */
 public interface IOperationLogService extends BaseService<OperationLog> {
 
+    List<String> queryOperationTypeList(String businessModule, String operationView);
+
+    List<String> queryOperationView(String businessModule);
+
+    List<String> queryBusinessModule();
+
 }

+ 3 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/AssessmentUserServiceImpl.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.business.service.impl;
 
+import lombok.AllArgsConstructor;
 import org.springblade.business.entity.AssessmentUser;
 import org.springblade.business.vo.AssessmentUserVOS;
 import org.springblade.business.mapper.AssessmentUserMapper;
@@ -31,11 +32,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
  * @since 2022-06-29
  */
 @Service
+@AllArgsConstructor
 public class AssessmentUserServiceImpl extends BaseServiceImpl<AssessmentUserMapper, AssessmentUser> implements IAssessmentUserService {
 
 	@Override
 	public IPage<AssessmentUserVOS> selectAssessmentUserPage(IPage<AssessmentUserVOS> page, AssessmentUserVOS assessmentUser) {
-		return page.setRecords(baseMapper.selectAssessmentUserPage(page, assessmentUser));
+		return page.setRecords(this.baseMapper.selectAssessmentUserPage(page, assessmentUser));
 	}
 
 }

+ 17 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/OperationLogServiceImpl.java

@@ -21,9 +21,12 @@ import org.springblade.business.vo.OperationLogVO;
 import org.springblade.business.mapper.OperationLogMapper;
 import org.springblade.business.service.IOperationLogService;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  *  服务实现类
  *
@@ -33,4 +36,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 @Service
 public class OperationLogServiceImpl extends BaseServiceImpl<OperationLogMapper, OperationLog> implements IOperationLogService {
 
+    @Override
+    public List<String> queryOperationTypeList(String businessModule, String operationView) {
+        return this.baseMapper.queryOperationTypeList(AuthUtil.getUserId(), businessModule, operationView);
+    }
+
+    @Override
+    public List<String> queryOperationView(String businessModule) {
+        return this.baseMapper.queryOperationView(AuthUtil.getUserId(), businessModule);
+    }
+
+    @Override
+    public List<String> queryBusinessModule() {
+        return this.baseMapper.queryBusinessModule(AuthUtil.getUserId());
+    }
 }

+ 0 - 4
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UserOpinionFlowServiceImpl.java

@@ -24,12 +24,8 @@ import org.springblade.business.vo.UserOpinionFlowVO;
 import org.springblade.business.mapper.UserOpinionFlowMapper;
 import org.springblade.business.service.IUserOpinionFlowService;
 import org.springblade.core.mp.base.BaseServiceImpl;
-import org.springblade.core.mp.support.Condition;
-import org.springblade.core.tool.api.R;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import java.util.List;
-import org.springblade.core.mp.support.Query;
 
 /**
  * 用户意见处理流程表 服务实现类

+ 0 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/SaveUserInfoByProjectService.java

@@ -2,7 +2,6 @@ package org.springblade.manager.service;
 
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
-import org.springblade.manager.entity.SaveUserInfoByProject;
 import org.springblade.system.user.entity.User;
 
 import java.util.List;