diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java index cb9e21c56..980e97ba7 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java @@ -1165,35 +1165,18 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { = activityList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList()); // ============ 前置校验 ============ - // 1. 护士站校验:确认医嘱请求仍处于"停止"状态,未被护士核对处理 - // 修正:不再基于 MedicationDispense 历史状态校验(历史发放记录如 EXECUTED/COMPLETED - // 会被误判为护士已核对),改为直接检查 MedicationRequest/ServiceRequest 的当前状态 - if (!medicineRequestIds.isEmpty()) { - List medicineRequestList = iMedicationRequestService.list( - new LambdaQueryWrapper() - .select(MedicationRequest::getId, MedicationRequest::getStatusEnum) - .in(MedicationRequest::getId, medicineRequestIds)); - for (MedicationRequest mr : medicineRequestList) { - if (!RequestStatus.STOPPED.getValue().equals(mr.getStatusEnum())) { - throw new ServiceException("护士站已确认停止该医嘱,无法取消停嘱!"); - } - } - } - if (!activityRequestIds.isEmpty()) { - List activityRequestList = iServiceRequestService.list( - new LambdaQueryWrapper() - .select(ServiceRequest::getId, ServiceRequest::getStatusEnum) - .in(ServiceRequest::getId, activityRequestIds)); - for (ServiceRequest sr : activityRequestList) { - if (!RequestStatus.STOPPED.getValue().equals(sr.getStatusEnum())) { - throw new ServiceException("护士站已确认停止该医嘱,无法取消停嘱!"); - } - } - } - // 2. 药房端校验:如果已有退药/退费记录,说明药房已处理 + // 1. 护士站校验:查询药品发放记录,确认护士站是否已执行停止核对(发药) if (!medicineRequestIds.isEmpty()) { List dispenseList = iMedicationDispenseService.selectByRequestIdList(medicineRequestIds); for (MedicationDispense dispense : dispenseList) { + // 如果发放状态 >= COMPLETED(4),说明护士站已发药/已确认停止 + if (dispense.getStatusEnum() != null && dispense.getStatusEnum() >= DispenseStatus.COMPLETED.getValue() + && !DispenseStatus.ON_HOLD.getValue().equals(dispense.getStatusEnum()) + && !DispenseStatus.STOPPED.getValue().equals(dispense.getStatusEnum()) + && !DispenseStatus.CANCELLED.getValue().equals(dispense.getStatusEnum())) { + throw new ServiceException("护士站已确认停止该医嘱,无法取消停嘱!"); + } + // 2. 药房端校验:如果已有退药/退费记录,说明药房已处理 if (DispenseStatus.RETURNED.getValue().equals(dispense.getStatusEnum()) || DispenseStatus.REFUNDED.getValue().equals(dispense.getStatusEnum()) || DispenseStatus.PART_REFUND.getValue().equals(dispense.getStatusEnum())) { diff --git a/healthlink-his-ui/eslint.config.js b/healthlink-his-ui/eslint.config.js index 1361781dd..ae05be5af 100755 --- a/healthlink-his-ui/eslint.config.js +++ b/healthlink-his-ui/eslint.config.js @@ -1,12 +1,8 @@ /* eslint-env node */ -import path from "node:path"; -import { fileURLToPath } from "node:url"; import globals from "globals"; import pluginVue from "eslint-plugin-vue"; import parserVue from "vue-eslint-parser"; -import importPlugin, { createNodeResolver } from "eslint-plugin-import-x"; - -const __dirname = path.dirname(fileURLToPath(import.meta.url)); +import importPlugin from "eslint-plugin-import"; export default [ { @@ -33,31 +29,31 @@ export default [ }, plugins: { - "import-x": importPlugin, + import: importPlugin, }, rules: { // 确保导入的模块实际存在(核心规则,防止构建失败) - "import-x/no-unresolved": "error", + "import/no-unresolved": "error", // 确保导入的命名导出实际存在 - "import-x/named": "error", + "import/named": "error", // 确保默认导出存在 - "import-x/default": "error", + "import/default": "error", // 确保命名空间导出存在 - "import-x/namespace": "error", + "import/namespace": "error", // Vue 相关规则 "vue/multi-word-component-names": "off", }, settings: { - "import-x/resolver-next": [ - createNodeResolver({ - alias: { - "@": [path.join(__dirname, "src")], - }, - extensions: [".mjs", ".cjs", ".js", ".jsx", ".vue", ".json", ".node"], - }), - ], + "import/resolver": { + alias: { + map: [ + ["@", "./src"], + ], + extensions: [".js", ".jsx", ".vue"], + }, + }, }, }, ]; diff --git a/healthlink-his-ui/package.json b/healthlink-his-ui/package.json index 898f40b85..52c86ee83 100755 --- a/healthlink-his-ui/package.json +++ b/healthlink-his-ui/package.json @@ -74,7 +74,8 @@ "@vitejs/plugin-vue": "^5.2.4", "@vue/test-utils": "^2.4.6", "eslint": "^10.4.1", - "eslint-plugin-import-x": "^4.16.1", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-plugin-import": "^2.32.0", "eslint-plugin-vue": "^10.9.1", "globals": "^17.5.0", "happy-dom": "^20.8.3", diff --git a/node_modules/.vite/deps/_metadata.json b/node_modules/.vite/deps/_metadata.json new file mode 100644 index 000000000..47e90d4a4 --- /dev/null +++ b/node_modules/.vite/deps/_metadata.json @@ -0,0 +1,8 @@ +{ + "hash": "5905b5e1", + "configHash": "4d078017", + "lockfileHash": "9e11ee45", + "browserHash": "09dcaa6f", + "optimized": {}, + "chunks": {} +} \ No newline at end of file diff --git a/node_modules/.vite/deps/package.json b/node_modules/.vite/deps/package.json new file mode 100644 index 000000000..3dbc1ca59 --- /dev/null +++ b/node_modules/.vite/deps/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +}