Browse Source

绩效评分-CRUD调整

master
gjh 6 days ago
parent
commit
ab1ee32098
  1. 9
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPerformancescoreController.java
  2. 68
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectassessmentController.java
  3. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouProjectassessmentMapper.xml
  4. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectassessmentService.java
  5. 37
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectassessmentService.java
  6. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/HuzhouProjectassessmentOV.java
  7. 14
      huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/SubmitRatingVo.java

9
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPerformancescoreController.java

@ -7,6 +7,7 @@ import com.easy.admin.common.core.config.ExecutorConfig;
import com.easy.admin.modules.huzhou.entity.HuzhouPerforman;
import com.easy.admin.modules.huzhou.entity.HuzhouPerformancescore;
import com.easy.admin.modules.huzhou.service.IHuzhouPerformancescoreService;
import com.easy.admin.modules.huzhou.vo.SubmitRatingVo;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -36,11 +37,16 @@ public class HuzhouPerformancescoreController {
public List<HuzhouPerformancescore> getPerformancescore(String type){
LambdaQueryWrapper<HuzhouPerformancescore> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPerformancescore::getType,type);
// 模板都是null
// 如果是模板则为null
queryWrapper.isNull(HuzhouPerformancescore::getAssessmentId);
return performancescoreService.list(queryWrapper);
}
/**
* 根据考核记录id获取评分详情
* @param assessmentId
* @return
*/
@GetMapping("/getPerformanceScoreByAssessmentId")
public List<HuzhouPerformancescore> getPerformanceScoreByAssessmentId(String assessmentId){
LambdaQueryWrapper<HuzhouPerformancescore> queryWrapper = new LambdaQueryWrapper<>();
@ -72,4 +78,5 @@ public class HuzhouPerformancescoreController {
}
}

68
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectassessmentController.java

