diff --git a/openhis-server/core-common/src/main/java/com/core/common/biz/HisBaseMapper.java b/openhis-server/core-common/src/main/java/com/core/common/biz/HisBaseMapper.java deleted file mode 100644 index 0522ea48..00000000 --- a/openhis-server/core-common/src/main/java/com/core/common/biz/HisBaseMapper.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.core.common.biz; - -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.toolkit.Constants; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Update; -import org.springframework.core.annotation.AnnotationUtils; - -import java.util.List; - -public interface HisBaseMapper extends BaseMapper { - - /** - * 根据ID逻辑删除单条记录 - */ - default int logicalDelById(Long id) { - String tableName = getTableName(); - return logicalDelById(tableName, id); - } - - /** - * 根据ID列表批量逻辑删除记录 - */ - default int logicalDelByIds(List ids) { - String tableName = getTableName(); - return logicalDelByIds(tableName, ids); - } - - /** - * 根据 UpdateWrapper 逻辑删除记录 - */ - default int logicalDelByWrapper(LambdaUpdateWrapper updateWrapper) { - String tableName = getTableName(); - return logicalDelByWrapper(updateWrapper, tableName); - } - - @Update("UPDATE ${tableName} SET delete_flag = 1 WHERE id = #{id}") - int logicalDelById(@Param("tableName") String tableName, @Param("id") Long id); - - @Update({ - "" - }) - int logicalDelByIds(@Param("tableName") String tableName, @Param("ids") List ids); - - @Update("UPDATE ${tableName} SET delete_flag = 1 ${ew.customSqlSegment}") - int logicalDelByWrapper(@Param(Constants.WRAPPER) LambdaUpdateWrapper updateWrapper, @Param("tableName") String tableName); - - /** - * 获取表名 - */ - default String getTableName() { - TableName tableNameAnnotation = AnnotationUtils.findAnnotation(this.getClass(), TableName.class); - if (tableNameAnnotation == null) { - throw new RuntimeException("Table name annotation not found on Mapper interface"); - } - return tableNameAnnotation.value(); - } - -} diff --git a/openhis-server/core-common/src/main/java/com/core/common/biz/HisBaseService.java b/openhis-server/core-common/src/main/java/com/core/common/biz/HisBaseService.java deleted file mode 100644 index 86efb579..00000000 --- a/openhis-server/core-common/src/main/java/com/core/common/biz/HisBaseService.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.core.common.biz; - -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.extension.service.IService; - -import java.util.List; - -public interface HisBaseService extends IService { - - /** - * 根据ID逻辑删除单条记录 - * - * @param id 主键ID - * @return 是否成功 - */ - boolean logicalDelById(Long id); - - /** - * 根据ID列表批量逻辑删除记录 - * - * @param ids 主键ID列表 - * @return 是否成功 - */ - boolean logicalDelByIds(List ids); - - /** - * 根据条件逻辑删除记录 - * - * @param updateWrapper 更新条件(Lambda形式) - * @return 是否成功 - */ - boolean logicalDelByWrapper(LambdaUpdateWrapper updateWrapper); -} \ No newline at end of file diff --git a/openhis-server/core-common/src/main/java/com/core/common/biz/HisBaseServiceImpl.java b/openhis-server/core-common/src/main/java/com/core/common/biz/HisBaseServiceImpl.java deleted file mode 100644 index 7b4a1ce0..00000000 --- a/openhis-server/core-common/src/main/java/com/core/common/biz/HisBaseServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.core.common.biz; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -import java.util.List; - -public class HisBaseServiceImpl, T> extends ServiceImpl implements HisBaseService { - - @Override - public boolean logicalDelById(Long id) { - return ((HisBaseMapper) baseMapper).logicalDelById(id) > 0; - } - - @Override - public boolean logicalDelByIds(List ids) { - return ((HisBaseMapper) baseMapper).logicalDelByIds(ids) > 0; - } - - @Override - public boolean logicalDelByWrapper(LambdaUpdateWrapper updateWrapper) { - return ((HisBaseMapper) baseMapper).logicalDelByWrapper(updateWrapper) > 0; - } -} diff --git a/openhis-server/core-common/src/main/java/com/core/common/core/domain/HisBaseEntity.java b/openhis-server/core-common/src/main/java/com/core/common/core/domain/HisBaseEntity.java index 3caca9c0..d6d16901 100644 --- a/openhis-server/core-common/src/main/java/com/core/common/core/domain/HisBaseEntity.java +++ b/openhis-server/core-common/src/main/java/com/core/common/core/domain/HisBaseEntity.java @@ -6,6 +6,7 @@ import java.util.Date; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -38,9 +39,11 @@ public class HisBaseEntity implements Serializable { private Date updateTime; /** 租户ID */ + @TableField(fill = FieldFill.INSERT) private Integer tenantId; /** 删除标识 */ - private Integer deleteFlag; + @TableLogic(value = "0", delval = "1") // 0 为未删除,1 为删除 + private String deleteFlag; } diff --git a/openhis-server/core-common/src/main/java/com/core/common/core/domain/model/LoginUser.java b/openhis-server/core-common/src/main/java/com/core/common/core/domain/model/LoginUser.java index 72c2b3a3..22206453 100644 --- a/openhis-server/core-common/src/main/java/com/core/common/core/domain/model/LoginUser.java +++ b/openhis-server/core-common/src/main/java/com/core/common/core/domain/model/LoginUser.java @@ -3,6 +3,7 @@ package com.core.common.core.domain.model; import java.util.Collection; import java.util.Set; +import lombok.Data; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; @@ -14,6 +15,7 @@ import com.core.common.core.domain.entity.SysUser; * * @author system */ +@Data public class LoginUser implements UserDetails { private static final long serialVersionUID = 1L; @@ -67,6 +69,9 @@ public class LoginUser implements UserDetails { */ private Set permissions; + /** 租户ID */ + private Integer tenantId; + /** * 用户信息 */ diff --git a/openhis-server/core-common/src/main/java/com/core/common/enums/DefinitionTypeEnum.java b/openhis-server/core-common/src/main/java/com/core/common/enums/DefinitionTypeEnum.java new file mode 100644 index 00000000..9fa51072 --- /dev/null +++ b/openhis-server/core-common/src/main/java/com/core/common/enums/DefinitionTypeEnum.java @@ -0,0 +1,42 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.core.common.enums; + +/** + * 定价类型 + * + * @author zxy + * @date 2025-02-21 + */ +public enum DefinitionTypeEnum { + + /** + * 药品 + */ + MEDICATION("1", "药品"), + /** + * 耗材 + */ + DEVICE("2", "耗材"), + /** + * 手术 + */ + ACTIVITY("3", "手术"); + + private final String code; + private final String info; + + DefinitionTypeEnum(String code, String info) { + this.code = code; + this.info = info; + } + + public String getCode() { + return code; + } + + public String getInfo() { + return info; + } +} \ No newline at end of file diff --git a/openhis-server/core-framework/src/main/java/com/core/framework/config/MybatisPlusConfig.java b/openhis-server/core-framework/src/main/java/com/core/framework/config/MybatisPlusConfig.java index 4db111cc..d804d52a 100644 --- a/openhis-server/core-framework/src/main/java/com/core/framework/config/MybatisPlusConfig.java +++ b/openhis-server/core-framework/src/main/java/com/core/framework/config/MybatisPlusConfig.java @@ -1,14 +1,22 @@ package com.core.framework.config; +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler; +import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor; +import com.core.common.utils.SecurityUtils; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.LongValue; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement; -import com.baomidou.mybatisplus.annotation.DbType; -import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; -import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor; -import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; -import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; @EnableTransactionManagement(proxyTargetClass = true) @Configuration @@ -22,6 +30,8 @@ public class MybatisPlusConfig { interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor()); // 阻断插件 interceptor.addInnerInterceptor(blockAttackInnerInterceptor()); + // 多租户插件 + interceptor.addInnerInterceptor(tenantLineInnerInterceptor()); return interceptor; } @@ -50,4 +60,93 @@ public class MybatisPlusConfig { public BlockAttackInnerInterceptor blockAttackInnerInterceptor() { return new BlockAttackInnerInterceptor(); } + + /** + * 多租户插件 + */ + public TenantLineInnerInterceptor tenantLineInnerInterceptor() { + TenantLineInnerInterceptor tenantInterceptor = new TenantLineInnerInterceptor(); + tenantInterceptor.setTenantLineHandler(new TenantLineHandler() { + @Override + public Expression getTenantId() { + // 返回当前租户 ID + return new LongValue(getCurrentTenantId()); + } + + @Override + public String getTenantIdColumn() { + // 返回租户 ID 的字段名 + return "tenant_id"; + } + + // 配置需要租户隔离的表名集合 + private static final Set TENANT_TABLES = new HashSet<>(Arrays.asList( + "adm_account", + "adm_charge_item", + "adm_charge_item_def_app", + "adm_charge_item_definition", + "adm_device", + "adm_device_definition", + "adm_encounter", + "adm_encounter_diagnosis", + "adm_encounter_location", + "adm_encounter_participant", + "adm_encounter_reason", + "adm_healthcare_service", + "adm_invoice", + "adm_location", + "adm_organization", + "adm_organization_location", + "adm_patient", + "adm_patient_identifier", + "adm_practitioner", + "adm_practitioner_role", + "adm_supplier", + "cli_condition", + "cli_condition_definition", + "cli_procedure", + "cli_procedure_performer", + "doc_emr", + "doc_emr_template", + "fin_claim", + "fin_claim_response", + "fin_contract", + "fin_payment_notice", + "fin_payment_rec_detail", + "fin_payment_reconciliation", + "med_medication", + "med_medication_definition", + "med_medication_dispense", + "med_medication_request", + "wor_activity_definition", + "wor_device_dispense", + "wor_device_request", + "wor_inventory_item", + "wor_service_request", + "wor_service_request_detail", + "wor_supply_delivery", + "wor_supply_request" + )); + + @Override + public boolean ignoreTable(String tableName) { + // 忽略不需要租户隔离的表 + // return false; // 默认所有表都开启租户隔离 + // 如果表名不在集合中,则忽略租户隔离 + return !TENANT_TABLES.contains(tableName); + } + }); + return tenantInterceptor; + } + + /** + * 获取当前租户 ID + */ + private Integer getCurrentTenantId() { + // 获取当前登录用户的租户 ID + if (SecurityUtils.getAuthentication() != null) { + return SecurityUtils.getLoginUser().getTenantId(); + } + return 0; + } } diff --git a/openhis-server/core-framework/src/main/java/com/core/framework/handler/MybastisColumnsHandler.java b/openhis-server/core-framework/src/main/java/com/core/framework/handler/MybastisColumnsHandler.java index 9e1e2f3d..40cb3302 100644 --- a/openhis-server/core-framework/src/main/java/com/core/framework/handler/MybastisColumnsHandler.java +++ b/openhis-server/core-framework/src/main/java/com/core/framework/handler/MybastisColumnsHandler.java @@ -25,6 +25,7 @@ public class MybastisColumnsHandler implements MetaObjectHandler { } catch (Exception ignored) { } this.strictInsertFill(metaObject, "createBy", String.class, username); + this.strictInsertFill(metaObject, "tenantId", Integer.class, getCurrentTenantId()); } // 设置数据修改update时候的,字段自动赋值规则 @@ -41,4 +42,15 @@ public class MybastisColumnsHandler implements MetaObjectHandler { } this.strictUpdateFill(metaObject, "updateBy", String.class, username); } + + /** + * 获取当前租户 ID + */ + private Integer getCurrentTenantId() { + // 获取当前登录用户的租户 ID + if (SecurityUtils.getAuthentication() != null) { + return SecurityUtils.getLoginUser().getTenantId(); + } + return 0; + } } diff --git a/openhis-server/core-framework/src/main/java/com/core/framework/web/service/SysLoginService.java b/openhis-server/core-framework/src/main/java/com/core/framework/web/service/SysLoginService.java index 7a17e95a..0630a89c 100644 --- a/openhis-server/core-framework/src/main/java/com/core/framework/web/service/SysLoginService.java +++ b/openhis-server/core-framework/src/main/java/com/core/framework/web/service/SysLoginService.java @@ -60,7 +60,7 @@ public class SysLoginService { */ public String login(String username, String password, String code, String uuid) { // 验证码校验 - validateCaptcha(username, code, uuid); + validateCaptcha(username, code, uuid); // 登录前置校验 loginPreCheck(username, password); // 用户验证 @@ -87,6 +87,11 @@ public class SysLoginService { AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); LoginUser loginUser = (LoginUser)authentication.getPrincipal(); + + // -----start-----登录时set租户id,正常应该从请求头获取,这行代码只是测试使用 + loginUser.setTenantId(1); + // -----end-----登录时set租户id,正常应该从请求头获取,这行代码只是测试使用 + recordLoginInfo(loginUser.getUserId()); // 生成token return tokenService.createToken(loginUser); diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/assembler/ItemDefinitionAssembler.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/assembler/ItemDefinitionAssembler.java new file mode 100644 index 00000000..7588c5af --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/assembler/ItemDefinitionAssembler.java @@ -0,0 +1,197 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.web.datadictionary.assembler; + +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.openhis.administration.domain.ChargeItemDefApp; +import com.openhis.administration.domain.ChargeItemDefinition; +import com.openhis.administration.domain.DeviceDefinition; +import com.openhis.medication.domain.MedicationDefinition; +import com.openhis.web.datadictionary.dto.ChargeItemDefPageDto; +import com.openhis.web.datadictionary.dto.ItemDefSearchParam; +import com.openhis.workflow.domain.ActivityDefinition; + +/** + * 费用定价dto转换器 + * + * @author zxy + * @date 2025-02-21 + */ +public class ItemDefinitionAssembler { +// /** +// * 装配【费用定价分页列表DTO】分页 药品 +// * +// * @param chargeItemDefinitionPage 【费用定价管理Entity实体】分页 +// * @param chargeItemDefAppList 【费用定价管理子表Entity实体】列表 +// * @param medicationDefinitionList【药品定义管理Entity实体】列表 +// * @return 【费用定价分页列表DTO】分页 +// */ +// public static Page assembleMedDefinitionDto( +// Page chargeItemDefinitionPage, List chargeItemDefAppList, +// List medicationDefinitionList, ItemDefSearchParam itemDefSearchParam) { +// +// // 将查询到的【药品基本信息管理】列表,作成以ID为Key的Map +// Map medicationDefinitionMap = medicationDefinitionList.stream() +// .collect(Collectors.toMap(MedicationDefinition::getId, Function.identity())); +// +// // 将查询到的【患者管理】列表,作成以ID为Key的Map +// Map chargeItemDefAppMap = +// chargeItemDefAppList.stream().collect(Collectors.toMap(ChargeItemDefApp::getId, Function.identity())); +// +// // 定义【入库单据分页列表DTO】的分页,传入【页码】、【行数】、及上面分页的【总数】 +// Page returnPage = new Page<>(chargeItemDefinitionPage.getCurrent(), +// chargeItemDefinitionPage.getSize(), chargeItemDefinitionPage.getTotal()); +// +// // 将【供应申请管理】的分页转化为返回【入库单据分页列表DTO】的分页 +// returnPage.setRecords(chargeItemDefinitionPage.getRecords().stream().map(entity -> { +// // 定义【入库单据分页列表DTO】 +// ChargeItemDefPageDto dto = new ChargeItemDefPageDto(); +// ChargeItemDefApp chargeItemDefApp = +// chargeItemDefAppMap.getOrDefault(entity.getInstanceId(), new ChargeItemDefApp()); +// MedicationDefinition medicationDefinition = +// medicationDefinitionMap.getOrDefault(entity.getInstanceId(), new MedicationDefinition()); +// // 从主表COPY需要的字段 +// dto.setId(entity.getId()); +// dto.setConditionLotnumber(chargeItemDefApp.getConditionLotnumber()); +// dto.setPyCode(medicationDefinition.getPyCode()); +// dto.setTypeEnum(medicationDefinition.getCategoryCode()); +// return dto; +// }).collect(Collectors.toList())); +// // 模糊查询项目名称/项目编码/助记码 +// if (itemDefSearchParam.getSearchKey() != null) { +// returnPage.setRecords(returnPage.getRecords().stream() +// .filter(e -> e.getChargeName().contains(itemDefSearchParam.getSearchKey()) +// || e.getTitle().contains(itemDefSearchParam.getSearchKey()) +// || e.getPyCode().contains(itemDefSearchParam.getSearchKey())) +// .collect(Collectors.toList())); +// } +// // 精确查询收费项目 +// if (itemDefSearchParam.getChargeItem() != null) { +// returnPage.setRecords(returnPage.getRecords().stream() +// .filter(e -> e.getTypeEnum().equals(itemDefSearchParam.getChargeItem())).collect(Collectors.toList())); +// } +// +// // 返回【入库单据分页列表DTO】分页 +// return returnPage; +// } +// +// /** +// * 装配【费用定价分页列表DTO】分页 器具 +// * +// * @param chargeItemDefinitionPage 【费用定价管理Entity实体】分页 +// * @param chargeItemDefAppList 【费用定价管理子表Entity实体】列表 +// * @param medicationDefinitionList【药品定义管理Entity实体】列表 +// * @return 【费用定价分页列表DTO】分页 +// */ +// public static Page assembleDevDefinitionDto( +// Page chargeItemDefinitionPage, List chargeItemDefAppList, +// List medicationDefinitionList, ItemDefSearchParam itemDefSearchParam) { +// +// // 将查询到的【药品基本信息管理】列表,作成以ID为Key的Map +// Map deviceDefinitionMap = +// medicationDefinitionList.stream().collect(Collectors.toMap(DeviceDefinition::getId, Function.identity())); +// +// // 将查询到的【患者管理】列表,作成以ID为Key的Map +// Map chargeItemDefAppMap = +// chargeItemDefAppList.stream().collect(Collectors.toMap(ChargeItemDefApp::getId, Function.identity())); +// +// // 定义【入库单据分页列表DTO】的分页,传入【页码】、【行数】、及上面分页的【总数】 +// Page returnPage = new Page<>(chargeItemDefinitionPage.getCurrent(), +// chargeItemDefinitionPage.getSize(), chargeItemDefinitionPage.getTotal()); +// +// // 将【供应申请管理】的分页转化为返回【入库单据分页列表DTO】的分页 +// returnPage.setRecords(chargeItemDefinitionPage.getRecords().stream().map(entity -> { +// // 定义【入库单据分页列表DTO】 +// ChargeItemDefPageDto dto = new ChargeItemDefPageDto(); +// ChargeItemDefApp chargeItemDefApp = +// chargeItemDefAppMap.getOrDefault(entity.getInstanceId(), new ChargeItemDefApp()); +// DeviceDefinition deviceDefinition = +// deviceDefinitionMap.getOrDefault(entity.getInstanceId(), new DeviceDefinition()); +// // 从主表COPY需要的字段 +// dto.setId(entity.getId()); +// dto.setConditionLotnumber(chargeItemDefApp.getConditionLotnumber()); +// dto.setPyCode(deviceDefinition.getPyCode()); +// dto.setTypeEnum(deviceDefinition.getDeviceClass()); +// return dto; +// }).collect(Collectors.toList())); +// // 模糊查询项目名称/项目编码/助记码 +// if (itemDefSearchParam.getSearchKey() != null) { +// returnPage.setRecords(returnPage.getRecords().stream() +// .filter(e -> e.getChargeName().contains(itemDefSearchParam.getSearchKey()) +// || e.getTitle().contains(itemDefSearchParam.getSearchKey()) +// || e.getPyCode().contains(itemDefSearchParam.getSearchKey())) +// .collect(Collectors.toList())); +// } +// // 精确查询收费项目 +// if (itemDefSearchParam.getChargeItem() != null) { +// returnPage.setRecords(returnPage.getRecords().stream() +// .filter(e -> e.getTypeEnum().equals(itemDefSearchParam.getChargeItem())).collect(Collectors.toList())); +// } +// +// // 返回【入库单据分页列表DTO】分页 +// return returnPage; +// } +// +// /** +// * 装配【费用定价分页列表DTO】分页 诊疗 +// * +// * @param chargeItemDefinitionPage 【费用定价管理Entity实体】分页 +// * @param chargeItemDefAppList 【费用定价管理子表Entity实体】列表 +// * @param medicationDefinitionList【药品定义管理Entity实体】列表 +// * @return 【费用定价分页列表DTO】分页 +// */ +// public static Page assembleProDefinitionDto( +// Page chargeItemDefinitionPage, List chargeItemDefAppList, +// List medicationDefinitionList, ItemDefSearchParam itemDefSearchParam) { +// +// // 将查询到的【药品基本信息管理】列表,作成以ID为Key的Map +// Map activityDefinitionMap = +// medicationDefinitionList.stream().collect(Collectors.toMap(ActivityDefinition::getId, Function.identity())); +// +// // 将查询到的【患者管理】列表,作成以ID为Key的Map +// Map chargeItemDefAppMap = +// chargeItemDefAppList.stream().collect(Collectors.toMap(ChargeItemDefApp::getId, Function.identity())); +// +// // 定义【入库单据分页列表DTO】的分页,传入【页码】、【行数】、及上面分页的【总数】 +// Page returnPage = new Page<>(chargeItemDefinitionPage.getCurrent(), +// chargeItemDefinitionPage.getSize(), chargeItemDefinitionPage.getTotal()); +// +// // 将【供应申请管理】的分页转化为返回【入库单据分页列表DTO】的分页 +// returnPage.setRecords(chargeItemDefinitionPage.getRecords().stream().map(entity -> { +// // 定义【入库单据分页列表DTO】 +// ChargeItemDefPageDto dto = new ChargeItemDefPageDto(); +// ChargeItemDefApp chargeItemDefApp = +// chargeItemDefAppMap.getOrDefault(entity.getInstanceId(), new ChargeItemDefApp()); +// ActivityDefinition deviceDefinition = +// activityDefinitionMap.getOrDefault(entity.getInstanceId(), new ActivityDefinition()); +// // 从主表COPY需要的字段 +// dto.setId(entity.getId()); +// dto.setConditionLotnumber(chargeItemDefApp.getConditionLotnumber()); +// dto.setPyCode(deviceDefinition.getPyCode()); +// dto.setTypeEnum(deviceDefinition.getTypeEnum().toString()); +// return dto; +// }).collect(Collectors.toList())); +// // 模糊查询项目名称/项目编码/助记码 +// if (itemDefSearchParam.getSearchKey() != null) { +// returnPage.setRecords(returnPage.getRecords().stream() +// .filter(e -> e.getChargeName().contains(itemDefSearchParam.getSearchKey()) +// || e.getTitle().contains(itemDefSearchParam.getSearchKey()) +// || e.getPyCode().contains(itemDefSearchParam.getSearchKey())) +// .collect(Collectors.toList())); +// } +// // 精确查询收费项目 +// if (itemDefSearchParam.getChargeItem() != null) { +// returnPage.setRecords(returnPage.getRecords().stream() +// .filter(e -> e.getTypeEnum().equals(itemDefSearchParam.getChargeItem())).collect(Collectors.toList())); +// } +// +// // 返回【入库单据分页列表DTO】分页 +// return returnPage; +// } +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManagementController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManagementController.java index 0e15ebca..e84318de 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManagementController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManagementController.java @@ -55,7 +55,7 @@ public class DiseaseManagementController { void AddDisease(DiseaseInDto diseaseInDto) { ConditionDefinition conditionDefinition = new ConditionDefinition(); BeanUtils.copyProperties(diseaseInDto,conditionDefinition); - iConditionDefinitionService.AddDisease(conditionDefinition); +// iConditionDefinitionService.AddDisease(conditionDefinition); } // 新增医保病种目录 diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/ItemDefinitionController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/ItemDefinitionController.java new file mode 100644 index 00000000..e670e0fa --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/ItemDefinitionController.java @@ -0,0 +1,200 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.web.datadictionary.controller; + +import java.util.ArrayList; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; +import com.core.common.enums.DefinitionTypeEnum; +import com.core.common.utils.MessageUtils; +import com.core.common.utils.bean.BeanUtils; +import com.openhis.administration.domain.ChargeItemDefApp; +import com.openhis.administration.domain.ChargeItemDefinition; +import com.openhis.administration.service.IChargeItemDefAppService; +import com.openhis.administration.service.IChargeItemDefinitionService; +import com.openhis.administration.service.IDeviceDefinitionService; +import com.openhis.common.constant.PromptMsgConstant; +import com.openhis.medication.service.IMedicationDefinitionService; +import com.openhis.web.datadictionary.dto.ChargeItemDefPageDto; +import com.openhis.web.datadictionary.dto.ItemDefSearchParam; +import com.openhis.web.datadictionary.dto.ItemDefinitionDto; +import com.openhis.web.datadictionary.mapper.ChargeItemDefSearchMapper; +import com.openhis.workflow.service.IActivityDefinitionService; + +import lombok.extern.slf4j.Slf4j; + +/** + * 项目定价 + * + * @author zxy + * @date 2025-02-21 + */ +@RestController +@RequestMapping("/dict-manager/definition") +@Slf4j +public class ItemDefinitionController { + + @Autowired(required = false) + private IChargeItemDefinitionService chargeItemDefinitionService; + @Autowired(required = false) + private IChargeItemDefAppService chargeItemDefAppService; + @Autowired(required = false) + private ChargeItemDefSearchMapper chargeItemDefSearchMapper; + @Autowired(required = false) + private IMedicationDefinitionService medicationDefinitionService; + @Autowired(required = false) + private IDeviceDefinitionService deviceDefinitionService; + @Autowired(required = false) + private IActivityDefinitionService activityDefinitionService; + + /** + * 项目定价列表 + * + * @param itemDefSearchParam 查询条件 + * @param pageNo 当前页码 + * @param pageSize 查询条数 + * @param request 请求数据 + * @return 项目定价列表 + */ + @GetMapping(value = "/item-definition-page") + public R getDefinitionPage(ItemDefSearchParam itemDefSearchParam, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) { + // region + /// todo: 代码未测试 + // 获取定价查询条件 + // ChargeItemDefinition chargeItemDefinition = new ChargeItemDefinition(); + // BeanUtils.copyProperties(itemDefSearchParam, chargeItemDefinition); + + // ==================================================================================== + + // 查询【费用定价管理】分页列表 + // Page chargeItemDefinitionPage = + // chargeItemDefinitionMapper.getPage(itemDefSearchParam, pageNo, pageSize); + // if (chargeItemDefinitionPage.getRecords() != null) { + // List chargeItemDefAppList = chargeItemDefAppService.listByIds(chargeItemDefinitionPage + // .getRecords().stream().filter(e -> e.getInstanceTable().equals("adm_charge_item_def_app")) + // .map(ChargeItemDefinition::getInstanceId).collect(Collectors.toList())); + // // 通过 DefinitionType 区分药品定价/器具定价/手术定价 + // if (DefinitionTypeEnum.MEDICATION.getCode().equals(itemDefSearchParam.getDefinitionType())) { + // // 获取药品定价列表 + // List medicationList = + // medicationDefinitionService.listByIds(chargeItemDefinitionPage.getRecords().stream() + // .filter(e -> e.getInstanceTable().equals("med_medication_definition")) + // .map(ChargeItemDefinition::getInstanceId).collect(Collectors.toList())); + // + // return R.ok(ItemDefinitionAssembler.assembleMedDefinitionDto(chargeItemDefinitionPage, + // chargeItemDefAppList, medicationList, itemDefSearchParam)); + // } else if (DefinitionTypeEnum.DEVICE.getCode().equals(itemDefSearchParam.getDefinitionType())) { + // // 获取器具定价列表 + // List deviceDefinitionList = deviceDefinitionService.listByIds(chargeItemDefinitionPage + // .getRecords().stream().filter(e -> e.getInstanceTable().equals("adm_device_definition")) + // .map(ChargeItemDefinition::getInstanceId).collect(Collectors.toList())); + // + // return R.ok(ItemDefinitionAssembler.assembleDevDefinitionDto(chargeItemDefinitionPage, + // chargeItemDefAppList, deviceDefinitionList, itemDefSearchParam)); + // } else if (DefinitionTypeEnum.ACTIVITY.getCode().equals(itemDefSearchParam.getDefinitionType())) { + // List activityDefinitionList = + // activityDefinitionService.listByIds(chargeItemDefinitionPage.getRecords().stream() + // .filter(e -> e.getInstanceTable().equals("wor_activity_definition")) + // .map(ChargeItemDefinition::getInstanceId).collect(Collectors.toList())); + // + // return R.ok(ItemDefinitionAssembler.assembleProDefinitionDto(chargeItemDefinitionPage, + // chargeItemDefAppList, activityDefinitionList, itemDefSearchParam)); + // } else { + // return R.ok(new Page()); + // } + // } else { + // return R.ok(new Page()); + // } + // endregion + + IPage chargeItemDefinitionPage = new Page<>(); + List chargeItemDefinitionList; + + // TODO: 待测试 + // 跳过的数量 + int skipCount = 0; + if (pageNo > 0) { + skipCount = (pageNo - 1) * pageSize; + } + // 通过 DefinitionType 区分药品定价/器具定价/手术定价 + if (DefinitionTypeEnum.MEDICATION.getCode().equals(itemDefSearchParam.getDefinitionType())) { + chargeItemDefinitionList = + chargeItemDefSearchMapper.getMedList(itemDefSearchParam, pageNo, pageSize, skipCount); + chargeItemDefinitionPage.setSize(pageSize); + chargeItemDefinitionPage.setCurrent(pageNo); + if (chargeItemDefinitionList.size() > 0) { + chargeItemDefinitionPage.setTotal(chargeItemDefinitionList.get(0).getTotalCount()); + chargeItemDefinitionPage.setRecords(chargeItemDefinitionList); + } else { + chargeItemDefinitionPage.setTotal(0); + chargeItemDefinitionPage.setRecords(new ArrayList<>()); + } + return R.ok(chargeItemDefinitionPage); + } else if (DefinitionTypeEnum.DEVICE.getCode().equals(itemDefSearchParam.getDefinitionType())) { + chargeItemDefinitionList = + chargeItemDefSearchMapper.getDevList(itemDefSearchParam, pageNo, pageSize, skipCount); + chargeItemDefinitionPage.setSize(pageSize); + chargeItemDefinitionPage.setCurrent(pageNo); + if (chargeItemDefinitionList.size() > 0) { + chargeItemDefinitionPage.setTotal(chargeItemDefinitionList.get(0).getTotalCount()); + chargeItemDefinitionPage.setRecords(chargeItemDefinitionList); + } else { + chargeItemDefinitionPage.setTotal(0); + chargeItemDefinitionPage.setRecords(new ArrayList<>()); + } + return R.ok(chargeItemDefinitionPage); + } else if (DefinitionTypeEnum.ACTIVITY.getCode().equals(itemDefSearchParam.getDefinitionType())) { + chargeItemDefinitionList = + chargeItemDefSearchMapper.getActList(itemDefSearchParam, pageNo, pageSize, skipCount); + chargeItemDefinitionPage.setSize(pageSize); + chargeItemDefinitionPage.setCurrent(pageNo); + if (chargeItemDefinitionList.size() > 0) { + chargeItemDefinitionPage.setTotal(chargeItemDefinitionList.get(0).getTotalCount()); + chargeItemDefinitionPage.setRecords(chargeItemDefinitionList); + } else { + chargeItemDefinitionPage.setTotal(0); + chargeItemDefinitionPage.setRecords(new ArrayList<>()); + } + return R.ok(chargeItemDefinitionPage); + } else { + return R.ok(); + } + } + + /** + * 修改项目定价 + * + * @param itemDefinitionDto 修改内容 + * @return 修改结果 + */ + @PutMapping(value = "/item-definition") + public R edit(@Validated @RequestBody ItemDefinitionDto itemDefinitionDto) { + // 更新adm_charge_item_definition信息 + ChargeItemDefinition chargeItemDefinition = new ChargeItemDefinition(); + BeanUtils.copyProperties(itemDefinitionDto, chargeItemDefinition); + if (!chargeItemDefinitionService.updateById(chargeItemDefinition)) { + return R.fail(); + } + + // 更新收费项目adm_charge_item_def_app + ChargeItemDefApp chargeItemDefApp = new ChargeItemDefApp(); + BeanUtils.copyProperties(itemDefinitionDto, chargeItemDefApp); + chargeItemDefApp.setDefinitionId(itemDefinitionDto.getId()); + chargeItemDefApp.setId(itemDefinitionDto.getItemId()); + return chargeItemDefAppService.updateChargeItemDefApp(chargeItemDefApp) + ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"费用定价"})) + : R.fail(PromptMsgConstant.Common.M00007, null); + } +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/ChargeItemDefPageDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/ChargeItemDefPageDto.java new file mode 100644 index 00000000..ea0057e4 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/ChargeItemDefPageDto.java @@ -0,0 +1,90 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.web.datadictionary.dto; + +import java.math.BigDecimal; +import java.util.Date; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 费用定价分页Dto + * + * @author zxy + * @date 2025-02-21 + */ +@Data +@Accessors(chain = true) +public class ChargeItemDefPageDto { + + /** ID */ + private Long id; + + /** 费用定价子表主键 */ + private Long itemId; + + /** 名称 */ + private String chargeName; + + /** 项目编号 */ + private String itemNo; + + /** 规格 */ + private String totalVolume; + + /** 状态 */ + private Integer statusEnum; + + /** 单位 */ + private String unitCode; + + /** 拆零比 */ + private BigDecimal partPercent; + + /** 指导价 */ + private BigDecimal conditionYbCode; + + /** 批次号 */ + private String conditionLotnumber; + + /** 价格 */ + private BigDecimal price; + + /** 有效时间开始 */ + private Date effectiveStart; + + /** 有效时间结束 */ + private Date effectiveEnd; + + /** 拆零最小单位 */ + private String partMinUnitCode; + + /** 拆零指导价 */ + private BigDecimal partConditionPrice; + + /** 拆零价格 */ + private BigDecimal partPrice; + + /** 条件价格 */ + private BigDecimal amount; + + /** 调价说明 */ + private String description; + + /** 优先级 */ + private Integer priority; + + /** 条件规则 */ + private Integer conditionRuleId; + + /** 创建时间 */ + private Date createTime; + + /** 调价时间 */ + private Date updateTime; + + /** 总条数 */ + private Integer totalCount; +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/ItemDefSearchParam.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/ItemDefSearchParam.java new file mode 100644 index 00000000..4b44e9a2 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/ItemDefSearchParam.java @@ -0,0 +1,27 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.web.datadictionary.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 项目定价查询dto + * + * @author zxy + * @date 2025-02-21 + */ +@Data +@Accessors(chain = true) +public class ItemDefSearchParam { + + /** 定价类型 */ + private String DefinitionType; + /** 定价项目 */ + private String chargeItem; + /** 模糊搜索条件 */ + private String searchKey; + /** 状态 */ + private Integer statusEnum; +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/ItemDefinitionDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/ItemDefinitionDto.java new file mode 100644 index 00000000..0ca84024 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/dto/ItemDefinitionDto.java @@ -0,0 +1,96 @@ +/* + * Copyright ©2023 CJB-CNIT Team. All rights reserved + */ +package com.openhis.web.datadictionary.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 收费项目保存dto + * + * @author zxy + * @date 2025-02-21 + */ +@Data +@Accessors(chain = true) +public class ItemDefinitionDto { + + /** ID */ + private Long id; + + /** 子表ID */ + private Long itemId; + + /** 名称 */ + private String chargeName; + + /** 标题 */ + private String title; + + /** 状态 */ + private Integer statusEnum; + + /** 机构编码 */ + private String orgCode; + + /** 描述 */ + private String description; + + /** 代码 */ + private String instanceTable; + + /** 关联项目 */ + private Long instanceId; + + /** 有效时间开始 */ + private Date effectiveStart; + + /** 有效时间结束 */ + private Date effectiveEnd; + + /** 财务类别 */ + private String typeCode; + + /** 医保类别 */ + private Integer ybType; + + /** 是否使用详细价格规则 */ + private Integer conditionFlag; + + /** 基础价格 */ + private BigDecimal price; + + /** 条件规则 */ + private Long conditionRuleId; + + /** 批次号 */ + private String conditionLotnumber; + + /** 医保相关价格 */ + private String conditionYbCode; + + /** 采购售卖条件 */ + private String conditionInoutCode; + + /** 条件类型 */ + private String conditionUnitCode; + + /** 条件 */ + private String conditionCode; + + /** 优先级 */ + private Integer priority; + + /** 价格 */ + private BigDecimal amount; + + /** 名称拼音码 */ + private String pyCode; + + /** 类型 */ + private String typeEnum; +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/ChargeItemDefSearchMapper.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/ChargeItemDefSearchMapper.java new file mode 100644 index 00000000..404e2a31 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/ChargeItemDefSearchMapper.java @@ -0,0 +1,57 @@ +package com.openhis.web.datadictionary.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.administration.domain.ChargeItemDefinition; +import com.openhis.web.datadictionary.dto.ChargeItemDefPageDto; +import com.openhis.web.datadictionary.dto.ItemDefSearchParam; + +/** + * 费用定价管理Mapper接口 + * + * @author system + * @date 2025-02-20 + */ +@Repository +public interface ChargeItemDefSearchMapper extends BaseMapper { + + /** + * 药品费用定价分页查询 + * + * @param itemDefSearchParam 查询条件 + * @param pageNo 页码 + * @param pageSize 页面大小 + * @param skipCount 跳过条数 + * @return 分页查询 + */ + List getMedList(@Param("itemDefSearchParam") ItemDefSearchParam itemDefSearchParam, + @Param("pageNo") Integer pageNo, @Param("pageSize") Integer pageSize, @Param("skipCount") Integer skipCount); + + /** + * 器具费用定价分页查询 + * + * @param itemDefSearchParam 查询条件 + * @param pageNo 页码 + * @param pageSize 页面大小 + * @param skipCount 跳过条数 + * @return 分页查询 + */ + List getDevList(@Param("itemDefSearchParam") ItemDefSearchParam itemDefSearchParam, + @Param("pageNo") Integer pageNo, @Param("pageSize") Integer pageSize, @Param("skipCount") int skipCount); + + /** + * 活动费用定价分页查询 + * + * @param itemDefSearchParam 查询条件 + * @param pageNo 页码 + * @param pageSize 页面大小 + * @param skipCount 跳过条数 + * @return 分页查询 + */ + List getActList(@Param("itemDefSearchParam") ItemDefSearchParam itemDefSearchParam, + @Param("pageNo") Integer pageNo, @Param("pageSize") Integer pageSize, @Param("skipCount") int skipCount); +} \ No newline at end of file diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/xml/ChargeItemDefSearchMapper.xml b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/xml/ChargeItemDefSearchMapper.xml new file mode 100644 index 00000000..0c4568cc --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/mapper/xml/ChargeItemDefSearchMapper.xml @@ -0,0 +1,238 @@ + + + + + + + + + + \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Account.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Account.java index bca9c433..d5848f8b 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Account.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Account.java @@ -50,10 +50,10 @@ public class Account extends HisBaseEntity { private BigDecimal balanceAmount; /** 医保区域编码 */ - private String ybAreaCode; + private String ybAreaNo; /** 合同编码 */ - private String contractCode; + private String contractNo; /** 欠费限制额度 */ private BigDecimal limitAccount; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItem.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItem.java index b6519152..d7852d48 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItem.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/ChargeItem.java @@ -32,13 +32,13 @@ public class ChargeItem extends HisBaseEntity { private Integer statusEnum; /** 层级 */ - private String code; + private String busNo; /** 患者ID */ private Long patientId; /** 类别 */ - private Integer context; + private Integer contextEnum; /** 就诊ID */ private Long encounterId; @@ -47,7 +47,7 @@ public class ChargeItem extends HisBaseEntity { private Date occurrenceTime; /** 执行人Id */ - private Long performer; + private Long performerId; /** 执行科室 */ private Long performingOrgId; @@ -110,7 +110,7 @@ public class ChargeItem extends HisBaseEntity { private Long accountId; /** 机构 */ - private String orgCode; + private Integer orgId; } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Device.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Device.java index fea94f85..389d2453 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Device.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Device.java @@ -29,16 +29,16 @@ public class Device extends HisBaseEntity { private Long id; /** 器材编码 */ - private String deviceCode; + private String busNo; /** 器材定义编号 */ - private Long defId; + private Long deviceDefId; /** 器材状态 */ private Integer statusEnum; /** 器材可用状态 */ - private Integer availabilityStatus; + private Integer availabilityEnum; /** 厂家 */ private String manufacturer; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/DeviceDefinition.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/DeviceDefinition.java index 98446f80..18c895ff 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/DeviceDefinition.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/DeviceDefinition.java @@ -29,19 +29,19 @@ public class DeviceDefinition extends HisBaseEntity { private Long id; /** 编码 */ - private String code; + private String busNo; /** 器材名称 */ private String name; /** 器材名称拼音 */ - private String pyCode; + private String pyStr; /** 器材五笔拼音 */ - private String wbCode; + private String wbStr; /** 器材分类 */ - private String deviceClass; + private String deviceCode; /** 器材种类 */ private String deviceTypeCode; @@ -74,13 +74,13 @@ public class DeviceDefinition extends HisBaseEntity { private Integer ybFlag; /** 医保编码 */ - private String ybCode; + private String ybNo; /** 医保对码标记 */ private Integer ybMatchFlag; /** 状态 */ - private Integer status; + private Integer statusEnum; /** 生产厂家 */ private Long manufacturerId; @@ -92,7 +92,7 @@ public class DeviceDefinition extends HisBaseEntity { private String description; /** 适用范围 */ - private Long jurisdiction; + private String jurisdiction; /** 执行科室 */ private Long ruleId; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Encounter.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Encounter.java index 99742116..a28eeaea 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Encounter.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Encounter.java @@ -35,7 +35,7 @@ public class Encounter extends HisBaseEntity { private Long groupId; /** 就诊编码 */ - private String code; + private String busNo; /** 状态编码 */ private String statusCode; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterDiagnosis.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterDiagnosis.java index cbe2dd2e..6c515eae 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterDiagnosis.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterDiagnosis.java @@ -34,9 +34,6 @@ public class EncounterDiagnosis extends HisBaseEntity { /** 诊断_id */ private Long conditionId; - /** 诊断编码 */ - private String code; - /** 住院患者疾病诊 */ private Integer iptDiseCrsp; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/HealthcareService.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/HealthcareService.java index a0d266f8..2076efff 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/HealthcareService.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/HealthcareService.java @@ -29,7 +29,7 @@ public class HealthcareService extends HisBaseEntity { private Long id; /** 活动标记 */ - private Integer active; + private Integer activeFlag; /** 提供部门ID */ private Long offeredOrgId; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Location.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Location.java index 8a495796..a0f8f565 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Location.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Location.java @@ -29,7 +29,7 @@ public class Location extends HisBaseEntity { private Long id; /** 编码 */ - private String code; + private String busNo; /** 名称 */ private String name; @@ -47,10 +47,10 @@ public class Location extends HisBaseEntity { private String typeJson; /** 拼音码 */ - private String spellCode; + private String pyStr; /** 五笔码 */ - private String wbCode; + private String wbStr; /** 物理形式枚举 */ private String formEnum; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java index aa7a7d6a..0dfb31f5 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java @@ -29,7 +29,7 @@ public class Organization extends HisBaseEntity { private Long id; /** 编码 */ - private String code; + private String bus_no; /** 名称 */ private String name; @@ -44,13 +44,13 @@ public class Organization extends HisBaseEntity { private Integer classEnum; /** 拼音码 */ - private String spellCode; + private String pyStr; /** 五笔码 */ - private String wbCode; + private String wbStr; /** 医保码 */ - private String ybCode; + private String ybNo; /** 医保名称 */ private String ybName; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Patient.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Patient.java index 2058abc3..0025d404 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Patient.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Patient.java @@ -41,7 +41,7 @@ public class Patient extends HisBaseEntity { private String nameJson; /** 患者院内编码/病历号 */ - private String code; + private String busNo; /** 性别编码 */ private Integer genderEnum; @@ -80,16 +80,16 @@ public class Patient extends HisBaseEntity { private String addressJson; /** 民族 */ - private String nationality; + private String nationalityCode; /** 身份证号 */ private String idCard; /** 拼音码 */ - private String spellCode; + private String pyStr; /** 五笔码 */ - private String wbCode; + private String wbStr; /** 血型ABO */ private String bloodAbo; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java index e4dc803f..29163acc 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java @@ -68,16 +68,16 @@ public class Practitioner extends HisBaseEntity { private String addressJson; /** 拼音码 */ - private String spellCode; + private String pyStr; /** 五笔码 */ - private String wbCode; + private String wbStr; /** 患者院内编码/病历号 */ - private String code; + private String busNo; /** 医保码 */ - private String ybCode; + private String ybNo; /** 系统用户id */ private Long userId; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/PractitionerRole.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/PractitionerRole.java index d61b7154..cd9d1997 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/PractitionerRole.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/PractitionerRole.java @@ -31,8 +31,8 @@ public class PractitionerRole extends HisBaseEntity { /** 名称 */ private String name; - /** 编码 */ - private String code; + /** 角色编码 */ + private String role_code; /** 活动标识 */ private Integer activeFlag; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Supplier.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Supplier.java index 949403be..7bf37aa1 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Supplier.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Supplier.java @@ -29,7 +29,7 @@ public class Supplier extends HisBaseEntity { private Long id; /** 编号 */ - private String code; + private String busNo; /** 名称 */ private String name; @@ -41,10 +41,10 @@ public class Supplier extends HisBaseEntity { private String address; /** 拼音码 */ - private String pyCode; + private String pyStr; /** 五笔码 */ - private String wbCode; + private String wbStr; /** 联系人电话 */ private String phone; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefAppService.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefAppService.java index 5e09dbd0..bafc40b3 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefAppService.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefAppService.java @@ -11,4 +11,27 @@ import com.openhis.administration.domain.ChargeItemDefApp; */ public interface IChargeItemDefAppService extends IService { + /** + * 更新项目定价 + * + * @param chargeItemDefApp 更新内容 + * @return 更新结果 + */ + boolean updateChargeItemDefApp(ChargeItemDefApp chargeItemDefApp); + + /** + * 新增费用定价 + * + * @param chargeItemDefApp 新增内容 + * @return 新增结果 + */ + boolean addChargeItemDefApp(ChargeItemDefApp chargeItemDefApp); + + /** + * 删除费用定价 + * + * @param id 费用定价id + * @return 新增结果 + */ + boolean deleteChargeItemDefApp(Long id); } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefinitionService.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefinitionService.java index 2ec4f012..e2c99a71 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefinitionService.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/IChargeItemDefinitionService.java @@ -1,5 +1,6 @@ package com.openhis.administration.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.openhis.administration.domain.ChargeItemDefinition; @@ -11,4 +12,29 @@ import com.openhis.administration.domain.ChargeItemDefinition; */ public interface IChargeItemDefinitionService extends IService { + /** + * 获取定价分页列表 + * + * @param chargeItemDefinition 定价查询条件 + * @param pageNo 页码 + * @param pageSize 页面大小 + * @return 定价分页列表 + */ + Page getPage(ChargeItemDefinition chargeItemDefinition, Integer pageNo, Integer pageSize); + + /** + * 新增费用定价 + * + * @param chargeItemDefinition 新增内容 + * @return 新增结果 + */ + boolean addChargeItemDefinition(ChargeItemDefinition chargeItemDefinition); + + /** + * 删除费用定价 + * + * @param id 费用定价id + * @return 新增结果 + */ + boolean deleteChargeItemDefinition(Long id); } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefAppServiceImpl.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefAppServiceImpl.java index 24cc1673..6b906ffb 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefAppServiceImpl.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefAppServiceImpl.java @@ -14,6 +14,58 @@ import com.openhis.administration.service.IChargeItemDefAppService; * @date 2025-02-20 */ @Service -public class ChargeItemDefAppServiceImpl extends ServiceImpl implements IChargeItemDefAppService { +public class ChargeItemDefAppServiceImpl extends ServiceImpl + implements IChargeItemDefAppService { + /** + * 更新项目定价 + * + * @param chargeItemDefApp 更新内容 + * @return 更新结果 + */ + @Override + public boolean updateChargeItemDefApp(ChargeItemDefApp chargeItemDefApp) { + // 更新样例 一切以实际为主 + if (chargeItemDefApp.getId() != null) { + // 获取更新前收费项目,避免更新导致数据库崩溃 + if (baseMapper.selectById(chargeItemDefApp.getId()) == null) { + return false; + } else { + return baseMapper.updateById(chargeItemDefApp) > 0; + } + } else { + return false; + } + } + + /** + * 新增费用定价 + * + * @param chargeItemDefApp 新增内容 + * @return 新增结果 + */ + @Override + public boolean addChargeItemDefApp(ChargeItemDefApp chargeItemDefApp) { + //此判断是为了避免插入时主键重复 + if (chargeItemDefApp.getId() != null) { + return false; + } else { + return baseMapper.insert(chargeItemDefApp) > 0; + } + } + + /** + * 删除费用定价 + * + * @param id 费用定价id + * @return 新增结果 + */ + @Override + public boolean deleteChargeItemDefApp(Long id) { + if (baseMapper.selectById(id) == null) { + return false; + } else { + return baseMapper.deleteById(id) > 0; + } + } } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java index a2a6162f..9165da6b 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/ChargeItemDefinitionServiceImpl.java @@ -2,10 +2,13 @@ package com.openhis.administration.service.impl; import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.openhis.administration.domain.ChargeItemDefinition; import com.openhis.administration.mapper.ChargeItemDefinitionMapper; import com.openhis.administration.service.IChargeItemDefinitionService; +import com.openhis.common.enums.DelFlag; /** * 费用定价管理Service业务层处理 @@ -14,6 +17,60 @@ import com.openhis.administration.service.IChargeItemDefinitionService; * @date 2025-02-20 */ @Service -public class ChargeItemDefinitionServiceImpl extends ServiceImpl implements IChargeItemDefinitionService { +public class ChargeItemDefinitionServiceImpl extends ServiceImpl + implements IChargeItemDefinitionService { + /** + * 获取分页列表 + * + * @param chargeItemDefinition 查询条件 + * @param pageNo 页码 + * @param pageSize 页面大小 + * @return 分页列表 + */ + @Override + public Page getPage(ChargeItemDefinition chargeItemDefinition, Integer pageNo, + Integer pageSize) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ChargeItemDefinition::getDeleteFlag, DelFlag.NO.getValue()); + + //拼接查询条件 + if (chargeItemDefinition.getStatusEnum() != null) { + queryWrapper.eq(ChargeItemDefinition::getStatusEnum, chargeItemDefinition.getStatusEnum()); + } + + return baseMapper.selectPage(new Page<>(pageNo, pageSize), queryWrapper); + } + + /** + * 新增费用定价 + * + * @param chargeItemDefinition 新增内容 + * @return 新增结果 + */ + @Override + public boolean addChargeItemDefinition(ChargeItemDefinition chargeItemDefinition) { + //此判断是为了避免插入时主键重复 + if (chargeItemDefinition.getId() != null) { + return false; + } else { + return baseMapper.insert(chargeItemDefinition) > 0; + } + } + + /** + * 删除费用定价 + * + * @param id 费用定价id + * @return 新增结果 + */ + @Override + public boolean deleteChargeItemDefinition(Long id) { + if (baseMapper.selectById(id) == null) { + return false; + } else { + return baseMapper.deleteById(id) > 0; + } + } } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/Condition.java b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/Condition.java index f0ba713a..1eb13d2d 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/Condition.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/Condition.java @@ -41,7 +41,7 @@ public class Condition extends HisBaseEntity { private Integer severityEnum; /** 疾病或诊断编码 */ - private String code; + private String busNo; /** 身体部位 */ private String bodySiteJson; @@ -77,7 +77,7 @@ public class Condition extends HisBaseEntity { private Date recordedDatetime; /** 记录人 */ - private Long recorder; + private Long recorderId; /** 阶段总结 */ private String stageSummaryText; @@ -86,7 +86,7 @@ public class Condition extends HisBaseEntity { private String evidence; /** 医保编码 */ - private String ybCode; + private String ybNo; } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java index 569d12c7..848f4ae5 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java @@ -32,16 +32,16 @@ public class ConditionDefinition extends HisBaseEntity { private Integer sourceEnum; /** 编码 */ - private String code; + private String condition_code; /** 诊断名称 */ private String name; /** 诊断名称拼音 */ - private String pyCode; + private String pyStr; /** 诊断名称五笔拼音 */ - private String wbCode; + private String wbStr; /** 类型 */ private String typeCode; @@ -53,7 +53,7 @@ public class ConditionDefinition extends HisBaseEntity { private Integer ybFlag; /** 医保编码 */ - private String ybCode; + private String ybNo; /** 医保对码标记 */ private Integer ybMatchFlag; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/Procedure.java b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/Procedure.java index 8fcfda1f..0e6bb320 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/Procedure.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/Procedure.java @@ -43,8 +43,8 @@ public class Procedure extends HisBaseEntity { /** 分类 */ private Integer categoryEnum; - /** 编码 */ - private String code; + /** 手术编码 */ + private String procedureCode; /** 患者Id */ private Long patientId; @@ -65,7 +65,7 @@ public class Procedure extends HisBaseEntity { private Date recordedTime; /** 记录人 */ - private Long recorder; + private Long recorderId; /** 是否有报告 */ private Integer reportFlag; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/Claim.java b/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/Claim.java index 0d75e0c5..686326cc 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/Claim.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/Claim.java @@ -44,7 +44,7 @@ public class Claim extends HisBaseEntity { private Integer useEnum; /** 索赔指向 */ - private Integer insurer; + private Integer insurerEnum; /** condition_dis */ private String conditionDis; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/Contract.java b/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/Contract.java index 7be0560d..805e3377 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/Contract.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/Contract.java @@ -38,7 +38,7 @@ public class Contract extends HisBaseEntity { private Integer categoryEnum; /** 合同编码 */ - private String code; + private String busNo; /** 机构 */ private Long orgId; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentNotice.java b/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentNotice.java index 98fa1ad0..948dfc06 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentNotice.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentNotice.java @@ -38,13 +38,13 @@ public class PaymentNotice extends HisBaseEntity { private Long paypmentReconciliationId; /** 被支付方 */ - private Long payee; + private Long payeeId; /** 通知方式 */ private String wayCode; /** 通知内容 */ - private String content; + private String contentText; /** 被通知方 */ private String recipient; @@ -56,7 +56,7 @@ public class PaymentNotice extends HisBaseEntity { private Integer payStatus; /** 机构 */ - private String orgCode; + private Integer orgId; } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentRecDetail.java b/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentRecDetail.java index 8c25efc6..14a4f64c 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentRecDetail.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentRecDetail.java @@ -28,8 +28,8 @@ public class PaymentRecDetail extends HisBaseEntity { @TableId(type = IdType.ASSIGN_ID) private Long id; - /** recId */ - private Long predecessor; + /** 先前支付明细id */ + private Long predecessorId; /** 付款类型 */ private Integer targetEnum; @@ -38,13 +38,13 @@ public class PaymentRecDetail extends HisBaseEntity { private Long accountId; /** 账户类型 */ - private Integer accountType; + private Integer accountEnum; /** 支付类型 */ - private Integer payType; + private Integer payEnum; /** 支付类型等级 */ - private Integer payTypeClass; + private Integer payLevelEnum; /** 金额 */ private BigDecimal amount; @@ -56,7 +56,7 @@ public class PaymentRecDetail extends HisBaseEntity { private BigDecimal chargeAmount; /** 支付平台返回交易号 */ - private String payTransId; + private String payTransNo; /** 支付平台返回交易信息 */ private String payTransText; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentReconciliation.java b/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentReconciliation.java index 63194a8e..f1a3c6cc 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentReconciliation.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/financial/domain/PaymentReconciliation.java @@ -35,10 +35,10 @@ public class PaymentReconciliation extends HisBaseEntity { private Long relationId; /** 支付的业务标识符 */ - private String paymentIdentifier; + private String paymentNo; /** 付款类别 */ - private Integer type; + private Integer paymentEnum; /** 付款实体ID */ private Long paypmentReconciliationId; @@ -47,10 +47,10 @@ public class PaymentReconciliation extends HisBaseEntity { private Integer kindEnum; /** 收款员 */ - private Long enterer; + private Long entererId; /** 支付发起人类型 */ - private Integer issuerType; + private Integer issuerEnum; /** 支付的患者ID */ private Long patientId; @@ -80,13 +80,13 @@ public class PaymentReconciliation extends HisBaseEntity { private Integer printCount; /** 合同编码 */ - private String contractCode; + private String contractNo; /** 处方号集合 */ private String chargeItemJson; /** 就诊ID */ - private Long encoutnerId; + private Long encounterId; } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/Medication.java b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/Medication.java index a718daa5..26c9b5b8 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/Medication.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/Medication.java @@ -29,7 +29,7 @@ public class Medication extends HisBaseEntity { private Long id; /** 药品编码 */ - private Long medicationProductId; + private Long medicationDefId; /** 药品状态 */ private Integer statusEnum; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDefinition.java b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDefinition.java index 23a7a05e..97962d89 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDefinition.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDefinition.java @@ -29,7 +29,7 @@ public class MedicationDefinition extends HisBaseEntity { private Long id; /** 药品编号 */ - private Long code; + private String busNo; /** 药品名称 */ private String name; @@ -44,10 +44,10 @@ public class MedicationDefinition extends HisBaseEntity { private String nameEn; /** 药品名称拼音码 */ - private String pyCode; + private String pyStr; /** 药品五笔码 */ - private String wbCode; + private String wbStr; /** 药品分类 */ private String categoryCode; @@ -56,10 +56,10 @@ public class MedicationDefinition extends HisBaseEntity { private String merchandiseName; /** 商品名称拼音码 */ - private String merchandisePyCode; + private String merchandisePyStr; /** 商品五笔码 */ - private String merchandiseWbCode; + private String merchandiseWbStr; /** 药品单位 */ private String unitCode; @@ -86,7 +86,7 @@ public class MedicationDefinition extends HisBaseEntity { private Integer ybMatchFlag; /** 医保编码 */ - private String ybCode; + private String ybNo; /** 药理作用分类 */ private String pharmacologyCategoryCode; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDispense.java b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDispense.java index 34d8cd2b..ed23db70 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDispense.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDispense.java @@ -29,7 +29,7 @@ public class MedicationDispense extends HisBaseEntity { private Long id; /** 药品发放id */ - private String code; + private String busNo; /** 药品发放状态 */ private Integer statusEnum; @@ -41,7 +41,7 @@ public class MedicationDispense extends HisBaseEntity { private Date statusChangedTime; /** 发药类型 */ - private Integer dispenseCategory; + private Integer dispenseEnum; /** 药品编码 */ private Long medicationId; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationRequest.java b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationRequest.java index be435151..6773b4cd 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationRequest.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationRequest.java @@ -29,10 +29,10 @@ public class MedicationRequest extends HisBaseEntity { private Long id; /** 药品请求编码 */ - private String code; + private String bus_no; /** 处方号 */ - private String prescriptionCode; + private String prescriptionNo; /** 分组id */ private Long groupId; @@ -116,7 +116,7 @@ public class MedicationRequest extends HisBaseEntity { private String reasonJson; /** 治疗类型 */ - private Integer therapyType; + private Integer therapyEnum; /** 服药时间(开始) */ private Date effectiveDoseStart; @@ -128,7 +128,7 @@ public class MedicationRequest extends HisBaseEntity { private Integer skinTestFlag; /** 合同Id */ - private String contractCode; + private String contractNo; /** 输液标志 */ private Integer infusionFlag; @@ -167,7 +167,7 @@ public class MedicationRequest extends HisBaseEntity { private Integer dispensePerDuration; /** 发药人 */ - private Long dispenser; + private Long dispenserId; } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/mapper/MedicationMapper.java b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/mapper/MedicationMapper.java index f0476f2d..138d1b74 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/mapper/MedicationMapper.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/mapper/MedicationMapper.java @@ -1,12 +1,9 @@ package com.openhis.medication.mapper; -import com.baomidou.mybatisplus.annotation.TableName; -import com.core.common.biz.HisBaseMapper; -import com.openhis.medication.domain.MedicationDetail; -import org.springframework.stereotype.Repository; - import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.openhis.medication.domain.Medication; +import com.openhis.medication.domain.MedicationDetail; +import org.springframework.stereotype.Repository; import java.util.List; @@ -16,9 +13,8 @@ import java.util.List; * @author system * @date 2025-02-20 */ -@TableName("med_medication") @Repository -public interface MedicationMapper extends HisBaseMapper { +public interface MedicationMapper extends BaseMapper { /** * 查询药品详细信息列表 diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/service/IMedicationService.java b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/service/IMedicationService.java index 4aa04c4e..0b04d26f 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/service/IMedicationService.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/service/IMedicationService.java @@ -1,6 +1,6 @@ package com.openhis.medication.service; -import com.core.common.biz.HisBaseService; +import com.baomidou.mybatisplus.extension.service.IService; import com.openhis.medication.domain.Medication; import com.openhis.medication.domain.MedicationDetail; @@ -12,7 +12,7 @@ import java.util.List; * @author system * @date 2025-02-20 */ -public interface IMedicationService extends HisBaseService { +public interface IMedicationService extends IService { /** * 查询药品信息列表 diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationServiceImpl.java b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationServiceImpl.java index 91d46c28..b75fc2c5 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationServiceImpl.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationServiceImpl.java @@ -1,11 +1,5 @@ package com.openhis.medication.service.impl; -import java.util.List; - -import com.core.common.biz.HisBaseServiceImpl; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.openhis.common.enums.DelFlag; @@ -13,8 +7,11 @@ 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; /** * 药品基本信息管理Service业务层处理 @@ -24,7 +21,7 @@ import lombok.extern.slf4j.Slf4j; */ @Slf4j @Service -public class MedicationServiceImpl extends HisBaseServiceImpl implements IMedicationService { +public class MedicationServiceImpl extends ServiceImpl implements IMedicationService { @Autowired private MedicationMapper medicationMapper; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ActivityDefinition.java b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ActivityDefinition.java index 79503e52..914afb54 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ActivityDefinition.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ActivityDefinition.java @@ -32,34 +32,34 @@ public class ActivityDefinition extends HisBaseEntity { private Integer categoryEnum; /** 编码 */ - private String code; + private String busNo; /** 项目名称 */ private String name; /** 项目名称拼音 */ - private String pyCode; + private String pyStr; /** 五笔拼音 */ - private String wbCode; + private String wbStr; /** 类型 */ private Integer typeEnum; /** 使用单位 */ - private String permittedUnit; + private String permittedUnitCode; /** 医保标记 */ private Integer ybFlag; /** 医保编码 */ - private String ybCode; + private String ybNo; /** 医保对码标记 */ private Integer ybMatchFlag; /** 状态 */ - private String statusCode; + private Integer statusEnum; /** 身体部位 */ private String bodySiteCode; @@ -71,7 +71,7 @@ public class ActivityDefinition extends HisBaseEntity { private String description; /** 规则id */ - private String ruleId; + private Integer ruleId; } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/DeviceDispense.java b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/DeviceDispense.java index 2322be93..ed365ab0 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/DeviceDispense.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/DeviceDispense.java @@ -29,7 +29,7 @@ public class DeviceDispense extends HisBaseEntity { private Long id; /** 器材发放id */ - private String code; + private String busNo; /** 器材请求id */ private String deviceReqId; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/DeviceRequest.java b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/DeviceRequest.java index 3ad718bf..54be6ab0 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/DeviceRequest.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/DeviceRequest.java @@ -29,13 +29,13 @@ public class DeviceRequest extends HisBaseEntity { private Long id; /** 器材请求编码 */ - private String code; + private String busNo; /** 处方号 */ - private String prescriptionCode; + private String prescriptionNo; /** 相关诊疗项目 */ - private String activityId; + private Integer activityId; /** 组套id */ private Long packageId; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/InventoryItem.java b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/InventoryItem.java index d0e7f359..ad596fe7 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/InventoryItem.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/InventoryItem.java @@ -32,19 +32,19 @@ public class InventoryItem extends HisBaseEntity { private Integer categoryEnum; /** 编码 */ - private String code; + private String busNo; /** 名称 */ private String name; /** 拼音码 */ - private String pyCode; + private String pyStr; /** 五笔码 */ - private String wbCode; + private String wbStr; /** 库存状态 */ - private Integer inventoryStatus; + private Integer inventoryStatusEnum; /** 供应商id */ private Long supplierId; @@ -92,7 +92,7 @@ public class InventoryItem extends HisBaseEntity { private Long locationId; /** 追溯码 */ - private String traceCode; + private String traceNo; /** 追溯码包装层级 */ private Integer packagingLevels; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java index e342d24a..c7029161 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java @@ -29,7 +29,7 @@ public class ServiceRequest extends HisBaseEntity { private Long id; /** 处方号 */ - private String prescriptionCode; + private String prescriptionNo; /** 请求基于什么 */ private String basedOnTable; @@ -56,7 +56,7 @@ public class ServiceRequest extends HisBaseEntity { private Integer performFlag; /** 请求code */ - private Long code; + private Long activityId; /** 数量 */ private BigDecimal quantity; @@ -77,7 +77,7 @@ public class ServiceRequest extends HisBaseEntity { private Long requesterId; /** 执行者类型 */ - private String performerType; + private String performerTypeCode; /** 执行人 */ private Long performerId; @@ -98,7 +98,7 @@ public class ServiceRequest extends HisBaseEntity { private Date occurrenceEndTime; /** 历史请求 */ - private Long relevantHistory; + private Long relevantHistoryId; } \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/SupplyDelivery.java b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/SupplyDelivery.java index 7565fcac..1869ac98 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/SupplyDelivery.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/SupplyDelivery.java @@ -35,13 +35,13 @@ public class SupplyDelivery extends HisBaseEntity { private Long summaryId; /** 状态 */ - private Integer status; + private Integer statusEnum; /** 患者id */ private Long patientId; /** 类型 */ - private Integer type; + private Integer typeEnum; /** 发放项目所属表 */ private String itemTable; @@ -62,7 +62,7 @@ public class SupplyDelivery extends HisBaseEntity { private String lotNumber; /** 追溯码 */ - private String traceCode; + private String traceNo; /** 供应商 */ private Long supplierId; @@ -82,24 +82,6 @@ public class SupplyDelivery extends HisBaseEntity { /** 发放周期时间 */ private String occurrenceTiming; - /** 源仓库类型 */ - private Integer sourceType; - - /** 源仓库 */ - private Long sourceLocationId; - - /** 源仓位 */ - private Long sourceLocationStoreId; - - /** 目的仓库类型 */ - private Integer purposeType; - - /** 目的仓库 */ - private Long purposeLocationId; - - /** 目的仓位 */ - private Long purposeLocationStoreId; - /** 接收人 */ private Long receiverId; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/SupplyRequest.java b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/SupplyRequest.java index 7e3596ab..1a61898d 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/SupplyRequest.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/workflow/domain/SupplyRequest.java @@ -65,7 +65,7 @@ public class SupplyRequest extends HisBaseEntity { private Integer itemQuantity; /** 物品编码 */ - private Long code; + private Long itemId; /** 物品计量单位 */ private String unitIdCode; @@ -89,7 +89,7 @@ public class SupplyRequest extends HisBaseEntity { private String reason; /** 源仓库类型 */ - private Integer sourceType; + private Integer sourceTypeEnum; /** 源仓库 */ private Long sourceLocationId; @@ -98,7 +98,7 @@ public class SupplyRequest extends HisBaseEntity { private Long sourceLocationStoreId; /** 目的类型 */ - private Integer purposeType; + private Integer purposeTypeEnum; /** 目的仓库 */ private Long purposeLocationId;