diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java index 3cbda035..8b5e511a 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/datadictionary/appservice/impl/DiagTreatMAppServiceImpl.java @@ -6,6 +6,7 @@ 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.core.domain.entity.SysDictData; +import com.core.common.core.domain.model.LoginUser; import com.core.common.utils.*; import com.core.common.utils.bean.BeanUtils; import com.core.common.utils.poi.ExcelUtil; @@ -400,6 +401,21 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { // 新增外来诊疗目录 activityDefinition.setStatusEnum(PublicationStatus.ACTIVE.getValue()); + // 显式设置创建者和租户ID,确保插入时不为null + String createBy = "system"; + Integer tenantId = null; + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null) { + createBy = loginUser.getUsername(); + tenantId = loginUser.getTenantId(); + } + } catch (Exception e) { + // 如果获取失败,使用默认值 + } + activityDefinition.setCreateBy(createBy); + activityDefinition.setTenantId(tenantId != null ? tenantId : 1); // 默认租户ID为1 + // 检查编码是否已存在 List existingDefinitions = activityDefinitionMapper.selectList( new LambdaQueryWrapper() @@ -624,6 +640,20 @@ public class DiagTreatMAppServiceImpl implements IDiagTreatMAppService { .setYbMatchFlag(CommonUtil.tryParseInt(importDto.getYbMatchFlag())) .setStatusEnum(PublicationStatus.ACTIVE.getValue()) .setChrgitmLv(CommonUtil.tryParseInt(importDto.getChrgitmLv())); + // 显式设置创建者和租户ID,确保插入时不为null + String createBy = "system"; + Integer tenantId = null; + try { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null) { + createBy = loginUser.getUsername(); + tenantId = loginUser.getTenantId(); + } + } catch (Exception e) { + // 如果获取失败,使用默认值 + } + activityDefinition.setCreateBy(createBy); + activityDefinition.setTenantId(tenantId != null ? tenantId : 1); // 默认租户ID为1 return activityDefinition; } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationMainAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationMainAppServiceImpl.java index b8b9907b..7485cd07 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationMainAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationMainAppServiceImpl.java @@ -123,6 +123,8 @@ public class DoctorStationMainAppServiceImpl implements IDoctorStationMainAppSer */ @Override public R receiveEncounter(Long encounterId) { + Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); + String currentUsername = SecurityUtils.getUsername(); int update = encounterMapper.update(null, new LambdaUpdateWrapper().eq(Encounter::getId, encounterId) .set(Encounter::getReceptionTime, new Date()) @@ -140,6 +142,9 @@ public class DoctorStationMainAppServiceImpl implements IDoctorStationMainAppSer encounterParticipant.setTypeCode(ParticipantType.ADMITTER.getCode());// 接诊医生 encounterParticipant.setPractitionerId(SecurityUtils.getLoginUser().getPractitionerId()); encounterParticipant.setStatusEnum(EncounterActivityStatus.ACTIVE.getValue()); // 状态 + encounterParticipant.setTenantId(tenantId); + encounterParticipant.setCreateBy(currentUsername); + encounterParticipant.setCreateTime(new Date()); iEncounterParticipantService.save(encounterParticipant); return update > 0 ? R.ok() : R.fail(); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/PurchaseInventoryAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/PurchaseInventoryAppServiceImpl.java index 83298f35..bfef3501 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/PurchaseInventoryAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inventorymanage/appservice/impl/PurchaseInventoryAppServiceImpl.java @@ -25,6 +25,7 @@ import com.openhis.web.inventorymanage.dto.*; import com.openhis.web.inventorymanage.mapper.PurchaseInventoryMapper; import com.openhis.workflow.domain.SupplyRequest; import com.openhis.workflow.service.ISupplyRequestService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -40,6 +41,7 @@ import java.util.stream.Stream; * @author zwh * @date 2025-03-08 */ +@Slf4j @Service public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppService { @@ -159,6 +161,7 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer @Override public R> getDetail(String busNo) { List receiptDetailList = purchaseInventoryMapper.selectDetail(busNo); + log.debug("返回查询结果,receiptDetailList:{}", receiptDetailList); if (receiptDetailList.isEmpty()) { return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00006, null)); } @@ -182,7 +185,7 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer } }); } - + log.debug("返回查询结果,receiptDetailList:{}", receiptDetailList); return R.ok(receiptDetailList); } @@ -194,7 +197,6 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer */ @Override public R addOrEditInventoryReceipt(List purchaseInventoryDtoList) { - // 校验(已经审批通过的单号(请求状态是同意),不能再重复编辑请求) boolean validation = supplyRequestService.supplyRequestValidation(purchaseInventoryDtoList.get(0).getBusNo()); if (validation) { @@ -232,11 +234,14 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer // 制单人 .setApplicantId(SecurityUtils.getLoginUser().getPractitionerId()) // 申请时间 - .setApplyTime(DateUtils.getNowDate()); + .setApplyTime(DateUtils.getNowDate()) + + .setCreateBy(SecurityUtils.getLoginUser().getUsername()) + .setCreateTime(DateUtils.getNowDate()) + .setTenantId(SecurityUtils.getLoginUser().getTenantId()); supplyRequestList.add(supplyRequest); } - // 保存 supplyRequestService.saveOrUpdateBatch(supplyRequestList); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseProfitLossOrderServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseProfitLossOrderServiceImpl.java index 02e2c8c5..e8b55759 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseProfitLossOrderServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseProfitLossOrderServiceImpl.java @@ -57,15 +57,15 @@ public class PharmacyWarehouseProfitLossOrderServiceImpl implements IPharmacyWar // 单据分类 List supplyCategoryOption = new ArrayList<>(); - // supplyCategoryOption.add(new - // PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.GENERAL_PROFIT_AND_LOSS.getValue(), - // SupplyCategory.GENERAL_PROFIT_AND_LOSS.getInfo())); - // supplyCategoryOption.add(new - // PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.STOCKTAKING_PROFIT_AND_LOSS.getValue(), - // SupplyCategory.STOCKTAKING_PROFIT_AND_LOSS.getInfo())); - // supplyCategoryOption.add(new - // PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.PREPARATION_CONSUMPTION.getValue(), - // SupplyCategory.PREPARATION_CONSUMPTION.getInfo())); + supplyCategoryOption.add(new + PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.GENERAL_PROFIT_AND_LOSS.getValue(), + SupplyCategory.GENERAL_PROFIT_AND_LOSS.getInfo())); + supplyCategoryOption.add(new + PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.STOCKTAKING_PROFIT_AND_LOSS.getValue(), + SupplyCategory.STOCKTAKING_PROFIT_AND_LOSS.getInfo())); + supplyCategoryOption.add(new + PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.PREPARATION_CONSUMPTION.getValue(), + SupplyCategory.PREPARATION_CONSUMPTION.getInfo())); purchaseOrderInitDto.setSupplyCategoryOptions(supplyCategoryOption); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehousePurchaseOrderServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehousePurchaseOrderServiceImpl.java index 10254472..c1ed85b9 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehousePurchaseOrderServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehousePurchaseOrderServiceImpl.java @@ -56,11 +56,11 @@ public class PharmacyWarehousePurchaseOrderServiceImpl implements IPharmacyWareh // 单据分类 List supplyCategoryOption = new ArrayList<>(); - // supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.NORMAL.getValue(), - // SupplyCategory.NORMAL.getInfo())); - // supplyCategoryOption.add(new - // PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.PURCHASE_PLAN_GENERATION.getValue(), - // SupplyCategory.PURCHASE_PLAN_GENERATION.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.STOCK_SUPPLY.getValue(), + SupplyCategory.STOCK_SUPPLY.getInfo())); + supplyCategoryOption.add(new + PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.NON_STOCK.getValue(), + SupplyCategory.NON_STOCK.getInfo())); purchaseOrderInitDto.setSupplyCategoryOptions(supplyCategoryOption); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseReturnOrderServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseReturnOrderServiceImpl.java index d4102a66..26d46212 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseReturnOrderServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseReturnOrderServiceImpl.java @@ -56,8 +56,8 @@ public class PharmacyWarehouseReturnOrderServiceImpl implements IPharmacyWarehou // 单据分类 List supplyCategoryOption = new ArrayList<>(); - // supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.NORMAL.getValue(), - // SupplyCategory.NORMAL.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.NORMAL.getValue(), + SupplyCategory.NORMAL.getInfo())); purchaseOrderInitDto.setSupplyCategoryOptions(supplyCategoryOption); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseReturnToWarehouseOrderServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseReturnToWarehouseOrderServiceImpl.java index 0f1543d3..8b633496 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseReturnToWarehouseOrderServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseReturnToWarehouseOrderServiceImpl.java @@ -56,8 +56,8 @@ public class PharmacyWarehouseReturnToWarehouseOrderServiceImpl implements IPhar // 单据分类 List supplyCategoryOption = new ArrayList<>(); -// supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.NORMAL.getValue(), -// SupplyCategory.NORMAL.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.NORMAL.getValue(), + SupplyCategory.NORMAL.getInfo())); purchaseOrderInitDto.setSupplyCategoryOptions(supplyCategoryOption); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStockInOrderServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStockInOrderServiceImpl.java index 4f45c4a9..00583f44 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStockInOrderServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStockInOrderServiceImpl.java @@ -57,18 +57,16 @@ public class PharmacyWarehouseStockInOrderServiceImpl implements IPharmacyWareho // 单据分类 List supplyCategoryOption = new ArrayList<>(); - // supplyCategoryOption - // .add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.PURCHASED_DRUGS_WAREHOUSING.getValue(), - // SupplyCategory.PURCHASED_DRUGS_WAREHOUSING.getInfo())); - // supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption( - // SupplyCategory.HOMEMADE_DRUGS_WAREHOUSING.getValue(), SupplyCategory.HOMEMADE_DRUGS_WAREHOUSING.getInfo())); - // supplyCategoryOption - // .add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.CONSIGNMENT_DRUGS_WAREHOUSING.getValue(), - // SupplyCategory.CONSIGNMENT_DRUGS_WAREHOUSING.getInfo())); - // supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption( - // SupplyCategory.OTHER_DRUGS_WAREHOUSING.getValue(), SupplyCategory.OTHER_DRUGS_WAREHOUSING.getInfo())); - // supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption( - // SupplyCategory.DONATED_DRUGS_WAREHOUSING.getValue(), SupplyCategory.DONATED_DRUGS_WAREHOUSING.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.PURCHASED_DRUGS_WAREHOUSING.getValue(), + SupplyCategory.PURCHASED_DRUGS_WAREHOUSING.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption( + SupplyCategory.HOMEMADE_DRUGS_WAREHOUSING.getValue(), SupplyCategory.HOMEMADE_DRUGS_WAREHOUSING.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.CONSIGNMENT_DRUGS_WAREHOUSING.getValue(), + SupplyCategory.CONSIGNMENT_DRUGS_WAREHOUSING.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption( + SupplyCategory.OTHER_DRUGS_WAREHOUSING.getValue(), SupplyCategory.OTHER_DRUGS_WAREHOUSING.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption( + SupplyCategory.DONATED_DRUGS_WAREHOUSING.getValue(), SupplyCategory.DONATED_DRUGS_WAREHOUSING.getInfo())); purchaseOrderInitDto.setSupplyCategoryOptions(supplyCategoryOption); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStockOutOrderServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStockOutOrderServiceImpl.java index 629304d3..2199b152 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStockOutOrderServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStockOutOrderServiceImpl.java @@ -56,12 +56,12 @@ public class PharmacyWarehouseStockOutOrderServiceImpl implements IPharmacyWareh // 单据分类 List supplyCategoryOption = new ArrayList<>(); -// supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.IN_HOSPITAL_OUTBOUND.getValue(), -// SupplyCategory.IN_HOSPITAL_OUTBOUND.getInfo())); -// supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.OUT_OF_HOSPITAL_OUTBOUND.getValue(), -// SupplyCategory.OUT_OF_HOSPITAL_OUTBOUND.getInfo())); -// supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.OTHER_OUTBOUND.getValue(), -// SupplyCategory.OTHER_OUTBOUND.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.IN_HOSPITAL_OUTBOUND.getValue(), + SupplyCategory.IN_HOSPITAL_OUTBOUND.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.OUT_OF_HOSPITAL_OUTBOUND.getValue(), + SupplyCategory.OUT_OF_HOSPITAL_OUTBOUND.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption(SupplyCategory.OTHER_OUTBOUND.getValue(), + SupplyCategory.OTHER_OUTBOUND.getInfo())); purchaseOrderInitDto.setSupplyCategoryOptions(supplyCategoryOption); diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStocktakingOrderServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStocktakingOrderServiceImpl.java index aa633e6f..1424784e 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStocktakingOrderServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/pharmacyWarehousemanage/appservice/impl/PharmacyWarehouseStocktakingOrderServiceImpl.java @@ -57,10 +57,10 @@ public class PharmacyWarehouseStocktakingOrderServiceImpl implements IPharmacyWa // 单据分类 List supplyCategoryOption = new ArrayList<>(); - // supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption( - // SupplyCategory.GENERAL_STOCKTAKING.getValue(), SupplyCategory.GENERAL_STOCKTAKING.getInfo())); - // supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption( - // SupplyCategory.MONTHLY_STOCKTAKING.getValue(), SupplyCategory.MONTHLY_STOCKTAKING.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption( + SupplyCategory.GENERAL_STOCKTAKING.getValue(), SupplyCategory.GENERAL_STOCKTAKING.getInfo())); + supplyCategoryOption.add(new PharmacyWarehouseInitDto.IntegerOption( + SupplyCategory.MONTHLY_STOCKTAKING.getValue(), SupplyCategory.MONTHLY_STOCKTAKING.getInfo())); purchaseOrderInitDto.setSupplyCategoryOptions(supplyCategoryOption); diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/Inventorymanage/PurchaseInventoryMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/Inventorymanage/PurchaseInventoryMapper.xml index 248df887..9c922bc2 100644 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/Inventorymanage/PurchaseInventoryMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/Inventorymanage/PurchaseInventoryMapper.xml @@ -86,7 +86,7 @@ T3.total_volume, T5."name" AS practitioner_name, T6."name" AS purpose_location_name, - T6."id" AS purpose_location_id, + T1.purpose_location_id AS purpose_location_id, T7."name" AS purpose_location_store_name, T1.occurrence_time, (SELECT SUM(T9.quantity) @@ -119,7 +119,7 @@ ON T1.supplier_id = T10.id AND T10.delete_flag = '0' LEFT JOIN sys_dict_data sdt - ON sdt.dict_value = T1.unit_code AND dict_type = 'unit_code' + ON sdt.dict_value = T1.unit_code AND sdt.dict_type = 'unit_code' WHERE T1.bus_no = #{busNo} AND T1.delete_flag = '0' UNION @@ -145,7 +145,7 @@ T8."size" AS total_volume, T5."name" AS practitioner_name, T6."name" AS purpose_location_name, - T6."id" AS purpose_location_id, + T1.purpose_location_id AS purpose_location_id, T7."name" AS purpose_location_store_name, T1.occurrence_time, (SELECT SUM(T9.quantity) @@ -175,7 +175,7 @@ ON T1.supplier_id = T10.id AND T10.delete_flag = '0' LEFT JOIN sys_dict_data sdt - ON sdt.dict_value = T1.unit_code AND dict_type = 'unit_code' + ON sdt.dict_value = T1.unit_code AND sdt.dict_type = 'unit_code' WHERE T1.bus_no = #{busNo} AND T1.delete_flag = '0' diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml index 59923679..a14229d4 100644 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml @@ -112,7 +112,6 @@ ON T1.context_enum = #{activity} AND T1.product_id = T2.id AND T2.delete_flag = '0' - AND T2.status_enum = 1 LEFT JOIN med_medication_definition AS T3 ON T1.context_enum = #{medication} AND T1.product_id = T3.id @@ -206,7 +205,6 @@ ON T1.context_enum = #{activity} AND T1.product_id = T2.id AND T2.delete_flag = '0' - AND T2.status_enum = 1 LEFT JOIN med_medication_definition AS T3 ON T1.context_enum = #{medication} AND T1.product_id = T3.id diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml index c1b16c22..ebde3570 100644 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml @@ -231,16 +231,13 @@ AND T3.organization_id = #{organizationId} WHERE T1.delete_flag = '0' - - AND (T1.pricing_flag = #{pricingFlag} OR T1.pricing_flag IS NULL) - + AND (T1.pricing_flag = 1 OR T1.pricing_flag IS NULL) AND T1.id IN #{itemId} - AND T1.status_enum = #{statusEnum} ) diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SupplyCategory.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SupplyCategory.java index 24f62e16..92f0a666 100644 --- a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SupplyCategory.java +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/SupplyCategory.java @@ -23,120 +23,120 @@ public enum SupplyCategory implements HisEnumInterface { /** * 非库存供应 */ - NON_STOCK(2, "2", "非库存供应"); + NON_STOCK(2, "2", "非库存供应"), - // /** - // * 普通 - // */ - // NORMAL(3, "3","0.普通"), - // /** - // * 采购计划生成 - // */ - // PURCHASE_PLAN_GENERATION(4, "4","1.采购计划生成"), - // /** - // * 外购药品入库 - // */ - // PURCHASED_DRUGS_WAREHOUSING(5, "5","0.外购药品入库"), - // /** - // * 自制药品入库 - // */ - // HOMEMADE_DRUGS_WAREHOUSING(6, "6","1.自制药品入库"), - // /** - // * 代销药品入库 - // */ - // CONSIGNMENT_DRUGS_WAREHOUSING(7, "7","2.代销药品入库"), - // /** - // * 其他药品入库 - // */ - // OTHER_DRUGS_WAREHOUSING(8, "8","3.其他药品入库"), - // /** - // * 赠送药品入库 - // */ - // DONATED_DRUGS_WAREHOUSING(9, "9","4.赠送药品入库"), - // /** - // * 申请采购 - // */ - // PURCHASE_APPLICATION(10, "10","1.申请采购"), - // /** - // * 院内出库 - // */ - // IN_HOSPITAL_OUTBOUND(11, "11","0.院内出库"), - // /** - // * 院外出库 - // */ - // OUT_OF_HOSPITAL_OUTBOUND(12, "12","1.院外出库"), - // /** - // * 其他出库 - // */ - // OTHER_OUTBOUND(13, "13","2.其他出库"), - // /** - // * 普通损益 - // */ - // GENERAL_PROFIT_AND_LOSS(14, "14","0.普通损益"), - // /** - // * 盘点损益 - // */ - // STOCKTAKING_PROFIT_AND_LOSS(15, "15","1.盘点损益"), - // /** - // * 制剂消耗 - // */ - // PREPARATION_CONSUMPTION(16, "16","2.制剂消耗"), - // /** - // * 常备抢救药品 - // */ - // STANDBY_RESCUE_MEDICINES(16, "16","2.常备抢救药品"), - // /** - // * 破损过期药品 - // */ - // DAMAGED_EXPIRED_MEDICINES(16, "16","3.破损过期药品"), - // /** - // * 捐赠药品 - // */ - // DONATED_MEDICINES(16, "16","4.捐赠药品"), - // /** - // * 普通盘点 - // */ - // GENERAL_STOCKTAKING(17, "17","0.普通盘点"), - // /** - // * 月度盘点 - // */ - // MONTHLY_STOCKTAKING(18, "18","1.月度盘点"), - // /** - // * 门诊病人发药 - // */ - // OUTPATIENT_PATIENT_DISPENSING(19, "19","0.门诊病人发药"), - // /** - // * 住院病人发药 - // */ - // INPATIENT_PATIENT_DISPENSING(20, "20","1.住院病人发药"), - // /** - // * 住院病人汇总发药 - // */ - // INPATIENT_PATIENT_SUMMARY_DISPENSING(21, "21","2.住院病人汇总发药"), - // /** - // * 赠送 - // */ - // PRESENT(22, "22","1.赠送"), - // /** - // * 视光材料 - // */ - // OPTICAL_MATERIALS(23, "23","2.视光材料"), - // /** - // * 调价分类 药品 - // */ - // REQUEST_CATEGORY_CHANGE_PRICE_MEDICATION(24, "24","药品调价单"), - // /** - // * 调价分类 耗材 - // */ - // REQUEST_CATEGORY_CHANGE_PRICE_DEVICE(25, "25","耗材调价单"), - // /** - // * 调价分类 诊疗 - // */ - // REQUEST_CATEGORY_CHANGE_PRICE_ACTIVITY(26, "26","诊疗调价单"), - // /** - // * 调价分类 挂号 - // */ - // REQUEST_CATEGORY_CHANGE_PRICE_HEALTH(27, "27","挂号调价单"); + /** + * 普通 + */ + NORMAL(3, "3", "0.普通"), + /** + * 采购计划生成 + */ + PURCHASE_PLAN_GENERATION(4, "4", "1.采购计划生成"), + /** + * 外购药品入库 + */ + PURCHASED_DRUGS_WAREHOUSING(5, "5", "0.外购药品入库"), + /** + * 自制药品入库 + */ + HOMEMADE_DRUGS_WAREHOUSING(6, "6", "1.自制药品入库"), + /** + * 代销药品入库 + */ + CONSIGNMENT_DRUGS_WAREHOUSING(7, "7", "2.代销药品入库"), + /** + * 其他药品入库 + */ + OTHER_DRUGS_WAREHOUSING(8, "8", "3.其他药品入库"), + /** + * 赠送药品入库 + */ + DONATED_DRUGS_WAREHOUSING(9, "9", "4.赠送药品入库"), + /** + * 申请采购 + */ + PURCHASE_APPLICATION(10, "10", "1.申请采购"), + /** + * 院内出库 + */ + IN_HOSPITAL_OUTBOUND(11, "11", "0.院内出库"), + /** + * 院外出库 + */ + OUT_OF_HOSPITAL_OUTBOUND(12, "12", "1.院外出库"), + /** + * 其他出库 + */ + OTHER_OUTBOUND(13, "13", "2.其他出库"), + /** + * 普通损益 + */ + GENERAL_PROFIT_AND_LOSS(14, "14", "0.普通损益"), + /** + * 盘点损益 + */ + STOCKTAKING_PROFIT_AND_LOSS(15, "15", "1.盘点损益"), + /** + * 制剂消耗 + */ + PREPARATION_CONSUMPTION(16, "16", "2.制剂消耗"), + /** + * 常备抢救药品 + */ + STANDBY_RESCUE_MEDICINES(17, "17", "2.常备抢救药品"), + /** + * 破损过期药品 + */ + DAMAGED_EXPIRED_MEDICINES(18, "18", "3.破损过期药品"), + /** + * 捐赠药品 + */ + DONATED_MEDICINES(19, "19", "4.捐赠药品"), + /** + * 普通盘点 + */ + GENERAL_STOCKTAKING(20, "20", "0.普通盘点"), + /** + * 月度盘点 + */ + MONTHLY_STOCKTAKING(21, "21", "1.月度盘点"), + /** + * 门诊病人发药 + */ + OUTPATIENT_PATIENT_DISPENSING(22, "22", "0.门诊病人发药"), + /** + * 住院病人发药 + */ + INPATIENT_PATIENT_DISPENSING(23, "23", "1.住院病人发药"), + /** + * 住院病人汇总发药 + */ + INPATIENT_PATIENT_SUMMARY_DISPENSING(24, "24", "2.住院病人汇总发药"), + /** + * 赠送 + */ + PRESENT(25, "25", "1.赠送"), + /** + * 视光材料 + */ + OPTICAL_MATERIALS(26, "26", "2.视光材料"), + /** + * 调价分类 药品 + */ + REQUEST_CATEGORY_CHANGE_PRICE_MEDICATION(27, "27", "药品调价单"), + /** + * 调价分类 耗材 + */ + REQUEST_CATEGORY_CHANGE_PRICE_DEVICE(28, "28", "耗材调价单"), + /** + * 调价分类 诊疗 + */ + REQUEST_CATEGORY_CHANGE_PRICE_ACTIVITY(29, "29", "诊疗调价单"), + /** + * 调价分类 挂号 + */ + REQUEST_CATEGORY_CHANGE_PRICE_HEALTH(30, "30", "挂号调价单"); private Integer value; private String code; private String info; diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterParticipant.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterParticipant.java index 39423d35..ef8664ec 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterParticipant.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterParticipant.java @@ -1,6 +1,7 @@ package com.openhis.administration.domain; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; @@ -43,4 +44,9 @@ public class EncounterParticipant extends HisBaseEntity { /** 状态 */ private Integer statusEnum; + /** + * 租户ID(新增字段,和数据库的tenant_id对应) + */ + @TableField("tenant_id") // 显式映射数据库字段名,避免MyBatis-Plus自动转换出错 + private Integer tenantId; } \ No newline at end of file diff --git a/openhis-server-new/sql/diagnose_treatment_items_issue.sql b/openhis-server-new/sql/diagnose_treatment_items_issue.sql index a3670c28..582fac6d 100644 --- a/openhis-server-new/sql/diagnose_treatment_items_issue.sql +++ b/openhis-server-new/sql/diagnose_treatment_items_issue.sql @@ -90,3 +90,5 @@ WHERE aci.context_enum = 'ACTIVITY' + + diff --git a/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/index.vue b/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/index.vue index c29b0b80..300b6cf5 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/index.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/hospitalizationEmr/index.vue @@ -167,8 +167,29 @@ const handleNodeClick = (data, node) => { if (node.isLeaf) { // 存储当前节点数据 currentSelectTemplate.value = data.document; - currentComponent.value = currentSelectTemplate.value.vueRouter || ''; - // currentComponent.value = data.document.vueRouter || ''; + + // 在切换组件前先重置表单数据,避免显示之前的数据 + editForm.value = { + id: '', + definitionId: '', + definitionBusNo: '', + contentJson: '', + statusEnum: 1, + organizationId: 0, + encounterId: '', + patientId: '', + recordTime: dayjs().format('YYYY-MM-DD HH:mm:ss'), + createBy: '', + source: '', + }; + + // 先清空当前组件,再设置新组件,确保组件完全重新渲染 + currentComponent.value = ''; + + // 使用 nextTick 确保 DOM 更新后再设置新组件 + nextTick(() => { + currentComponent.value = currentSelectTemplate.value.vueRouter || ''; + }); } else { currentSelectTemplate.value = { id: '', @@ -426,8 +447,21 @@ const loadLatestMedicalRecord = async () => { // 自动回显最新病历数据到模板 editForm.value = latestRecord; nextTick(() => { - if (emrComponentRef.value && latestRecord.contentJson) { - emrComponentRef.value.setFormData(JSON.parse(latestRecord.contentJson)); + if (emrComponentRef.value) { + // 确保动态组件已加载完成后再设置数据 + if (latestRecord.contentJson) { + try { + const parsedData = JSON.parse(latestRecord.contentJson); + emrComponentRef.value.setFormData(parsedData); + } catch (parseError) { + console.error('解析病历数据失败:', parseError); + // 解析失败时仍然尝试设置空数据以清空之前的残留数据 + emrComponentRef.value.setFormData({}); + } + } else { + // 如果没有内容数据,也要清空组件中的数据 + emrComponentRef.value.setFormData({}); + } } // 通知History组件更新选中状态 @@ -438,11 +472,51 @@ const loadLatestMedicalRecord = async () => { } else { // 清空选中状态 selectedHistoryRecordId.value = ''; + // 当没有历史记录时,也要清空当前表单数据,避免显示之前患者的数据 + editForm.value = { + id: '', + definitionId: '', + definitionBusNo: '', + contentJson: '', + statusEnum: 1, + organizationId: 0, + encounterId: '', + patientId: '', + recordTime: dayjs().format('YYYY-MM-DD HH:mm:ss'), + createBy: '', + source: '', + }; + + nextTick(() => { + if (emrComponentRef.value) { + emrComponentRef.value.setFormData({}); + } + }); } } catch (error) { ElMessage.error('加载最新病历数据失败'); // 出错时也清空选中状态 selectedHistoryRecordId.value = ''; + // 出错时也要清空表单数据,避免显示之前患者的数据 + editForm.value = { + id: '', + definitionId: '', + definitionBusNo: '', + contentJson: '', + statusEnum: 1, + organizationId: 0, + encounterId: '', + patientId: '', + recordTime: dayjs().format('YYYY-MM-DD HH:mm:ss'), + createBy: '', + source: '', + }; + + nextTick(() => { + if (emrComponentRef.value) { + emrComponentRef.value.setFormData({}); + } + }); } finally { loading.value = false; } @@ -689,6 +763,22 @@ watch( (newPatientInfo) => { // 当患者信息变化时,默认选中门诊病历模板并加载最新病历数据 if (newPatientInfo && newPatientInfo.patientId && Object.keys(newPatientInfo).length > 0) { + // 重置当前组件和表单数据,确保不会显示之前患者的数据 + currentComponent.value = ''; + editForm.value = { + id: '', + definitionId: '', + definitionBusNo: '', + contentJson: '', + statusEnum: 1, + organizationId: 0, + encounterId: '', + patientId: '', + recordTime: dayjs().format('YYYY-MM-DD HH:mm:ss'), + createBy: '', + source: '', + }; + // 确保模板树已经加载 if (templateData.value && templateData.value.length > 0) { // 优先尝试使用更精确的selectDefaultTemplate函数 @@ -702,6 +792,22 @@ watch( }); }); } + } else { + // 如果没有患者信息,也要重置组件和表单数据 + currentComponent.value = ''; + editForm.value = { + id: '', + definitionId: '', + definitionBusNo: '', + contentJson: '', + statusEnum: 1, + organizationId: 0, + encounterId: '', + patientId: '', + recordTime: dayjs().format('YYYY-MM-DD HH:mm:ss'), + createBy: '', + source: '', + }; } }, { deep: true, immediate: true } diff --git a/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionlist.vue b/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionlist.vue index 129764da..58772e5a 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionlist.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/prescription/prescriptionlist.vue @@ -356,265 +356,39 @@ - - - - - = - - - - - - - - - -
- - - - - - - - - - - - - -
- -
+
+
+
+ -
- - - - - - - - - - - - -
- - 确定 - -
+ + +
+ + 确定 + + @@ -1152,6 +926,12 @@ const adviceTypeList = ref([ }, ]); +// 根据类型值获取显示标签,避免非编辑态出现空标签 +const mapAdviceTypeLabel = (type) => { + const found = adviceTypeList.value.find((item) => item.value === type); + return found ? found.label : ''; +}; + // 西药处方管理相关变量 const westernPrescriptions = ref([]); // 西药处方列表 const currentPrescriptionId = ref(null); // 当前活跃的处方ID @@ -2321,6 +2101,8 @@ function handleSaveSign(row, index, prescriptionId) { row.patientId = props.patientInfo.patientId; row.encounterId = props.patientInfo.encounterId; row.accountId = accountId.value; + // 确保非编辑态显示正确的医嘱类型标签 + row.adviceType_dictText = mapAdviceTypeLabel(row.adviceType); if (row.adviceType == 1 || row.adviceType == 2) { row.minUnitQuantity = row.minUnitCode == row.unitCode ? row.quantity : row.quantity * row.partPercent; diff --git a/openhis-ui-vue3/src/views/medicationmanagement/purchaseDocument/index.vue b/openhis-ui-vue3/src/views/medicationmanagement/purchaseDocument/index.vue index cc8386b1..681e722b 100644 --- a/openhis-ui-vue3/src/views/medicationmanagement/purchaseDocument/index.vue +++ b/openhis-ui-vue3/src/views/medicationmanagement/purchaseDocument/index.vue @@ -24,9 +24,9 @@ - 提交审核 + + 提交审核 + @@ -35,7 +35,8 @@ 批量保存批量保存 + @@ -271,11 +272,11 @@ >
+ + +
+ { +// if (newList && newList.length > 0) { +// // 可以触发表格重新渲染或更新相关数据 +// } +// }, { immediate: true }); +const getLocationNameById = (id) => { + // 检查locationList是否已加载 + if (!locationList.value || !Array.isArray(locationList.value) || locationList.value.length === 0) { + return '仓库列表未加载'; + } + + // 使用严格相等比较,处理类型转换 + const location = locationList.value.find(item => { + return item.id == id; // 使用 == 而不是 === 以处理字符串和数字之间的比较 + }); + + return location ? location.name : '仓库不存在'; +}; const viewStatus = ref(""); const startTimeOld = ref(""); const endTimeOld = ref(""); diff --git a/openhis-ui-vue3/src/views/medicationmanagement/purchaseinventory/index.vue b/openhis-ui-vue3/src/views/medicationmanagement/purchaseinventory/index.vue index 54e8e7b2..b7f81c11 100644 --- a/openhis-ui-vue3/src/views/medicationmanagement/purchaseinventory/index.vue +++ b/openhis-ui-vue3/src/views/medicationmanagement/purchaseinventory/index.vue @@ -205,9 +205,9 @@ >