feat(examine): 新增考核模板功能并优化考核流程

- 新增考核模板相关实体、Mapper、Service和Controller
- 在考核配置中添加模板ID字段,实现模板关联
- 优化考核详情查询,支持按模板查询配置
- 新增个人自评功能,允许员工在考核中进行自我评价- 修复部分员工无法查看主管评分的问题
- 优化文件上传大小限制,提高至100M
dev_1.2.1
chenhao 2025-04-25 11:17:34 +08:00
parent 82778133aa
commit d010449773
28 changed files with 1008 additions and 14 deletions

View File

@ -1,8 +1,10 @@
package tech.unissense.pms.web.controller.business.examine.detail;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
import tech.unissense.pms.business.examine.config.domain.ExamineConfig;
import tech.unissense.pms.business.examine.config.enums.ReviewTypeEnum;
import tech.unissense.pms.business.examine.config.service.ExamineConfigService;
@ -12,12 +14,15 @@ import tech.unissense.pms.business.examine.detail.dto.ExamineDto;
import tech.unissense.pms.business.examine.detail.service.ExamineDetailService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import tech.unissense.pms.business.examine.remark.domain.ExamineRemark;
import tech.unissense.pms.business.examine.remark.service.IExamineRemarkService;
import tech.unissense.pms.business.examine.user.domain.ExamineUser;
import tech.unissense.pms.business.examine.user.service.ExamineUserService;
import tech.unissense.pms.common.core.controller.BaseController;
import tech.unissense.pms.common.core.domain.AjaxResult;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -40,6 +45,8 @@ public class ExamineDetailController extends BaseController {
@Autowired
private ExamineConfigService configService;
@Autowired
private IExamineRemarkService examineRemarkService;
/**
*
@ -75,11 +82,22 @@ public class ExamineDetailController extends BaseController {
dto.setExamineId(examineUser.getId());
}
Assert.notNull(dto.getExamineId(), "考核ID不能为空");
if (dto.getUserId()==null){
ExamineUser examineUser = examineUserService.queryById(dto.getExamineId());
dto.setUserId(examineUser.getUserId());
}
//查询配置
ExamineConfig examineConfig = new ExamineConfig();
examineConfig.setExamineTaskId(dto.getExamineTaskId());
examineConfig.setReviewType(dto.getReviewType());
List<ExamineConfig> configList = configService.list(examineConfig);
if (ReviewTypeEnum.SELF.getType().equals(dto.getReviewType())) {
//特殊处理 发展与协作需要个人展示,不打分
ExamineConfig queryParams = new ExamineConfig();
queryParams.setReviewCategory("发展与协作");
queryParams.setExamineTaskId(dto.getExamineTaskId());
configList.addAll(configService.list(queryParams));
}
return AjaxResult.success(examineDetailService.formatData(configList,dto));
}
@ -90,6 +108,7 @@ public class ExamineDetailController extends BaseController {
* @return
*/
@PostMapping("/batch")
@Transactional(rollbackFor = Exception.class)
public AjaxResult addBatch(@RequestBody ExamineDto examineDto) {
Assert.notEmpty(examineDto.getExamineDetailList(), "考核详情不能为空");
Assert.notNull(examineDto.getExamineId(), "考核ID不能为空");
@ -112,6 +131,15 @@ public class ExamineDetailController extends BaseController {
, examineDto.getExamineDetailList(), ReviewTypeEnum.SELF);
BigDecimal bigDecimal = scoreMap.get(examineDto.getExamineId());
examineDto.setSelfScore(bigDecimal);
//非主管需要保存个人自评
List<ExamineRemark> examineRemarkList = examineDto.getExamineRemarkList();
if (CollUtil.isNotEmpty(examineRemarkList)){
for (ExamineRemark examineRemark : examineRemarkList) {
examineRemark.setUserId(getUserId());
examineRemark.setTaskId(examineDto.getTaskId());
}
examineRemarkService.saveBatch(examineRemarkList);
}
}
//保存detail详情

View File

@ -0,0 +1,72 @@
package tech.unissense.pms.web.controller.business.examine.remark;
import tech.unissense.pms.business.examine.remark.domain.ExamineRemark;
import tech.unissense.pms.business.examine.remark.service.IExamineRemarkService;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import tech.unissense.pms.common.core.controller.BaseController;
import tech.unissense.pms.common.core.domain.AjaxResult;
import tech.unissense.pms.common.core.page.TableDataInfo;
import java.util.List;
/**
* @Author ch
* @Desc (ExamineRemark)
* @Date 2025-04-25 10:08:26
*/
@Api(tags = "考核评价")
@RestController
@RequestMapping("examine/remark")
public class ExamineRemarkController extends BaseController {
@Autowired
private IExamineRemarkService examineRemarkService;
@ApiOperation("列表查询")
@GetMapping("/list")
public TableDataInfo list(ExamineRemark examineRemark) {
startPage();
List<ExamineRemark> list = examineRemarkService.queryAll(examineRemark);
return getDataTable(list);
}
@ApiOperation("根据ID查详情")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Integer id) {
return AjaxResult.success(examineRemarkService.queryById(id));
}
@ApiOperation("新增数据")
@PostMapping("/insert")
public AjaxResult add(@RequestBody ExamineRemark examineRemark) {
return toAjax(examineRemarkService.insert(examineRemark));
}
@ApiOperation("编辑数据")
@PutMapping("/update")
public AjaxResult edit(@RequestBody ExamineRemark examineRemark) {
return toAjax(examineRemarkService.update(examineRemark));
}
@ApiOperation("删除数据")
@DeleteMapping("/{id}")
public AjaxResult remove(@PathVariable("id") Integer id) {
return toAjax(examineRemarkService.deleteById(id));
}
/**
*
*/
@ApiOperation(value = "批量删除")
@DeleteMapping("/remove/batch/{ids}")
public AjaxResult batchRemove(@PathVariable("ids") Integer[] ids) {
return AjaxResult.success(examineRemarkService.batchRemove(ids));
}
}

