提交merge1.3

This commit is contained in:
2025-12-27 15:31:06 +08:00
parent cbd3e7f981
commit 79ea4ed4f7
148 changed files with 6722 additions and 10861 deletions

View File

@@ -24,149 +24,245 @@ import lombok.experimental.Accessors;
@EqualsAndHashCode(callSuper = false)
public class MedicationDefinition extends HisBaseEntity {
/** ID */
/**
* ID
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 药品编号 */
/**
* 药品编号
*/
private String busNo;
/** 药品名称 */
/**
* 药品名称
*/
private String name;
/** 适用范围 */
/**
* 适用范围
*/
private Integer domainEnum;
/** 药品版本 */
/**
* 药品版本
*/
private String version;
/** 英文药名 */
/**
* 英文药名
*/
private String nameEn;
/** 药品名称拼音码 */
/**
* 药品名称拼音码
*/
private String pyStr;
/** 药品五笔码 */
/**
* 药品五笔码
*/
private String wbStr;
/** 药品分类 */
/**
* 药品分类
*/
private String categoryCode;
/** 商品名称 */
/**
* 商品名称
*/
private String merchandiseName;
/** 商品名称拼音码 */
/**
* 商品名称拼音码
*/
private String merchandisePyStr;
/** 商品五笔码 */
/**
* 商品五笔码
*/
private String merchandiseWbStr;
/** 药品单位 */
/**
* 药品单位
*/
private String unitCode;
/** 最小单位 */
/**
* 最小单位
*/
private String minUnitCode;
/** 所含耗材 */
/**
* 所含耗材
*/
private String comprisedText;
/** 成分 */
/**
* 成分
*/
private String ingredient;
/** 拆零比 */
/**
* 拆零比
*/
private BigDecimal partPercent;
/** 剂量形式 */
/**
* 剂量形式
*/
private Integer doseFrom;
/** 批准文号 */
/**
* 批准文号
*/
private String approvalNumber;
/** 医保是否对码 */
/**
* 医保是否对码
*/
private Integer ybMatchFlag;
/** 医保编码 */
/**
* 医保编码
*/
private String ybNo;
/** 药理作用分类 */
/**
* 药理作用分类
*/
private String pharmacologyCategoryCode;
/** 是否皮试 */
/**
* 是否皮试
*/
private Integer skinTestFlag;
/** 是否为注射药物 */
/**
* 是否为注射药物
*/
private Integer injectFlag;
/** 生产厂家 */
/**
* 生产厂家
*/
private Long manufacturerId;
/** 生产厂商文本 */
/**
* 生产厂商文本
*/
private String manufacturerText;
/** 供应商 */
/**
* 供应商
*/
private Long supplyId;
/** 是否限制使用 */
/**
* 是否限制使用
*/
private Integer restrictedFlag;
/** 限制使用范围 */
/**
* 限制使用范围
*/
private String restrictedScope;
/** 是否使用 */
/**
* 是否使用
*/
private Integer activeFlag;
/** 儿童用药标志 */
/**
* 儿童用药标志
*/
private Integer childrenFlag;
/** 产品特性 */
/**
* 产品特性
*/
private Integer characteristic;
/** 删除状态 */
/**
* 删除状态
*/
private String deleteFlag;
/** 最小库存警戒数量(常规单位) */
/**
* 最小库存警戒数量(常规单位)
*/
private BigDecimal itemMinQuantity;
/** 最大库存警戒数量(常规单位) */
/**
* 最大库存警戒数量(常规单位)
*/
private BigDecimal itemMaxQuantity;
/** 默认门诊单位 */
/**
* 默认门诊单位
*/
private String defEncounterUnitCode;
/** 默认住院单位 */
/**
* 默认住院单位
*/
private String defInhospitalUnitCode;
/** 贯标国家编码 */
/**
* 贯标国家编码
*/
private String nationalDrugCode;
/** 拆分属性 */
/**
* 拆分属性
*/
private Integer partAttributeEnum;
/** 抗生素分类 */
/**
* 抗生素分类
*/
private String antibioticCode;
/** 权限限制 */
/**
* 权限限制
*/
private Integer restrictedEnum;
/** 是否自制 */
/**
* 是否自制
*/
private Integer selfFlag;
/** 是否抗生素 */
/**
* 是否抗生素
*/
private Integer antibioticFlag;
/** 基药标识 */
/**
* 基药标识
*/
private Integer basicFlag;
/** 住院临时医嘱拆分属性 */
/**
* 住院临时医嘱拆分属性
*/
private Integer thoPartAttributeEnum;
/** 剂量单位换算比 */
/**
* 剂量单位换算比
*/
private BigDecimal unitConversionRatio;
/** 医保等级 */
/**
* 医保等级
*/
private Integer chrgitmLv;
/** 处方标志 */
/**
* 处方标志
*/
private Integer rxFlag;
/**
@@ -174,13 +270,10 @@ public class MedicationDefinition extends HisBaseEntity {
*/
private String dosageInstruction;
<<<<<<< HEAD
=======
/**
* 药品69码
*/
@TableField("drug_69_code")
private String drug69Code;
>>>>>>> v1.3
}
}

