诊疗下没有项目功能完善

This commit is contained in:
2026-01-26 10:10:42 +08:00
parent 1975fda73c
commit bd873f81d2
18 changed files with 382 additions and 118 deletions

View File

@@ -2,7 +2,9 @@ package com.openhis.workflow.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.core.common.core.domain.model.LoginUser;
import com.core.common.enums.DelFlag;
import com.core.common.utils.SecurityUtils;
import com.openhis.common.enums.PublicationStatus;
import com.openhis.medication.dto.AdjustPriceMedListDto;
import com.openhis.workflow.domain.ActivityDefinition;
@@ -14,6 +16,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
@@ -46,6 +49,10 @@ public class ActivityDefinitionServiceImpl extends ServiceImpl<ActivityDefinitio
if (activityDefinitions.size() > 0) {
return false;
}
// 统一补全必填字段create_by、tenant_id、create_time
setRequiredFields(activityDefinition);
// 新增诊疗项目
int insert = activityDefinitionMapper.insert(activityDefinition);
if (insert != 1) {
@@ -101,4 +108,30 @@ public class ActivityDefinitionServiceImpl extends ServiceImpl<ActivityDefinitio
DelFlag.NO.getCode());
return baseMapper.selectList(queryWrapper);
}
/**
* 设置诊疗定义对象的必需字段tenant_id、create_by、create_time确保插入时不为null
*
* @param activityDefinition 诊疗定义对象
*/
private void setRequiredFields(ActivityDefinition activityDefinition) {
String createBy = "system";
Integer tenantId = null;
try {
LoginUser loginUser = SecurityUtils.getLoginUser();
if (loginUser != null) {
createBy = loginUser.getUsername();
tenantId = loginUser.getTenantId();
}
} catch (Exception e) {
// 如果获取失败,使用默认值
}
// 强制设置确保不为null
activityDefinition.setCreateBy(createBy != null ? createBy : "system");
activityDefinition.setTenantId(tenantId != null ? tenantId : 1); // 默认租户ID为1
// 确保创建时间不为null
if (activityDefinition.getCreateTime() == null) {
activityDefinition.setCreateTime(new Date());
}
}
}