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 3cb8543a..9c679c83 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -430,7 +430,7 @@ public class ResultRecordController extends AbstractController { scores) { if(scoreDto.getApprovalId().longValue() == score.getApprovalId().longValue()){ ResultScoreDto scoreDto1 = new ResultScoreDto(); - BeanUtils.copyProperties(scoreDto1, score); + BeanUtils.copyProperties(score, scoreDto1); scoreDto1.setApprovalId(scoreDto.getApprovalId()); scoreDto1.setApprovalName(scoreDto.getApprovalName()); scoreDto1.setWeight(scoreDto.getWeight()); @@ -604,6 +604,7 @@ public class ResultRecordController extends AbstractController { }else{ updateScores.add(resultScore); } + resultScore.setDetailId(detailDto.getId()); } resultDetail.setAcquireScore(score); weight = weight.add(resultDetail.getCheckWeight()); @@ -989,7 +990,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/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index c8164c07..bb59aaed 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -264,39 +264,41 @@ public class FlowStartServiceImpl extends ServiceImpl resultTagetLibs = new ArrayList<>(); - //拷贝考评组的指标信息 - List resultTagetLibs = new ArrayList<>(); - - for (ResultModelDto dto:resultModelDtos - ) { - - - dto.setEvaluationGroupId(evaluationGroup.getId());//设置拷贝组的id - //下面拷贝一份考评组信息的维度信息 - ResultModel resultModel = new ResultModel(); - BeanUtils.copyProperties(dto, resultModel); - resultModel.setId(null); - resultModelService.insertResultModel(resultModel); - - List libDtos = resultTagetLibService.selectResultTagetLibDtoByModelId(dto.getId()); - dto.setTagetLibs(libDtos); - for (ResultTagetLibDto libDto: libDtos + for (ResultModelDto dto:resultModelDtos ) { - //下面拷贝考评组里面的指标信息 - ResultTagetLib resultTagetLib = new ResultTagetLib(); - BeanUtils.copyProperties(libDto, resultTagetLib); - resultTagetLib.setModelId(resultModel.getId());//设置新的维度id - resultTagetLib.setId(null); - resultTagetLibs.add(resultTagetLib); + + + dto.setEvaluationGroupId(evaluationGroup.getId());//设置拷贝组的id + //下面拷贝一份考评组信息的维度信息 + ResultModel resultModel = new ResultModel(); + BeanUtils.copyProperties(dto, resultModel); + resultModel.setId(null); + resultModelService.insertResultModel(resultModel); + + List libDtos = resultTagetLibService.selectResultTagetLibDtoByModelId(dto.getId()); + dto.setTagetLibs(libDtos); + for (ResultTagetLibDto libDto: libDtos + ) { + //下面拷贝考评组里面的指标信息 + ResultTagetLib resultTagetLib = new ResultTagetLib(); + BeanUtils.copyProperties(libDto, resultTagetLib); + resultTagetLib.setModelId(resultModel.getId());//设置新的维度id + resultTagetLib.setId(null); + resultTagetLibs.add(resultTagetLib); + } + } + if(resultTagetLibs.size() > 0){ + //插入备份的考评组指标信息 + resultTagetLibService.insertResultTagetLibs(resultTagetLibs); } } - if(resultTagetLibs.size() > 0){ - //插入备份的考评组指标信息 - resultTagetLibService.insertResultTagetLibs(resultTagetLibs); - } + + + 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 @@ + + + diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java index 7332ca28..0214f0a1 100644 --- a/src/test/java/com/lz/mysql/MysqlMain.java +++ b/src/test/java/com/lz/mysql/MysqlMain.java @@ -3,6 +3,7 @@ package com.lz.mysql; import com.lz.common.utils.StringUtil; import com.lz.modules.flow.entity.FlowChartRole; import org.springframework.util.ResourceUtils; +import org.springframework.util.StopWatch; import java.io.File; import java.util.ArrayList; @@ -49,11 +50,43 @@ public class MysqlMain { public static String dto_exclude = ",is_delete,gmt_create,gmt_modified,";//生成dto时排除字段,前后都要加英文逗号 public static String req_exclude = ",,";//生成Req时排除字段,前后都要加英文逗号 + public static class TestStaticAndHuo{ + public static int compare(Long a, Long b){ + return a.compareTo(b); + } + + public static boolean isEmpt(String str){ + return str == null || str.length() == 0; + } + } + /** * @param args */ public static void main(String[] args) throws Exception { + /*Long a = 2l; + Long b = 3l; + String value = "aaa"; + StopWatch stopWatch = new StopWatch(); + stopWatch.start("测试静态方法"); + for(int i = 0; i < 10000; i++){ + if(TestStaticAndHuo.isEmpt(value)){ + + } + } + stopWatch.stop(); + + stopWatch.start("测试对象方法"); + for(int i = 0; i < 10000; i++){ + if(value == null || value.length() == 0){ + + } + } + stopWatch.stop(); + + System.out.println(stopWatch.prettyPrint());*/ + /*List testMaps = new ArrayList<>(); TestMap test = new TestMap(); test.setName("123"); @@ -78,7 +111,6 @@ public class MysqlMain { } }).collect(Collectors.joining(","));*/ - String path = ResourceUtils.getURL("classpath:").getPath(); System.out.println(path); String dir = null; @@ -147,6 +179,8 @@ public class MysqlMain { for (int i = 0; i < list2.size(); i++) { MysqlUtilTable2XML.printXMLForMap(list2.get(i)); } + + } }