diff --git a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/detail/ExamineDetailController.java b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/detail/ExamineDetailController.java index 9dcbac0..b8c071f 100644 --- a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/detail/ExamineDetailController.java +++ b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/detail/ExamineDetailController.java @@ -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 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 examineRemarkList = examineDto.getExamineRemarkList(); + if (CollUtil.isNotEmpty(examineRemarkList)){ + for (ExamineRemark examineRemark : examineRemarkList) { + examineRemark.setUserId(getUserId()); + examineRemark.setTaskId(examineDto.getTaskId()); + } + examineRemarkService.saveBatch(examineRemarkList); + } } //保存detail详情 diff --git a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/remark/ExamineRemarkController.java b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/remark/ExamineRemarkController.java new file mode 100644 index 0000000..3bb06f2 --- /dev/null +++ b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/remark/ExamineRemarkController.java @@ -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 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)); + } +} diff --git a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/template/ExamineTemplateController.java b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/template/ExamineTemplateController.java new file mode 100644 index 0000000..d4bbfd6 --- /dev/null +++ b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/examine/template/ExamineTemplateController.java @@ -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 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)); + } +} diff --git a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/project/ProjectFileController.java b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/project/ProjectFileController.java index 48701b4..7fbae1d 100644 --- a/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/project/ProjectFileController.java +++ b/pms-admin/src/main/java/tech/unissense/pms/web/controller/business/project/ProjectFileController.java @@ -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(); + } } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/config/domain/ExamineConfig.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/config/domain/ExamineConfig.java index 88682fe..6112d6d 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/config/domain/ExamineConfig.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/config/domain/ExamineConfig.java @@ -41,6 +41,7 @@ public class ExamineConfig implements Serializable { */ private Integer examineTaskId; private Integer sortNum; + private Integer templateId; } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/config/service/ExamineConfigService.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/config/service/ExamineConfigService.java index 1c1fd42..d04b94c 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/config/service/ExamineConfigService.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/config/service/ExamineConfigService.java @@ -47,4 +47,5 @@ public interface ExamineConfigService { boolean deleteById(Integer id); List list(ExamineConfig examineConfig); + } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/dto/ExamineDto.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/dto/ExamineDto.java index b598c2f..3c60b79 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/dto/ExamineDto.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/dto/ExamineDto.java @@ -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 examineDetailList; + private List examineRemarkList; private Integer examineId; private String judgeContent; + /** + * 个人自评 + */ + private String selfJudgeContent; private BigDecimal manageScore; private BigDecimal selfScore; private Integer taskId; diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/impl/ExamineDetailServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/impl/ExamineDetailServiceImpl.java index 7f8502a..c7e84b6 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/impl/ExamineDetailServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/detail/service/impl/ExamineDetailServiceImpl.java @@ -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 examineRemarks = examineRemarkService.queryAll(examineRemark); + result.put("remark",examineRemarks); return result; diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/domain/ExamineRemark.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/domain/ExamineRemark.java new file mode 100644 index 0000000..b0c8e82 --- /dev/null +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/domain/ExamineRemark.java @@ -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; + +} + + + diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/mapper/ExamineRemarkMapper.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/mapper/ExamineRemarkMapper.java new file mode 100644 index 0000000..cc10c52 --- /dev/null +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/mapper/ExamineRemarkMapper.java @@ -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 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 examineRemarkList); +} diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/service/IExamineRemarkService.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/service/IExamineRemarkService.java new file mode 100644 index 0000000..ff5fe8d --- /dev/null +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/service/IExamineRemarkService.java @@ -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 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 examineRemarkList); + +} + + + diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/service/impl/ExamineRemarkServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/service/impl/ExamineRemarkServiceImpl.java new file mode 100644 index 0000000..c9762bd --- /dev/null +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/remark/service/impl/ExamineRemarkServiceImpl.java @@ -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 queryAll(ExamineRemark examineRemark) { + List 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 examineRemarkList) { + if (CollUtil.isEmpty(examineRemarkList)){ + return; + } + examineRemarkMapper.insertOrUpdateBatch(examineRemarkList); + } + +} + + + diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/task/domain/ExamineTask.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/task/domain/ExamineTask.java index f7c9d1f..7b85112 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/task/domain/ExamineTask.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/task/domain/ExamineTask.java @@ -43,5 +43,6 @@ public class ExamineTask implements Serializable { private List userIdList; private Integer year; + private Integer templateId; } diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/task/service/impl/TaskServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/task/service/impl/TaskServiceImpl.java index 32171d8..05dc278 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/task/service/impl/TaskServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/task/service/impl/TaskServiceImpl.java @@ -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 list = examineConfigMapper.list(examineConfig); list.forEach(item -> { item.setExamineTaskId(task.getId()); diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/template/domain/ExamineTemplate.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/template/domain/ExamineTemplate.java new file mode 100644 index 0000000..81e82c2 --- /dev/null +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/template/domain/ExamineTemplate.java @@ -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; + +} + + + diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/template/mapper/ExamineTemplateMapper.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/template/mapper/ExamineTemplateMapper.java new file mode 100644 index 0000000..e2a7468 --- /dev/null +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/template/mapper/ExamineTemplateMapper.java @@ -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 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); + +} diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/template/service/IExamineTemplateService.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/template/service/IExamineTemplateService.java new file mode 100644 index 0000000..d254e28 --- /dev/null +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/template/service/IExamineTemplateService.java @@ -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 queryAll(ExamineTemplate examineTemplate); + + + /** + * 根据ID查详情 + */ + List listConfig(Integer id); + + /** + * 新增数据 + */ + int insert(ExamineTemplate examineTemplate); + + /** + * 修改数据 + */ + int update(ExamineTemplate examineTemplate); + + /** + * 通过主键删除数据 + */ + int deleteById(Integer id); + + /** + * 通过id批量删除 + */ + int batchRemove(Integer[] ids); + + ExamineTemplate queryById(Integer id); +} + + + diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/template/service/impl/ExamineTemplateServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/template/service/impl/ExamineTemplateServiceImpl.java new file mode 100644 index 0000000..a0f664b --- /dev/null +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/template/service/impl/ExamineTemplateServiceImpl.java @@ -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 queryAll(ExamineTemplate examineTemplate) { + List dataList = examineTemplateMapper.queryAll(examineTemplate); + return dataList; + } + + @Override + public List 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); + } + +} + + + diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java index f439770..0457635 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java @@ -35,6 +35,10 @@ public class ExamineUser extends BaseEntity { * 总体评价 */ private String judgeContent; + /** + * 个人自评 + */ + private String selfJudgeContent; /** * 主管评分(权重计算后) */ diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java index 367e2ba..c2f9f61 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/service/impl/ExamineUserServiceImpl.java @@ -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 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) { diff --git a/pms-business/src/main/java/tech/unissense/pms/business/projectFile/domain/ProjectFile.java b/pms-business/src/main/java/tech/unissense/pms/business/projectFile/domain/ProjectFile.java index b329ba4..e52a68c 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/projectFile/domain/ProjectFile.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/projectFile/domain/ProjectFile.java @@ -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 */ diff --git a/pms-business/src/main/java/tech/unissense/pms/business/projectFile/service/impl/ProjectFileServiceImpl.java b/pms-business/src/main/java/tech/unissense/pms/business/projectFile/service/impl/ProjectFileServiceImpl.java index 75c4a86..9eb7065 100644 --- a/pms-business/src/main/java/tech/unissense/pms/business/projectFile/service/impl/ProjectFileServiceImpl.java +++ b/pms-business/src/main/java/tech/unissense/pms/business/projectFile/service/impl/ProjectFileServiceImpl.java @@ -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 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); } + + } diff --git a/pms-business/src/main/resources/mapper/ExamineRemark/ExamineRemarkMapper.xml b/pms-business/src/main/resources/mapper/ExamineRemark/ExamineRemarkMapper.xml new file mode 100644 index 0000000..848c849 --- /dev/null +++ b/pms-business/src/main/resources/mapper/ExamineRemark/ExamineRemarkMapper.xml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + id, task_id, user_id, review_category, remark + + + + + + + + + + + + + INSERT INTO pms_examine_remark + + + task_id, + + + user_id, + + + review_category, + + + remark, + + + + + #{taskId}, + + + #{userId}, + + + #{reviewCategory}, + + + #{remark}, + + + + + insert into pms_examine_remark(task_id,user_id,review_category,remark) + values + + (#{entity.taskId}, #{entity.userId}, #{entity.reviewCategory}, #{entity.remark}) + + on duplicate key update + remark = values(remark) + + + + + UPDATE pms_examine_remark + + + task_id = #{taskId}, + + + user_id = #{userId}, + + + review_category = #{reviewCategory}, + + + remark = #{remark}, + + + WHERE id = #{id} + + + + + DELETE + FROM pms_examine_remark + WHERE id = #{id} + + + + + delete from pms_examine_remark where id in + + #{id} + + + + + + + diff --git a/pms-business/src/main/resources/mapper/business/ProjectFile/ProjectFileMapper.xml b/pms-business/src/main/resources/mapper/business/ProjectFile/ProjectFileMapper.xml index 0e4a8e9..9ef815b 100644 --- a/pms-business/src/main/resources/mapper/business/ProjectFile/ProjectFileMapper.xml +++ b/pms-business/src/main/resources/mapper/business/ProjectFile/ProjectFileMapper.xml @@ -31,6 +31,12 @@ and id = #{id} + + and id in + + #{item} + + and project_id = #{projectId} diff --git a/pms-business/src/main/resources/mapper/business/examine/ExamineConfigMapper.xml b/pms-business/src/main/resources/mapper/business/examine/ExamineConfigMapper.xml index b076575..51f95f2 100644 --- a/pms-business/src/main/resources/mapper/business/examine/ExamineConfigMapper.xml +++ b/pms-business/src/main/resources/mapper/business/examine/ExamineConfigMapper.xml @@ -111,21 +111,24 @@ and examine_task_id = #{examineTaskId} + + and template_id = #{templateId} + - 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 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 (#{entity.reviewType}, #{entity.reviewCategory}, #{entity.reviewItem}, #{entity.remarks}, #{entity.weight}, - #{entity.examineTaskId}, #{entity.sortNum}) + #{entity.examineTaskId}, #{entity.sortNum},#{entity.templateId}) diff --git a/pms-business/src/main/resources/mapper/business/examine/ExamineTemplateMapper.xml b/pms-business/src/main/resources/mapper/business/examine/ExamineTemplateMapper.xml new file mode 100644 index 0000000..27676b8 --- /dev/null +++ b/pms-business/src/main/resources/mapper/business/examine/ExamineTemplateMapper.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + id, template_name, template_type, create_by, update_by, update_time, create_time + + + + + + + + + + + + + INSERT INTO pms_examine_template + + + template_name, + + + template_type, + + + create_by, + + + update_by, + + + update_time, + + + create_time, + + + + + #{templateName}, + + + #{templateType}, + + + #{createBy}, + + + #{updateBy}, + + + #{updateTime}, + + + #{createTime}, + + + + + + + UPDATE pms_examine_template + + + template_name = #{templateName}, + + + template_type = #{templateType}, + + + create_by = #{createBy}, + + + update_by = #{updateBy}, + + + update_time = #{updateTime}, + + + create_time = #{createTime}, + + + WHERE id = #{id} + + + + + DELETE + FROM pms_examine_template + WHERE id = #{id} + + + + + delete from pms_examine_template where id in + + #{id} + + + + + + + diff --git a/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml b/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml index b3ee796..0a00535 100644 --- a/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml +++ b/pms-business/src/main/resources/mapper/business/examine/ExamineUserMapper.xml @@ -8,6 +8,7 @@ + @@ -21,6 +22,7 @@ user_id, score, judge_content, + self_judge_content, manage_score, examine_status, examine_status_self, @@ -122,29 +124,30 @@ - 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 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 - (#{entity.taskId}, #{entity.userId}, #{entity.score}, #{entity.judgeContent}, #{entity.manageScore}) + (#{entity.taskId}, #{entity.userId}, #{entity.score}, #{entity.judgeContent},#{entity.selfJudgeContent}, #{entity.manageScore}) - 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 - (#{entity.taskId}, #{entity.userId}, #{entity.score}, #{entity.judgeContent}, #{entity.manageScore}) + (#{entity.taskId}, #{entity.userId}, #{entity.score}, #{entity.judgeContent}, #{entity.selfJudgeContent}, #{entity.manageScore}) 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) @@ -164,6 +167,9 @@ judge_content = #{judgeContent}, + + self_judge_content = #{selfJudgeContent}, + manage_score = #{manageScore}, diff --git a/pms-common/src/main/java/tech/unissense/pms/common/utils/file/FileUploadUtils.java b/pms-common/src/main/java/tech/unissense/pms/common/utils/file/FileUploadUtils.java index 6d761ec..f313a1b 100644 --- a/pms-common/src/main/java/tech/unissense/pms/common/utils/file/FileUploadUtils.java +++ b/pms-common/src/main/java/tech/unissense/pms/common/utils/file/FileUploadUtils.java @@ -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