View File

@ -0,0 +1,77 @@
package tech.unissense.pms.web.controller.business.examine.template;
import tech.unissense.pms.business.examine.template.domain.ExamineTemplate;
import tech.unissense.pms.business.examine.template.service.IExamineTemplateService;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import tech.unissense.pms.common.core.controller.BaseController;
import tech.unissense.pms.common.core.domain.AjaxResult;
import tech.unissense.pms.common.core.page.TableDataInfo;
import java.util.List;
/**
* @Author ch
* @Desc (ExamineTemplate)
* @Date 2025-04-23 14:38:33
*/
@Api(tags = "")
@RestController
@RequestMapping("examine/template")
public class ExamineTemplateController extends BaseController {
@Autowired
private IExamineTemplateService examineTemplateService;
@ApiOperation("列表查询")
@GetMapping("/list")
public TableDataInfo list(ExamineTemplate examineTemplate) {
startPage();
List<ExamineTemplate> list = examineTemplateService.queryAll(examineTemplate);
return getDataTable(list);
}
@ApiOperation("根据ID查详情")
@GetMapping(value = "/list/{id}")
public AjaxResult getConfigInfo(@PathVariable("id") Integer id) {
return AjaxResult.success(examineTemplateService.listConfig(id));
}
@ApiOperation("根据ID查详情")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Integer id) {
return AjaxResult.success(examineTemplateService.queryById(id));
}
@ApiOperation("新增数据")
@PostMapping("/insert")
public AjaxResult add(@RequestBody ExamineTemplate examineTemplate) {
return toAjax(examineTemplateService.insert(examineTemplate));
}
@ApiOperation("编辑数据")
@PutMapping("/update")
public AjaxResult edit(@RequestBody ExamineTemplate examineTemplate) {
return toAjax(examineTemplateService.update(examineTemplate));
}
@ApiOperation("删除数据")
@DeleteMapping("/{id}")
public AjaxResult remove(@PathVariable("id") Integer id) {
return toAjax(examineTemplateService.deleteById(id));
}
/**
*
*/
@ApiOperation(value = "批量删除")
@DeleteMapping("/remove/batch/{ids}")
public AjaxResult batchRemove(@PathVariable("ids") Integer[] ids) {
return AjaxResult.success(examineTemplateService.batchRemove(ids));
}
}

View File

