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

Open
tangweijie wants to merge 12 commits from feat/questionnaire-task-management into master-jdk17
2 changed files with 19 additions and 13 deletions
Showing only changes of commit 984b95b6ed - Show all commits

View File

@ -57,24 +57,30 @@ public interface PrisonDashboardMapper {
List<Map<String, Object>> selectRecentRemittanceDetails(@Param("prisonerId") Long prisonerId);
/**
* 查询最近6个月罪犯的奖惩记录
* 查询最近6个月罪犯的风险评估记录
*/
@Select("""
SELECT
id,
occur_date,
type,
category,
content
FROM prison_rewards_punishments
assessment_date,
assessment_type,
overall_score,
risk_level,
violence_risk,
escape_risk,
self_harm_risk,
mental_state,
recommendation,
assessor_name
FROM prison_risk
WHERE deleted = 0
AND status = 1
AND status = 3
AND prisoner_id = #{prisonerId}
AND occur_date >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH)
ORDER BY occur_date DESC
AND assessment_date >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH)
ORDER BY assessment_date DESC
LIMIT 10
""")
List<Map<String, Object>> selectRecentRewardsPunishments(@Param("prisonerId") Long prisonerId);
List<Map<String, Object>> selectRecentRiskAssessments(@Param("prisonerId") Long prisonerId);
/**
* 查询核心指标卡片数据

View File

@ -569,8 +569,8 @@ public class PrisonDashboardServiceImpl implements PrisonDashboardService {
vo.setInterviewRecords(interviewRecords);
// ==================== 构建汇款记录 ====================
// 查询最近6个月的汇款记录
List<Map<String, Object>> remittanceList = dashboardMapper.selectRecentRemittances(prisonerId);
// 查询最近6个月的汇款记录详情
List<Map<String, Object>> remittanceList = dashboardMapper.selectRecentRemittanceDetails(prisonerId);
List<PrisonerDashboardStatsRespVO.RemittanceRecord> remittanceRecords = remittanceList.stream()
.map(r -> {
Object dateObj = r.get("arrive_date");
@ -581,7 +581,7 @@ public class PrisonDashboardServiceImpl implements PrisonDashboardService {
.name(nameObj != null ? nameObj.toString() : "")
.nameColor("#67c23a")
.category("汇款")
.amount(amountObj != null ? Integer.parseInt(amountObj.toString()) : 0)
.amount(amountObj != null ? new java.math.BigDecimal(amountObj.toString()).intValue() : 0)
.build();
})
.collect(Collectors.toList());