From 00f05d3cabd09a524dd17728a95fd4a07e237e8e Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Fri, 30 Oct 2020 17:04:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 2 +- .../app/controller/TestController.java | 15 +++++++++- .../lz/modules/flow/dao/RecordAuthMapper.java | 3 ++ .../com/lz/modules/flow/entity/AuthDto.java | 10 +++++++ .../flow/service/RecordAuthService.java | 2 ++ .../service/impl/RecordAuthServiceImpl.java | 15 +++++++++- .../app/impl/ResultRecordServiceImpl.java | 28 +++++++++++++++++++ .../mapper/flow/RecordAuthMapper.xml | 10 +++++++ 8 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/lz/modules/flow/entity/AuthDto.java diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index 19e7b624..6efc560a 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -986,7 +986,7 @@ public class ResultRecordController extends AbstractController { /** * 删除 */ - // http://localhost:8080/lz_management/user/lzresultrecord/new/resultRecordDetail?resultRecordId=215 + // http://localhost:8080/lz_management/user/lzresultrecord/new/resultRecordDetail?resultRecordId=267&loginUserId=313 @RequestMapping("/new/resultRecordDetail") public R newResultRecordList(RecordDetailDto recordDetailDto) { if(recordDetailDto.getLoginUserId() ==null && getUser() !=null ){ diff --git a/src/main/java/com/lz/modules/app/controller/TestController.java b/src/main/java/com/lz/modules/app/controller/TestController.java index bd5ac44b..21ea024a 100644 --- a/src/main/java/com/lz/modules/app/controller/TestController.java +++ b/src/main/java/com/lz/modules/app/controller/TestController.java @@ -1,6 +1,8 @@ package com.lz.modules.app.controller; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dingtalk.api.response.OapiCrmAuthGroupMemberListResponse; import com.lz.common.utils.R; @@ -40,6 +42,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.function.Consumer; import java.util.stream.Collectors; @@ -265,6 +268,16 @@ public class TestController { } - + public static void main(String[] args) { + String a = "{\"313\":[17,20,13]}"; + Map map = JSONObject.parseObject(a,Map.class); + List roleIds = null; + for (Map.Entry entry : map.entrySet()) { + if(entry.getValue() !=null ){ + roleIds = JSON.parseArray(entry.getValue().toString(),Long.class); + } + } + System.out.println(roleIds); + } } diff --git a/src/main/java/com/lz/modules/flow/dao/RecordAuthMapper.java b/src/main/java/com/lz/modules/flow/dao/RecordAuthMapper.java index 363735fd..b5c92f89 100644 --- a/src/main/java/com/lz/modules/flow/dao/RecordAuthMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/RecordAuthMapper.java @@ -8,6 +8,7 @@ package com.lz.modules.flow.dao; * @since 2020-08-18 */ import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lz.modules.flow.entity.AuthDto; import com.lz.modules.flow.entity.RecordAuth; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -37,4 +38,6 @@ public interface RecordAuthMapper extends BaseMapper { List selectAuthInfo(@Param("roleId") Long roleId); List selectAll(); + + List selectAuthByRoleIds(@Param("roleIds") List roleIds); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/entity/AuthDto.java b/src/main/java/com/lz/modules/flow/entity/AuthDto.java new file mode 100644 index 00000000..13b4688d --- /dev/null +++ b/src/main/java/com/lz/modules/flow/entity/AuthDto.java @@ -0,0 +1,10 @@ +package com.lz.modules.flow.entity; + + +import lombok.Data; + +@Data +public class AuthDto { + private String identity ; + private Integer status; +} diff --git a/src/main/java/com/lz/modules/flow/service/RecordAuthService.java b/src/main/java/com/lz/modules/flow/service/RecordAuthService.java index 7898bced..8e2b32e7 100644 --- a/src/main/java/com/lz/modules/flow/service/RecordAuthService.java +++ b/src/main/java/com/lz/modules/flow/service/RecordAuthService.java @@ -45,4 +45,6 @@ public interface RecordAuthService extends IService { List selectAll(); Long getRoleIdByStaffRoleInfo(String flowStaffIdRole,Long approvalStaffId); + + Map selectAuthByRoleIds(List roleIds); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/RecordAuthServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/RecordAuthServiceImpl.java index 733eaffd..0b3182f7 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/RecordAuthServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/RecordAuthServiceImpl.java @@ -12,6 +12,7 @@ import com.lz.modules.app.service.DepartmentsService; import com.lz.modules.app.service.DepartmentsStaffRelateService; import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.dao.RecordAuthMapper; +import com.lz.modules.flow.entity.AuthDto; import com.lz.modules.flow.entity.RecordAuth; import com.lz.modules.flow.model.Auth; import com.lz.modules.flow.model.StaffRoleDto; @@ -116,8 +117,20 @@ public class RecordAuthServiceImpl extends ServiceImpl selectAuthByRoleIds(List roleIds) { + Map map = new HashMap<>(); + List list = recordAuthMapper.selectAuthByRoleIds(roleIds); + if(CollectionUtils.isNotEmpty(list)){ + for(AuthDto authDto:list){ + map.put(authDto.getIdentity(),authDto.getStatus()); + } + } + return map; + } - public Auth getAuth(List auths) { + + public Auth getAuth(List auths) { Map map = new HashMap<>(); if (CollectionUtils.isNotEmpty(auths)) { for(RecordAuth recordAuth : auths){ diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 62055e1a..09288aff 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -1114,9 +1114,37 @@ public class ResultRecordServiceImpl extends ServiceImpl resultCommentList = resultCommentService.selectByRecordId(recordDetailDto.getResultRecordId()); + + Map auth = new HashMap<>(); + List currentResultRecords = flowRecordService.selectFlowRecordByRecordIdStatus(recordDetailDto.getResultRecordId(),2); + if(currentResultRecords !=null && currentResultRecords.size() > 0 ){ + FlowRecord currentResultRecord = null; + for(FlowRecord flowRecord:currentResultRecords){ + if(flowRecord.getApprovalStaffId().equals(recordDetailDto.getLoginUserId())){ + currentResultRecord = flowRecord; + break; + } + } + + if(currentResultRecord !=null){ + if(StringUtil.isNotBlank(currentResultRecord.getFlowStaffIdRole())){ + Map map = JSONObject.parseObject(currentResultRecord.getFlowStaffIdRole(),Map.class); + List roleIds = null; + for (Map.Entry entry : map.entrySet()) { + if(entry.getValue() !=null ){ + roleIds = JSON.parseArray(entry.getValue().toString(),Long.class); + } + } + if(roleIds !=null && roleIds.size() > 0){ + auth = recordAuthService.selectAuthByRoleIds(roleIds); + } + } + } + } Map map = new HashMap<>(); map.put("flowRecordList", flowRecordList); map.put("resultCommentList", resultCommentList); + map.put("auth",auth); return R.ok().put("data", map); } diff --git a/src/main/resources/mapper/flow/RecordAuthMapper.xml b/src/main/resources/mapper/flow/RecordAuthMapper.xml index 567a28d4..9caa989b 100644 --- a/src/main/resources/mapper/flow/RecordAuthMapper.xml +++ b/src/main/resources/mapper/flow/RecordAuthMapper.xml @@ -98,5 +98,15 @@ + + +