311 检验项目设置-》检验项目:【新增】一条检验项目系统自动在《诊疗目录》增加一条检验收费项目
312检验项目设置-套餐设置:折扣%字段换算公式错误 319 住院管理》-住院医生站》-住院医生站保存患者诊断时报错
This commit is contained in:
@@ -55,7 +55,10 @@ public class InspectionPackageDetail {
|
||||
/** 单位 */
|
||||
private String unit;
|
||||
|
||||
/** 单价 */
|
||||
/** 原始单价(未折扣前的价格,用于折扣变更时恢复原价) */
|
||||
private BigDecimal originalPrice;
|
||||
|
||||
/** 单价(折后单价 = 原始单价 × 折扣比例) */
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
/** 金额 */
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
package com.openhis.lab.domain;
|
||||
|
||||
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.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 检验项目定义实体(独立表 lab_activity_definition,不依赖 wor_activity_definition)
|
||||
*/
|
||||
@Data
|
||||
@TableName("lab_activity_definition")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class LabActivityDefinition extends HisBaseEntity {
|
||||
|
||||
/** 主键ID */
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
/** 目录类别 */
|
||||
private String categoryCode;
|
||||
|
||||
/** 编码 */
|
||||
private String busNo;
|
||||
|
||||
/** 项目名称 */
|
||||
private String name;
|
||||
|
||||
/** 项目名称拼音 */
|
||||
private String pyStr;
|
||||
|
||||
/** 五笔拼音 */
|
||||
private String wbStr;
|
||||
|
||||
/** 类型 */
|
||||
private Integer typeEnum;
|
||||
|
||||
/** 使用单位 */
|
||||
private String permittedUnitCode;
|
||||
|
||||
/** 所属科室 */
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long orgId;
|
||||
|
||||
/** 所在位置 */
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long locationId;
|
||||
|
||||
/** 医保标记 */
|
||||
private Integer ybFlag;
|
||||
|
||||
/** 医保编码 */
|
||||
private String ybNo;
|
||||
|
||||
/** 医保对码标记 */
|
||||
private Integer ybMatchFlag;
|
||||
|
||||
/** 状态 */
|
||||
private Integer statusEnum;
|
||||
|
||||
/** 身体部位 */
|
||||
private String bodySiteCode;
|
||||
|
||||
/** 所需标本 */
|
||||
private String specimenCode;
|
||||
|
||||
/** 说明 */
|
||||
private String descriptionText;
|
||||
|
||||
/** 规则id */
|
||||
private Integer ruleId;
|
||||
|
||||
/** 医保等级 */
|
||||
private Integer chrgitmLv;
|
||||
|
||||
/** 子项json */
|
||||
private String childrenJson;
|
||||
|
||||
/** 划价标记 */
|
||||
private Integer pricingFlag;
|
||||
|
||||
/** 序号 */
|
||||
private Integer sortOrder;
|
||||
|
||||
/** 服务范围 */
|
||||
private String serviceRange;
|
||||
|
||||
/** 检验类型ID(关联 inspection_type 大类,逻辑关联无外键) */
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long inspectionTypeId;
|
||||
|
||||
/** 费用套餐ID(关联 inspection_basic_information,逻辑关联无外键) */
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long feePackageId;
|
||||
|
||||
/** 下级医技类型ID(关联 inspection_type 子类,逻辑关联无外键) */
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long subItemId;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.openhis.lab.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.openhis.lab.domain.LabActivityDefinition;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* 检验项目定义 Mapper 接口
|
||||
*/
|
||||
@Repository
|
||||
public interface LabActivityDefinitionMapper extends BaseMapper<LabActivityDefinition> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.openhis.lab.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.openhis.lab.domain.LabActivityDefinition;
|
||||
|
||||
/**
|
||||
* 检验项目定义 Service 接口
|
||||
*/
|
||||
public interface ILabActivityDefinitionService extends IService<LabActivityDefinition> {
|
||||
|
||||
/**
|
||||
* 新增检验项目
|
||||
*
|
||||
* @param labActivityDefinition 检验项目实体
|
||||
* @return 是否成功
|
||||
*/
|
||||
boolean addLabActivityDefinition(LabActivityDefinition labActivityDefinition);
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.openhis.lab.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.core.common.utils.SecurityUtils;
|
||||
import com.core.common.core.domain.model.LoginUser;
|
||||
import com.openhis.lab.domain.LabActivityDefinition;
|
||||
import com.openhis.lab.mapper.LabActivityDefinitionMapper;
|
||||
import com.openhis.lab.service.ILabActivityDefinitionService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 检验项目定义 Service 实现类
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class LabActivityDefinitionServiceImpl
|
||||
extends ServiceImpl<LabActivityDefinitionMapper, LabActivityDefinition>
|
||||
implements ILabActivityDefinitionService {
|
||||
|
||||
/**
|
||||
* 新增检验项目(检查编码唯一性)
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean addLabActivityDefinition(LabActivityDefinition labActivityDefinition) {
|
||||
// 根据编码判断是否已存在
|
||||
List<LabActivityDefinition> existing = baseMapper.selectList(
|
||||
new LambdaQueryWrapper<LabActivityDefinition>()
|
||||
.eq(LabActivityDefinition::getBusNo, labActivityDefinition.getBusNo()));
|
||||
if (!existing.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
setRequiredFields(labActivityDefinition);
|
||||
return baseMapper.insert(labActivityDefinition) == 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 补全必填字段(create_by、tenant_id、create_time)
|
||||
*/
|
||||
private void setRequiredFields(LabActivityDefinition entity) {
|
||||
String createBy = "system";
|
||||
Integer tenantId = 1;
|
||||
try {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
if (loginUser != null) {
|
||||
createBy = loginUser.getUsername();
|
||||
tenantId = loginUser.getTenantId() != null ? loginUser.getTenantId() : 1;
|
||||
}
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
entity.setCreateBy(createBy);
|
||||
entity.setTenantId(tenantId);
|
||||
if (entity.getCreateTime() == null) {
|
||||
entity.setCreateTime(new Date());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.lab.mapper.LabActivityDefinitionMapper">
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user