Browse Source

绩效考核相关逻辑调整

master
gjh 6 days ago
parent
commit
e35e4eccd1
  1. 10
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPerformancescoreController.java
  2. 10
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectassessmentController.java
  3. 16
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouProjectassessmentMapper.xml
  4. 10
      huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPerformancescore.java
  5. 13
      huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouProjectassessment.java
  6. 3
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectassessmentService.java
  7. 18
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java
  8. 70
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectassessmentService.java
  9. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouUploadfileinfoServiceImpl.java
  10. 15
      huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/HuzhouProjectassessmentOV.java
  11. 26
      huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/SubmitRatingVo.java

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

@ -36,9 +36,19 @@ public class HuzhouPerformancescoreController {
public List<HuzhouPerformancescore> getPerformancescore(String type){
LambdaQueryWrapper<HuzhouPerformancescore> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPerformancescore::getType,type);
// 模板都是null
queryWrapper.isNull(HuzhouPerformancescore::getAssessmentId);
return performancescoreService.list(queryWrapper);
}
@GetMapping("/getPerformanceScoreByAssessmentId")
public List<HuzhouPerformancescore> getPerformanceScoreByAssessmentId(String AssessmentId){
LambdaQueryWrapper<HuzhouPerformancescore> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPerformancescore::getAssessmentId,AssessmentId);
return performancescoreService.list(queryWrapper);
}
@GetMapping("/getPerforman")
public List<HuzhouPerforman> getPerforman(){
return performancescoreService.getPerforman();

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

@ -2,11 +2,13 @@ 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.IHuzhouProjectassessmentService;
import com.easy.admin.modules.huzhou.vo.SubmitRatingVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -65,4 +67,12 @@ public class HuzhouProjectassessmentController {
public void uploadProjectassessmentFile(@RequestParam(value = "file") MultipartFile multipartFile,@RequestParam String id,@RequestParam String selfScores) throws IOException {
projectassessmentService.uploadProjectassessmentFile(multipartFile,id,selfScores);
}
@PostMapping("/submitRating")
public Result<?> submitRating(@RequestBody SubmitRatingVo submitRatingVo) {
projectassessmentService.submitRating(submitRatingVo);
return Result.ok("成功");
}
}

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

@ -39,11 +39,10 @@
<select id="getProjectassessmentPageList" resultType="com.easy.admin.modules.huzhou.vo.HuzhouProjectassessmentOV" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo">
SELECT u.id project_id,u.project_name,u.admin_division,u.duty_workplace,u.workplace_properties,u.reform_name,u.super_leader,
h.totalSysscores,h.totalPscores
from huzhou_projectinfo u inner join
(SELECT project_id,sum(sysscores) totalSysscores,sum(pscores) totalPscores FROM huzhou_projectassessment GROUP BY project_id) h on h.project_id=u.id
h.pscores
from huzhou_sub_projectinfo u inner join
huzhou_projectassessment h on h.project_id=u.id
<where>
<include refid="com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper.selectAuthSql"/>
<if test="info.projectName!=null and info.projectName!=''">
<bind name="tempStr" value="'%' + info.projectName + '%'" />
@ -62,19 +61,14 @@
<bind name="tempStr" value="'%' + info.workplaceProperties + '%'" />
and u.workplace_properties like #{tempStr}
</if>
<if test="info.dutyWorkplace!=null and info.dutyWorkplace!=''">
<bind name="tempStr" value="'%' + info.dutyWorkplace + '%'" />
and u.duty_workplace like #{tempStr}
</if>
<if test="info.reformName!=null and info.reformName!=''">
and u.reform_name = #{info.reformName}
</if>
<if test="info.superLeader!=null and info.superLeader!=''">
and u.super_leader = #{info.superLeader}
</if>
<if test="info.stage!=null and info.stage!=''">
and u.stage &gt;= #{info.stage}
</if>
</where>
</select>
</mapper>

10
huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPerformancescore.java

@ -54,5 +54,15 @@ public class HuzhouPerformancescore extends BaseEntity implements Serializable {
private String type;
private String isobjectivescore;
/**
* 实际分数
*/
private Double realScores;
/**
* 关联的评分id
*/
private String assessmentId;
}

13
huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouProjectassessment.java

@ -1,5 +1,6 @@
package com.easy.admin.modules.huzhou.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.util.Date;
@ -20,6 +21,12 @@ public class HuzhouProjectassessment extends BaseEntity implements Serializable
* 项目id
*/
private String projectId;
/**
* 项目名称
*/
private String projectName;
/**
* 评价维度
*/
@ -74,4 +81,10 @@ public class HuzhouProjectassessment extends BaseEntity implements Serializable
private String documentName;
private String documentPath;
/**
* 任务牵头处室总评分
*/
@TableField(exist = false)
private Double totalPscores;
}

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

