diff --git a/src/main/java/com/lz/common/utils/StringUtil.java b/src/main/java/com/lz/common/utils/StringUtil.java index d075f2f9..584e63c4 100644 --- a/src/main/java/com/lz/common/utils/StringUtil.java +++ b/src/main/java/com/lz/common/utils/StringUtil.java @@ -144,6 +144,19 @@ public class StringUtil extends StringUtils { return result; } + + public static List splitToLongList(String source, String sep) { + List result = new ArrayList(); + if (isBlank(source)) { + return result; + } + String[] tempResult = source.split(sep); + for (String item : tempResult) { + result.add(NumberUtil.objToLongDefault(item,0)); + } + return result; + } + /** * @param source 待处理字符串 * @return diff --git a/src/main/java/com/lz/modules/app/controller/ReportResultController.java b/src/main/java/com/lz/modules/app/controller/ReportResultController.java index 580e8a2e..0d493bea 100644 --- a/src/main/java/com/lz/modules/app/controller/ReportResultController.java +++ b/src/main/java/com/lz/modules/app/controller/ReportResultController.java @@ -117,16 +117,6 @@ public class ReportResultController extends AbstractController{ } - @RequestMapping("/own/result") - public R ownResult(Long userId){ - if(userId == null){ - //如果id为空,查询自己信息 - userId = getUserId(); - } - List ownResultResp = resultRecordService.ownResult(userId, ResultRecordStatusEnum.AGREE.getStatus()); - return R.ok().put("data",ownResultResp); - } - } 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 b1255e5d..f42bbb69 100644 --- a/src/main/java/com/lz/modules/app/controller/TestController.java +++ b/src/main/java/com/lz/modules/app/controller/TestController.java @@ -267,6 +267,13 @@ public class TestController { R r = resultRecordService.initFlowRecord(resultRecordId); } + // http://localhost:8080/lz_management/test/getAuth?userId=314 + @RequestMapping("/test/getAuth") + public R getAuth(Long userId) throws Exception{ + Map map = staffRoleService.getRoleByUserId(userId); + return R.ok().put("data",map); + } + public static void main(String[] args) { String a = "{\"313\":[17,20,13]}"; diff --git a/src/main/java/com/lz/modules/app/resp/OwnResultResp.java b/src/main/java/com/lz/modules/app/resp/OwnResultResp.java index 75d99562..210e36c7 100644 --- a/src/main/java/com/lz/modules/app/resp/OwnResultResp.java +++ b/src/main/java/com/lz/modules/app/resp/OwnResultResp.java @@ -1,5 +1,7 @@ package com.lz.modules.app.resp; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @@ -10,9 +12,12 @@ import java.math.BigDecimal; * @Date: 2020/9/14 10:07 */ @Data +@ApiModel("个人成长曲线实体") public class OwnResultResp { - //月份 - private String monthTime; + //绩效 + @ApiModelProperty("绩效类型") + private String name; //最后得分 + @ApiModelProperty("最后得分") private BigDecimal lastScore; } 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 b5c92f89..24e4591d 100644 --- a/src/main/java/com/lz/modules/flow/dao/RecordAuthMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/RecordAuthMapper.java @@ -40,4 +40,6 @@ public interface RecordAuthMapper extends BaseMapper { List selectAll(); List selectAuthByRoleIds(@Param("roleIds") List roleIds); + + List selectAuthByIds(@Param("authIds") List authIds); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java b/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java index ca6b7343..02b38dea 100644 --- a/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java @@ -9,6 +9,8 @@ package com.lz.modules.flow.dao; */ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.lz.modules.flow.entity.AuthDto; +import com.lz.modules.flow.entity.StaffMenu; import com.lz.modules.flow.entity.StaffRole; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -52,4 +54,8 @@ public interface StaffRoleMapper extends BaseMapper { List selectPageByRoleLevel(@Param("page") IPage page, @Param("name") String name); StaffRole selectStaffRolesByStaffIdDepartmentLevel(@Param("staffId") Long staffId, @Param("departmentLevel") String departmentLevel); + + List selectAllByStaffId(@Param("staffId") Long staffId); + + List selectAllMenus(@Param("userId") Long userId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/entity/StaffMenu.java b/src/main/java/com/lz/modules/flow/entity/StaffMenu.java index dbb43b83..d0175c2e 100644 --- a/src/main/java/com/lz/modules/flow/entity/StaffMenu.java +++ b/src/main/java/com/lz/modules/flow/entity/StaffMenu.java @@ -42,7 +42,7 @@ public class StaffMenu implements java.io.Serializable { private Long parentId; //授权 id @ApiModelProperty(value = "授权 id", name = "authIds") - private Long authIds; + private String authIds; @TableField(exist=false) private List childs; /** @@ -139,14 +139,14 @@ public class StaffMenu implements java.io.Serializable { * 授权 id * @return */ - public Long getAuthIds() { + public String getAuthIds() { return authIds; } /** * 授权 id * @param authIds */ - public void setAuthIds(Long authIds) { + public void setAuthIds(String authIds) { this.authIds = authIds; } 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 8e2b32e7..774b5b28 100644 --- a/src/main/java/com/lz/modules/flow/service/RecordAuthService.java +++ b/src/main/java/com/lz/modules/flow/service/RecordAuthService.java @@ -47,4 +47,6 @@ public interface RecordAuthService extends IService { Long getRoleIdByStaffRoleInfo(String flowStaffIdRole,Long approvalStaffId); Map selectAuthByRoleIds(List roleIds); + + Map selectAuthByIds(List authIds); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/StaffRoleService.java b/src/main/java/com/lz/modules/flow/service/StaffRoleService.java index 04b44e22..1f7f8467 100644 --- a/src/main/java/com/lz/modules/flow/service/StaffRoleService.java +++ b/src/main/java/com/lz/modules/flow/service/StaffRoleService.java @@ -61,4 +61,8 @@ public interface StaffRoleService extends IService { R roleAddOrUpdate(RoleModel roleModel); R delete(RoleModel roleModel); + + List selectAllByStaffId(Long userId); + + Map getRoleByUserId(Long userId); } \ 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 0b3182f7..55cd25a8 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 @@ -129,8 +129,20 @@ public class RecordAuthServiceImpl extends ServiceImpl selectAuthByIds(List authIds) { + Map map = new HashMap<>(); + List list = recordAuthMapper.selectAuthByIds(authIds); + 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/flow/service/impl/StaffRoleServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java index af0d0c22..b3a8c21e 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java @@ -32,6 +32,7 @@ import com.lz.modules.sys.entity.SysMenuEntity; import com.lz.modules.sys.entity.SysRoleEntity; import com.lz.modules.sys.service.app.ResultRecordService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -90,13 +91,16 @@ public class StaffRoleServiceImpl extends ServiceImpl deparmentNames = new ArrayList<>(); if (staffRole.getDepartmentId().equals(new Long(2))) { List staffRoleDepartments = staffRoleDepartmentService.selectStaffRoleDepartmentByStaffRoleId(staffRole.getId()); - for(StaffRoleDepartment staffRoleDepartment:staffRoleDepartments){ + for (StaffRoleDepartment staffRoleDepartment : staffRoleDepartments) { DepartmentsEntity departmentsEntity = departmentsDao.selectByDepartmentId(staffRoleDepartment.getDepartmentId()); deparmentNames.add(departmentsEntity.getDepartmentName()); } @@ -360,8 +364,8 @@ public class StaffRoleServiceImpl extends ServiceImpl selectAllByStaffId(Long staffId) { + + return staffRoleMapper.selectAllByStaffId(staffId); + } + + @Override + public Map getRoleByUserId(Long userId) { + Map map = new HashMap<>(); + List staffRoleList = staffRoleMapper.selectAllByStaffId(userId); + List staffMenus = new ArrayList<>(); + DepartmentsStaffRelateEntity departmentsStaffRelateEntity = departmentsStaffRelateService.selectLastDepartmentByStaffId(userId); + if(new Integer(1).equals(departmentsStaffRelateEntity.getIsLeader())){ + List staffMenuDepartmentList= staffMenuService.selectByParentId( RoleMenuEnums.DEPARTMENT_PM.getType()); + if(CollectionUtils.isNotEmpty(staffMenuDepartmentList)){ + staffMenus.addAll(staffMenuDepartmentList); + } + } + if(CollectionUtils.isNotEmpty(staffRoleList)){ + List staffMenuList = staffRoleMapper.selectAllMenus(userId); + if(CollectionUtils.isNotEmpty(staffMenuList)){ + staffMenus.addAll(staffMenuList); + } + } + if(CollectionUtils.isNotEmpty(staffMenus) && staffMenus.size() > 0 ){ + List authIds = new ArrayList<>(); + for(StaffMenu staffMenu:staffMenus){ + List ids = StringUtil.splitToLongList(staffMenu.getAuthIds(),","); + authIds.addAll(ids); + } + if(authIds.size() > 0){ + map = recordAuthService.selectAuthByIds(authIds); + } + } + return map; + } + public void insertPM(StaffRole staffRole, Long parentId, StaffEntity staffEntity) { staffRole.setEvaluationGroupId(EvaluationGroupEnums.ALL.getType());//全部考评组 staffRole.setDepartmentId(DepartmentPMEnums.ALL.getType());//所有部门 diff --git a/src/main/java/com/lz/modules/performance/controller/ChartController.java b/src/main/java/com/lz/modules/performance/controller/ChartController.java index 1cbc1293..64d25b01 100644 --- a/src/main/java/com/lz/modules/performance/controller/ChartController.java +++ b/src/main/java/com/lz/modules/performance/controller/ChartController.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; import com.lz.common.utils.StringUtil; +import com.lz.modules.app.enums.ResultRecordStatusEnum; +import com.lz.modules.app.resp.OwnResultResp; import com.lz.modules.equipment.entity.model.BasePage; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.FlowStart; @@ -15,6 +17,7 @@ import com.lz.modules.performance.res.ChartStatisticalRes; import com.lz.modules.performance.res.ResultRankListRes; import com.lz.modules.performance.service.ChartResultService; import com.lz.modules.sys.controller.AbstractController; +import com.lz.modules.sys.service.app.ResultRecordService; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -36,6 +39,8 @@ public class ChartController extends AbstractController{ private ChartResultService chartResultService; @Autowired private FlowStartMapper flowStartMapper; + @Autowired + private ResultRecordService resultRecordService; @GetMapping("chart/result") @ApiOperation("获取绩效报表统计") @@ -84,11 +89,16 @@ public class ChartController extends AbstractController{ - @PostMapping("chart/test") - public R chartTest(){ - List starts = flowStartMapper.selectList(new QueryWrapper().in("group_ids", Collections.EMPTY_LIST)); - System.out.println(); - return null; + @RequestMapping("/own/result") + @ApiOperation("获取个人成长曲线") + @ApiResponses({@ApiResponse(code = 200,message = "成功",response = OwnResultResp.class)}) + public R ownResult(Long userId){ + if(userId == null){ + //如果id为空,查询自己信息 + userId = getUserId(); + } + List ownResultResps = resultRecordService.ownResult(null); + return R.ok().put("data",ownResultResps); } diff --git a/src/main/java/com/lz/modules/sys/controller/SysLoginController.java b/src/main/java/com/lz/modules/sys/controller/SysLoginController.java index d8f9b154..bffa9653 100644 --- a/src/main/java/com/lz/modules/sys/controller/SysLoginController.java +++ b/src/main/java/com/lz/modules/sys/controller/SysLoginController.java @@ -18,6 +18,8 @@ import com.lz.modules.app.enums.SmsTypeEnum; import com.lz.modules.app.service.CodeRecordService; import com.lz.modules.app.service.SmsTemplateService; import com.lz.modules.app.service.StaffService; +import com.lz.modules.flow.entity.StaffRole; +import com.lz.modules.flow.service.StaffRoleService; import com.lz.modules.sys.entity.SysConfigEntity; import com.lz.modules.sys.entity.SysUserEntity; import com.lz.modules.sys.form.SysLoginForm; @@ -41,9 +43,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.IOException; -import java.util.Date; -import java.util.LinkedHashMap; -import java.util.Map; +import java.util.*; /** * 登录相关 @@ -64,6 +64,9 @@ public class SysLoginController extends AbstractController { private CodeRecordService codeRecordService; @Resource private SysConfigService sysConfigService; + + @Autowired + private StaffRoleService staffRoleService; @Resource private DhgjSmsUtil dhgjSmsUtil; @@ -71,7 +74,7 @@ public class SysLoginController extends AbstractController { private String environment; @Autowired - private StaffService staffService ; + private StaffService staffService; /** * 验证码 @@ -181,7 +184,7 @@ public class SysLoginController extends AbstractController { SysUserEntity user = sysUserService.queryByUserName(form.getUserName()); if (user == null) { StaffEntity staffEntity = staffService.selectByPhone(form.getUserName()); - if(staffEntity != null){ + if (staffEntity != null) { user = new SysUserEntity(); user.setPassword(staffEntity.getPassword()); user.setMobile(staffEntity.getMobile()); @@ -193,7 +196,7 @@ public class SysLoginController extends AbstractController { user.setUsername(staffEntity.getMobile()); user.setRealName(staffEntity.getName()); user.setUserNo(staffEntity.getMobile()); - }else{ + } else { return R.error("账号不存在!"); } } @@ -218,11 +221,15 @@ public class SysLoginController extends AbstractController { } //生成token,并保存到数据库 R r = sysUserTokenService.createToken(user); - return r; + Map map = staffRoleService.getRoleByUserId(user.getUserId()); + return r.put("data",map); } + + + /** * 退出 */ diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java index aa80000b..135d0210 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java @@ -61,7 +61,7 @@ public interface ResultRecordMapper extends BaseMapper { List selectResultRecordByIds(@Param("recordIds") List recordIds); - List ownResult(@Param("userId") Long userId, @Param("status") int status); + List ownResult(@Param("staffId") Long staffId); List staffDistribution(@Param("monthTime") String monthTime,@Param("staffIds") List staffIds); diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java index 24001402..d631d887 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java @@ -77,7 +77,7 @@ public interface ResultRecordService extends IService { void sendWorkMSG(StaffEntity mySelf, StaffEntity toSelf, WorkMsgTypeEnum workMsgTypeEnum , Long recordResultId, int count); - List ownResult(Long userId, int status); + List ownResult(Long staffId); /** * 人员等级排布 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 653b2858..fdd7fb15 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 @@ -738,8 +738,8 @@ public class ResultRecordServiceImpl extends ServiceImpl ownResult(Long userId, int status) { - return resultRecordMapper.ownResult(userId,status); + public List ownResult(Long staffId) { + return resultRecordMapper.ownResult(staffId); } @Override diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index a5ddf451..aac875cf 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -281,8 +281,14 @@ + SELECT all_score,name FROM lz_result_record r + LEFT JOIN lz_flow_start f + ON r.start_id = f.id + where r.is_delete = 0 and f.is_delete = 0 and flow_process = 5 and staff_id = #{staffId} + order by start_id desc + + + + + + diff --git a/src/main/resources/mapper/flow/StaffRoleMapper.xml b/src/main/resources/mapper/flow/StaffRoleMapper.xml index 1b9b9d66..fce0e7eb 100644 --- a/src/main/resources/mapper/flow/StaffRoleMapper.xml +++ b/src/main/resources/mapper/flow/StaffRoleMapper.xml @@ -159,6 +159,17 @@ select * from lz_staff_role where is_delete = 0 and department_level = #{departmentLevel} and staff_id =#{staffId} + + + + +