View File

@@ -25,192 +25,324 @@ import lombok.experimental.Accessors;
@EqualsAndHashCode(callSuper = false)
public class MedicationDetail extends HisBaseEntity {
/** ID */
/**
* ID
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 药品编码 */
/**
* 药品编码
*/
private Long medicationDefId;
/** 药品状态 */
/**
* 药品状态
*/
private Integer statusEnum;
/** 所属科室 */
/**
* 所属科室
*/
private Long orgId;
/** 剂型 */
/**
* 剂型
*/
private String doseFormCode;
/** 规格 */
/**
* 规格
*/
private String totalVolume;
/** 成分 */
/**
* 成分
*/
private String ingredientItem;
/** 是否为活性 */
/**
* 是否为活性
*/
private Integer activeFlag;
/** 批次号 */
/**
* 批次号
*/
private String lotNumber;
/** 生效日期 */
/**
* 生效日期
*/
private Date effectiveDate;
/** 到期日期 */
/**
* 到期日期
*/
private Date expirationDate;
/** 用法 */
/**
* 用法
*/
private String methodCode;
/** 用药频次 */
/**
* 用药频次
*/
private String rateCode;
/** 单次剂量 */
/**
* 单次剂量
*/
private BigDecimal dose;
/** 剂量单位 */
/**
* 剂量单位
*/
private String doseUnitCode;
/** 单次最大剂量 */
/**
* 单次最大剂量
*/
private BigDecimal maxUnit;
/** 药品定义 */
/**
* 药品定义
*/
private String definition;
/** 药品编号 */
/**
* 药品编号
*/
private String busNo;
/** 药品名称 */
/**
* 药品名称
*/
private String name;
/** 适用范围 */
/**
* 适用范围
*/
private Integer domainEnum;
/** 药品版本 */
/**
* 药品版本
*/
private String version;
/** 英文药名 */
/**
* 英文药名
*/
private String nameEn;
/** 药品名称拼音码 */
/**
* 药品名称拼音码
*/
private String pyStr;
/** 药品五笔码 */
/**
* 药品五笔码
*/
private String wbStr;
/** 药品分类 */
/**
* 药品分类
*/
private String categoryCode;
/** 商品名称 */
/**
* 商品名称
*/
private String merchandiseName;
/** 商品名称拼音码 */
/**
* 商品名称拼音码
*/
private String merchandisePyStr;
/** 商品五笔码 */
/**
* 商品五笔码
*/
private String merchandiseWbStr;
/** 药品单位 */
/**
* 药品单位
*/
private String unitCode;
/** 最小单位 */
/**
* 最小单位
*/
private String minUnitCode;
/** 所含耗材 */
/**
* 所含耗材
*/
private String comprisedText;
/** 成分 */
/**
* 成分
*/
private String ingredient;
/** 拆零比 */
/**
* 拆零比
*/
private BigDecimal partPercent;
/** 剂量形式 */
/**
* 剂量形式
*/
private Integer doseFrom;
/** 批准文号 */
/**
* 批准文号
*/
private String approvalNumber;
/** 医保是否对码 */
/**
* 医保是否对码
*/
private Integer ybMatchFlag;
/** 医保编码 */
/**
* 医保编码
*/
private String ybNo;
/** 药理作用分类 */
/**
* 药理作用分类
*/
private String pharmacologyCategoryCode;
/** 是否皮试 */
/**
* 是否皮试
*/
private Integer skinTestFlag;
/** 是否为注射药物 */
/**
* 是否为注射药物
*/
private Integer injectFlag;
/** 生产厂家 */
/**
* 生产厂家
*/
private Long manufacturerId;
/** 供应商 */
/**
* 供应商
*/
private Long supplyId;
/** 是否限制使用 */
/**
* 是否限制使用
*/
private Integer restrictedFlag;
/** 限制使用范围 */
/**
* 限制使用范围
*/
private String restrictedScope;
/** 儿童用药标志 */
/**
* 儿童用药标志
*/
private Integer childrenFlag;
/** 产品特性 */
/**
* 产品特性
*/
private Integer characteristic;
/** 所在位置 */
/**
* 所在位置
*/
private Long locationId;
/** 贯标国家编码 */
/**
* 贯标国家编码
*/
private String nationalDrugCode;
/** 拆分属性 */
/**
* 拆分属性
*/
private Integer partAttributeEnum;
/** DDD值 */
/**
* DDD值
*/
private String dddCode;
/** DDD单位 */
/**
* DDD单位
*/
private String dddUnitCode;
/** 单次最小用药频次 */
/**
* 单次最小用药频次
*/
private String minRateCode;
/** 单次最大用药频次 */
/**
* 单次最大用药频次
*/
private String maxRateCode;
/** 抗生素分类 */
/**
* 抗生素分类
*/
private String antibioticCode;
/** 权限限制 */
/**
* 权限限制
*/
private Integer restrictedEnum;
/** 是否自制 */
/**
* 是否自制
*/
private Integer selfFlag;
/** 是否抗生素 */
/**
* 是否抗生素
*/
private Integer antibioticFlag;
/** 基药标识 */
/**
* 基药标识
*/
private Integer basicFlag;
/** 生产厂商文本 */
/**
* 生产厂商文本
*/
private String manufacturerText;
/** 用量限定 */
/**
* 用量限定
*/
private BigDecimal usageLimit;
/** 住院临时医嘱拆分属性 */
/**
* 住院临时医嘱拆分属性
*/
private Integer thoPartAttributeEnum;
/** 剂量单位换算比 */
/**
* 剂量单位换算比
*/
private BigDecimal unitConversionRatio;
/** 医保等级 */
/**
* 医保等级
*/
private Integer chrgitmLv;
/** 处方标志 */
/**
* 处方标志
*/
private Integer rxFlag;
/** 最小库存警戒数量(常规单位) */
/**
* 最小库存警戒数量(常规单位)
*/
private BigDecimal itemMinQuantity;
/** 最大库存警戒数量(常规单位) */
/**
* 最大库存警戒数量(常规单位)
*/
private BigDecimal itemMaxQuantity;
/**
@@ -218,12 +350,9 @@ public class MedicationDetail extends HisBaseEntity {
*/
private String dosageInstruction;
<<<<<<< HEAD
=======
/**
* 药品69码
*/
private String drug69Code;
>>>>>>> v1.3
}