@ -1,25 +1,34 @@
package com.easy.admin.modules.huzhou.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.easy.admin.common.api.vo.Result;
import com.easy.admin.common.core.annotation.ResponseResult;
import com.easy.admin.modules.huzhou.entity.HuzhouPerformancescore;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectassessment;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import com.easy.admin.modules.huzhou.service.IHuzhouPerformancescoreService;
import com.easy.admin.modules.huzhou.service.IHuzhouProjectassessmentService;
import com.easy.admin.modules.huzhou.vo.SubmitRatingVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/huzhouProjectassessment")
@ResponseResult
public class HuzhouProjectassessmentController {
@Autowired
private IHuzhouProjectassessmentService projectassessmentService;
@Autowired
private IHuzhouPerformancescoreService performancescoreService;
//新增项目考核查询内容,包含系统评分
@GetMapping("/getProjectassessmentIncludeSys")
public List<HuzhouProjectassessment> getPerformancescore(String type,String projectId){
@ -80,12 +89,63 @@ public class HuzhouProjectassessmentController {
* @return
*/
@DeleteMapping("{id}")
public Result<?> submitRating(@PathVariable String id) {
public Result<?> deleteRating(@PathVariable String id) {
boolean flag = projectassessmentService.removeById(id);
if (flag) {
return Result.ok("删除成功");
return Result.ok("删除评分记录成功");
}else {
return Result.error("删除失败");
return Result.error("删除评分记录失败!");
}
}
@DeleteMapping("deleteRatingDetail")
public Result<?> deleteRatingDetail(@Param("assessmentId") String assessmentId) {
boolean flag = projectassessmentService.deleteRatingDetail(assessmentId);
if (flag) {
return Result.ok("删除评分详情成功");
}else {
return Result.error("删除评分详情失败!");
}
}
/**
* 修改评分详情
* @param submitRatingVo
* @return
*/
@PutMapping("updateRatingDetail")
public Result<?> updateRatingDetail(@RequestBody SubmitRatingVo submitRatingVo) {
try {
projectassessmentService.updateRatingDetail(submitRatingVo);
return Result.ok("修改评分详情成功");
} catch (Exception e) {
log.error("更新评分详情失败", e);
return Result.error("系统异常,请稍后重试");
}
}
/**
* 根据考核记录id获取评分详情
* @param id
* @return
*/
@GetMapping("/getRatingDetail")
public Result<?> getRatingDetail(@Param("id") String id) {
SubmitRatingVo submitRatingVo = new SubmitRatingVo();
LambdaQueryWrapper<HuzhouPerformancescore> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPerformancescore::getAssessmentId, id);
List<HuzhouPerformancescore> list = performancescoreService.list(queryWrapper);
HuzhouProjectassessment projectassessment = projectassessmentService.getById(id);
submitRatingVo.setPerformancescoreList(list);
submitRatingVo.setProjectName(projectassessment.getProjectName());
submitRatingVo.setProjectId(projectassessment.getProjectId());
submitRatingVo.setTemplateName(projectassessment.getDescription());
submitRatingVo.setAssessmentId(id);
submitRatingVo.setTemplateId(projectassessment.getType());
return Result.ok(submitRatingVo);
}
}

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouProjectassessmentMapper.xml

@ -38,7 +38,7 @@
<select id="getProjectassessmentPageList" resultType="com.easy.admin.modules.huzhou.vo.HuzhouProjectassessmentOV" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo">
SELECT h.id,u.id as projectId,u.project_name,u.admin_division,u.duty_workplace,u.workplace_properties,u.reform_name,u.super_leader,
SELECT h.id,h.description,u.id as projectId,u.project_name,u.admin_division,u.duty_workplace,u.workplace_properties,u.reform_name,u.super_leader,
h.pscores
from huzhou_sub_projectinfo u inner join
huzhou_projectassessment h on h.project_id=u.id

4
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectassessmentService.java

@ -26,4 +26,8 @@ public interface IHuzhouProjectassessmentService extends IService<HuzhouProjecta
List<HuzhouProjectassessment> getProjectassessmentIncludeSys(String type, String projectId);
void submitRating(SubmitRatingVo submitRatingVo);
boolean deleteRatingDetail(String assessmentId);
void updateRatingDetail(SubmitRatingVo submitRatingVo);
}

37
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectassessmentService.java

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.easy.admin.auth.model.SysUser;
import com.easy.admin.common.core.exception.EasyException;
import com.easy.admin.common.util.CommonUtils;
import com.easy.admin.modules.huzhou.dao.HuzhouPerformanMapper;
import com.easy.admin.modules.huzhou.dao.HuzhouPerformancescoreMapper;
@ -15,7 +16,6 @@ import com.easy.admin.modules.huzhou.dao.HuzhouProjectassessmentMapper;
import com.easy.admin.modules.huzhou.entity.*;
import com.easy.admin.modules.huzhou.service.IHuzhouProjectassessmentService;
import com.easy.admin.modules.huzhou.service.IHuzhouProjectinfoService;
import com.easy.admin.modules.huzhou.service.IHuzhouSubProjectinfoService;
import com.easy.admin.modules.huzhou.vo.HuzhouProjectassessmentOV;
import com.easy.admin.modules.huzhou.vo.ProjectInfoAuthSelect;
@ -28,7 +28,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.FileCopyUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
@ -338,9 +337,9 @@ public class HuzhouProjectassessmentService extends ServiceImpl<HuzhouProjectass
@Override
public void submitRating(SubmitRatingVo submitRatingVo) {
String projectid = submitRatingVo.getProjectid();
String projectId = submitRatingVo.getProjectId();
// 模板id
String templateId = submitRatingVo.getTemplateName();
String templateId = submitRatingVo.getTemplateId();
HuzhouPerforman huzhouPerforman = performanMapper.selectById(templateId);
List<HuzhouPerformancescore> performanceScoreList = submitRatingVo.getPerformancescoreList();
@ -349,16 +348,18 @@ public class HuzhouProjectassessmentService extends ServiceImpl<HuzhouProjectass
.sum();
HuzhouProjectassessmentOV huzhouProjectassessmentOV = new HuzhouProjectassessmentOV();
HuzhouSubProjectinfo subProjectInfo = subProjectInfoService.getById(projectid);
HuzhouSubProjectinfo subProjectInfo = subProjectInfoService.getById(projectId);
if (subProjectInfo != null){
BeanUtils.copyProperties(subProjectInfo,huzhouProjectassessmentOV,"id","projectId");
HuzhouProjectassessment projectAssessment = new HuzhouProjectassessment();
BeanUtils.copyProperties(huzhouProjectassessmentOV,projectAssessment,"id");
projectAssessment.setProjectId(projectid);
projectAssessment.setProjectId(projectId);
projectAssessment.setPscores(String.valueOf(totalRealScore));
// 模板名称
projectAssessment.setDescription(huzhouPerforman.getName());
// 模板id
projectAssessment.setType(templateId);
projectassessmentMapper.insert(projectAssessment);
// 拿到生成的id再去记录
String generateId = projectAssessment.getId();
@ -374,4 +375,28 @@ public class HuzhouProjectassessmentService extends ServiceImpl<HuzhouProjectass
}
@Override
public boolean deleteRatingDetail(String assessmentId) {
LambdaQueryWrapper<HuzhouPerformancescore> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPerformancescore::getAssessmentId,assessmentId);
int delete = performancescoreMapper.delete(queryWrapper);
if(delete>0){
return projectassessmentMapper.deleteById(assessmentId)>0;
}
return false;
}
@Override
public void updateRatingDetail(SubmitRatingVo submitRatingVo) {
String assessmentId = submitRatingVo.getAssessmentId();
// 可选:判断删除是否成功
boolean deleted = deleteRatingDetail(assessmentId);
if (!deleted) {
throw new EasyException("删除旧评分数据失败,assessmentId: " + assessmentId);
}
submitRating(submitRatingVo);
}
}

4
huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/HuzhouProjectassessmentOV.java

@ -39,4 +39,8 @@ public class HuzhouProjectassessmentOV {
*/
private String pscores;
/**
* 描述
*/
private String description;
}

14
huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/SubmitRatingVo.java

@ -11,14 +11,26 @@ import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
public class SubmitRatingVo {
private String assessmentId;
/**
* 项目id(前端传下拉框 的label)
*/
private String projectid;
private String projectId;
/**
* 项目名称
*/
private String projectName;
/**
* 评分模板名称 (前端传type值当templateName)
*/
private String templateName;
/**
* 评分模板id
*/
private String templateId;
/**
* 评分项
*/

Loading…
Cancel
Save