fix(prison): 修复评估报告日期和映射构建问题 #6

Open
tangweijie wants to merge 12 commits from feat/questionnaire-task-management into master-jdk17
3 changed files with 46 additions and 1 deletions
Showing only changes of commit 9ceed8408a - Show all commits

View File

@ -39,6 +39,9 @@ public class PrisonQuestionnaireRecordController {
@Resource
private QuestionnaireRecordService questionnaireRecordService;
@Resource
private cn.iocoder.yudao.module.prison.dal.mysql.questionnaire_task.QuestionnaireTaskMapper questionnaireTaskMapper;
// ==================== 基础 CRUD ====================
@PostMapping("/create")
@ -87,7 +90,42 @@ public class PrisonQuestionnaireRecordController {
@PreAuthorize("@ss.hasPermission('prison:questionnaire-record:query')")
public CommonResult<PageResult<QuestionnaireRecordRespVO>> getQuestionnaireRecordPage(@Valid QuestionnaireRecordPageReqVO pageReqVO) {
PageResult<QuestionnaireRecordDO> pageResult = questionnaireRecordService.getQuestionnaireRecordPage(pageReqVO);
return success(QuestionnaireRecordConvert.INSTANCE.convertPage(pageResult));
PageResult<QuestionnaireRecordRespVO> voPageResult = QuestionnaireRecordConvert.INSTANCE.convertPage(pageResult);
// 填充任务备注
fillTaskRemark(voPageResult.getList());
return success(voPageResult);
}
/**
* 填充任务备注
*/
private void fillTaskRemark(List<QuestionnaireRecordRespVO> records) {
if (cn.hutool.core.collection.CollUtil.isEmpty(records)) {
return;
}
// 收集所有 taskId
Set<Long> taskIds = records.stream()
.map(QuestionnaireRecordRespVO::getTaskId)
.filter(Objects::nonNull)
.collect(Collectors.toSet());
if (cn.hutool.core.collection.CollUtil.isEmpty(taskIds)) {
return;
}
// 批量查询任务备注
List<cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire_task.QuestionnaireTaskDO> tasks = questionnaireTaskMapper.selectList(
new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire_task.QuestionnaireTaskDO>()
.in(cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire_task.QuestionnaireTaskDO::getId, taskIds));
// 构建 taskId -> remark 映射
Map<Long, String> taskRemarkMap = tasks.stream()
.collect(Collectors.toMap(
cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire_task.QuestionnaireTaskDO::getId,
cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire_task.QuestionnaireTaskDO::getRemark,
(v1, v2) -> v1));
// 填充备注到 VO
for (QuestionnaireRecordRespVO record : records) {
String remark = taskRemarkMap.get(record.getTaskId());
record.setTaskRemark(remark);
}
}
@GetMapping("/export-excel")

View File

@ -132,6 +132,10 @@ public class QuestionnaireRecordRespVO {
@Schema(description = "备注")
private String remark;
@Schema(description = "任务备注", example = "一月度常规心理测评")
@ExcelProperty("任务备注")
private String taskRemark;
// ==================== 通用字段 ====================
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)

View File

@ -49,6 +49,9 @@ public class QuestionnaireRecordServiceImpl implements QuestionnaireRecordServic
@Resource
private AnswerService answerService;
@Resource
private cn.iocoder.yudao.module.prison.dal.mysql.questionnaire_task.QuestionnaireTaskMapper questionnaireTaskMapper;
@Override
public Long createQuestionnaireRecord(QuestionnaireRecordSaveReqVO createReqVO) {
// 插入