@ -37,6 +37,16 @@ public class ProjectFileController extends BaseController {
public AjaxResult remove(@PathVariable Integer id) {
return toAjax(service.deleteById(id));
}
/**
*
*/
// @PreAuthorize("@ss.hasPermi('system:dept:remove')")
@Log(title = "删除文件", businessType = BusinessType.DELETE)
@DeleteMapping("/batch/{ids}")
public AjaxResult removeBatch(@PathVariable("ids") Integer[] ids) {
service.batchRemove(ids);
return AjaxResult.success();
}
}

View File

@ -41,6 +41,7 @@ public class ExamineConfig implements Serializable {
*/
private Integer examineTaskId;
private Integer sortNum;
private Integer templateId;
}

View File

@ -47,4 +47,5 @@ public interface ExamineConfigService {
boolean deleteById(Integer id);
List<ExamineConfig> list(ExamineConfig examineConfig);
}

View File

@ -2,6 +2,7 @@ package tech.unissense.pms.business.examine.detail.dto;
import lombok.Data;
import tech.unissense.pms.business.examine.detail.domain.ExamineDetail;
import tech.unissense.pms.business.examine.remark.domain.ExamineRemark;
import java.math.BigDecimal;
import java.util.List;
@ -22,8 +23,13 @@ import java.util.List;
@Data
public class ExamineDto {
private List<ExamineDetail> examineDetailList;
private List<ExamineRemark> examineRemarkList;
private Integer examineId;
private String judgeContent;
/**
*
*/
private String selfJudgeContent;
private BigDecimal manageScore;
private BigDecimal selfScore;
private Integer taskId;

View File

@ -13,6 +13,8 @@ import tech.unissense.pms.business.examine.detail.mapper.ExamineDetailMapper;
import tech.unissense.pms.business.examine.detail.service.ExamineDetailService;
import org.springframework.stereotype.Service;
import tech.unissense.pms.business.examine.detail.vo.ExamineConfigDetailVo;
import tech.unissense.pms.business.examine.remark.domain.ExamineRemark;
import tech.unissense.pms.business.examine.remark.service.IExamineRemarkService;
import tech.unissense.pms.business.examine.task.domain.ExamineTask;
import tech.unissense.pms.business.examine.task.mapper.ExamineTaskMapper;
import tech.unissense.pms.business.examine.user.domain.ExamineUser;
@ -51,6 +53,8 @@ public class ExamineDetailServiceImpl implements ExamineDetailService {
@Autowired
private ExamineTaskMapper examineTaskMapper;
@Autowired
private IExamineRemarkService examineRemarkService;
/**
* ID
*
@ -135,6 +139,11 @@ public class ExamineDetailServiceImpl implements ExamineDetailService {
}
result.put("examineUser",list1.get(0));
result.put("examineTask",examineTaskMapper.queryById(dto.getExamineTaskId()));
ExamineRemark examineRemark = new ExamineRemark();
examineRemark.setTaskId(dto.getExamineTaskId());
examineRemark.setUserId(Long.valueOf(dto.getUserId()));
List<ExamineRemark> examineRemarks = examineRemarkService.queryAll(examineRemark);
result.put("remark",examineRemarks);
return result;

View File

@ -0,0 +1,43 @@
package tech.unissense.pms.business.examine.remark.domain;
import lombok.Data;
/**
* (ExamineRemark)
*
* @author ch
* @since 2025-04-25 10:08:26
*/
@Data
public class ExamineRemark {
private Integer id;
/**
* id
*/
private Integer taskId;
/**
* id
*/
private Long userId;
/**
*
*/
private String reviewCategory;
/**
*
*/
private String remark;
}

View File

@ -0,0 +1,50 @@
package tech.unissense.pms.business.examine.remark.mapper;
import tech.unissense.pms.business.examine.remark.domain.ExamineRemark;
import java.util.List;
/**
* @Author ch
* @Desc (ExamineRemark)访
* @Date 2025-04-25 10:08:26
*/
public interface ExamineRemarkMapper {
/**
*
*
* @param examineRemark
* @return
*/
List<ExamineRemark> queryAll(ExamineRemark examineRemark);
/**
* ID
*/
ExamineRemark queryById(Integer id);
/**
*
*/
int insert(ExamineRemark examineRemark);
/**
*
*/
int update(ExamineRemark examineRemark);
/**
*
*/
int deleteById(Integer id);
/**
* id
*/
int batchRemove(Integer[] ids);
void insertOrUpdateBatch(List<ExamineRemark> examineRemarkList);
}

View File

@ -0,0 +1,50 @@
package tech.unissense.pms.business.examine.remark.service;
import tech.unissense.pms.business.examine.remark.domain.ExamineRemark;
import java.util.List;
/**
* @Author ch
* @Desc (ExamineRemark)
* @Date 2025-04-25 10:08:26
*/
public interface IExamineRemarkService {
/**
*
*/
List<ExamineRemark> queryAll(ExamineRemark examineRemark);
/**
* ID
*/
ExamineRemark queryById(Integer id);
/**
*
*/
int insert(ExamineRemark examineRemark);
/**
*
*/
int update(ExamineRemark examineRemark);
/**
*
*/
int deleteById(Integer id);
/**
* id
*/
int batchRemove(Integer[] ids);
void saveBatch(List<ExamineRemark> examineRemarkList);
}

View File

@ -0,0 +1,79 @@
package tech.unissense.pms.business.examine.remark.service.impl;
import cn.hutool.core.collection.CollUtil;
import tech.unissense.pms.business.examine.remark.domain.ExamineRemark;
import tech.unissense.pms.business.examine.remark.mapper.ExamineRemarkMapper;
import tech.unissense.pms.business.examine.remark.service.IExamineRemarkService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author ch
* @Desc (ExamineRemark)
* @Date 2025-04-25 10:08:26
*/
@Service
public class ExamineRemarkServiceImpl implements IExamineRemarkService {
@Resource
private ExamineRemarkMapper examineRemarkMapper;
/**
*
*
* @param examineRemark
* @return
*/
@Override
public List<ExamineRemark> queryAll(ExamineRemark examineRemark) {
List<ExamineRemark> dataList = examineRemarkMapper.queryAll(examineRemark);
return dataList;
}
@Override
public ExamineRemark queryById(Integer id) {
return examineRemarkMapper.queryById(id);
}
@Override
public int insert(ExamineRemark examineRemark) {
return examineRemarkMapper.insert(examineRemark);
}
@Override
public int update(ExamineRemark examineRemark) {
return examineRemarkMapper.update(examineRemark);
}
@Override
public int deleteById(Integer id) {
return examineRemarkMapper.deleteById(id);
}
/**
* id
*/
@Override
public int batchRemove(Integer[] ids) {
return examineRemarkMapper.batchRemove(ids);
}
@Override
public void saveBatch(List<ExamineRemark> examineRemarkList) {
if (CollUtil.isEmpty(examineRemarkList)){
return;
}
examineRemarkMapper.insertOrUpdateBatch(examineRemarkList);
}
}

View File

@ -43,5 +43,6 @@ public class ExamineTask implements Serializable {
private List<Integer> userIdList;
private Integer year;
private Integer templateId;
}

View File

@ -49,11 +49,12 @@ public class TaskServiceImpl implements TaskService {
@Override
public ExamineTask addTask(ExamineTask task) {
Assert.notNull(task.getTemplateId(),"考核模板不能为空");
task.setCreateTime(new Date());
examineTaskDao.addTask(task);
ExamineConfig examineConfig = new ExamineConfig();
examineConfig.setExamineTaskId(-1);
examineConfig.setTemplateId(task.getTemplateId());
List<ExamineConfig> list = examineConfigMapper.list(examineConfig);
list.forEach(item -> {
item.setExamineTaskId(task.getId());

View File

@ -0,0 +1,55 @@
package tech.unissense.pms.business.examine.template.domain;
import java.util.Date;
import lombok.Data;
/**
* (ExamineTemplate)
*
* @author ch
* @since 2025-04-25 09:58:26
*/
@Data
public class ExamineTemplate {
private Integer id;
/**
*
*/
private String templateName;
/**
* 0: 1: 2:
*/
private String templateType;
/**
*
*/
private Integer createBy;
/**
*
*/
private Integer updateBy;
/**
*
*/
private Date updateTime;
/**
*
*/
private Date createTime;
}

View File

@ -0,0 +1,49 @@
package tech.unissense.pms.business.examine.template.mapper;
import tech.unissense.pms.business.examine.template.domain.ExamineTemplate;
import java.util.List;
/**
* @Author ch
* @Desc (ExamineTemplate)访
* @Date 2025-04-23 14:39:24
*/
public interface ExamineTemplateMapper {
/**
*
*
* @param examineTemplate
* @return
*/
List<ExamineTemplate> queryAll(ExamineTemplate examineTemplate);
/**
* ID
*/
ExamineTemplate queryById(Integer id);
/**
*
*/
int insert(ExamineTemplate examineTemplate);
/**
*
*/
int update(ExamineTemplate examineTemplate);
/**
*
*/
int deleteById(Integer id);
/**
* id
*/
int batchRemove(Integer[] ids);
}

View File

@ -0,0 +1,50 @@
package tech.unissense.pms.business.examine.template.service;
import tech.unissense.pms.business.examine.config.domain.ExamineConfig;
import tech.unissense.pms.business.examine.template.domain.ExamineTemplate;
import java.util.List;
/**
* @Author ch
* @Desc (ExamineTemplate)
* @Date 2025-04-23 14:38:33
*/
public interface IExamineTemplateService {
/**
*
*/
List<ExamineTemplate> queryAll(ExamineTemplate examineTemplate);
/**
* ID
*/
List<ExamineConfig> listConfig(Integer id);
/**
*
*/
int insert(ExamineTemplate examineTemplate);
/**
*
*/
int update(ExamineTemplate examineTemplate);
/**
*
*/
int deleteById(Integer id);
/**
* id
*/
int batchRemove(Integer[] ids);
ExamineTemplate queryById(Integer id);
}

View File

@ -0,0 +1,83 @@
package tech.unissense.pms.business.examine.template.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import tech.unissense.pms.business.examine.config.domain.ExamineConfig;
import tech.unissense.pms.business.examine.config.service.ExamineConfigService;
import tech.unissense.pms.business.examine.template.domain.ExamineTemplate;
import tech.unissense.pms.business.examine.template.mapper.ExamineTemplateMapper;
import tech.unissense.pms.business.examine.template.service.IExamineTemplateService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author ch
* @Desc (ExamineTemplate)
* @Date 2025-04-23 14:38:34
*/
@Service
public class ExamineTemplateServiceImpl implements IExamineTemplateService {
@Resource
private ExamineTemplateMapper examineTemplateMapper;
@Autowired
private ExamineConfigService examineConfigService;
/**
*
*
* @param examineTemplate
* @return
*/
@Override
public List<ExamineTemplate> queryAll(ExamineTemplate examineTemplate) {
List<ExamineTemplate> dataList = examineTemplateMapper.queryAll(examineTemplate);
return dataList;
}
@Override
public List<ExamineConfig> listConfig(Integer id) {
ExamineConfig examineConfig = new ExamineConfig();
examineConfig.setTemplateId(id);
return examineConfigService.list(examineConfig);
}
@Override
public int insert(ExamineTemplate examineTemplate) {
return examineTemplateMapper.insert(examineTemplate);
}
@Override
public int update(ExamineTemplate examineTemplate) {
return examineTemplateMapper.update(examineTemplate);
}
@Override
public int deleteById(Integer id) {
return examineTemplateMapper.deleteById(id);
}
/**
* id
*/
@Override
public int batchRemove(Integer[] ids) {
return examineTemplateMapper.batchRemove(ids);
}
@Override
public ExamineTemplate queryById(Integer id) {
return examineTemplateMapper.queryById(id);
}
}

View File

@ -35,6 +35,10 @@ public class ExamineUser extends BaseEntity {
*
*/
private String judgeContent;
/**
*
*/
private String selfJudgeContent;
/**
* ()
*/

View File

@ -120,6 +120,7 @@ public class ExamineUserServiceImpl implements ExamineUserService {
ExamineUser examineUser = new ExamineUser();
examineUser.setId(examineDto.getExamineId());
examineUser.setJudgeContent(examineDto.getJudgeContent());
examineUser.setSelfJudgeContent(examineDto.getSelfJudgeContent());
examineUser.setExamineStatus(examineDto.getExamineStatus());
examineUser.setExamineStatusSelf(examineDto.getExamineStatusSelf());
examineUser.setManageScore(examineDto.getManageScore());
@ -156,6 +157,10 @@ public class ExamineUserServiceImpl implements ExamineUserService {
examineConfig.setExamineTaskId(taskId);
examineConfig.setReviewType(ReviewTypeEnum.SYSTEM.getType());
List<ExamineConfig> configList = examineConfigService.list(examineConfig);
if (CollUtil.isEmpty(configList)) {
examineDetail.setScore(0);
return examineDetail;
}
examineDetail.setConfigId(configList.get(0).getId());
BigDecimal bigDecimal = workTimeByExamineDetail.get(examineDetail.getExamineId());
if (bigDecimal == null) {

View File

@ -5,6 +5,7 @@ import java.util.Date;
import lombok.Data;
import lombok.Getter;
import tech.unissense.pms.common.core.domain.BaseEntity;
/**
@ -15,10 +16,11 @@ import lombok.Getter;
*/
@Data
public class ProjectFile {
public class ProjectFile {
private Integer id;
private Integer[] ids;
/**
* id
*/

View File

@ -62,7 +62,7 @@ public class ProjectFileServiceImpl implements IProjectFileService {
public int deleteById(Integer id) {
ProjectFile projectFile = projectFileMapper.queryById(id);
try {
FileUtils.deleteFile(RuoYiConfig.getProfile()+projectFile.getFileUrl());
FileUtils.deleteFile(RuoYiConfig.getProfile()+projectFile.getFilePath());
} catch (Exception e) {
log.error("删除文件失败,失败详情:{}", e.getStackTrace());
}
@ -74,6 +74,16 @@ public class ProjectFileServiceImpl implements IProjectFileService {
*/
@Override
public int batchRemove(Integer[] ids) {
ProjectFile projectFile = new ProjectFile();
projectFile.setIds(ids);
List<ProjectFile> projectFiles = projectFileMapper.queryAll(projectFile);
for (ProjectFile file : projectFiles) {
try {
FileUtils.deleteFile(RuoYiConfig.getProfile()+file.getFilePath());
} catch (Exception e) {
log.error("删除文件失败,失败详情:{}", e.getStackTrace());
}
}
return projectFileMapper.batchRemove(ids);
}
@ -111,6 +121,8 @@ public class ProjectFileServiceImpl implements IProjectFileService {
}
return projectFileMapper.listByIdAndType(id, type);
}
}

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="tech.unissense.pms.business.examine.remark.mapper.ExamineRemarkMapper">
<resultMap type="tech.unissense.pms.business.examine.remark.domain.ExamineRemark" id="ExamineRemarkMap">
<result property="id" column="id"/>
<result property="taskId" column="task_id"/>
<result property="userId" column="user_id"/>
<result property="reviewCategory" column="review_category"/>
<result property="remark" column="remark"/>
</resultMap>
<!-- 基本字段 -->
<sql id="Base_Column_List">
id, task_id, user_id, review_category, remark
</sql>
<!--通过实体作为筛选条件查询-->
<select id="queryAll" resultMap="ExamineRemarkMap">
select
<include refid="Base_Column_List"/>
from pms_examine_remark
<where>
<if test="id != null">
and id = #{id}
</if>
<if test="taskId != null">
and task_id = #{taskId}
</if>
<if test="userId != null">
and user_id = #{userId}
</if>
<if test="reviewCategory != null and reviewCategory != ''">
and review_category = #{reviewCategory}
</if>
<if test="remark != null and remark != ''">
and remark = #{remark}
</if>
</where>
</select>
<!--根据ID查详情-->
<select id="queryById" parameterType="Integer" resultMap="ExamineRemarkMap">
SELECT id,
task_id,
user_id,
review_category,
remark
FROM pms_examine_remark
WHERE id = #{id}
LIMIT 1
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
INSERT INTO pms_examine_remark
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="taskId != null">
task_id,
</if>
<if test="userId != null">
user_id,
</if>
<if test="reviewCategory != null and reviewCategory != ''">
review_category,
</if>
<if test="remark != null and remark != ''">
remark,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taskId != null">
#{taskId},
</if>
<if test="userId != null">
#{userId},
</if>
<if test="reviewCategory != null and reviewCategory != ''">
#{reviewCategory},
</if>
<if test="remark != null and remark != ''">
#{remark},
</if>
</trim>
</insert>
<insert id="insertOrUpdateBatch">
insert into pms_examine_remark(task_id,user_id,review_category,remark)
values
<foreach collection="list" item="entity" separator=",">
(#{entity.taskId}, #{entity.userId}, #{entity.reviewCategory}, #{entity.remark})
</foreach>
on duplicate key update
remark = values(remark)
</insert>
<!--通过主键修改数据-->
<update id="update">
UPDATE pms_examine_remark
<trim prefix="SET" suffixOverrides=",">
<if test="taskId != null">
task_id = #{taskId},
</if>
<if test="userId != null">
user_id = #{userId},
</if>
<if test="reviewCategory != null and reviewCategory != ''">
review_category = #{reviewCategory},
</if>
<if test="remark != null and remark != ''">
remark = #{remark},
</if>
</trim>
WHERE id = #{id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
DELETE
FROM pms_examine_remark
WHERE id = #{id}
</delete>
<!--通过id批量删除-->
<delete id="batchRemove">
delete from pms_examine_remark where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -31,6 +31,12 @@
<if test="id != null">
and id = #{id}
</if>
<if test="ids != null and ids.length>0">
and id in
<foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="projectId != null">
and project_id = #{projectId}
</if>

View File

@ -111,21 +111,24 @@
<if test="examineTaskId != null">
and examine_task_id = #{examineTaskId}
</if>
<if test="templateId != null">
and template_id = #{templateId}
</if>
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into pms_examine_config(review_type, review_category, review_item, remarks, weight, examine_task_id, sort_num)
values (#{reviewType}, #{reviewCategory}, #{reviewItem}, #{remarks}, #{weight}, #{examineTaskId}, #{sortNum})
insert into pms_examine_config(review_type, review_category, review_item, remarks, weight, examine_task_id, sort_num,template_id)
values (#{reviewType}, #{reviewCategory}, #{reviewItem}, #{remarks}, #{weight}, #{examineTaskId}, #{sortNum}, #{templateId})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into pms_examine_config(review_type, review_category, review_item, remarks, weight, examine_task_id, sort_num)
insert into pms_examine_config(review_type, review_category, review_item, remarks, weight, examine_task_id, sort_num,template_id)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.reviewType}, #{entity.reviewCategory}, #{entity.reviewItem}, #{entity.remarks}, #{entity.weight},
#{entity.examineTaskId}, #{entity.sortNum})
#{entity.examineTaskId}, #{entity.sortNum},#{entity.templateId})
</foreach>
</insert>

View File

@ -0,0 +1,155 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="tech.unissense.pms.business.examine.template.mapper.ExamineTemplateMapper">
<resultMap type="tech.unissense.pms.business.examine.template.domain.ExamineTemplate" id="ExamineTemplateMap">
<result property="id" column="id"/>
<result property="templateName" column="template_name"/>
<result property="templateType" column="template_type"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="createTime" column="create_time"/>
</resultMap>
<!-- 基本字段 -->
<sql id="Base_Column_List">
id, template_name, template_type, create_by, update_by, update_time, create_time
</sql>
<!--通过实体作为筛选条件查询-->
<select id="queryAll" resultMap="ExamineTemplateMap">
select
<include refid="Base_Column_List"/>
from pms_examine_template
<where>
<if test="id != null">
and id = #{id}
</if>
<if test="templateName != null and templateName != ''">
and template_name = #{templateName}
</if>
<if test="templateType != null and templateType != ''">
and template_type = #{templateType}
</if>
<if test="createBy != null">
and create_by = #{createBy}
</if>
<if test="updateBy != null">
and update_by = #{updateBy}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
</where>
</select>
<!--根据ID查详情-->
<select id="queryById" parameterType="Integer" resultMap="ExamineTemplateMap">
SELECT id,
template_name,
template_type,
create_by,
update_by,
update_time,
create_time
FROM pms_examine_template
WHERE id = #{id}
LIMIT 1
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
INSERT INTO pms_examine_template
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="templateName != null and templateName != ''">
template_name,
</if>
<if test="templateType != null and templateType != ''">
template_type,
</if>
<if test="createBy != null">
create_by,
</if>
<if test="updateBy != null">
update_by,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="createTime != null">
create_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="templateName != null and templateName != ''">
#{templateName},
</if>
<if test="templateType != null and templateType != ''">
#{templateType},
</if>
<if test="createBy != null">
#{createBy},
</if>
<if test="updateBy != null">
#{updateBy},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
<if test="createTime != null">
#{createTime},
</if>
</trim>
</insert>
<!--通过主键修改数据-->
<update id="update">
UPDATE pms_examine_template
<trim prefix="SET" suffixOverrides=",">
<if test="templateName != null and templateName != ''">
template_name = #{templateName},
</if>
<if test="templateType != null and templateType != ''">
template_type = #{templateType},
</if>
<if test="createBy != null">
create_by = #{createBy},
</if>
<if test="updateBy != null">
update_by = #{updateBy},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
</trim>
WHERE id = #{id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
DELETE
FROM pms_examine_template
WHERE id = #{id}
</delete>
<!--通过id批量删除-->
<delete id="batchRemove">
delete from pms_examine_template where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -8,6 +8,7 @@
<result property="userId" column="user_id" jdbcType="INTEGER"/>
<result property="score" column="score" jdbcType="NUMERIC"/>
<result property="judgeContent" column="judge_content" jdbcType="VARCHAR"/>
<result property="selfJudgeContent" column="self_judge_content" jdbcType="VARCHAR"/>
<result property="manageScore" column="manage_score" jdbcType="NUMERIC"/>
<result property="examineStatus" column="examine_status" jdbcType="VARCHAR"/>
<result property="examineStatusSelf" column="examine_status_self" jdbcType="VARCHAR"/>
@ -21,6 +22,7 @@
user_id,
score,
judge_content,
self_judge_content,
manage_score,
examine_status,
examine_status_self,
@ -122,29 +124,30 @@
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into pms_examine_user(task_id, user_id, score, judge_content, manage_score)
values (#{taskId}, #{userId}, #{score}, #{judgeContent}, #{manageScore})
insert into pms_examine_user(task_id, user_id, score, judge_content,self_judge_content, manage_score)
values (#{taskId}, #{userId}, #{score}, #{judgeContent}, #{selfJudgeContent}, #{manageScore})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into pms_examine_user(task_id, user_id, score, judge_content, manage_score)
insert into pms_examine_user(task_id, user_id, score, judge_content, self_judge_content,manage_score)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.taskId}, #{entity.userId}, #{entity.score}, #{entity.judgeContent}, #{entity.manageScore})
(#{entity.taskId}, #{entity.userId}, #{entity.score}, #{entity.judgeContent},#{entity.selfJudgeContent}, #{entity.manageScore})
</foreach>
</insert>
<insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
insert into pms_examine_user(task_id, user_id, score, judge_content, manage_score)
insert into pms_examine_user(task_id, user_id, score, judge_content,self_judge_content, manage_score)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.taskId}, #{entity.userId}, #{entity.score}, #{entity.judgeContent}, #{entity.manageScore})
(#{entity.taskId}, #{entity.userId}, #{entity.score}, #{entity.judgeContent}, #{entity.selfJudgeContent}, #{entity.manageScore})
</foreach>
on duplicate key update
task_id = values(task_id),
user_id = values(user_id),
score = values(score),
judge_content = values(judge_content),
self_judge_content = values(self_judge_content),
manage_score = values(manage_score)
</insert>
@ -164,6 +167,9 @@
<if test="judgeContent != null and judgeContent != ''">
judge_content = #{judgeContent},
</if>
<if test="selfJudgeContent != null and selfJudgeContent != ''">
self_judge_content = #{selfJudgeContent},
</if>
<if test="manageScore != null">
manage_score = #{manageScore},
</if>

View File

@ -25,7 +25,7 @@ public class FileUploadUtils
/**
* 50M
*/
public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024L;
public static final long DEFAULT_MAX_SIZE = 100 * 1024 * 1024L;
/**
* 100