|
@@ -73,6 +73,14 @@ public class AssessmentService extends ServiceImpl<AssessmentMaterialMapper, Ass
|
|
|
@Resource
|
|
@Resource
|
|
|
private ReportMemberPermissionService reportMemberPermissionService;
|
|
private ReportMemberPermissionService reportMemberPermissionService;
|
|
|
|
|
|
|
|
|
|
+ /** SC-T-30:五维维度刷新钩子(测评录入触发五维维度变化) */
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private DimensionScoreService dimensionScoreService;
|
|
|
|
|
+
|
|
|
|
|
+ /** SC-T-07:方案生成钩子(参照 confirmUpload 的 planGenerator.generate 先例) */
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private AssessmentPlanGenerator planGenerator;
|
|
|
|
|
+
|
|
|
public AssessmentMaterial getActiveMaterial() {
|
|
public AssessmentMaterial getActiveMaterial() {
|
|
|
LambdaQueryWrapper<AssessmentMaterial> wrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<AssessmentMaterial> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.eq(AssessmentMaterial::getStatus, "active");
|
|
wrapper.eq(AssessmentMaterial::getStatus, "active");
|
|
@@ -283,6 +291,32 @@ public class AssessmentService extends ServiceImpl<AssessmentMaterialMapper, Ass
|
|
|
System.err.println("Auto-growth-record creation failed for assessment " + result.getId() + ": " + e.getMessage());
|
|
System.err.println("Auto-growth-record creation failed for assessment " + result.getId() + ": " + e.getMessage());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // SC-T-30:录入测评结果触发五维维度变化(非致命,失败不影响落库)
|
|
|
|
|
+ try {
|
|
|
|
|
+ if (dimensionScoreService != null && result.getFamilyMemberId() != null) {
|
|
|
|
|
+ dimensionScoreService.refreshFromDanAssessment(
|
|
|
|
|
+ result.getFamilyMemberId(), result.getId(), result.getDimension());
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.warn("五维维度刷新失败 resultId={}: {}", result.getId(), e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // SC-T-07:录入测评结果触发方案生成链(参照 confirmUpload 的 planGenerator.generate 先例,非致命)
|
|
|
|
|
+ try {
|
|
|
|
|
+ if (planGenerator != null) {
|
|
|
|
|
+ Long planMemberId = result.getMemberId() != null ? result.getMemberId() : result.getFamilyMemberId();
|
|
|
|
|
+ if (planMemberId != null) {
|
|
|
|
|
+ com.etotem.cfc.entity.User planUser = userMapper.selectById(planMemberId);
|
|
|
|
|
+ Long familyId = planUser != null ? planUser.getFamilyId() : null;
|
|
|
|
|
+ if (familyId != null) {
|
|
|
|
|
+ planGenerator.generate(result, familyId, planMemberId);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.warn("自动生成测评方案失败 resultId={}: {}", result.getId(), e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
|
|
|
|