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/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index d0c8afe8..67735c6a 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -473,6 +473,8 @@ public class ResultRecordController extends AbstractController { } + //目前支持已生成对象的。不支持当前非对象表中的数据,如果要使用请用常量值 + //lz_result_detail>check_weight*lz_result_detail>acquire_score private String setCalculateValue(List calculateModels, Object model){ String mName = model.getClass().getName();//.replace("req", "dto"); String cal = ""; @@ -480,7 +482,12 @@ public class ResultRecordController extends AbstractController { //) { for(int i = 0; i < calculateModels.size(); i++){ CalculateModel calculate = calculateModels.get(i); - if(mName.contains("." + calculate.getTaboleBeanName())){//支持表名生成的req和dto + if(calculate.getTaboleBeanName() == null){//数字 + cal += calculate.getFieldName(); + if(calculate.getOpt() != null){ + cal += calculate.getOpt(); + } + }else if(mName.contains("." + calculate.getTaboleBeanName())){//支持表名生成的req和dto //获取值 try { Class clazz = model.getClass(); @@ -519,10 +526,14 @@ public class ResultRecordController extends AbstractController { CalculateModel calculateModel = null; int type = 0;//0table名称 1字段名称 String value = ""; + boolean isDig = false;//是否为数字 for (int i = 0; i < chars.length;i++ ) { char b = chars[i]; if(b == '*' || b == '/' || b == '+' || b == '-'){ + if(isDig){ + calculateModel.setTableName(null); + } calculateModel.setFieldName(value); calculateModel.setFieldBeanName(getBeanName(value)); calculateModel.setOpt(String.valueOf(b)); @@ -530,6 +541,7 @@ public class ResultRecordController extends AbstractController { calculateModel = null; type = 0; value = ""; + isDig = false; continue; }else if(b == '>'){ @@ -541,16 +553,24 @@ public class ResultRecordController extends AbstractController { type--; type *= -1; value = ""; + isDig = false; continue; + }else if(b > 47 && b < 58){ + //数字 + isDig = true; } if(calculateModel == null){ calculateModel = new CalculateModel(); } value += String.valueOf(b); if(i == chars.length - 1){ + if(isDig){ + calculateModel.setTableName(null); + } calculateModel.setFieldName(value); calculateModel.setFieldBeanName(getBeanName(value)); calculateModels.add(calculateModel); + isDig = false; break; } @@ -572,6 +592,7 @@ public class ResultRecordController extends AbstractController { public R saveDetail(@RequestBody @ApiParam ResultRecordDetailDto dto) { ResultRecord resultRecord = new ResultRecord(); BeanUtils.copyProperties(dto, resultRecord); + resultRecord.setAllScore(resultRecord.getLastScore()); List inserts = new ArrayList<>(); List updates = new ArrayList<>(); @@ -648,6 +669,8 @@ public class ResultRecordController extends AbstractController { resultScoreService.updateBatchById(updateScores); } + resultRecordService.updateCoverResultRecordById(resultRecord); + return R.ok(); 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/entity/ResultScore.java b/src/main/java/com/lz/modules/flow/entity/ResultScore.java index cb6a4ea3..dd44b411 100644 --- a/src/main/java/com/lz/modules/flow/entity/ResultScore.java +++ b/src/main/java/com/lz/modules/flow/entity/ResultScore.java @@ -10,10 +10,9 @@ import java.math.BigDecimal; import java.util.Date; /** *

-* 菜单权限表 *