@ -6,6 +6,7 @@ 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.vo.HuzhouProjectassessmentOV;
import com.easy.admin.modules.huzhou.vo.SubmitRatingVo;
import org.checkerframework.checker.units.qual.A;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@ -23,4 +24,6 @@ public interface IHuzhouProjectassessmentService extends IService<HuzhouProjecta
void uploadProjectassessmentFile(MultipartFile multipartFile, String id,String selfScores) throws IOException;
List<HuzhouProjectassessment> getProjectassessmentIncludeSys(String type, String projectId);
void submitRating(SubmitRatingVo submitRatingVo);
}

18
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java

@ -166,7 +166,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
HuzhouPlaninfo target = new HuzhouPlaninfo();
BeanUtils.copyProperties(source,target,"id","actualStartTime","actualEndTime");
target.setTaskName("提交终验申请");
target.setTaskFile("《提交终验申请》");
target.setTaskFile("《联合验收报审表》");
target.setIsfinish("0");
// 设置日期为 2025-12-31
LocalDate targetLocalDate = LocalDate.of(2025, 12, 31);
@ -180,7 +180,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
HuzhouPlaninfo target2 = new HuzhouPlaninfo();
BeanUtils.copyProperties(source,target2,"id","actualStartTime","actualEndTime");
target2.setTaskName("联合验收审批");
target2.setTaskFile("《验收文件》");
target2.setTaskFile("《联合验收材料》");
target2.setIsfinish("0");
target2.setScheduledStartTime(setDate);
target2.setScheduledEndTime(setDate);
@ -399,7 +399,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
HuzhouPlaninfo target = new HuzhouPlaninfo();
BeanUtils.copyProperties(source, target, "id", "actualStartTime", "actualEndTime");
target.setTaskName("提交核验申请");
target.setTaskFile("《验收文件》");
target.setTaskFile("《集中核验报审表》");
target.setIsfinish("0");
// 设置日期为 2025-12-31
LocalDate targetLocalDate = LocalDate.of(2025, 12, 31);
@ -413,7 +413,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
HuzhouPlaninfo target2 = new HuzhouPlaninfo();
BeanUtils.copyProperties(source, target2, "id", "actualStartTime", "actualEndTime");
target2.setTaskName("部门集中核验");
target2.setTaskFile("《验收文件》");
target2.setTaskFile("《集中核验材料》");
target2.setIsfinish("0");
target2.setScheduledStartTime(setDate);
target2.setScheduledEndTime(setDate);
@ -423,7 +423,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
HuzhouPlaninfo target3 = new HuzhouPlaninfo();
BeanUtils.copyProperties(source, target3, "id", "actualStartTime", "actualEndTime");
target3.setTaskName("上传核验报告");
target3.setTaskFile("《验收文件》");
target3.setTaskFile("《核验意见书》");
target3.setIsfinish("0");
target3.setScheduledStartTime(setDate);
target3.setScheduledEndTime(setDate);
@ -442,7 +442,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
queryWrapper.eq(HuzhouPlaninfo::getIsfinish,"2");
HuzhouPlaninfo target = planinfoMapper.selectOne(queryWrapper);
if (target==null){
//throw new EasyException("请先完成:联合验收审批!");
throw new EasyException("请先完成:联合验收审批!");
}
}
@ -454,7 +454,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
queryWrapper.eq(HuzhouPlaninfo::getIsfinish,"2");
HuzhouPlaninfo target = planinfoMapper.selectOne(queryWrapper);
if (target==null){
//throw new EasyException("请先完成:终验阶段!");
throw new EasyException("请先完成:终验阶段!");
}
}
@ -466,7 +466,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
queryWrapper.eq(HuzhouPlaninfo::getIsfinish,"2");
HuzhouPlaninfo target = planinfoMapper.selectOne(queryWrapper);
if (target==null){
//throw new EasyException("请先完成:部门集中核验!");
throw new EasyException("请先完成:部门集中核验!");
}
}
@ -478,7 +478,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
queryWrapper.eq(HuzhouPlaninfo::getIsfinish,"2");
HuzhouPlaninfo target = planinfoMapper.selectOne(queryWrapper);
if (target==null){
//throw new EasyException("请先完成:上传核验报告!");
throw new EasyException("请先完成:上传核验报告!");
}
}

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