View File

@@ -32,7 +32,7 @@ import com.openhis.medication.service.IMedicationDispenseService;
*/
@Service
public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispenseMapper, MedicationDispense>
implements IMedicationDispenseService {
implements IMedicationDispenseService {
@Resource
AssignSeqUtil assignSeqUtil;
@@ -97,14 +97,6 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
// 设置限制发药时间
medicationDispense.setLimitTime(limitTime);
<<<<<<< HEAD
if (DbOpType.INSERT.getCode().equals(dbOpType)) {
baseMapper.insert(medicationDispense);
} else if (DbOpType.UPDATE.getCode().equals(dbOpType)) {
baseMapper.update(medicationDispense, new LambdaUpdateWrapper<MedicationDispense>()
.eq(MedicationDispense::getMedReqId, medicationRequest.getId()));
}
=======
baseMapper.insert(medicationDispense);
// if (DbOpType.INSERT.getCode().equals(dbOpType)) {
@@ -113,8 +105,6 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
// baseMapper.update(medicationDispense, new LambdaUpdateWrapper<MedicationDispense>()
// .eq(MedicationDispense::getMedReqId, medicationRequest.getId()));
// }
>>>>>>> v1.3
return medicationDispense.getId();
}
@@ -128,7 +118,7 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
*/
@Override
public Long generateMedicationDispense(MedicationRequest medicationRequest, Long procedureId,
Date plannedDispenseTime) {
Date plannedDispenseTime) {
MedicationDispense medicationDispense = new MedicationDispense();
// 执行id
medicationDispense.setProcedureId(procedureId);
@@ -207,8 +197,8 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
@Override
public void updateStopDispenseStatus(List<Long> medDisIdList, Integer refund) {
baseMapper.update(
new MedicationDispense().setStatusEnum(DispenseStatus.STOPPED.getValue()).setNotPerformedReasonEnum(refund),
new LambdaUpdateWrapper<MedicationDispense>().in(MedicationDispense::getId, medDisIdList));
new MedicationDispense().setStatusEnum(DispenseStatus.STOPPED.getValue()).setNotPerformedReasonEnum(refund),
new LambdaUpdateWrapper<MedicationDispense>().in(MedicationDispense::getId, medDisIdList));
}
/**
@@ -219,10 +209,10 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
@Override
public void updatePreparationDispenseStatus(List<Long> medicationRequestIdList) {
baseMapper.update(null,
new LambdaUpdateWrapper<MedicationDispense>()
.set(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue())
.set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate())
.in(MedicationDispense::getMedReqId, medicationRequestIdList));
new LambdaUpdateWrapper<MedicationDispense>()
.set(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue())
.set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate())
.in(MedicationDispense::getMedReqId, medicationRequestIdList));
}
/**
@@ -233,10 +223,10 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
@Override
public void updateOnHoldDispenseStatus(List<Long> medReqIdList) {
baseMapper.update(null,
new LambdaUpdateWrapper<MedicationDispense>()
.set(MedicationDispense::getStatusEnum, DispenseStatus.ON_HOLD.getValue())
.set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate())
.in(MedicationDispense::getMedReqId, medReqIdList));
new LambdaUpdateWrapper<MedicationDispense>()
.set(MedicationDispense::getStatusEnum, DispenseStatus.ON_HOLD.getValue())
.set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate())
.in(MedicationDispense::getMedReqId, medReqIdList));
}
/**
@@ -248,10 +238,10 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
@Override
public boolean verifyAbleEdit(Long medicationDefId) {
return baseMapper.exists(
new LambdaQueryWrapper<MedicationDispense>().eq(MedicationDispense::getMedicationId, medicationDefId)
.and(q -> q.eq(MedicationDispense::getStatusEnum, DispenseStatus.COMPLETED.getValue()).or()
.eq(MedicationDispense::getStatusEnum, DispenseStatus.REFUNDED.getValue()))
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
new LambdaQueryWrapper<MedicationDispense>().eq(MedicationDispense::getMedicationId, medicationDefId)
.and(q -> q.eq(MedicationDispense::getStatusEnum, DispenseStatus.COMPLETED.getValue()).or()
.eq(MedicationDispense::getStatusEnum, DispenseStatus.REFUNDED.getValue()))
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
}
/**
@@ -263,8 +253,8 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
@Override
public List<MedicationDispense> selectByRequestIdList(List<Long> requestIdList) {
return baseMapper
.selectList(new LambdaQueryWrapper<MedicationDispense>().in(MedicationDispense::getMedReqId, requestIdList)
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
.selectList(new LambdaQueryWrapper<MedicationDispense>().in(MedicationDispense::getMedReqId, requestIdList)
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
}
/**
@@ -275,11 +265,11 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
@Override
public void updateDispenseStatusSummarized(List<Long> medDispenseId, String busNo) {
baseMapper.update(null,
new LambdaUpdateWrapper<MedicationDispense>()
.set(MedicationDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue())
.set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate())
.set(MedicationDispense::getSummaryNo, busNo).in(MedicationDispense::getId, medDispenseId)
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
new LambdaUpdateWrapper<MedicationDispense>()
.set(MedicationDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue())
.set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate())
.set(MedicationDispense::getSummaryNo, busNo).in(MedicationDispense::getId, medDispenseId)
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
}
/**
@@ -291,8 +281,8 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
@Override
public List<MedicationDispense> getMedDispenseByProcedureId(List<Long> procedureIdList) {
return baseMapper.selectList(
new LambdaQueryWrapper<MedicationDispense>().in(MedicationDispense::getProcedureId, procedureIdList)
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
new LambdaQueryWrapper<MedicationDispense>().in(MedicationDispense::getProcedureId, procedureIdList)
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
}
/**
@@ -304,10 +294,10 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
@Override
public boolean cancelMedicationSummary(List<String> summaryNoList) {
int result = baseMapper.update(null,
new LambdaUpdateWrapper<MedicationDispense>()
.set(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue())
.set(MedicationDispense::getSummaryNo, null).in(MedicationDispense::getSummaryNo, summaryNoList)
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
new LambdaUpdateWrapper<MedicationDispense>()
.set(MedicationDispense::getStatusEnum, DispenseStatus.PREPARATION.getValue())
.set(MedicationDispense::getSummaryNo, null).in(MedicationDispense::getSummaryNo, summaryNoList)
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
return result > 0;
}
@@ -320,10 +310,10 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
@Override
public void updateDispenseStatus(List<Long> dispenseIdList, Integer dispenseStatus) {
baseMapper.update(null,
new LambdaUpdateWrapper<MedicationDispense>().set(MedicationDispense::getStatusEnum, dispenseStatus)
.set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate())
.in(MedicationDispense::getId, dispenseIdList)
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
new LambdaUpdateWrapper<MedicationDispense>().set(MedicationDispense::getStatusEnum, dispenseStatus)
.set(MedicationDispense::getStatusChangedTime, DateUtils.getNowDate())
.in(MedicationDispense::getId, dispenseIdList)
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
}
/**
@@ -335,12 +325,8 @@ public class MedicationDispenseServiceImpl extends ServiceImpl<MedicationDispens
@Override
public List<MedicationDispense> getMedDispenseBySummaryNo(List<String> summaryNoList) {
return baseMapper
.selectList(new LambdaQueryWrapper<MedicationDispense>().in(MedicationDispense::getSummaryNo, summaryNoList)
<<<<<<< HEAD
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode()));
=======
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())
.eq(MedicationDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue()));
>>>>>>> v1.3
.selectList(new LambdaQueryWrapper<MedicationDispense>().in(MedicationDispense::getSummaryNo, summaryNoList)
.eq(MedicationDispense::getDeleteFlag, DelFlag.NO.getCode())
.eq(MedicationDispense::getStatusEnum, DispenseStatus.SUMMARIZED.getValue()));
}
}
}

View File

@@ -2,11 +2,6 @@ package com.openhis.medication.service.impl;
import java.util.List;
<<<<<<< HEAD
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
=======
>>>>>>> v1.3
import com.openhis.medication.dto.AdjustPriceMedListDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -49,7 +44,7 @@ public class MedicationServiceImpl extends ServiceImpl<MedicationMapper, Medicat
if (!medicationIdList.isEmpty()) {
// 查询药品相关信息列表并返回
return baseMapper.selectList(new LambdaQueryWrapper<Medication>()
.eq(Medication::getDeleteFlag, DelFlag.NO.getCode()).in(Medication::getId, medicationIdList));
.eq(Medication::getDeleteFlag, DelFlag.NO.getCode()).in(Medication::getId, medicationIdList));
}
return null;
}
@@ -77,7 +72,7 @@ public class MedicationServiceImpl extends ServiceImpl<MedicationMapper, Medicat
BeanUtils.copyProperties(medicationDetail, medication);
// 根据药品编码判断药品是否存在
List<Medication> medications = medicationMapper.selectList(
new LambdaQueryWrapper<Medication>().eq(Medication::getMedicationDefId, medication.getMedicationDefId()));
new LambdaQueryWrapper<Medication>().eq(Medication::getMedicationDefId, medication.getMedicationDefId()));
if (!medications.isEmpty()) {
return false;
}
@@ -93,4 +88,4 @@ public class MedicationServiceImpl extends ServiceImpl<MedicationMapper, Medicat
public List<AdjustPriceMedListDto> searchMedListByKeyWord(String keyWord) {
return this.medicationMapper.searchMedListByKeyWord(keyWord);
}
}
}