*业绩详情评分表 * @author quyixiao -* @since 2020-10-13 +* @since 2020-11-09 */ @Data @@ -41,6 +40,9 @@ public class ResultScore implements java.io.Serializable { //审批人id @ApiModelProperty(value = "审批人id", name = "approvalId") private Long approvalId; + //评分说明 + @ApiModelProperty(value = "评分说明", name = "scoreComment") + private String scoreComment; /** * * @return @@ -146,6 +148,21 @@ public class ResultScore implements java.io.Serializable { this.approvalId = approvalId; } + /** + * 评分说明 + * @return + */ + public String getScoreComment() { + return scoreComment; + } + /** + * 评分说明 + * @param scoreComment + */ + public void setScoreComment(String scoreComment) { + this.scoreComment = scoreComment; + } + @Override public String toString() { return "ResultScore{" + @@ -156,6 +173,7 @@ public class ResultScore implements java.io.Serializable { ",acquireScore=" + acquireScore + ",detailId=" + detailId + ",approvalId=" + approvalId + + ",scoreComment=" + scoreComment + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java b/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java index edc6a486..762b8fb7 100644 --- a/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java +++ b/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java @@ -35,6 +35,10 @@ public class ResultScoreDto { //审批人id @ApiModelProperty(value = "所占权重", name = "weight") private BigDecimal weight; + + //评分说明 + @ApiModelProperty(value = "评分说明", name = "scoreComment") + private String scoreComment; /** * * @return diff --git a/src/main/java/com/lz/modules/flow/req/ResultScoreReq.java b/src/main/java/com/lz/modules/flow/req/ResultScoreReq.java index 81203bab..cf3c1da6 100644 --- a/src/main/java/com/lz/modules/flow/req/ResultScoreReq.java +++ b/src/main/java/com/lz/modules/flow/req/ResultScoreReq.java @@ -49,6 +49,9 @@ public class ResultScoreReq implements java.io.Serializable { //审批人id @ApiModelProperty(value = "审批人id", name = "approvalId") private Long approvalId; + //评分说明 + @ApiModelProperty(value = "评分说明", name = "scoreComment") + private String scoreComment; /** * * @return 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/performance/controller/EvaluationGroupController.java b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java index 81425007..062646c4 100644 --- a/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java +++ b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java @@ -135,6 +135,18 @@ public class EvaluationGroupController { EvaluationGroup evaluationGroup1 = evaluationGroupService.selectEvaluationGroupByName(evaluationGroup.getName()); if(evaluationGroup.getId() != null && evaluationGroup.getId().intValue() > 0){ if(evaluationGroup1 == null || evaluationGroup1.getId().equals(evaluationGroup.getId())){ + if(evaluationGroup.getDepIds() == null){ + evaluationGroup.setDepIds(""); + } + if(evaluationGroup.getStaffIds() == null){ + evaluationGroup.setStaffIds(""); + } + if(evaluationGroup.getManagerIds() == null){ + evaluationGroup.setManagerIds(""); + } + if(evaluationGroup.getOutIds() == null){ + evaluationGroup.setOutIds(""); + } evaluationGroupService.updateEvaluationGroupById(evaluationGroup); }else { return R.error("已经存在相同名称考核组"); @@ -163,7 +175,9 @@ public class EvaluationGroupController { Long l = mIds.get(i); if(staffRoleMap.containsKey(l)){ mIds.remove(l); + continue; } + i++; } } if(mIds.size() > 0){ 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 + + + - select * from lz_result_score where id=#{id} and is_delete = 0 limit 1 + select * from lz_result_score where id=#{id} and is_delete = 0 limit 1 insert into lz_result_score( - acquire_score, - detail_id, - approval_id, - is_delete, - gmt_create, - gmt_modified + acquire_score, + detail_id, + approval_id, + score_comment, + is_delete, + gmt_create, + gmt_modified )values( - #{ acquireScore}, - #{ detailId}, - #{ approvalId}, - 0, - now(), - now() + #{ acquireScore}, + #{ detailId}, + #{ approvalId}, + #{ scoreComment}, + 0, + now(), + now() ) update - lz_result_score + lz_result_score is_delete = #{isDelete}, gmt_create = #{gmtCreate}, acquire_score = #{acquireScore}, detail_id = #{detailId}, - approval_id = #{approvalId} + approval_id = #{approvalId}, + score_comment = #{scoreComment} ,gmt_modified = now() where id = #{id} @@ -63,13 +67,14 @@ update - lz_result_score - set + lz_result_score + set is_delete = #{isDelete}, gmt_create = #{gmtCreate}, acquire_score = #{acquireScore}, detail_id = #{detailId}, - approval_id = #{approvalId} + approval_id = #{approvalId}, + score_comment = #{scoreComment} ,gmt_modified = now() where id = #{id} diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java index d8784020..c89a36a3 100644 --- a/src/test/java/com/lz/mysql/MysqlMain.java +++ b/src/test/java/com/lz/mysql/MysqlMain.java @@ -126,7 +126,7 @@ public class MysqlMain { List list = new ArrayList(); - list.add(new TablesBean("lz_flow_record")); + list.add(new TablesBean("lz_result_score")); List list2 = new ArrayList(); Map map = MysqlUtil2ShowCreateTable.getComments();