@ -8,18 +8,19 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.easy.admin.auth.model.SysUser;
import com.easy.admin.common.util.CommonUtils;
import com.easy.admin.modules.huzhou.dao.HuzhouPerformanMapper;
import com.easy.admin.modules.huzhou.dao.HuzhouPerformancescoreMapper;
import com.easy.admin.modules.huzhou.dao.HuzhouPlaninfoMapper;
import com.easy.admin.modules.huzhou.dao.HuzhouProjectassessmentMapper;
import com.easy.admin.modules.huzhou.entity.HuzhouPerformancescore;
import com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectassessment;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
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;
import com.easy.admin.modules.huzhou.vo.SubmitRatingVo;
import com.easy.admin.util.ShiroUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -48,6 +49,12 @@ public class HuzhouProjectassessmentService extends ServiceImpl<HuzhouProjectass
private HuzhouPerformancescoreMapper performancescoreMapper;
@Autowired
private HuzhouPlaninfoMapper huzhouPlaninfoMapper;
@Autowired
private HuzhouPerformanMapper performanMapper;
@Autowired
private IHuzhouSubProjectinfoService subProjectInfoService;
@Value(value = "${jeecg.path.upload}")
private String uploadpath;
@Override
@ -55,23 +62,12 @@ public class HuzhouProjectassessmentService extends ServiceImpl<HuzhouProjectass
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);
Page<HuzhouProjectassessmentOV> projectassessmentPageList = projectassessmentMapper.getProjectassessmentPageList(page, projectInfoAuthSelect);
List<HuzhouProjectassessmentOV> records = projectassessmentPageList.getRecords();
records.forEach(item->{
if(item.getTotalPscores()==null){
item.setTotalPscores(0);
}
if(item.getTotalSysscores()==null){
item.setTotalSysscores(0);
}
item.setTotalScores(item.getTotalPscores()+ item.getTotalSysscores());
});
projectassessmentPageList.setRecords(records);
return projectassessmentPageList;
}
public Page<HuzhouProjectinfo> getProjectassessmentProjectPageList(Page page, HuzhouProjectinfo projectinfo){
public Page<HuzhouProjectinfo> getProjectassessmentProjectPageList(Page page, HuzhouProjectinfo projectinfo) {
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);
return projectassessmentMapper.getProjectassessmentProjectPageList(page,projectInfoAuthSelect);
return projectassessmentMapper.getProjectassessmentProjectPageList(page, projectInfoAuthSelect);
}
@Override
@ -340,4 +336,42 @@ public class HuzhouProjectassessmentService extends ServiceImpl<HuzhouProjectass
return huzhouProjectassessmentList;
}
@Override
public void submitRating(SubmitRatingVo submitRatingVo) {
String projectid = submitRatingVo.getProjectid();
// 模板id
String templateId = submitRatingVo.getTemplateName();
HuzhouPerforman huzhouPerforman = performanMapper.selectById(templateId);
List<HuzhouPerformancescore> performanceScoreList = submitRatingVo.getPerformancescoreList();
double totalRealScore = performanceScoreList.stream()
.mapToDouble(HuzhouPerformancescore::getRealScores)
.sum();
HuzhouProjectassessmentOV huzhouProjectassessmentOV = new HuzhouProjectassessmentOV();
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.setPscores(String.valueOf(totalRealScore));
// 模板名称
projectAssessment.setDescription(huzhouPerforman.getName());
projectassessmentMapper.insert(projectAssessment);
// 拿到生成的id再去记录
String generateId = projectAssessment.getId();
// 记录评分
for (HuzhouPerformancescore huzhouPerformancescore : performanceScoreList) {
huzhouPerformancescore.setAssessmentId(generateId);
huzhouPerformancescore.setId(null);
performancescoreMapper.insert(huzhouPerformancescore);
}
}
}
}

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

@ -229,7 +229,7 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl<HuzhouUploadfil
Boolean canUploadFile = planinfoService.isFinishTargetTask(projectId, "提交终验申请");
if (!canUploadFile){
//throw new EasyException("请先完成:提交终验申请!");
throw new EasyException("请先完成:提交终验申请!");
}
workFlow = workflowService.createFlow("JAA", planinfoid);
@ -237,7 +237,7 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl<HuzhouUploadfil
Boolean canUploadFile = planinfoService.isFinishTargetTask(projectId, "提交核验申请");
if (!canUploadFile){
//throw new EasyException("请先完成:提交核验报告!");
throw new EasyException("请先完成:提交核验报告!");
}
workFlow = workflowService.createFlow("CVM", planinfoid);

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

@ -17,6 +17,12 @@ public class HuzhouProjectassessmentOV {
* 责任单位
*/
private String dutyWorkplace;
/**
* 单位属性
*/
private String workplaceProperties;
/**
* 所属改革任务
*/
@ -25,11 +31,10 @@ public class HuzhouProjectassessmentOV {
* 上级指导处室
*/
private String superLeader;
/**
* 单位属性
* 任务牵头处室评分
*/
private String workplaceProperties;
private Integer totalSysscores;
private Integer totalPscores;
private Integer totalScores;
private String pscores;
}

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

@ -0,0 +1,26 @@
package com.easy.admin.modules.huzhou.vo;
import com.easy.admin.modules.huzhou.entity.HuzhouPerformancescore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SubmitRatingVo {
/**
* 项目id(前端传下拉框 的label)
*/
private String projectid;
/**
* 评分模板名称 (前端传type值当templateName)
*/
private String templateName;
/**
* 评分项
*/
List<HuzhouPerformancescore> performancescoreList;
}
Loading…
Cancel
Save