基础数据-药品目录

This commit is contained in:
liupanting
2025-02-25 18:01:12 +08:00
parent 40d80db03e
commit 10242e6f7c
12 changed files with 732 additions and 36 deletions

View File

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity;
import com.openhis.common.enums.PublicationStatus;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -32,7 +33,7 @@ public class Medication extends HisBaseEntity {
private Long medicationDefId;
/** 药品状态 */
private Integer statusEnum;
private PublicationStatus statusEnum;
/** 所属科室 */
private Long orgId;

View File

@@ -1,13 +1,12 @@
package com.openhis.medication.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -109,9 +108,6 @@ public class MedicationDefinition extends HisBaseEntity {
/** 限制使用范围 */
private String restrictedScope;
/** 是否使用 */
private Integer activeFlag;
/** 儿童用药标志 */
private Integer childrenFlag;

View File

@@ -3,6 +3,9 @@
*/
package com.openhis.medication.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.core.common.core.domain.HisBaseEntity;
@@ -11,9 +14,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.util.Date;
/**
* 药品信息详情
*
@@ -30,7 +30,7 @@ public class MedicationDetail extends HisBaseEntity {
private Long id;
/** 药品编码 */
private Long medicationProductId;
private Long medicationDefId;
/** 药品状态 */
private Integer statusEnum;
@@ -78,7 +78,7 @@ public class MedicationDetail extends HisBaseEntity {
private String definition;
/** 药品编号 */
private Long code;
private String busNo;
/** 药品名称 */
private String name;
@@ -93,10 +93,10 @@ public class MedicationDetail extends HisBaseEntity {
private String nameEn;
/** 药品名称拼音码 */
private String pyCode;
private String pyStr;
/** 药品五笔码 */
private String wbCode;
private String wbStr;
/** 药品分类 */
private Integer categoryCode;
@@ -105,10 +105,10 @@ public class MedicationDetail extends HisBaseEntity {
private String merchandiseName;
/** 商品名称拼音码 */
private String merchandisePyCode;
private String merchandisePyStr;
/** 商品五笔码 */
private String merchandiseWbCode;
private String merchandiseWbStr;
/** 药品单位 */
private String unitCode;
@@ -135,7 +135,7 @@ public class MedicationDetail extends HisBaseEntity {
private Integer ybMatchFlag;
/** 医保编码 */
private String ybCode;
private String ybNo;
/** 药理作用分类 */
private String pharmacologyCategoryCode;

View File

@@ -2,6 +2,7 @@ package com.openhis.medication.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.openhis.medication.domain.MedicationDefinition;
import com.openhis.medication.domain.MedicationDetail;
/**
* 药品定义管理Service接口
@@ -11,4 +12,19 @@ import com.openhis.medication.domain.MedicationDefinition;
*/
public interface IMedicationDefinitionService extends IService<MedicationDefinition> {
/**
* 新增药品目录
*
* @param medicationDetail
* @return
*/
boolean addMedication(MedicationDetail medicationDetail);
/**
* 新增医保药品目录
*
* @param medicationDetail
* @return
*/
boolean addYbMedicatione(MedicationDetail medicationDetail);
}

View File

@@ -1,11 +1,11 @@
package com.openhis.medication.service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.openhis.medication.domain.Medication;
import com.openhis.medication.domain.MedicationDetail;
import java.util.List;
/**
* 药品基本信息管理Service接口
*
@@ -28,4 +28,10 @@ public interface IMedicationService extends IService<Medication> {
* @return 药品详细信息列表
*/
List<MedicationDetail> getDetailList();
// 新增药品目录
boolean addMedication(MedicationDetail medicationDetail);
// 新增医保药品目录
boolean addYbMedicatione(MedicationDetail medicationDetail);
}

View File

@@ -1,19 +1,67 @@
package com.openhis.medication.service.impl;
import org.springframework.stereotype.Service;
import java.util.List;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.core.common.utils.bean.BeanUtils;
import com.openhis.medication.domain.MedicationDefinition;
import com.openhis.medication.domain.MedicationDetail;
import com.openhis.medication.mapper.MedicationDefinitionMapper;
import com.openhis.medication.service.IMedicationDefinitionService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
/**
* 药品定义管理Service业务层处理
*
* @author system
* @date 2025-02-20
*/
@Slf4j
@Service
public class MedicationDefinitionServiceImpl extends ServiceImpl<MedicationDefinitionMapper, MedicationDefinition> implements IMedicationDefinitionService {
@AllArgsConstructor
public class MedicationDefinitionServiceImpl extends ServiceImpl<MedicationDefinitionMapper, MedicationDefinition>
implements IMedicationDefinitionService {
private final MedicationDefinitionMapper medicationDefinitionMapper;
/**
* 新增药品目录
*
* @param medicationDetail
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public boolean addMedication(MedicationDetail medicationDetail) {
MedicationDefinition medicationDefinition = new MedicationDefinition();
BeanUtils.copyProperties(medicationDetail, medicationDefinition);
// 根据药品编码判断药品是否存在
List<MedicationDefinition> medicationDefinitions =
medicationDefinitionMapper.selectList(new LambdaQueryWrapper<MedicationDefinition>()
.eq(MedicationDefinition::getBusNo, medicationDefinition.getBusNo()));
if (medicationDefinitions.size() > 0) {
return false;
}
// 新增药品目录
int insert = medicationDefinitionMapper.insert(medicationDefinition);
if (insert != 1) {
return false;
}
// 获取生成的主键值
Long generatedId = medicationDefinition.getId();
// 将生成的 ID 存储到子表中
medicationDetail.setMedicationDefId(generatedId);
return true;
}
@Override
public boolean addYbMedicatione(MedicationDetail medicationDetail) {
return false;
}
}

View File

@@ -1,17 +1,21 @@
package com.openhis.medication.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.core.common.utils.bean.BeanUtils;
import com.openhis.common.enums.DelFlag;
import com.openhis.medication.domain.Medication;
import com.openhis.medication.domain.MedicationDetail;
import com.openhis.medication.mapper.MedicationMapper;
import com.openhis.medication.service.IMedicationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
/**
* 药品基本信息管理Service业务层处理
@@ -54,4 +58,39 @@ public class MedicationServiceImpl extends ServiceImpl<MedicationMapper, Medicat
return medicationMapper.selectDetailList();
}
/**
* 新增药品目录
*
* @param medicationDetail
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public boolean addMedication(MedicationDetail medicationDetail) {
Medication medication = new Medication();
BeanUtils.copyProperties(medicationDetail, medication);
// 根据药品编码判断药品是否存在
List<Medication> medications = medicationMapper.selectList(
new LambdaQueryWrapper<Medication>().eq(Medication::getMedicationDefId, medication.getMedicationDefId()));
if (medications.size() > 0) {
return false;
}
// 新增药品目录
int insert = medicationMapper.insert(medication);
if (insert != 1) {
return false;
}
return true;
}
/**
* 新增药品目录
*
* @param medicationDetail
* @return
*/
@Override
public boolean addYbMedicatione(MedicationDetail medicationDetail) {
return false;
}
}