From 3e0f519c396ac8a72e7bbd426e4f38fa6cc403dc Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期五, 14 三月 2025 16:50:34 +0800
Subject: [PATCH] 点检模块
---
eims-ui/apps/web-antd/src/views/eims/insp-st/insp-st-drawer.vue | 8
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintStController.java | 48
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java | 2
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java | 1
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java | 8
eims-ui/apps/web-antd/src/api/eims/insp-st/index.ts | 62
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectPlanBo.java | 123 +
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintStMapper.java | 20
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java | 255 +++
eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml | 20
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java | 36
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java | 106 +
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectStController.java | 105 +
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintPlanVo.java | 3
eims-ui/apps/web-antd/src/api/eims/insp-plan/index.ts | 63
eims-ui/apps/web-antd/src/views/eims/insp-plan/index.vue | 302 +++
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintSt.java | 8
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java | 200 ++
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java | 77
eims-ui/apps/web-antd/src/api/eims/maint-st/index.ts | 62
eims-ui/apps/web-antd/src/api/eims/maint-st/model.d.ts | 44
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java | 5
eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue | 80
eims-ui/apps/web-antd/src/views/eims/maint-plan/index.vue | 4
eims-ui/apps/web-antd/src/views/eims/maint-order/data.tsx | 15
eims-ui/apps/web-antd/src/api/eims/insp-record/model.d.ts | 97 +
eims-ui/apps/web-antd/src/views/eims/maint-st/data.tsx | 17
eims-ui/apps/web-antd/src/api/eims/insp-plan/model.d.ts | 92 +
eims-ui/apps/web-antd/src/constants/dict/index.ts | 12
eims-ui/apps/web-antd/src/views/eims/insp-record/data.tsx | 298 +++
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java | 80
eims-ui/apps/web-antd/src/views/eims/maint-order/index.vue | 10
eims-ui/apps/web-antd/src/views/eims/maint-order/maint-order-drawer.vue | 14
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderController.java | 14
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectRecord.java | 130 +
eims-ui/packages/@core/base/shared/src/constants/dict-enum.ts | 5
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectRecordVo.java | 175 ++
eims-ui/apps/web-antd/src/views/eims/maint-plan/data.tsx | 5
eims-ui/apps/web-antd/src/views/eims/insp-record/insp-record-drawer.vue | 167 ++
eims-ui/apps/web-antd/src/views/eims/maint-st/maint-st-drawer.vue | 6
eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintStMapper.xml | 13
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java | 10
eims-ui/apps/web-antd/src/api/eims/insp-record/index.ts | 61
eims-ui/apps/web-antd/src/api/eims/insp-st/model.d.ts | 44
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectPlanService.java | 78
eims-ui/apps/web-antd/src/views/eims/maint-st/index.vue | 70
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectPlanController.java | 106 +
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectPlan.java | 112 +
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintStVo.java | 14
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectPlanMapper.java | 19
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectStMapper.java | 22
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java | 204 ++
eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectPlanMapper.xml | 19
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectRecordBo.java | 135 +
eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx | 55
eims-ui/apps/web-antd/src/views/eims/insp-plan/insp-plan-drawer.vue | 152 +
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintStBo.java | 13
eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml | 14
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintStService.java | 16
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectPlanVo.java | 158 +
eims/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/DictConstants.java | 2
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java | 124 +
/dev/null | 7
eims-ui/apps/web-antd/src/api/eims/maint-order/model.d.ts | 5
eims-ui/apps/web-antd/src/views/eims/insp-record/index.vue | 131
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java | 20
eims-ui/apps/web-antd/src/views/eims/insp-plan/data.tsx | 290 +++
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectStService.java | 68
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java | 83 +
69 files changed, 4,554 insertions(+), 270 deletions(-)
diff --git a/eims-ui/apps/web-antd/src/api/eims/insp-plan/index.ts b/eims-ui/apps/web-antd/src/api/eims/insp-plan/index.ts
new file mode 100644
index 0000000..792501d
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/api/eims/insp-plan/index.ts
@@ -0,0 +1,63 @@
+import type { InspectPlanVO } from './model';
+
+import type { ID, IDS } from '#/api/common';
+
+import { commonExport } from '#/api/helper';
+import { requestClient } from '#/api/request';
+
+enum Api {
+ inspectPlanExport = '/eims/inspectPlan/export',
+ inspectPlanList = '/eims/inspectPlan/list',
+ root = '/eims/inspectPlan'
+}
+
+/**
+ * 鏌ヨ鐐规璁″垝鍒楄〃
+ * @param query
+ * @returns {*}
+ */
+
+export function listInspPlan(params?: any) {
+ return requestClient.get<InspectPlanVO[]>(Api.inspectPlanList, { params });
+}
+
+
+
+/**
+ * 鏌ヨ鐐规璁″垝璇︾粏
+ * @param inspectPlanId
+ */
+export function getInspPlan(inspectPlanId: ID) {
+ return requestClient.get<InspectPlanVO>(`${Api.root}/${inspectPlanId}`);
+}
+
+/**
+ * 鏂板鐐规璁″垝
+ * @param data
+ */
+export function addInspPlan(data: any) {
+ return requestClient.postWithMsg<void>(Api.root, data);
+}
+
+/**
+ * 淇敼鐐规璁″垝
+ * @param data
+ */
+export function updateInspPlan(data: any) {
+ return requestClient.putWithMsg<void>(Api.root, data);
+}
+
+/**
+ * 鍒犻櫎鐐规璁″垝
+ * @param inspectPlanId
+ */
+export function delInspPlan(inspectPlanId: IDS) {
+ return requestClient.deleteWithMsg<void>(`${Api.root}/${inspectPlanId}`);
+}
+/**
+ * 瀵煎嚭
+ * @param
+ */
+export function inspPlanExport(data: any) {
+ return commonExport(Api.inspectPlanExport, data);
+}
diff --git a/eims-ui/apps/web-antd/src/api/eims/insp-plan/model.d.ts b/eims-ui/apps/web-antd/src/api/eims/insp-plan/model.d.ts
new file mode 100644
index 0000000..88a4d09
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/api/eims/insp-plan/model.d.ts
@@ -0,0 +1,92 @@
+export interface InspectPlanVO {
+ /**
+ *
+ */
+ id: number | string;
+
+ /**
+ * 璁惧id
+
+ */
+ equId: number | string;
+ /**
+ * 璁惧鍚嶇О
+
+ */
+ equName: string;
+ /**
+ * 璧勪骇缂栧彿
+
+ */
+ assteNo: string;
+
+ /**
+ * 鐐规绫诲瀷锛堝瓧鍏革級
+ */
+ inspType: string;
+
+ /**
+ * 鐐规椤瑰悕绉�
+ */
+ inspName: string;
+
+ /**
+ * 鐐规椤圭紪鍙�
+ */
+ inspNo: number;
+
+ /**
+ * 鐐规璇存槑
+ */
+ inspDesc: string;
+
+ /**
+ * 鐐规鍛ㄦ湡
+ */
+ inspCycle: number;
+
+ /**
+ * 鐐规鍛ㄦ湡鍗曚綅锛堝瓧鍏革級
+ */
+ inspCycleUnit: string;
+
+ /**
+ * 鐐规瑙勫垯锛堝瓧鍏革級淇濆吇鏃堕棿璁$畻锛�1-鎸夊懆鏈� 2-鎸変笂娆′繚鍏绘椂闂�
+ */
+ inspRule: string;
+
+ /**
+ * 鐐规浜�
+ */
+ inspUser: number;
+
+ /**
+ * 鐐规閮ㄩ棬
+ */
+ inspDept: number;
+
+ /**
+ * 鐘舵�侊紙瀛楀吀锛� 0-鍚敤 1-绂佺敤
+ */
+ status: string;
+
+ /**
+ * 棣栨鎵ц鏃堕棿
+ */
+ inspFirstTime: string;
+
+ /**
+ * 涓婃鎵ц鏃堕棿
+ */
+ inspLastTime: string;
+
+ /**
+ * 涓嬫鎵ц鏃堕棿
+ */
+ inspNextTime: string;
+
+ /**
+ * 澶囨敞
+ */
+ remark: string;
+}
diff --git a/eims-ui/apps/web-antd/src/api/eims/insp-record/index.ts b/eims-ui/apps/web-antd/src/api/eims/insp-record/index.ts
new file mode 100644
index 0000000..09faab4
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/api/eims/insp-record/index.ts
@@ -0,0 +1,61 @@
+import type { InspectRecordVO } from './model';
+
+import type { ID, IDS } from '#/api/common';
+
+import { commonExport } from '#/api/helper';
+import { requestClient } from '#/api/request';
+
+enum Api {
+ inspRecordExport = '/eims/inspRecord/export',
+ inspRecordList = '/eims/inspRecord/list',
+ root = '/eims/inspRecord'
+}
+
+/**
+ * 鏌ヨ鐐规璁板綍鍒楄〃
+ * @param query
+ * @returns {*}
+ */
+
+export function listInspRecord(params?: any) {
+ return requestClient.get<InspectRecordVO[]>(Api.inspRecordList, { params });
+}
+
+/**
+ * 鏌ヨ鐐规璁板綍璇︾粏
+ * @param inspRecordId
+ */
+export function getInspRecord(inspRecordId: ID) {
+ return requestClient.get<InspectRecordVO>(`${Api.root}/${inspRecordId}`);
+}
+
+/**
+ * 鏂板鐐规璁板綍
+ * @param data
+ */
+export function addInspRecord(data: any) {
+ return requestClient.postWithMsg<void>(Api.root, data);
+}
+
+/**
+ * 淇敼鐐规璁板綍
+ * @param data
+ */
+export function updateInspRecord(data: any) {
+ return requestClient.putWithMsg<void>(Api.root, data);
+}
+
+/**
+ * 鍒犻櫎鐐规璁板綍
+ * @param inspRecordId
+ */
+export function delInspRecord(inspRecordId: IDS) {
+ return requestClient.deleteWithMsg<void>(`${Api.root}/${inspRecordId}`);
+}
+/**
+ * 瀵煎嚭
+ * @param
+ */
+export function inspRecordExport(data: any) {
+ return commonExport(Api.inspRecordExport, data);
+}
diff --git a/eims-ui/apps/web-antd/src/api/eims/insp-record/model.d.ts b/eims-ui/apps/web-antd/src/api/eims/insp-record/model.d.ts
new file mode 100644
index 0000000..688c76f
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/api/eims/insp-record/model.d.ts
@@ -0,0 +1,97 @@
+export interface InspectRecordVO {
+ /**
+ * id
+ */
+ id: string | number;
+
+ /**
+ * 璁惧di
+ */
+ equId: string | number;
+ /**
+ * 璁惧鍚嶇О
+
+ */
+ equName: string;
+ /**
+ * 璧勪骇缂栧彿
+
+ */
+ assteNo: string;
+
+ /**
+ * 鐐规鍚嶇О
+ */
+ inspName: string;
+
+ /**
+ * 鐐规鎻忚堪
+ */
+ inspDesc: string;
+
+ /**
+ * 鐘舵��
+ */
+ status: string;
+
+ /**
+ * 鐐规缂栫爜
+ */
+ inspCode: string;
+
+ /**
+ * 鍊艰褰曟柟寮忥紙瀛楀吀锛�
+ */
+ recordMode: string;
+
+ /**
+ * 鍙傝�冨��
+ */
+ referenceValue: string;
+
+ /**
+ * 涓婇檺
+ */
+ upperLimit: string;
+
+ /**
+ * 涓嬮檺
+ */
+ lowLimit: string;
+
+ /**
+ * 妫�鏌ュ��
+ */
+ checkValue: string;
+
+ /**
+ * 鐐规缁撴灉锛堝瓧鍏革級
+ */
+ inspResult: string;
+
+ /**
+ * 鐐规鏃堕棿
+ */
+ inspTime: string;
+
+ /**
+ * 璁″垝鐐规鏃ユ湡
+ */
+ planTime: string;
+
+ /**
+ * 楠岃瘉浜�
+ */
+ verifyUser: number;
+
+ /**
+ * 璁″垝id
+ */
+ planId: string | number;
+
+ /**
+ * 澶囨敞
+ */
+ remark: string;
+
+}
diff --git a/eims-ui/apps/web-antd/src/api/eims/insp-st/index.ts b/eims-ui/apps/web-antd/src/api/eims/insp-st/index.ts
new file mode 100644
index 0000000..226a01f
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/api/eims/insp-st/index.ts
@@ -0,0 +1,62 @@
+import type { InspectStVO } from './model';
+
+import type { ID, IDS } from '#/api/common';
+
+import { commonExport } from '#/api/helper';
+import { requestClient } from '#/api/request';
+
+enum Api {
+ inspectStExport = '/eims/inspectSt/export',
+ inspectStList = '/eims/inspectSt/list',
+ root = '/eims/inspectSt'
+}
+
+/**
+ * 鏌ヨ鐐规姹囨�诲垪琛�
+ * @param query
+ * @returns {*}
+ */
+
+export function listInspectSt(params?: any) {
+ return requestClient.get<InspectStVO[]>(Api.inspectStList, { params });
+}
+
+
+/**
+ * 鏌ヨ鐐规姹囨�昏缁�
+ * @param inspectStId
+ */
+export function getInspectSt(inspectStId: ID) {
+ return requestClient.get<InspectStVO>(`${Api.root}/${inspectStId}`);
+}
+
+/**
+ * 鏂板鐐规姹囨��
+ * @param data
+ */
+export function addInspectSt(data: any) {
+ return requestClient.postWithMsg<void>(Api.root, data);
+}
+
+/**
+ * 淇敼鐐规姹囨��
+ * @param data
+ */
+export function updateInspectSt(data: any) {
+ return requestClient.putWithMsg<void>(Api.root, data);
+}
+
+/**
+ * 鍒犻櫎鐐规姹囨��
+ * @param inspectStId
+ */
+export function delInspectSt(inspectStId: IDS) {
+ return requestClient.deleteWithMsg<void>(`${Api.root}/${inspectStId}`);
+}
+/**
+ * 瀵煎嚭
+ * @param
+ */
+export function inspectStExport(data: any) {
+ return commonExport(Api.inspectStExport, data);
+}
diff --git a/eims-ui/apps/web-antd/src/api/eims/insp-st/model.d.ts b/eims-ui/apps/web-antd/src/api/eims/insp-st/model.d.ts
new file mode 100644
index 0000000..96d6d65
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/api/eims/insp-st/model.d.ts
@@ -0,0 +1,44 @@
+export interface InspectStVO {
+ /**
+ *
+ */
+ id: number | string;
+
+ /**
+ *
+ */
+ title: string;
+
+ /**
+ *
+ */
+ equId: number | string;
+ status: string;
+
+ /**
+ *
+ */
+ planTime: string;
+
+ /**
+ * 淇濆吇浜�
+ */
+ maintUser: number;
+
+ /**
+ * 楠岃瘉浜�
+ */
+ verifyUser: number;
+ verifyTime: string;
+
+ /**
+ * 鐗硅浜嬮」
+ */
+ specialNote: string;
+
+ /**
+ * 澶囨敞
+ */
+ remark: string;
+}
+
diff --git a/eims-ui/apps/web-antd/src/api/eims/maint-order-st/index.ts b/eims-ui/apps/web-antd/src/api/eims/maint-order-st/index.ts
deleted file mode 100644
index 0866850..0000000
--- a/eims-ui/apps/web-antd/src/api/eims/maint-order-st/index.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-import type { MaintOrderStVO } from './model';
-
-import type { ID, IDS } from '#/api/common';
-
-import { commonExport } from '#/api/helper';
-import { requestClient } from '#/api/request';
-
-enum Api {
- maintOrderrStExport = '/eims/maintOrderSt/export',
- maintOrderrStList = '/eims/maintOrderSt/list',
- root = '/eims/maintOrderSt'
-}
-
-/**
- * 鏌ヨ淇濆吇宸ュ崟鍒楄〃
- * @param query
- * @returns {*}
- */
-
-export function listMaintOrderSt(params?: any) {
- return requestClient.get<MaintOrderStVO[]>(Api.maintOrderrStList, { params });
-}
-
-
-/**
- * 鏌ヨ淇濆吇宸ュ崟璇︾粏
- * @param maintOrderrStId
- */
-export function getMaintOrderSt(maintOrderrStId: ID) {
- return requestClient.get<MaintOrderStVO>(`${Api.root}/${maintOrderrStId}`);
-}
-
-/**
- * 鏂板淇濆吇宸ュ崟
- * @param data
- */
-export function addMaintOrderSt(data: any) {
- return requestClient.postWithMsg<void>(Api.root, data);
-}
-
-/**
- * 淇敼淇濆吇宸ュ崟
- * @param data
- */
-export function updateMaintOrderSt(data: any) {
- return requestClient.putWithMsg<void>(Api.root, data);
-}
-
-/**
- * 鍒犻櫎淇濆吇宸ュ崟
- * @param maintOrderrStId
- */
-export function delMaintOrderSt(maintOrderrStId: IDS) {
- return requestClient.deleteWithMsg<void>(`${Api.root}/${maintOrderrStId}`);
-}
-/**
- * 瀵煎嚭
- * @param
- */
-export function maintOrderrStExport(data: any) {
- return commonExport(Api.maintOrderrStExport, data);
-}
diff --git a/eims-ui/apps/web-antd/src/api/eims/maint-order-st/model.d.ts b/eims-ui/apps/web-antd/src/api/eims/maint-order-st/model.d.ts
deleted file mode 100644
index c5a7ea3..0000000
--- a/eims-ui/apps/web-antd/src/api/eims/maint-order-st/model.d.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-export interface MaintOrderStVO {
- /**
- *
- */
- id: number | string;
-
- /**
- *
- */
- title: string;
-
- /**
- *
- */
- equId: number | string;
- status: string;
-
- /**
- *
- */
- planTime: string;
-
- /**
- * 淇濆吇浜�
- */
- maintUser: number;
-
- /**
- * 楠岃瘉浜�
- */
- verifyUser: number;
- verifyTime: string;
-
- /**
- * 鐗硅浜嬮」
- */
- specialNote: string;
-
- /**
- * 澶囨敞
- */
- remark: string;
-}
-
-export interface MaintOrderStForm extends BaseEntity {
- /**
- *
- */
- id?: number | string;
-
- /**
- *
- */
- title?: string;
-
- /**
- *
- */
- equId?: number | string;
-
- /**
- *
- */
- planTime?: string;
-
- /**
- * 淇濆吇浜�
- */
- maintUser?: number;
-
- /**
- * 楠岃瘉浜�
- */
- verifyUser?: number;
-
- /**
- * 鐗硅浜嬮」
- */
- specialNote?: string;
-
- /**
- * 澶囨敞
- */
- remark?: string;
-}
diff --git a/eims-ui/apps/web-antd/src/api/eims/maint-order/model.d.ts b/eims-ui/apps/web-antd/src/api/eims/maint-order/model.d.ts
index 8605bb8..ffb06e7 100644
--- a/eims-ui/apps/web-antd/src/api/eims/maint-order/model.d.ts
+++ b/eims-ui/apps/web-antd/src/api/eims/maint-order/model.d.ts
@@ -15,6 +15,11 @@
maintType: string;
/**
+ * 宸ヤ綔鎻忚堪
+ */
+ maintDesc: string;
+
+ /**
* 璁″垝琛ㄥ啑浣�-淇濆吇鍛ㄦ湡
*/
maintCycle: number;
diff --git a/eims-ui/apps/web-antd/src/api/eims/maint-st/index.ts b/eims-ui/apps/web-antd/src/api/eims/maint-st/index.ts
new file mode 100644
index 0000000..8123367
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/api/eims/maint-st/index.ts
@@ -0,0 +1,62 @@
+import type { MaintStVO } from './model';
+
+import type { ID, IDS } from '#/api/common';
+
+import { commonExport } from '#/api/helper';
+import { requestClient } from '#/api/request';
+
+enum Api {
+ maintStExport = '/eims/maintSt/export',
+ maintStList = '/eims/maintSt/list',
+ root = '/eims/maintSt'
+}
+
+/**
+ * 鏌ヨ淇濆吇姹囨�诲垪琛�
+ * @param query
+ * @returns {*}
+ */
+
+export function listMaintSt(params?: any) {
+ return requestClient.get<MaintStVO[]>(Api.maintStList, { params });
+}
+
+
+/**
+ * 鏌ヨ淇濆吇姹囨�昏缁�
+ * @param maintStId
+ */
+export function getMaintSt(maintStId: ID) {
+ return requestClient.get<MaintStVO>(`${Api.root}/${maintStId}`);
+}
+
+/**
+ * 鏂板淇濆吇姹囨��
+ * @param data
+ */
+export function addMaintSt(data: any) {
+ return requestClient.postWithMsg<void>(Api.root, data);
+}
+
+/**
+ * 淇敼淇濆吇姹囨��
+ * @param data
+ */
+export function updateMaintSt(data: any) {
+ return requestClient.putWithMsg<void>(Api.root, data);
+}
+
+/**
+ * 鍒犻櫎淇濆吇姹囨��
+ * @param maintStId
+ */
+export function delMaintSt(maintStId: IDS) {
+ return requestClient.deleteWithMsg<void>(`${Api.root}/${maintStId}`);
+}
+/**
+ * 瀵煎嚭
+ * @param
+ */
+export function maintStExport(data: any) {
+ return commonExport(Api.maintStExport, data);
+}
diff --git a/eims-ui/apps/web-antd/src/api/eims/maint-st/model.d.ts b/eims-ui/apps/web-antd/src/api/eims/maint-st/model.d.ts
new file mode 100644
index 0000000..92e3994
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/api/eims/maint-st/model.d.ts
@@ -0,0 +1,44 @@
+export interface MaintStVO {
+ /**
+ *
+ */
+ id: number | string;
+
+ /**
+ *
+ */
+ title: string;
+
+ /**
+ *
+ */
+ equId: number | string;
+ status: string;
+
+ /**
+ *
+ */
+ planTime: string;
+
+ /**
+ * 淇濆吇浜�
+ */
+ maintUser: number;
+
+ /**
+ * 楠岃瘉浜�
+ */
+ verifyUser: number;
+ verifyTime: string;
+
+ /**
+ * 鐗硅浜嬮」
+ */
+ specialNote: string;
+
+ /**
+ * 澶囨敞
+ */
+ remark: string;
+}
+
diff --git a/eims-ui/apps/web-antd/src/constants/dict/index.ts b/eims-ui/apps/web-antd/src/constants/dict/index.ts
index b86cfa4..de2c03f 100644
--- a/eims-ui/apps/web-antd/src/constants/dict/index.ts
+++ b/eims-ui/apps/web-antd/src/constants/dict/index.ts
@@ -49,3 +49,15 @@
DAIYANZHENG = '2', // 寰呴獙璇�
WANCHENG = '3' // 瀹屾垚
}
+
+
+/**
+ * 淇濆吇宸ュ崟鐘舵��
+ */
+export enum EIMS_INSPECT_STATUS {
+ YIDIANJIAN = '1', // 宸茬偣妫�
+ WEIDIANJIAN = '0', // 鏈偣妫�
+ DAIYANZHENG = '2', // 寰呴獙璇�
+ WANCHENG = '3' // 瀹屾垚
+}
+
diff --git a/eims-ui/apps/web-antd/src/views/eims/insp-plan/data.tsx b/eims-ui/apps/web-antd/src/views/eims/insp-plan/data.tsx
new file mode 100644
index 0000000..1b14461
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/views/eims/insp-plan/data.tsx
@@ -0,0 +1,290 @@
+import type { VxeGridProps } from '#/adapter/vxe-table';
+
+import { DictEnum } from '@vben/constants';
+import { getPopupContainer } from '@vben/utils';
+
+import { type FormSchemaGetter } from '#/adapter/form';
+import { getDictOptions } from '#/utils/dict';
+import { renderDict } from '#/utils/render';
+
+export const querySchema: FormSchemaGetter = () => [
+ {
+ component: 'Input',
+ fieldName: 'equName',
+ label: '璁惧鍚嶇О'
+ },
+ {
+ component: 'Input',
+ fieldName: 'assetNo',
+ label: '璧勪骇缂栧彿'
+ },
+ {
+ component: 'Select',
+ componentProps: {
+ options: getDictOptions(DictEnum.EIMS_INSPECT_TYPE)
+ },
+ fieldName: 'inspType',
+ label: '鐐规绫诲瀷'
+ },
+ {
+ component: 'TreeSelect',
+ // 鍦╠rawer閲屾洿鏂� 杩欓噷涓嶉渶瑕侀粯璁ょ殑componentProps
+ defaultValue: undefined,
+ fieldName: 'inspDept',
+ label: '鐐规閮ㄩ棬',
+
+ },
+ {
+ component: 'Select',
+ componentProps: {
+ allowClear: true,
+ showSearch: true,
+ getPopupContainer
+ },
+ fieldName: 'inspUser',
+ label: '鐐规浜�',
+ },
+ {
+ component: 'Select',
+ componentProps: {
+ options: getDictOptions(DictEnum.SYS_NORMAL_DISABLE)
+ },
+ fieldName: 'status',
+ label: '鐘舵��'
+ },
+];
+
+export const columns: VxeGridProps['columns'] = [
+ { type: 'checkbox', width: 60, fixed: 'left' },
+ {
+ title: '璁惧鍚嶇О',
+ field: 'equName',
+ minWidth: 200,
+ fixed: 'left'
+ },
+ {
+ title: '璧勪骇缂栧彿',
+ field: 'assetNo',
+ minWidth: 160
+ },
+ {
+ title: '鐘舵��',
+ field: 'status',
+ minWidth: 80,
+ slots: {
+ default: ({ row }) => {
+ return renderDict(row.status, DictEnum.SYS_NORMAL_DISABLE);
+ }
+ }
+ },
+ {
+ title: '鐐规椤�',
+ field: 'inspName',
+ minWidth: 200
+ },
+ {
+ title: '鐐规绫诲瀷',
+ field: 'inspType',
+ minWidth: 120,
+ slots: {
+ default: ({ row }) => {
+ return renderDict(row.inspType, DictEnum.EIMS_INSPECT_TYPE);
+ }
+ }
+ },
+ {
+ title: '鐐规浜�',
+ field: 'inspUserName',
+ minWidth: 100
+ },
+ {
+ title: '寰幆鍛ㄦ湡',
+ field: 'inspCycleUnitName',
+ minWidth: 80
+ },
+ {
+ title: '鏃堕棿璁$畻瑙勫垯',
+ field: 'inspRule',
+ minWidth: 140,
+ slots: {
+ default: ({ row }) => {
+ return renderDict(row.inspRule, DictEnum.MAINT_TIME_RULE);
+ }
+ }
+ },
+ {
+ title: '棣栨鎵ц鏃堕棿',
+ field: 'inspFirstTime',
+ minWidth: 160
+ },
+ {
+ title: '涓婃鎵ц鏃堕棿',
+ field: 'inspLastTime',
+ minWidth: 160
+ },
+ {
+ title: '涓嬫鎵ц鏃堕棿',
+ field: 'inspNextTime',
+ minWidth: 160
+ },
+ {
+ title: '鍒涘缓鏃堕棿',
+ field: 'createTime',
+ minWidth: 200
+ },
+ {
+ field: 'action',
+ fixed: 'right',
+ slots: { default: 'action' },
+ title: '鎿嶄綔',
+ width: 200
+ }
+];
+
+export const drawerSchema: FormSchemaGetter = () => [
+ {
+ component: 'Input',
+ dependencies: {
+ show: () => false,
+ triggerFields: ['']
+ },
+ fieldName: 'id'
+ },
+ {
+ component: 'Input',
+ fieldName: 'equId',
+ label: '璁惧id',
+ dependencies: {
+ show: () => false,
+ triggerFields: ['']
+ }
+ },
+ {
+ component: 'Input',
+ fieldName: 'equName',
+ label: '璁惧鍚嶇О'
+ },
+ {
+ component: 'Input',
+ fieldName: 'inspName',
+ label: '鐐规椤�'
+ },
+ {
+ component: 'RadioGroup',
+ componentProps: {
+ buttonStyle: 'solid',
+ options: getDictOptions(DictEnum.EIMS_INSPECT_TYPE),
+ optionType: 'button'
+ },
+ fieldName: 'inspType',
+ defaultValue: '1',
+ label: '鐐规绫诲瀷'
+ },
+ {
+ component: 'Input',
+ fieldName: 'inspDesc',
+ label: '鐐规璇存槑'
+ },
+ {
+ component: 'InputNumber',
+ fieldName: 'inspCycle',
+ label: '鐐规鍛ㄦ湡',
+ formItemClass: 'col-span-1',
+ componentProps: {
+ min: 1
+ }
+ },
+ {
+ component: 'Select',
+ componentProps: {
+ getPopupContainer,
+ options: getDictOptions(DictEnum.MAINT_CYCLE_UNIT)
+ },
+ fieldName: 'inspCycleUnit',
+ formItemClass: 'col-span-1 w-[80px]',
+ labelWidth: 0,
+ label: ''
+ },
+
+ {
+ component: 'Select',
+ componentProps: {
+ getPopupContainer,
+ options: getDictOptions(DictEnum.MAINT_TIME_RULE)
+ },
+ fieldName: 'inspRule',
+ label: '鐐规瑙勫垯 '
+ },
+ {
+ component: 'Input',
+ fieldName: 'inspUser',
+ label: '鐢ㄦ埛id',
+ dependencies: {
+ show: () => false,
+ triggerFields: ['']
+ }
+ },
+ {
+ component: 'Input',
+ fieldName: 'inspUserName',
+ label: '鐐规浜�'
+ },
+ {
+ component: 'Input',
+ fieldName: 'inspDept',
+ label: '閮ㄩ棬id',
+ dependencies: {
+ show: () => false,
+ triggerFields: ['']
+ }
+ },
+ {
+ component: 'RadioGroup',
+ componentProps: {
+ buttonStyle: 'solid',
+ options: getDictOptions(DictEnum.SYS_NORMAL_DISABLE),
+ optionType: 'button'
+ },
+ fieldName: 'status',
+ defaultValue: '0',
+ label: '鐘舵��'
+ },
+ {
+ component: 'DatePicker',
+ componentProps: {
+ format: 'YYYY-MM-DD',
+ showTime: false,
+ valueFormat: 'YYYY-MM-DD',
+ getPopupContainer
+ },
+ fieldName: 'inspFirstTime',
+ label: '棣栨淇濆吇鏃堕棿'
+ },
+ {
+ component: 'DatePicker',
+ componentProps: {
+ format: 'YYYY-MM-DD',
+ showTime: false,
+ valueFormat: 'YYYY-MM-DD',
+ getPopupContainer
+ },
+ fieldName: 'inspLastTime',
+ label: '涓婃淇濆吇鏃堕棿'
+ },
+ {
+ component: 'DatePicker',
+ componentProps: {
+ format: 'YYYY-MM-DD',
+ showTime: false,
+ valueFormat: 'YYYY-MM-DD',
+ getPopupContainer
+ },
+ fieldName: 'inspNextTime',
+ label: '涓嬫淇濆吇鏃堕棿',
+ },
+ {
+ component: 'Textarea',
+ fieldName: 'remark',
+ label: '澶囨敞'
+ }
+];
diff --git a/eims-ui/apps/web-antd/src/views/eims/insp-plan/index.vue b/eims-ui/apps/web-antd/src/views/eims/insp-plan/index.vue
new file mode 100644
index 0000000..3b1b351
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/views/eims/insp-plan/index.vue
@@ -0,0 +1,302 @@
+<script setup lang="ts">
+import type { Recordable } from '@vben/types';
+
+import { onMounted, ref } from 'vue';
+
+import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
+import { $t } from '@vben/locales';
+import { addFullName, getPopupContainer, getVxePopupContainer } from '@vben/utils';
+
+import { Dropdown, Menu, MenuItem, Modal, Popconfirm, Space } from 'ant-design-vue';
+
+import { useVbenVxeGrid, vxeCheckboxChecked, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table';
+import { delInspPlan, inspPlanExport, listInspPlan } from '#/api/eims/insp-plan';
+import { generateCode } from '#/api/eims/utils';
+import { getDeptTree, userList } from '#/api/system/user';
+import { EIMS_INSPECT_STATUS } from '#/constants/dict';
+import { commonDownloadExcel } from '#/utils/file/download';
+import inspRecordDrawer from '#/views/eims/insp-record/insp-record-drawer.vue';
+
+import { columns, querySchema } from './data';
+import inspPlanDrawer from './insp-plan-drawer.vue';
+
+defineExpose({
+ tableSelect
+});
+
+const formOptions: VbenFormProps = {
+ commonConfig: {
+ labelWidth: 80,
+ componentProps: {
+ allowClear: true
+ }
+ },
+ collapsed: true,
+ schema: querySchema(),
+ wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4',
+ // 鏃ユ湡閫夋嫨鏍煎紡鍖�
+ fieldMappingTime: [['planTime', ['params[beginPlanTime]', 'params[endPlanTime]'], ['YYYY-MM-DD 00:00:00', 'YYYY-MM-DD 23:59:59']]]
+};
+
+const gridOptions: VxeGridProps = {
+ checkboxConfig: {
+ // 楂樹寒
+ highlight: true,
+ // 缈婚〉鏃朵繚鐣欓�変腑鐘舵��
+ reserve: true
+ // 鐐瑰嚮琛岄�変腑
+ // trigger: 'row'
+ },
+ columns,
+ height: 'auto',
+ keepSource: true,
+ pagerConfig: {},
+ proxyConfig: {
+ ajax: {
+ query: async ({ page }, formValues = {}) => {
+ return await listInspPlan({
+ pageNum: page.currentPage,
+ pageSize: page.pageSize,
+ ...formValues
+ });
+ }
+ }
+ },
+ rowConfig: {
+ isHover: true,
+ keyField: 'id'
+ },
+ sortConfig: {
+ // 杩滅▼鎺掑簭
+ remote: true,
+ // 鏀寔澶氬瓧娈垫帓搴� 榛樿鍏抽棴
+ multiple: true
+ },
+ id: 'insp-plan-index'
+};
+const equId = ref<string>();
+const [BasicTable, tableApi] = useVbenVxeGrid({
+ formOptions,
+ gridOptions,
+ gridEvents: {
+ sortChange: (sortParams) => vxeSortEvent(tableApi, sortParams),
+ cellClick: (e: any) => {
+ const { row } = e;
+ equId.value = row.equId;
+ }
+ }
+});
+
+const [InspPlanDrawer, inspPlanDrawerApi] = useVbenDrawer({
+ connectedComponent: inspPlanDrawer
+});
+
+const [InspRecordDrawer, inspRecordDrawerApi] = useVbenDrawer({
+ connectedComponent: inspRecordDrawer
+});
+
+function handleAdd() {
+ inspPlanDrawerApi.setData({});
+ inspPlanDrawerApi.open();
+}
+
+async function handleEdit(record: Recordable<any>) {
+ inspPlanDrawerApi.setData({ id: record.id });
+ inspPlanDrawerApi.open();
+}
+
+async function handleDelete(row: Recordable<any>) {
+ await delInspPlan(row.id);
+ await tableApi.query();
+}
+
+function handleMultiDelete() {
+ const rows = tableApi.grid.getCheckboxRecords();
+ const ids = rows.map((row: any) => row.id);
+ Modal.confirm({
+ title: '鎻愮ず',
+ okType: 'danger',
+ content: `纭鍒犻櫎閫変腑鐨�${ids.length}鏉¤褰曞悧锛焋,
+ onOk: async () => {
+ await delInspPlan(ids);
+ await tableApi.query();
+ }
+ });
+}
+
+function handleDownloadExcel() {
+ commonDownloadExcel(inspPlanExport, '鐐规璁″垝璁板綍', tableApi.formApi.form.values, {
+ fieldMappingTime: formOptions.fieldMappingTime
+ });
+}
+
+/**
+ * 鐢熸垚鐐规璁板綍
+ * @param record
+ */
+async function handleAddOrder(record: Recordable<any>) {
+ /**
+ * 鐢熸垚鐐规璁板綍code
+ */
+ const code = await generateCode('DJSD');
+ if (!code) {
+ Modal.error({
+ content: '鐢熸垚鐐规璁板綍澶辫触锛岃閲嶈瘯锛�',
+ title: '鎻愮ず'
+ });
+ return false;
+ }
+ const planInsp = {
+ equId: record.equId,
+ planId: record.id,
+ equName: record.equName,
+ inspUser: record.inspUser,
+ inspUserName: record.inspUserName,
+ inspDept: record.inspDept,
+ inspDeptName: record.inspDeptName,
+ inspType: record.inspType,
+ planTime: record.inspNextTime,
+ status: EIMS_INSPECT_STATUS.WEIDIANJIAN,
+ inspCode: code,
+ inspName: record.inspName
+ };
+
+ inspRecordDrawerApi.setData({ planInsp });
+ inspRecordDrawerApi.open();
+ // await addMaintOrder(order.value);
+}
+/**
+ * 鍒濆鍖栭儴闂ㄩ�夋嫨
+ */
+async function setupDeptSelect() {
+ // updateSchema
+ const deptTree = await getDeptTree();
+ // 閫変腑鍚庢樉绀哄湪杈撳叆妗嗙殑鍊� 鍗崇埗鑺傜偣 / 瀛愯妭鐐�
+ addFullName(deptTree, 'label', ' / ');
+ tableApi.formApi.updateSchema([
+ {
+ componentProps: (formModel) => ({
+ class: 'w-full',
+ fieldNames: {
+ key: 'id',
+ value: 'id',
+ children: 'children'
+ },
+ getPopupContainer,
+ async onSelect(deptId: number | string) {
+ /** 鏍规嵁閮ㄩ棬ID鍔犺浇鐢ㄦ埛 */
+ await setupUserOptions(deptId);
+ /** 鍙樺寲鍚庨渶瑕侀噸鏂伴�夋嫨鐢ㄦ埛 */
+ formModel.inspUser = undefined;
+ },
+ placeholder: '璇烽�夋嫨',
+ showSearch: true,
+ treeData: deptTree,
+ treeDefaultExpandAll: true,
+ treeLine: { showLeafIcon: false },
+ // 绛涢�夌殑瀛楁
+ treeNodeFilterProp: 'label',
+ // 閫変腑鍚庢樉绀哄湪杈撳叆妗嗙殑鍊�
+ treeNodeLabelProp: 'fullName'
+ }),
+ fieldName: 'inspDept'
+ }
+ ]);
+}
+
+/**
+ * 鐢ㄦ埛鐨勫姞杞�
+ */
+async function setupUserOptions(deptId: any) {
+ const params = { deptId };
+ const userPageResult = await userList({
+ pageNum: 1,
+ pageSize: 500,
+ ...params
+ });
+ const options = userPageResult.rows.map((item) => ({
+ label: item.nickName || item.userName,
+ value: item.userId
+ }));
+ // 绛涢��
+ const filterOption = (input: string, option: any) => {
+ return option.label.toLowerCase().includes(input.toLowerCase());
+ };
+
+ const placeholder = options.length > 0 ? '璇烽�夋嫨' : '璇ラ儴闂ㄤ笅鏆傛棤鐢ㄦ埛';
+ tableApi.formApi.updateSchema([
+ {
+ componentProps: { options, placeholder, filterOption },
+ fieldName: 'inspUser'
+ }
+ ]);
+}
+
+onMounted(async () => {
+ await setupDeptSelect();
+});
+
+// 閫変腑鏁版嵁
+function tableSelect() {
+ return tableApi.grid.getCheckboxRecords();
+}
+</script>
+
+<template>
+ <Page :auto-content-height="true">
+ <div class="flex h-full gap-[8px] flex-col">
+ <BasicTable table-title="鐐规璁″垝鍒楄〃">
+ <template #toolbar-tools>
+ <Space>
+ <a-button v-access:code="['eims:inspectPlan:export']" @click="handleDownloadExcel">
+ {{ $t('pages.common.export') }}
+ </a-button>
+ <a-button
+ :disabled="!vxeCheckboxChecked(tableApi)"
+ danger
+ type="primary"
+ v-access:code="['eims:inspectPlan:remove']"
+ @click="handleMultiDelete"
+ >
+ {{ $t('pages.common.delete') }}
+ </a-button>
+ <a-button type="primary" v-access:code="['eims:inspectPlan:add']" @click="handleAdd">
+ {{ $t('pages.common.add') }}
+ </a-button>
+ </Space>
+ </template>
+
+ <template #equName="{ row }">
+ <Space>
+ <span>{{ row.equName }}</span>
+ </Space>
+ </template>
+
+ <template #action="{ row }">
+ <Space>
+ <ghost-button class="btn-success" v-access:code="['eims:inspectPlan:edit']" @click.stop="handleAddOrder(row)"> 鐢熸垚鐐规 </ghost-button>
+ <ghost-button v-access:code="['eims:inspectPlan:edit']" @click.stop="handleEdit(row)">
+ {{ $t('pages.common.edit') }}
+ </ghost-button>
+ </Space>
+ <Dropdown :get-popup-container="getVxePopupContainer" placement="bottomRight">
+ <template #overlay>
+ <Menu>
+ <Popconfirm :get-popup-container="getVxePopupContainer" placement="left" title="纭鍒犻櫎锛�" @confirm="handleDelete(row)">
+ <MenuItem key="1" @click.stop="">
+ {{ $t('pages.common.delete') }}
+ </MenuItem>
+ </Popconfirm>
+ </Menu>
+ </template>
+ <a-button size="small" type="link" v-access:code="['eims:inspectPlan:remove']">
+ {{ $t('pages.common.more') }}
+ </a-button>
+ </Dropdown>
+ </template>
+ </BasicTable>
+ </div>
+ <InspPlanDrawer @reload="tableApi.query()" />
+ <InspRecordDrawer @reload="tableApi.query()" />
+ </Page>
+</template>
diff --git a/eims-ui/apps/web-antd/src/views/eims/insp-plan/insp-plan-drawer.vue b/eims-ui/apps/web-antd/src/views/eims/insp-plan/insp-plan-drawer.vue
new file mode 100644
index 0000000..a0ad465
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/views/eims/insp-plan/insp-plan-drawer.vue
@@ -0,0 +1,152 @@
+<script setup lang="ts">
+import { computed, ref } from 'vue';
+
+import { useVbenDrawer, useVbenModal } from '@vben/common-ui';
+import { $t } from '@vben/locales';
+import { addFullName, cloneDeep, getPopupContainer } from '@vben/utils';
+
+import { InputSearch } from 'ant-design-vue';
+
+import { useVbenForm } from '#/adapter/form';
+import { addInspPlan, getInspPlan, updateInspPlan } from '#/api/eims/insp-plan';
+import equModal from '#/views/eims/components/equ-modal.vue';
+import userModal from '#/views/eims/components/user-modal.vue';
+
+import { drawerSchema } from './data';
+
+const emit = defineEmits<{ reload: [] }>();
+
+const isUpdate = ref(false);
+const title = computed(() => {
+ return isUpdate.value ? $t('pages.common.edit') : $t('pages.common.add');
+});
+
+const [BasicForm, formApi] = useVbenForm({
+ commonConfig: {
+ formItemClass: 'col-span-2',
+ componentProps: {
+ class: 'w-full'
+ },
+ labelWidth: 120
+ },
+ layout: 'horizontal',
+ schema: drawerSchema(),
+ showDefaultActions: false,
+ wrapperClass: 'grid-cols-2'
+});
+
+const [BasicDrawer, drawerApi] = useVbenDrawer({
+ onCancel: handleCancel,
+ onConfirm: handleConfirm,
+ async onOpenChange(isOpen) {
+ if (!isOpen) {
+ return null;
+ }
+ drawerApi.drawerLoading(true);
+ const { id } = drawerApi.getData() as { id?: number | string };
+ isUpdate.value = !!id;
+
+ formApi.updateSchema([
+ {
+ dependencies: {
+ show: () => isUpdate.value,
+ triggerFields: ['']
+ },
+ fieldName: 'inspFirstTime'
+ },
+ {
+ dependencies: {
+ show: () => isUpdate.value,
+ triggerFields: ['']
+ },
+ fieldName: 'inspLastTime'
+ }
+ ]);
+ // 鏇存柊 && 璧嬪��
+ if (isUpdate.value && id) {
+ const record = await getInspPlan(id);
+ await formApi.setValues(record);
+ }
+
+ drawerApi.drawerLoading(false);
+ }
+});
+
+async function handleConfirm() {
+ try {
+ drawerApi.drawerLoading(true);
+ const { valid } = await formApi.validate();
+ if (!valid) {
+ return;
+ }
+ const data = cloneDeep(await formApi.getValues());
+ await (isUpdate.value ? updateInspPlan(data) : addInspPlan(data));
+ emit('reload');
+ await handleCancel();
+ } catch (error) {
+ console.error(error);
+ } finally {
+ drawerApi.drawerLoading(false);
+ }
+}
+
+async function handleCancel() {
+ drawerApi.close();
+ await formApi.resetForm();
+}
+
+// equ modal
+const [EquModal, equModalApi] = useVbenModal({
+ connectedComponent: equModal,
+ draggable: true,
+ title: '閫夋嫨璁惧'
+});
+
+function handleEquModal() {
+ equModalApi.setData({});
+ equModalApi.open();
+}
+
+// user modal
+const [UserModal, userModalApi] = useVbenModal({
+ connectedComponent: userModal,
+ draggable: true,
+ title: '閫夋嫨鐐规浜�'
+});
+
+function handleUserModal() {
+ userModalApi.setData({});
+ userModalApi.open();
+}
+
+/**
+ * 鏇存柊閫夋嫨鐨勮澶�
+ * @param equ
+ */
+async function updateEqu(equ: any) {
+ await formApi.setValues({ 'equId': equ.equId, 'equName': equ.equName });
+}
+
+/**
+ * 鏇存柊閫夋嫨鐨勭敤鎴�
+ * @param user
+ */
+async function updateUser(user: any) {
+ await formApi.setValues({ 'inspUserName': user.nickName, 'inspUser': user.userId, 'inspDept': user.deptId });
+}
+</script>
+
+<template>
+ <BasicDrawer :close-on-click-modal="false" :title="title" class="w-[600px]">
+ <BasicForm>
+ <template #equName="slotProps">
+ <InputSearch :enter-button="true" placeholder="璇烽�夋嫨" @search="handleEquModal" v-bind="slotProps" />
+ </template>
+ <template #inspUserName="slotProps">
+ <InputSearch :enter-button="true" placeholder="璇烽�夋嫨" @search="handleUserModal" v-bind="slotProps" />
+ </template>
+ </BasicForm>
+ <EquModal class="w-[1200px]" @update-equ="updateEqu" />
+ <UserModal class="w-[1200px]" @select-user="updateUser" />
+ </BasicDrawer>
+</template>
diff --git a/eims-ui/apps/web-antd/src/views/eims/insp-record/data.tsx b/eims-ui/apps/web-antd/src/views/eims/insp-record/data.tsx
new file mode 100644
index 0000000..44fef5b
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/views/eims/insp-record/data.tsx
@@ -0,0 +1,298 @@
+import type { VxeGridProps } from '#/adapter/vxe-table';
+
+import { DictEnum } from '@vben/constants';
+import { getPopupContainer } from '@vben/utils';
+
+import { type FormSchemaGetter } from '#/adapter/form';
+import { getDictOptions } from '#/utils/dict';
+import { renderDict } from '#/utils/render';
+
+export const querySchema: FormSchemaGetter = () => [
+ {
+ component: 'Input',
+ fieldName: 'equName',
+ label: '璁惧鍚嶇О'
+ },
+ {
+ component: 'Input',
+ fieldName: 'assetNo',
+ label: '璧勪骇缂栧彿'
+ },
+ {
+ component: 'Input',
+ fieldName: 'inspName',
+ label: '鐐规椤�'
+ },
+ {
+ component: 'Select',
+ componentProps: {
+ options: getDictOptions(DictEnum.EIMS_INSPECT_STATUS)
+ },
+ fieldName: 'status',
+ label: '鐘舵��'
+ },
+ {
+ component: 'Select',
+ componentProps: {
+ options: getDictOptions(DictEnum.EIMS_INSPECT_RESULT)
+ },
+ fieldName: 'maintType',
+ label: '鐐规缁撴灉'
+ },
+ {
+ component: 'TreeSelect',
+ // 鍦╠rawer閲屾洿鏂� 杩欓噷涓嶉渶瑕侀粯璁ょ殑componentProps
+ defaultValue: undefined,
+ fieldName: 'inspDept',
+ label: '鐐规閮ㄩ棬'
+ },
+ {
+ component: 'Select',
+ componentProps: {
+ allowClear: true,
+ showSearch: true,
+ getPopupContainer
+ },
+ fieldName: 'inspUser',
+ label: '鐐规浜�'
+ }
+];
+
+export const columns: VxeGridProps['columns'] = [
+ { type: 'checkbox', width: 60, fixed: 'left' },
+ {
+ title: '鐐规缂栧彿',
+ field: 'inspCode',
+ minWidth: 200,
+ fixed: 'left'
+ },
+
+ {
+ title: '鐘舵��',
+ field: 'status',
+ minWidth: 80,
+ slots: {
+ default: ({ row }) => {
+ return renderDict(row.status, DictEnum.EIMS_INSPECT_STATUS);
+ }
+ }
+ },
+ {
+ title: '璁惧鍚嶇О',
+ field: 'equName',
+ minWidth: 200
+ },
+ {
+ title: '璧勪骇缂栧彿',
+ field: 'assetNo',
+ minWidth: 160
+ },
+ {
+ title: '鐐规椤�',
+ field: 'inspName',
+ minWidth: 160
+ },
+ {
+ title: '鐐规缁撴灉',
+ field: 'inspResult',
+ minWidth: 80,
+ slots: {
+ default: ({ row }) => {
+ if (!row.inspResult) return '';
+ return renderDict(row.inspResult, DictEnum.EIMS_INSPECT_RESULT);
+ }
+ }
+ },
+ {
+ title: '鐐规绫诲瀷',
+ field: 'inspType',
+ minWidth: 120,
+ slots: {
+ default: ({ row }) => {
+ return renderDict(row.inspType, DictEnum.EIMS_INSPECT_TYPE);
+ }
+ }
+ },
+ {
+ title: '鐐规浜�',
+ field: 'inspUserName',
+ minWidth: 100
+ },
+ {
+ title: '璁″垝鐐规鏃堕棿',
+ field: 'planTime',
+ minWidth: 160
+ },
+ {
+ title: '鐐规鏃堕棿',
+ field: 'inspTime',
+ minWidth: 200
+ },
+ {
+ title: '鐐规鎻忚堪',
+ field: 'inspDesc',
+ minWidth: 200
+ },
+ {
+ title: '楠岃瘉浜�',
+ field: 'verifyUserName',
+ minWidth: 160
+ },
+ {
+ title: '鍒涘缓鏃堕棿',
+ field: 'createTime',
+ minWidth: 200
+ },
+ {
+ field: 'action',
+ fixed: 'right',
+ slots: { default: 'action' },
+ title: '鎿嶄綔',
+ width: 200
+ }
+];
+
+export const drawerSchema: FormSchemaGetter = () => [
+ {
+ component: 'Input',
+ dependencies: {
+ show: () => false,
+ triggerFields: ['']
+ },
+ fieldName: 'id'
+ },
+ {
+ component: 'Input',
+ dependencies: {
+ show: () => false,
+ triggerFields: ['']
+ },
+ fieldName: 'planId'
+ },
+ {
+ component: 'Input',
+ fieldName: 'equId',
+ label: '璁惧id',
+ dependencies: {
+ show: () => false,
+ triggerFields: ['']
+ }
+ },
+
+ {
+ component: 'Input',
+ fieldName: 'inspCode',
+ label: '鐐规缂栧彿'
+ },
+ {
+ component: 'Input',
+ fieldName: 'inspName',
+ label: '鐐规椤�'
+ },
+ {
+ component: 'Input',
+ fieldName: 'equName',
+ label: '璁惧鍚嶇О'
+ },
+ {
+ component: 'RadioGroup',
+ componentProps: {
+ buttonStyle: 'solid',
+ options: getDictOptions(DictEnum.EIMS_INSPECT_TYPE),
+ optionType: 'button'
+ },
+ fieldName: 'inspType',
+ defaultValue: '1',
+ label: '鐐规绫诲瀷'
+ },
+ {
+ component: 'Input',
+ fieldName: 'inspUser',
+ label: '鐐规浜篿d',
+ dependencies: {
+ show: () => false,
+ triggerFields: ['']
+ }
+ },
+ {
+ component: 'Input',
+ fieldName: 'inspUserName',
+ label: '鐐规浜�'
+ },
+ {
+ component: 'Input',
+ fieldName: 'inspDept',
+ label: '閮ㄩ棬id',
+ dependencies: {
+ show: () => false,
+ triggerFields: ['']
+ }
+ },
+ {
+ component: 'RadioGroup',
+ componentProps: {
+ buttonStyle: 'solid',
+ options: getDictOptions(DictEnum.EIMS_INSPECT_STATUS),
+ optionType: 'button'
+ },
+ fieldName: 'status',
+ defaultValue: '0',
+ label: '鐘舵��'
+ },
+ {
+ component: 'DatePicker',
+ componentProps: {
+ format: 'YYYY-MM-DD',
+ showTime: false,
+ valueFormat: 'YYYY-MM-DD',
+ getPopupContainer
+ },
+ fieldName: 'planTime',
+ label: '璁″垝鐐规鏃ユ湡'
+ },
+ {
+ component: 'DatePicker',
+ componentProps: {
+ format: 'YYYY-MM-DD HH:mm:ss',
+ showTime: true,
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ getPopupContainer
+ },
+ fieldName: 'inspTime',
+ label: '鐐规鏃堕棿'
+ },
+ {
+ component: 'Textarea',
+ fieldName: 'inspDesc',
+ label: '鐐规鎻忚堪'
+ },
+ {
+ component: 'RadioGroup',
+ componentProps: {
+ buttonStyle: 'solid',
+ options: getDictOptions(DictEnum.EIMS_INSPECT_RESULT),
+ optionType: 'button'
+ },
+ fieldName: 'inspResult',
+ label: '鐐规缁撴灉'
+ },
+ {
+ component: 'Input',
+ fieldName: 'verifyUser',
+ label: '楠岃瘉浜篿d',
+ dependencies: {
+ show: () => false,
+ triggerFields: ['']
+ }
+ },
+ {
+ component: 'Input',
+ fieldName: 'verifyUserName',
+ label: '楠岃瘉浜�'
+ },
+ {
+ component: 'Textarea',
+ fieldName: 'remark',
+ label: '澶囨敞'
+ }
+];
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/index.vue b/eims-ui/apps/web-antd/src/views/eims/insp-record/index.vue
similarity index 61%
copy from eims-ui/apps/web-antd/src/views/eims/maint-order-st/index.vue
copy to eims-ui/apps/web-antd/src/views/eims/insp-record/index.vue
index 716379d..6f7549b 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/index.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/insp-record/index.vue
@@ -1,23 +1,21 @@
<script setup lang="ts">
+import type { Recordable } from '@vben/types';
+
import { onMounted, ref } from 'vue';
import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
+import { $t } from '@vben/locales';
import { addFullName, getPopupContainer, getVxePopupContainer } from '@vben/utils';
-import { Popconfirm, Space } from 'ant-design-vue';
+import { Modal, Popconfirm, Space } from 'ant-design-vue';
-import { useVbenVxeGrid, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table';
-import { listMaintOrderGroupDetail } from '#/api/eims/maint-order';
-import { delMaintOrderSt, listMaintOrderSt } from '#/api/eims/maint-order-st';
+import { useVbenVxeGrid, vxeCheckboxChecked, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table';
+import { delInspRecord, inspRecordExport, listInspRecord } from '#/api/eims/insp-record';
import { getDeptTree, userList } from '#/api/system/user';
-import BasisSubTable from '#/views/eims/components/basis-sub-table.vue';
-import { columns as orderCol } from '#/views/eims/maint-order/data';
+import { commonDownloadExcel } from '#/utils/file/download';
import { columns, querySchema } from './data';
-import maintOrderStDrawer from './maint-order-st-drawer.vue';
-import type { Recordable } from '@vben/types';
-import { MAINT_ORDER_STATUS } from '#/constants/dict';
-import { $t } from '@vben/locales';
+import inspRecordDrawer from './insp-record-drawer.vue';
defineExpose({
tableSelect
@@ -32,9 +30,7 @@
},
collapsed: true,
schema: querySchema(),
- wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4',
- // 鏃ユ湡閫夋嫨鏍煎紡鍖�
- fieldMappingTime: [['planTime', ['params[beginPlanTime]', 'params[endPlanTime]'], ['YYYY-MM-DD 00:00:00', 'YYYY-MM-DD 23:59:59']]]
+ wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4'
};
const gridOptions: VxeGridProps = {
@@ -53,7 +49,7 @@
proxyConfig: {
ajax: {
query: async ({ page }, formValues = {}) => {
- return await listMaintOrderSt({
+ return await listInspRecord({
pageNum: page.currentPage,
pageSize: page.pageSize,
...formValues
@@ -71,7 +67,7 @@
// 鏀寔澶氬瓧娈垫帓搴� 榛樿鍏抽棴
multiple: true
},
- id: 'maint-order-group-index'
+ id: 'insp-record-index'
};
const orderId = ref<string>();
const [BasicTable, tableApi] = useVbenVxeGrid({
@@ -81,10 +77,49 @@
sortChange: (sortParams) => vxeSortEvent(tableApi, sortParams),
cellClick: (e: any) => {
const { row } = e;
- orderId.value = `${row.equId}_${row.planTime}`;
+ orderId.value = row.id;
}
}
});
+
+const [InspRecordDrawer, inspRecordDrawerApi] = useVbenDrawer({
+ connectedComponent: inspRecordDrawer
+});
+
+function handleAdd() {
+ inspRecordDrawerApi.setData({});
+ inspRecordDrawerApi.open();
+}
+
+async function handleEdit(record: Recordable<any>) {
+ inspRecordDrawerApi.setData({ id: record.id });
+ inspRecordDrawerApi.open();
+}
+
+async function handleDelete(row: Recordable<any>) {
+ await delInspRecord(row.id);
+ await tableApi.query();
+}
+
+function handleMultiDelete() {
+ const rows = tableApi.grid.getCheckboxRecords();
+ const ids = rows.map((row: any) => row.id);
+ Modal.confirm({
+ title: '鎻愮ず',
+ okType: 'danger',
+ content: `纭鍒犻櫎閫変腑鐨�${ids.length}鏉¤褰曞悧锛焋,
+ onOk: async () => {
+ await delInspRecord(ids);
+ await tableApi.query();
+ }
+ });
+}
+
+function handleDownloadExcel() {
+ commonDownloadExcel(inspRecordExport, '鐐规璁板綍', tableApi.formApi.form.values, {
+ fieldMappingTime: formOptions.fieldMappingTime
+ });
+}
/**
* 鍒濆鍖栭儴闂ㄩ�夋嫨
@@ -108,7 +143,7 @@
/** 鏍规嵁閮ㄩ棬ID鍔犺浇鐢ㄦ埛 */
await setupUserOptions(deptId);
/** 鍙樺寲鍚庨渶瑕侀噸鏂伴�夋嫨鐢ㄦ埛 */
- formModel.maintUser = undefined;
+ formModel.inspUser = undefined;
},
placeholder: '璇烽�夋嫨',
showSearch: true,
@@ -120,7 +155,7 @@
// 閫変腑鍚庢樉绀哄湪杈撳叆妗嗙殑鍊�
treeNodeLabelProp: 'fullName'
}),
- fieldName: 'maintDept'
+ fieldName: 'inspDept'
}
]);
}
@@ -148,28 +183,10 @@
tableApi.formApi.updateSchema([
{
componentProps: { options, placeholder, filterOption },
- fieldName: 'maintUser'
+ fieldName: 'inspUser'
}
]);
}
-const [MaintOrderStDrawer, maintOrderStDrawerApi] = useVbenDrawer({
- connectedComponent: maintOrderStDrawer
-});
-
-function handleAdd() {
- maintOrderStDrawerApi.setData({});
- maintOrderStDrawerApi.open();
-}
-
-async function handleEdit(record: Recordable<any>) {
- maintOrderStDrawerApi.setData({ id: record.id });
- maintOrderStDrawerApi.open();
-}
-async function handleDelete(row: Recordable<any>) {
- await delMaintOrderSt(row.id);
- await tableApi.query();
-}
-
onMounted(async () => {
await setupDeptSelect();
@@ -184,9 +201,25 @@
<template>
<Page :auto-content-height="true">
<div class="flex h-full gap-[8px] flex-col">
- <BasicTable class="h-3/5" table-title="淇濆吇宸ュ崟鍒楄〃">
+ <BasicTable table-title="鐐规璁板綍鍒楄〃">
<template #toolbar-tools>
- <Space />
+ <Space>
+ <a-button v-access:code="['eims:inspectRecord:export']" @click="handleDownloadExcel">
+ {{ $t('pages.common.export') }}
+ </a-button>
+ <a-button
+ :disabled="!vxeCheckboxChecked(tableApi)"
+ danger
+ type="primary"
+ v-access:code="['eims:inspectRecord:remove']"
+ @click="handleMultiDelete"
+ >
+ {{ $t('pages.common.delete') }}
+ </a-button>
+ <!-- <a-button type="primary" v-access:code="['eims:inspectRecord:add']" @click="handleAdd">
+ {{ $t('pages.common.add') }}
+ </a-button>-->
+ </Space>
</template>
<template #equName="{ row }">
@@ -194,30 +227,22 @@
<span>{{ row.equName }}</span>
</Space>
</template>
+
<template #action="{ row }">
<Space>
- <ghost-button v-access:code="['eims:maintOrderSt:edit']" @click.stop="handleEdit(row)">
+ <ghost-button v-access:code="['eims:inspectRecord:edit']" @click.stop="handleEdit(row)">
{{ $t('pages.common.edit') }}
</ghost-button>
- <Popconfirm :get-popup-container="getVxePopupContainer" placement="left" title="纭鍒犻櫎锛�"
- @confirm="handleDelete(row)">
- <ghost-button danger v-access:code="['eims:maintOrderSt:remove']" @click.stop="">
+ <Popconfirm :get-popup-container="getVxePopupContainer" placement="left" title="纭鍒犻櫎锛�" @confirm="handleDelete(row)">
+ <ghost-button danger v-access:code="['eims:inspectRecord:remove']" @click.stop="">
{{ $t('pages.common.delete') }}
</ghost-button>
</Popconfirm>
</Space>
</template>
-
</BasicTable>
- <BasisSubTable
- :columns="orderCol"
- :list-api="listMaintOrderGroupDetail"
- :req-value="orderId"
- class="h-2/5"
- req-key="maintCode"
- title="淇濆吇瀹炴柦椤圭洰"
- />
+ <!--<BasisSubTable :columns="maintStandCol" :list-api="listMaintStand" :req-value="equId" class="h-1/3" req-key="equId" title="淇濆吇瀹炴柦椤圭洰" />-->
</div>
- <MaintOrderStDrawer @reload="tableApi.query()" />
+ <InspRecordDrawer @reload="tableApi.query()" />
</Page>
</template>
diff --git a/eims-ui/apps/web-antd/src/views/eims/insp-record/insp-record-drawer.vue b/eims-ui/apps/web-antd/src/views/eims/insp-record/insp-record-drawer.vue
new file mode 100644
index 0000000..ee038e1
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/views/eims/insp-record/insp-record-drawer.vue
@@ -0,0 +1,167 @@
+<script setup lang="ts">
+import { computed, ref } from 'vue';
+
+import { useVbenDrawer, useVbenModal } from '@vben/common-ui';
+import { cloneDeep } from '@vben/utils';
+
+import { InputSearch } from 'ant-design-vue';
+
+import { useVbenForm } from '#/adapter/form';
+import { addInspRecord, getInspRecord, updateInspRecord } from '#/api/eims/insp-record';
+import CodeInput from '#/views/eims/components/code-input.vue';
+import equModal from '#/views/eims/components/equ-modal.vue';
+import userModal from '#/views/eims/components/user-modal.vue';
+
+import { drawerSchema } from './data';
+
+
+const emit = defineEmits<{ reload: [] }>();
+
+const isUpdate = ref(false);
+const title = computed(() => {
+ return isUpdate.value ? '缂栬緫鐐规璁板綍' : '鏂板鐐规璁板綍';
+});
+
+const [BasicForm, formApi] = useVbenForm({
+ commonConfig: {
+ formItemClass: 'col-span-2',
+ componentProps: {
+ class: 'w-full'
+ },
+ labelWidth: 120
+ },
+ schema: drawerSchema(),
+ showDefaultActions: false,
+ wrapperClass: 'grid-cols-2'
+});
+
+const [BasicDrawer, drawerApi] = useVbenDrawer({
+ onCancel: handleCancel,
+ onConfirm: handleConfirm,
+ async onOpenChange(isOpen) {
+ if (!isOpen) {
+ return null;
+ }
+ drawerApi.drawerLoading(true);
+ const { id } = drawerApi.getData() as { id?: number | string };
+ isUpdate.value = !!id;
+ // 浠庣偣妫�璁″垝椤甸潰鐢熸垚鐐规璁板綍
+ const { planInsp } = drawerApi.getData();
+ isUpdate.value = !!id;
+ // 鏂板-浠庣偣妫�璁″垝椤甸潰鐢熸垚鐐规璁板綍
+ if (!isUpdate.value && !id) {
+ await formApi.setValues(planInsp);
+ }
+ formApi.updateSchema([
+ {
+ componentProps: {
+ disabled: isUpdate.value
+ },
+ fieldName: 'inspName'
+ }
+ ]);
+ // 鏇存柊 && 璧嬪��
+ if (isUpdate.value && id) {
+ const record = await getInspRecord(id);
+ await formApi.setValues(record);
+ }
+
+ drawerApi.drawerLoading(false);
+ }
+});
+
+
+async function handleConfirm() {
+ try {
+ drawerApi.drawerLoading(true);
+ const { valid } = await formApi.validate();
+ if (!valid) {
+ return;
+ }
+ const data = cloneDeep(await formApi.getValues());
+ await (isUpdate.value ? updateInspRecord(data) : addInspRecord(data));
+ emit('reload');
+ await handleCancel();
+ } catch (error) {
+ console.error(error);
+ } finally {
+ drawerApi.drawerLoading(false);
+ }
+}
+
+
+
+async function handleCancel() {
+ drawerApi.close();
+ await formApi.resetForm();
+}
+
+// equ modal
+const [EquModal, equModalApi] = useVbenModal({
+ connectedComponent: equModal,
+ draggable: true,
+ title: '閫夋嫨璁惧'
+});
+
+function handleEquModal() {
+ equModalApi.setData({});
+ equModalApi.open();
+}
+
+// user modal
+const [UserModal, userModalApi] = useVbenModal({
+ connectedComponent: userModal,
+ draggable: true,
+ title: '閫夋嫨鐐规浜�'
+});
+
+const userType = ref<number | undefined>(undefined);
+
+function handleUserModal(type: number) {
+ userType.value = type;
+ userModalApi.setData({});
+ userModalApi.open();
+}
+
+/**
+ * 鏇存柊閫夋嫨鐨勮澶�
+ * @param equ
+ */
+async function updateEqu(equ: any) {
+ await formApi.setValues({equId:equ.equId,equName:equ.equName});
+}
+
+/**
+ * 鏇存柊閫夋嫨鐨勭敤鎴�
+ * @param user
+ */
+async function updateUser(user: any) {
+ if (userType.value === 1) {
+ await formApi.setValues({ 'inspUserName': user.nickName, 'inspUser': user.userId, 'inspDept': user.deptId });
+ } else if (userType.value === 2) {
+ await formApi.setValues({ 'verifyUserName': user.nickName, 'verifyUser': user.userId, 'verifyDept': user.deptId });
+ }
+}
+</script>
+
+<template>
+ <BasicDrawer :close-on-click-modal="false" :title="title" class="w-[600px]">
+ <BasicForm>
+ <template #equName="slotProps">
+ <InputSearch :enter-button="true" placeholder="璇烽�夋嫨" @search="handleEquModal" v-bind="slotProps"
+ :disabled="isUpdate" />
+ </template>
+ <template #inspUserName="slotProps">
+ <InputSearch :enter-button="true" placeholder="璇烽�夋嫨" @search="handleUserModal(1)" v-bind="slotProps" />
+ </template>
+ <template #verifyUserName="slotProps">
+ <InputSearch :enter-button="true" placeholder="璇烽�夋嫨" @search="handleUserModal(2)" v-bind="slotProps" />
+ </template>
+ <template #inspCode="slotProps">
+ <CodeInput v-bind="slotProps" :disabled="isUpdate" prefix="DJSD" />
+ </template>
+ </BasicForm>
+ <EquModal class="w-[1200px]" @update-equ="updateEqu" />
+ <UserModal class="w-[1200px]" @select-user="updateUser" />
+ </BasicDrawer>
+</template>
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/data.tsx b/eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx
similarity index 75%
copy from eims-ui/apps/web-antd/src/views/eims/maint-order-st/data.tsx
copy to eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx
index 0629b80..e4de7f4 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/data.tsx
+++ b/eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx
@@ -12,8 +12,13 @@
export const querySchema: FormSchemaGetter = () => [
{
component: 'Input',
- fieldName: 'equName',
- label: '璁惧鍚嶇О'
+ fieldName: 'title',
+ label: '鏍囬'
+ },
+ {
+ component: 'Input',
+ fieldName: 'assetNo',
+ label: '璧勪骇缂栧彿'
},
{
component: 'RangePicker',
@@ -23,7 +28,7 @@
{
component: 'Select',
componentProps: {
- options: getDictOptions(DictEnum.MAINT_ORDER_ST_STATUS)
+ options: getDictOptions(DictEnum.EIMS_INSPECT_STATUS)
},
fieldName: 'status',
label: '鐘舵��'
@@ -33,15 +38,15 @@
export const columns: VxeGridProps['columns'] = [
{ type: 'checkbox', width: 60, fixed: 'left' },
{
- title: '璁惧鍚嶇О',
- field: 'equName',
+ title: '鏍囬',
+ field: 'title',
minWidth: 200,
fixed: 'left'
},
{
- title: '璁″垝淇濆吇鏃ユ湡',
+ title: '淇濆吇骞存湀',
field: 'planTime',
- minWidth: 200
+ minWidth: 120
},
{
title: '鐘舵��',
@@ -49,7 +54,7 @@
minWidth: 80,
slots: {
default: ({ row }) => {
- return renderDict(row.status, DictEnum.MAINT_ORDER_ST_STATUS);
+ return renderDict(row.status, DictEnum.EIMS_INSPECT_STATUS);
}
}
},
@@ -59,47 +64,47 @@
minWidth: 160
},
{
- title: '宸ュ崟鎬绘暟',
- field: 'orderCount',
+ title: '鐐规鎬绘暟',
+ field: 'recordCount',
minWidth: 100
},
{
- title: '寰呬繚鍏�',
- field: 'dbyCount',
+ title: '鏈偣妫�',
+ field: 'unCheckCount',
minWidth: 80,
slots: {
default: ({ row }) => {
- return <Tag color="orange">{row.dbyCount}</Tag>;
+ return <Tag color="orange">{row.unCheckCount}</Tag>;
}
}
},
{
- title: '淇濆吇涓�',
- field: 'byCount',
+ title: '宸茬偣妫�',
+ field: 'checkCount',
minWidth: 80,
slots: {
default: ({ row }) => {
- return <Tag color="blue">{row.byCount}</Tag>;
+ return <Tag color="blue">{row.checkCount}</Tag>;
}
}
},
{
- title: '寰呴獙璇�',
- field: 'dyzCount',
+ title: '姝e父',
+ field: 'normalNum',
minWidth: 80,
slots: {
default: ({ row }) => {
- return <Tag color="purple">{row.dyzCount}</Tag>;
+ return <Tag color="success">{row.normalNum}</Tag>;
}
}
},
{
- title: '瀹屾垚',
- field: 'wcCount',
+ title: '寮傚父',
+ field: 'abNormalNum',
minWidth: 80,
slots: {
default: ({ row }) => {
- return <Tag color="success">{row.wcCount}</Tag>;
+ return <Tag color="red">{row.abNormalNum}</Tag>;
}
}
},
@@ -114,8 +119,8 @@
minWidth: 160
},
{
- title: '绋芥煡鏃堕棿',
- field: 'verifyTime',
+ title: '鐐规鏃堕棿',
+ field: 'inspTime',
minWidth: 200
},
{
@@ -157,7 +162,7 @@
getPopupContainer
},
fieldName: 'planTime',
- label: '璁″垝淇濆吇鏃ユ湡'
+ label: '璁″垝鐐规鏃ユ湡'
},
{
component: 'Input',
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/index.vue b/eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue
similarity index 70%
copy from eims-ui/apps/web-antd/src/views/eims/maint-order-st/index.vue
copy to eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue
index 716379d..203ec1a 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/index.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue
@@ -4,19 +4,18 @@
import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
import { addFullName, getPopupContainer, getVxePopupContainer } from '@vben/utils';
-import { Popconfirm, Space } from 'ant-design-vue';
+import { Modal, Popconfirm, Space } from 'ant-design-vue';
-import { useVbenVxeGrid, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table';
-import { listMaintOrderGroupDetail } from '#/api/eims/maint-order';
-import { delMaintOrderSt, listMaintOrderSt } from '#/api/eims/maint-order-st';
+import { useVbenVxeGrid, vxeCheckboxChecked, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table';
+import { delMaintOrder, listMaintOrderGroupDetail } from '#/api/eims/maint-order';
+import { delInspectSt, listInspectSt } from '#/api/eims/insp-st';
import { getDeptTree, userList } from '#/api/system/user';
import BasisSubTable from '#/views/eims/components/basis-sub-table.vue';
-import { columns as orderCol } from '#/views/eims/maint-order/data';
+import { columns as recordCol } from '#/views/eims/insp-record/data';
import { columns, querySchema } from './data';
-import maintOrderStDrawer from './maint-order-st-drawer.vue';
+import inspStDrawer from './insp-st-drawer.vue';
import type { Recordable } from '@vben/types';
-import { MAINT_ORDER_STATUS } from '#/constants/dict';
import { $t } from '@vben/locales';
defineExpose({
@@ -53,7 +52,7 @@
proxyConfig: {
ajax: {
query: async ({ page }, formValues = {}) => {
- return await listMaintOrderSt({
+ return await listInspectSt({
pageNum: page.currentPage,
pageSize: page.pageSize,
...formValues
@@ -71,9 +70,9 @@
// 鏀寔澶氬瓧娈垫帓搴� 榛樿鍏抽棴
multiple: true
},
- id: 'maint-order-group-index'
+ id: 'insp-st-index'
};
-const orderId = ref<string>();
+const recordId = ref<string>();
const [BasicTable, tableApi] = useVbenVxeGrid({
formOptions,
gridOptions,
@@ -81,7 +80,7 @@
sortChange: (sortParams) => vxeSortEvent(tableApi, sortParams),
cellClick: (e: any) => {
const { row } = e;
- orderId.value = `${row.equId}_${row.planTime}`;
+ recordId.value = `${row.equId}_${row.planTime}`;
}
}
});
@@ -108,7 +107,7 @@
/** 鏍规嵁閮ㄩ棬ID鍔犺浇鐢ㄦ埛 */
await setupUserOptions(deptId);
/** 鍙樺寲鍚庨渶瑕侀噸鏂伴�夋嫨鐢ㄦ埛 */
- formModel.maintUser = undefined;
+ formModel.inspUser = undefined;
},
placeholder: '璇烽�夋嫨',
showSearch: true,
@@ -120,7 +119,7 @@
// 閫変腑鍚庢樉绀哄湪杈撳叆妗嗙殑鍊�
treeNodeLabelProp: 'fullName'
}),
- fieldName: 'maintDept'
+ fieldName: 'inspDept'
}
]);
}
@@ -148,28 +147,37 @@
tableApi.formApi.updateSchema([
{
componentProps: { options, placeholder, filterOption },
- fieldName: 'maintUser'
+ fieldName: 'inspUser'
}
]);
}
-const [MaintOrderStDrawer, maintOrderStDrawerApi] = useVbenDrawer({
- connectedComponent: maintOrderStDrawer
+const [InspStDrawer, inspStDrawerApi] = useVbenDrawer({
+ connectedComponent: inspStDrawer
});
-function handleAdd() {
- maintOrderStDrawerApi.setData({});
- maintOrderStDrawerApi.open();
-}
async function handleEdit(record: Recordable<any>) {
- maintOrderStDrawerApi.setData({ id: record.id });
- maintOrderStDrawerApi.open();
+ inspStDrawerApi.setData({ id: record.id });
+ inspStDrawerApi.open();
}
async function handleDelete(row: Recordable<any>) {
- await delMaintOrderSt(row.id);
+ await delInspectSt(row.id);
await tableApi.query();
}
+function handleMultiDelete() {
+ const rows = tableApi.grid.getCheckboxRecords();
+ const ids = rows.map((row: any) => row.id);
+ Modal.confirm({
+ title: '鎻愮ず',
+ okType: 'danger',
+ content: `纭鍒犻櫎閫変腑鐨�${ids.length}鏉¤褰曞悧锛焋,
+ onOk: async () => {
+ await delInspectSt(ids);
+ await tableApi.query();
+ }
+ });
+}
onMounted(async () => {
await setupDeptSelect();
@@ -184,9 +192,19 @@
<template>
<Page :auto-content-height="true">
<div class="flex h-full gap-[8px] flex-col">
- <BasicTable class="h-3/5" table-title="淇濆吇宸ュ崟鍒楄〃">
+ <BasicTable class="h-2/3" table-title="鐐规璁板綍鍒楄〃">
<template #toolbar-tools>
- <Space />
+ <Space >
+ <a-button
+ :disabled="!vxeCheckboxChecked(tableApi)"
+ danger
+ type="primary"
+ v-access:code="['eims:inspectSt:remove']"
+ @click="handleMultiDelete"
+ >
+ {{ $t('pages.common.delete') }}
+ </a-button>
+ </Space>
</template>
<template #equName="{ row }">
@@ -196,12 +214,12 @@
</template>
<template #action="{ row }">
<Space>
- <ghost-button v-access:code="['eims:maintOrderSt:edit']" @click.stop="handleEdit(row)">
+ <ghost-button v-access:code="['eims:inspectSt:edit']" @click.stop="handleEdit(row)">
{{ $t('pages.common.edit') }}
</ghost-button>
<Popconfirm :get-popup-container="getVxePopupContainer" placement="left" title="纭鍒犻櫎锛�"
@confirm="handleDelete(row)">
- <ghost-button danger v-access:code="['eims:maintOrderSt:remove']" @click.stop="">
+ <ghost-button danger v-access:code="['eims:inspectSt:remove']" @click.stop="">
{{ $t('pages.common.delete') }}
</ghost-button>
</Popconfirm>
@@ -210,14 +228,14 @@
</BasicTable>
<BasisSubTable
- :columns="orderCol"
+ :columns="recordCol"
:list-api="listMaintOrderGroupDetail"
- :req-value="orderId"
- class="h-2/5"
+ :req-value="recordId"
+ class="h-1/3"
req-key="maintCode"
title="淇濆吇瀹炴柦椤圭洰"
/>
</div>
- <MaintOrderStDrawer @reload="tableApi.query()" />
+ <InspStDrawer @reload="tableApi.query()" />
</Page>
</template>
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/maint-order-st-drawer.vue b/eims-ui/apps/web-antd/src/views/eims/insp-st/insp-st-drawer.vue
similarity index 89%
copy from eims-ui/apps/web-antd/src/views/eims/maint-order-st/maint-order-st-drawer.vue
copy to eims-ui/apps/web-antd/src/views/eims/insp-st/insp-st-drawer.vue
index 414ec0f..14d4412 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/maint-order-st-drawer.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/insp-st/insp-st-drawer.vue
@@ -7,7 +7,7 @@
import { InputSearch } from 'ant-design-vue';
import { useVbenForm } from '#/adapter/form';
-import { getMaintOrderSt, updateMaintOrderSt } from '#/api/eims/maint-order-st';
+import { getInspectSt, updateInspectSt } from '#/api/eims/insp-st';
import userModal from '#/views/eims/components/user-modal.vue';
import { drawerSchema } from './data';
@@ -16,7 +16,7 @@
const isUpdate = ref(false);
const title = computed(() => {
- return isUpdate.value ? '淇濆吇宸ュ崟姹囨�荤ń鏌�' : '淇濆吇宸ュ崟姹囨��';
+ return isUpdate.value ? '鐐规璁板綍姹囨�荤ń鏌�' : '鐐规璁板綍姹囨��';
});
const [BasicForm, formApi] = useVbenForm({
@@ -44,7 +44,7 @@
isUpdate.value = !!id;
// 鏇存柊 && 璧嬪��
if (isUpdate.value && id) {
- const record = await getMaintOrderSt(id);
+ const record = await getInspectSt(id);
await formApi.setValues(record);
}
@@ -61,7 +61,7 @@
}
const data = cloneDeep(await formApi.getValues());
// await (isUpdate.value ? updateMaintOrderSt(data) : addMaintOrderSt(data));
- await (isUpdate.value ? updateMaintOrderSt(data) : updateMaintOrderSt(data));
+ await (isUpdate.value ? updateInspectSt(data) : updateInspectSt(data));
emit('reload');
await handleCancel();
} catch (error) {
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-order/data.tsx b/eims-ui/apps/web-antd/src/views/eims/maint-order/data.tsx
index d3bc2b5..724a93a 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-order/data.tsx
+++ b/eims-ui/apps/web-antd/src/views/eims/maint-order/data.tsx
@@ -126,6 +126,11 @@
minWidth: 160
},
{
+ title: '宸ヤ綔鎻忚堪',
+ field: 'maintDesc',
+ minWidth: 200
+ },
+ {
title: '楠岃瘉浜�',
field: 'verifyUserName',
minWidth: 160
@@ -174,6 +179,11 @@
component: 'Input',
fieldName: 'maintCode',
label: '淇濆吇鍗曞彿'
+ },
+ {
+ component: 'Input',
+ fieldName: 'maintName',
+ label: '淇濆吇椤�'
},
{
component: 'Input',
@@ -289,6 +299,11 @@
label: '缁撴潫鏃堕棿'
},
{
+ component: 'Textarea',
+ fieldName: 'maintDesc',
+ label: '宸ヤ綔鎻忚堪'
+ },
+ {
component: 'Input',
fieldName: 'verifyUser',
label: '楠岃瘉浜篿d',
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-order/index.vue b/eims-ui/apps/web-antd/src/views/eims/maint-order/index.vue
index b588a79..2f1b154 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-order/index.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/maint-order/index.vue
@@ -191,8 +191,6 @@
]);
}
-
-
onMounted(async () => {
await setupDeptSelect();
});
@@ -257,9 +255,9 @@
>
{{ $t('pages.common.delete') }}
</a-button>
- <a-button type="primary" v-access:code="['eims:maintOrder:add']" @click="handleAdd">
+ <!-- <a-button type="primary" v-access:code="['eims:maintOrder:add']" @click="handleAdd">
{{ $t('pages.common.add') }}
- </a-button>
+ </a-button>-->
</Space>
</template>
@@ -298,8 +296,7 @@
<ghost-button v-access:code="['eims:maintOrder:edit']" @click.stop="handleEdit(row)">
{{ $t('pages.common.edit') }}
</ghost-button>
- <Popconfirm :get-popup-container="getVxePopupContainer" placement="left" title="纭鍒犻櫎锛�"
- @confirm="handleDelete(row)">
+ <Popconfirm :get-popup-container="getVxePopupContainer" placement="left" title="纭鍒犻櫎锛�" @confirm="handleDelete(row)">
<ghost-button danger v-access:code="['eims:maintOrder:remove']" @click.stop="">
{{ $t('pages.common.delete') }}
</ghost-button>
@@ -308,7 +305,6 @@
</template>
</BasicTable>
<!--<BasisSubTable :columns="maintStandCol" :list-api="listMaintStand" :req-value="equId" class="h-1/3" req-key="equId" title="淇濆吇瀹炴柦椤圭洰" />-->
-
</div>
<MaintOrderDrawer @reload="tableApi.query()" />
</Page>
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-order/maint-order-drawer.vue b/eims-ui/apps/web-antd/src/views/eims/maint-order/maint-order-drawer.vue
index 992a2e3..86164a4 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-order/maint-order-drawer.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/maint-order/maint-order-drawer.vue
@@ -54,6 +54,14 @@
}
// 閲嶇疆
baoyangCol(false);
+ formApi.updateSchema([
+ {
+ componentProps: {
+ disabled: isUpdate.value
+ },
+ fieldName: 'maintName'
+ }
+ ]);
// 鏇存柊 && 璧嬪��
if (isUpdate.value && id) {
@@ -121,6 +129,12 @@
disabled: show
},
fieldName: 'status'
+ },
+ {
+ componentProps: {
+ disabled: show
+ },
+ fieldName: 'maintName'
}
]);
}
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-plan/data.tsx b/eims-ui/apps/web-antd/src/views/eims/maint-plan/data.tsx
index dcf9cfa..4e6a0f9 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-plan/data.tsx
+++ b/eims-ui/apps/web-antd/src/views/eims/maint-plan/data.tsx
@@ -136,6 +136,11 @@
minWidth: 160
},
{
+ title: '鍒涘缓鏃堕棿',
+ field: 'createTime',
+ minWidth: 200
+ },
+ {
field: 'action',
fixed: 'right',
slots: { default: 'action' },
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-plan/index.vue b/eims-ui/apps/web-antd/src/views/eims/maint-plan/index.vue
index 2927a97..2ddc20e 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-plan/index.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/maint-plan/index.vue
@@ -15,7 +15,6 @@
import { getDeptTree, userList } from '#/api/system/user';
import { MAINT_ORDER_STATUS } from '#/constants/dict';
import { commonDownloadExcel } from '#/utils/file/download';
-import BasisSubTable from '#/views/eims/components/basis-sub-table.vue';
import maintOrderDrawer from '#/views/eims/maint-order/maint-order-drawer.vue';
import { columns, querySchema } from './data';
@@ -157,7 +156,8 @@
maintType: record.maintType,
planTime: record.maintNextTime,
status: MAINT_ORDER_STATUS.DAIBAOYANG,
- maintCode: code
+ maintCode: code,
+ maintName: record.maintName
};
maintOrderDrawerApi.setData({ planOrder });
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/data.tsx b/eims-ui/apps/web-antd/src/views/eims/maint-st/data.tsx
similarity index 94%
rename from eims-ui/apps/web-antd/src/views/eims/maint-order-st/data.tsx
rename to eims-ui/apps/web-antd/src/views/eims/maint-st/data.tsx
index 0629b80..973651d 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/data.tsx
+++ b/eims-ui/apps/web-antd/src/views/eims/maint-st/data.tsx
@@ -12,8 +12,13 @@
export const querySchema: FormSchemaGetter = () => [
{
component: 'Input',
- fieldName: 'equName',
- label: '璁惧鍚嶇О'
+ fieldName: 'title',
+ label: '鏍囬'
+ },
+ {
+ component: 'Input',
+ fieldName: 'assetno',
+ label: '璧勪骇缂栧彿'
},
{
component: 'RangePicker',
@@ -33,15 +38,15 @@
export const columns: VxeGridProps['columns'] = [
{ type: 'checkbox', width: 60, fixed: 'left' },
{
- title: '璁惧鍚嶇О',
- field: 'equName',
+ title: '鏍囬',
+ field: 'title',
minWidth: 200,
fixed: 'left'
},
{
- title: '璁″垝淇濆吇鏃ユ湡',
+ title: '淇濆吇骞存湀',
field: 'planTime',
- minWidth: 200
+ minWidth: 120
},
{
title: '鐘舵��',
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/index.vue b/eims-ui/apps/web-antd/src/views/eims/maint-st/index.vue
similarity index 75%
rename from eims-ui/apps/web-antd/src/views/eims/maint-order-st/index.vue
rename to eims-ui/apps/web-antd/src/views/eims/maint-st/index.vue
index 716379d..a90f696 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/index.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/maint-st/index.vue
@@ -1,23 +1,23 @@
<script setup lang="ts">
+import type { Recordable } from '@vben/types';
+
import { onMounted, ref } from 'vue';
import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui';
+import { $t } from '@vben/locales';
import { addFullName, getPopupContainer, getVxePopupContainer } from '@vben/utils';
-import { Popconfirm, Space } from 'ant-design-vue';
+import { Modal, Popconfirm, Space } from 'ant-design-vue';
-import { useVbenVxeGrid, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table';
+import { useVbenVxeGrid, vxeCheckboxChecked, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table';
import { listMaintOrderGroupDetail } from '#/api/eims/maint-order';
-import { delMaintOrderSt, listMaintOrderSt } from '#/api/eims/maint-order-st';
+import { delMaintSt, listMaintSt } from '#/api/eims/maint-st';
import { getDeptTree, userList } from '#/api/system/user';
import BasisSubTable from '#/views/eims/components/basis-sub-table.vue';
import { columns as orderCol } from '#/views/eims/maint-order/data';
import { columns, querySchema } from './data';
-import maintOrderStDrawer from './maint-order-st-drawer.vue';
-import type { Recordable } from '@vben/types';
-import { MAINT_ORDER_STATUS } from '#/constants/dict';
-import { $t } from '@vben/locales';
+import maintStDrawer from './maint-st-drawer.vue';
defineExpose({
tableSelect
@@ -53,7 +53,7 @@
proxyConfig: {
ajax: {
query: async ({ page }, formValues = {}) => {
- return await listMaintOrderSt({
+ return await listMaintSt({
pageNum: page.currentPage,
pageSize: page.pageSize,
...formValues
@@ -152,24 +152,32 @@
}
]);
}
-const [MaintOrderStDrawer, maintOrderStDrawerApi] = useVbenDrawer({
- connectedComponent: maintOrderStDrawer
+const [MaintStDrawer, maintStDrawerApi] = useVbenDrawer({
+ connectedComponent: maintStDrawer
});
-function handleAdd() {
- maintOrderStDrawerApi.setData({});
- maintOrderStDrawerApi.open();
-}
-
async function handleEdit(record: Recordable<any>) {
- maintOrderStDrawerApi.setData({ id: record.id });
- maintOrderStDrawerApi.open();
+ maintStDrawerApi.setData({ id: record.id });
+ maintStDrawerApi.open();
}
async function handleDelete(row: Recordable<any>) {
- await delMaintOrderSt(row.id);
+ await delMaintSt(row.id);
await tableApi.query();
}
+function handleMultiDelete() {
+ const rows = tableApi.grid.getCheckboxRecords();
+ const ids = rows.map((row: any) => row.id);
+ Modal.confirm({
+ title: '鎻愮ず',
+ okType: 'danger',
+ content: `纭鍒犻櫎閫変腑鐨�${ids.length}鏉¤褰曞悧锛焋,
+ onOk: async () => {
+ await delMaintSt(ids);
+ await tableApi.query();
+ }
+ });
+}
onMounted(async () => {
await setupDeptSelect();
@@ -184,9 +192,19 @@
<template>
<Page :auto-content-height="true">
<div class="flex h-full gap-[8px] flex-col">
- <BasicTable class="h-3/5" table-title="淇濆吇宸ュ崟鍒楄〃">
+ <BasicTable class="h-2/3" table-title="淇濆吇宸ュ崟鍒楄〃">
<template #toolbar-tools>
- <Space />
+ <Space>
+ <a-button
+ :disabled="!vxeCheckboxChecked(tableApi)"
+ danger
+ type="primary"
+ v-access:code="['eims:maintSt:remove']"
+ @click="handleMultiDelete"
+ >
+ {{ $t('pages.common.delete') }}
+ </a-button>
+ </Space>
</template>
<template #equName="{ row }">
@@ -196,28 +214,26 @@
</template>
<template #action="{ row }">
<Space>
- <ghost-button v-access:code="['eims:maintOrderSt:edit']" @click.stop="handleEdit(row)">
+ <ghost-button v-access:code="['eims:maintSt:edit']" @click.stop="handleEdit(row)">
{{ $t('pages.common.edit') }}
</ghost-button>
- <Popconfirm :get-popup-container="getVxePopupContainer" placement="left" title="纭鍒犻櫎锛�"
- @confirm="handleDelete(row)">
- <ghost-button danger v-access:code="['eims:maintOrderSt:remove']" @click.stop="">
+ <Popconfirm :get-popup-container="getVxePopupContainer" placement="left" title="纭鍒犻櫎锛�" @confirm="handleDelete(row)">
+ <ghost-button danger v-access:code="['eims:maintSt:remove']" @click.stop="">
{{ $t('pages.common.delete') }}
</ghost-button>
</Popconfirm>
</Space>
</template>
-
</BasicTable>
<BasisSubTable
:columns="orderCol"
:list-api="listMaintOrderGroupDetail"
:req-value="orderId"
- class="h-2/5"
+ class="h-1/3"
req-key="maintCode"
title="淇濆吇瀹炴柦椤圭洰"
/>
</div>
- <MaintOrderStDrawer @reload="tableApi.query()" />
+ <MaintStDrawer @reload="tableApi.query()" />
</Page>
</template>
diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/maint-order-st-drawer.vue b/eims-ui/apps/web-antd/src/views/eims/maint-st/maint-st-drawer.vue
similarity index 92%
rename from eims-ui/apps/web-antd/src/views/eims/maint-order-st/maint-order-st-drawer.vue
rename to eims-ui/apps/web-antd/src/views/eims/maint-st/maint-st-drawer.vue
index 414ec0f..f9f73a3 100644
--- a/eims-ui/apps/web-antd/src/views/eims/maint-order-st/maint-order-st-drawer.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/maint-st/maint-st-drawer.vue
@@ -5,9 +5,9 @@
import { cloneDeep } from '@vben/utils';
import { InputSearch } from 'ant-design-vue';
+import { getMaintSt, updateMaintSt } from '#/api/eims/maint-st';
import { useVbenForm } from '#/adapter/form';
-import { getMaintOrderSt, updateMaintOrderSt } from '#/api/eims/maint-order-st';
import userModal from '#/views/eims/components/user-modal.vue';
import { drawerSchema } from './data';
@@ -44,7 +44,7 @@
isUpdate.value = !!id;
// 鏇存柊 && 璧嬪��
if (isUpdate.value && id) {
- const record = await getMaintOrderSt(id);
+ const record = await getMaintSt(id);
await formApi.setValues(record);
}
@@ -61,7 +61,7 @@
}
const data = cloneDeep(await formApi.getValues());
// await (isUpdate.value ? updateMaintOrderSt(data) : addMaintOrderSt(data));
- await (isUpdate.value ? updateMaintOrderSt(data) : updateMaintOrderSt(data));
+ await (isUpdate.value ? updateMaintSt(data) : updateMaintSt(data));
emit('reload');
await handleCancel();
} catch (error) {
diff --git a/eims-ui/packages/@core/base/shared/src/constants/dict-enum.ts b/eims-ui/packages/@core/base/shared/src/constants/dict-enum.ts
index cc14eac..3052f3d 100644
--- a/eims-ui/packages/@core/base/shared/src/constants/dict-enum.ts
+++ b/eims-ui/packages/@core/base/shared/src/constants/dict-enum.ts
@@ -1,16 +1,19 @@
export enum DictEnum {
EIMS_EQU_UNIT = 'eims_equ_unit', // 璁惧鐩樼偣鐘舵��
EIMS_FIXTURE_STATUS = 'eims_fixture_status', // 宸ュ叿锛堟不鍏凤級鐘舵��
+ EIMS_INSPECT_TYPE = 'eims_inspect_type', // 鐐规绫诲瀷
EIMS_INVENTORY_DETAIL_STATU = 'inventory_detail_statu', // 璁惧鐩樼偣鐘舵��
EIMS_INVENTORY_STATU = 'inventory_statu', // 璁惧鐩樼偣鐘舵��
EIMS_MAINT_TYPE = 'eims_maint_type', // 淇濆吇绫诲瀷
+ EIMS_INSPECT_RESULT = 'eims_inspect_result', // 鐐规缁撴灉
EIMS_ORDITM_STATUS = 'eims_orditm_status', // 淇濆吇宸ュ崟鏄庣粏瀹屾垚鐘舵��
EQU_IMPORT_STATU = 'equ_import_status', // 璁惧瀵煎叆鐘舵��
FIXTURE_BORROW_RECORD_STATUS = 'fixture_borrow_record_status', // 宸ュ叿锛堟不鍏凤級鍊熺敤璁板綍鐘舵��
FIXTURE_BORROW_STATUS = 'fixture_borrow_status', // 宸ュ叿锛堟不鍏凤級鍊熺敤鐘舵��
MAINT_CYCLE_UNIT = 'maint_cycle_unit', // 淇濆吇鍛ㄦ湡鍗曚綅
- MAINT_ORDER_STATUS = 'maint_order_status', // 淇濆吇宸ュ崟鐘舵��
MAINT_ORDER_ST_STATUS = 'maint_order_st_status', // 淇濆吇宸ュ崟姹囨�荤ń鏌ョ姸鎬�
+ MAINT_ORDER_STATUS = 'maint_order_status', // 淇濆吇宸ュ崟鐘舵��
+ EIMS_INSPECT_STATUS = 'eims_inspect_status', // 鐐规鐘舵��
MAINT_TIME_RULE = 'maint_time_rule', // 淇濆吇瑙勫垯
REPAIR_FAULT_TYPE = 'repair_fault_type', // 鎶ヤ慨鐘舵��
REPAIR_RECORD_HANDLE = 'repair_record_handle', // 缁翠慨璁板綍鎿嶄綔
diff --git a/eims/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/DictConstants.java b/eims/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/DictConstants.java
index f4e85ac..847160d 100644
--- a/eims/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/DictConstants.java
+++ b/eims/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/DictConstants.java
@@ -150,4 +150,6 @@
String N = "0";// 鏈畬鎴�
String Y = "1"; // 宸插畬鎴�
}
+
+
}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectPlanController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectPlanController.java
new file mode 100644
index 0000000..a528722
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectPlanController.java
@@ -0,0 +1,106 @@
+package org.dromara.eims.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.eims.domain.vo.EimsInspectPlanVo;
+import org.dromara.eims.domain.bo.EimsInspectPlanBo;
+import org.dromara.eims.service.IEimsInspectPlanService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 鐐规璁″垝
+ *
+ * @author zhuguifei
+ * @date 2025-03-12
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/eims/inspectPlan")
+public class EimsInspectPlanController extends BaseController {
+
+ private final IEimsInspectPlanService eimsInspectPlanService;
+
+ /**
+ * 鏌ヨ鐐规璁″垝鍒楄〃
+ */
+ @SaCheckPermission("eims:inspectPlan:list")
+ @GetMapping("/list")
+ public TableDataInfo<EimsInspectPlanVo> list(EimsInspectPlanBo bo, PageQuery pageQuery) {
+ // return eimsInspectPlanService.queryPageList(bo, pageQuery);
+ return eimsInspectPlanService.queryPageListCustom(bo, pageQuery);
+ }
+
+ /**
+ * 瀵煎嚭鐐规璁″垝鍒楄〃
+ */
+ @SaCheckPermission("eims:inspectPlan:export")
+ @Log(title = "鐐规璁″垝", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(EimsInspectPlanBo bo, HttpServletResponse response) {
+ List<EimsInspectPlanVo> list = eimsInspectPlanService.queryList(bo);
+ ExcelUtil.exportExcel(list, "鐐规璁″垝", EimsInspectPlanVo.class, response);
+ }
+
+ /**
+ * 鑾峰彇鐐规璁″垝璇︾粏淇℃伅
+ *
+ * @param id 涓婚敭
+ */
+ @SaCheckPermission("eims:inspectPlan:query")
+ @GetMapping("/{id}")
+ public R<EimsInspectPlanVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long id) {
+ return R.ok(eimsInspectPlanService.queryById(id));
+ }
+
+ /**
+ * 鏂板鐐规璁″垝
+ */
+ @SaCheckPermission("eims:inspectPlan:add")
+ @Log(title = "鐐规璁″垝", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R<Void> add(@Validated(AddGroup.class) @RequestBody EimsInspectPlanBo bo) {
+ return toAjax(eimsInspectPlanService.insertByBo(bo));
+ }
+
+ /**
+ * 淇敼鐐规璁″垝
+ */
+ @SaCheckPermission("eims:inspectPlan:edit")
+ @Log(title = "鐐规璁″垝", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R<Void> edit(@Validated(EditGroup.class) @RequestBody EimsInspectPlanBo bo) {
+ return toAjax(eimsInspectPlanService.updateByBo(bo));
+ }
+
+ /**
+ * 鍒犻櫎鐐规璁″垝
+ *
+ * @param ids 涓婚敭涓�
+ */
+ @SaCheckPermission("eims:inspectPlan:remove")
+ @Log(title = "鐐规璁″垝", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long[] ids) {
+ return toAjax(eimsInspectPlanService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java
new file mode 100644
index 0000000..6a65c62
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java
@@ -0,0 +1,106 @@
+package org.dromara.eims.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.eims.domain.vo.EimsInspectRecordVo;
+import org.dromara.eims.domain.bo.EimsInspectRecordBo;
+import org.dromara.eims.service.IEimsInspectRecordService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 鐐规璁板綍
+ *
+ * @author zhuguifei
+ * @date 2025-03-13
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/eims/inspRecord")
+public class EimsInspectRecordController extends BaseController {
+
+ private final IEimsInspectRecordService eimsInspectRecordService;
+
+ /**
+ * 鏌ヨ鐐规璁板綍鍒楄〃
+ */
+ @SaCheckPermission("eims:inspectRecord:list")
+ @GetMapping("/list")
+ public TableDataInfo<EimsInspectRecordVo> list(EimsInspectRecordBo bo, PageQuery pageQuery) {
+ // return eimsInspectRecordService.queryPageList(bo, pageQuery);
+ return eimsInspectRecordService.queryPageListCustom(bo, pageQuery);
+ }
+
+ /**
+ * 瀵煎嚭鐐规璁板綍鍒楄〃
+ */
+ @SaCheckPermission("eims:inspectRecord:export")
+ @Log(title = "鐐规璁板綍", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(EimsInspectRecordBo bo, HttpServletResponse response) {
+ List<EimsInspectRecordVo> list = eimsInspectRecordService.queryList(bo);
+ ExcelUtil.exportExcel(list, "鐐规璁板綍", EimsInspectRecordVo.class, response);
+ }
+
+ /**
+ * 鑾峰彇鐐规璁板綍璇︾粏淇℃伅
+ *
+ * @param id 涓婚敭
+ */
+ @SaCheckPermission("eims:inspectRecord:query")
+ @GetMapping("/{id}")
+ public R<EimsInspectRecordVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long id) {
+ return R.ok(eimsInspectRecordService.queryById(id));
+ }
+
+ /**
+ * 鏂板鐐规璁板綍
+ */
+ @SaCheckPermission("eims:inspectRecord:add")
+ @Log(title = "鐐规璁板綍", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R<Void> add(@Validated(AddGroup.class) @RequestBody EimsInspectRecordBo bo) {
+ return toAjax(eimsInspectRecordService.insertByBo(bo));
+ }
+
+ /**
+ * 淇敼鐐规璁板綍
+ */
+ @SaCheckPermission("eims:inspectRecord:edit")
+ @Log(title = "鐐规璁板綍", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R<Void> edit(@Validated(EditGroup.class) @RequestBody EimsInspectRecordBo bo) {
+ return toAjax(eimsInspectRecordService.updateByBo(bo));
+ }
+
+ /**
+ * 鍒犻櫎鐐规璁板綍
+ *
+ * @param ids 涓婚敭涓�
+ */
+ @SaCheckPermission("eims:inspectRecord:remove")
+ @Log(title = "鐐规璁板綍", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long[] ids) {
+ return toAjax(eimsInspectRecordService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectStController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectStController.java
new file mode 100644
index 0000000..166d4d4
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectStController.java
@@ -0,0 +1,105 @@
+package org.dromara.eims.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.eims.domain.vo.EimsInspectStVo;
+import org.dromara.eims.domain.bo.EimsInspectStBo;
+import org.dromara.eims.service.IEimsInspectStService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 鐐规姹囨��
+ *
+ * @author zhuguifei
+ * @date 2025-03-14
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/eims/inspectSt")
+public class EimsInspectStController extends BaseController {
+
+ private final IEimsInspectStService eimsInspectStService;
+
+ /**
+ * 鏌ヨ鐐规姹囨�诲垪琛�
+ */
+ @SaCheckPermission("eims:inspectSt:list")
+ @GetMapping("/list")
+ public TableDataInfo<EimsInspectStVo> list(EimsInspectStBo bo, PageQuery pageQuery) {
+ return eimsInspectStService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 瀵煎嚭鐐规姹囨�诲垪琛�
+ */
+ @SaCheckPermission("eims:inspectSt:export")
+ @Log(title = "鐐规姹囨��", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(EimsInspectStBo bo, HttpServletResponse response) {
+ List<EimsInspectStVo> list = eimsInspectStService.queryList(bo);
+ ExcelUtil.exportExcel(list, "鐐规姹囨��", EimsInspectStVo.class, response);
+ }
+
+ /**
+ * 鑾峰彇鐐规姹囨�昏缁嗕俊鎭�
+ *
+ * @param id 涓婚敭
+ */
+ @SaCheckPermission("eims:inspectSt:query")
+ @GetMapping("/{id}")
+ public R<EimsInspectStVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long id) {
+ return R.ok(eimsInspectStService.queryById(id));
+ }
+
+ /**
+ * 鏂板鐐规姹囨��
+ */
+ @SaCheckPermission("eims:inspectSt:add")
+ @Log(title = "鐐规姹囨��", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R<Void> add(@Validated(AddGroup.class) @RequestBody EimsInspectStBo bo) {
+ return toAjax(eimsInspectStService.insertByBo(bo));
+ }
+
+ /**
+ * 淇敼鐐规姹囨��
+ */
+ @SaCheckPermission("eims:inspectSt:edit")
+ @Log(title = "鐐规姹囨��", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R<Void> edit(@Validated(EditGroup.class) @RequestBody EimsInspectStBo bo) {
+ return toAjax(eimsInspectStService.updateByBo(bo));
+ }
+
+ /**
+ * 鍒犻櫎鐐规姹囨��
+ *
+ * @param ids 涓婚敭涓�
+ */
+ @SaCheckPermission("eims:inspectSt:remove")
+ @Log(title = "鐐规姹囨��", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long[] ids) {
+ return toAjax(eimsInspectStService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderController.java
index 4eeba76..b633ce4 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderController.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderController.java
@@ -1,6 +1,10 @@
package org.dromara.eims.controller;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.temporal.TemporalAdjusters;
import java.util.List;
+import java.util.Map;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
@@ -54,7 +58,6 @@
@SaCheckPermission("eims:maintOrder:list")
@GetMapping("/groupList")
public TableDataInfo<MaintOrdeGroupVo> group(EimsMaintOrderBo bo, PageQuery pageQuery) {
-// return eimsMaintOrderService.queryPageList(bo, pageQuery);
return eimsMaintOrderService.queryPageGroupList(bo, pageQuery);
}
@@ -68,9 +71,14 @@
}
String[] split = maintCode.split("_");
bo.setEquId(Long.valueOf(split[0]));
- bo.setPlanTime(DateUtils.parseDate(split[1]));
bo.setMaintCode(null);
-// return eimsMaintOrderService.queryPageList(bo, pageQuery);
+ LocalDate planTime = DateUtils.parseDate(split[1]).toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth());
+ LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth());
+ Map<String, Object> params = bo.getParams();
+ params.put("beginPlanTime",startOfMonth);
+ params.put("endPlanTime",endOfMonth);
+
return eimsMaintOrderService.queryPageListCustom(bo, pageQuery);
}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderStController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintStController.java
similarity index 62%
rename from eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderStController.java
rename to eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintStController.java
index 02e2735..89cb75b 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderStController.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintStController.java
@@ -6,6 +6,8 @@
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.eims.domain.bo.EimsMaintStBo;
+import org.dromara.eims.domain.vo.EimsMaintStVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@@ -17,9 +19,7 @@
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
-import org.dromara.eims.domain.vo.EimsMaintOrderStVo;
-import org.dromara.eims.domain.bo.EimsMaintOrderStBo;
-import org.dromara.eims.service.IEimsMaintOrderStService;
+import org.dromara.eims.service.IEimsMaintStService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
@@ -31,29 +31,29 @@
@Validated
@RequiredArgsConstructor
@RestController
-@RequestMapping("/eims/maintOrderSt")
-public class EimsMaintOrderStController extends BaseController {
+@RequestMapping("/eims/maintSt")
+public class EimsMaintStController extends BaseController {
- private final IEimsMaintOrderStService eimsMaintOrderStService;
+ private final IEimsMaintStService eimsMaintStService;
/**
* 鏌ヨ淇濆吇宸ュ崟姹囨�诲垪琛�
*/
- @SaCheckPermission("eims:maintOrderSt:list")
+ @SaCheckPermission("eims:maintSt:list")
@GetMapping("/list")
- public TableDataInfo<EimsMaintOrderStVo> list(EimsMaintOrderStBo bo, PageQuery pageQuery) {
- return eimsMaintOrderStService.queryPageList(bo, pageQuery);
+ public TableDataInfo<EimsMaintStVo> list(EimsMaintStBo bo, PageQuery pageQuery) {
+ return eimsMaintStService.queryPageList(bo, pageQuery);
}
/**
* 瀵煎嚭淇濆吇宸ュ崟姹囨�诲垪琛�
*/
- @SaCheckPermission("eims:maintOrderSt:export")
+ @SaCheckPermission("eims:maintSt:export")
@Log(title = "淇濆吇宸ュ崟姹囨��", businessType = BusinessType.EXPORT)
@PostMapping("/export")
- public void export(EimsMaintOrderStBo bo, HttpServletResponse response) {
- List<EimsMaintOrderStVo> list = eimsMaintOrderStService.queryList(bo);
- ExcelUtil.exportExcel(list, "淇濆吇宸ュ崟姹囨��", EimsMaintOrderStVo.class, response);
+ public void export(EimsMaintStBo bo, HttpServletResponse response) {
+ List<EimsMaintStVo> list = eimsMaintStService.queryList(bo);
+ ExcelUtil.exportExcel(list, "淇濆吇宸ュ崟姹囨��", EimsMaintStVo.class, response);
}
/**
@@ -61,33 +61,33 @@
*
* @param id 涓婚敭
*/
- @SaCheckPermission("eims:maintOrderSt:query")
+ @SaCheckPermission("eims:maintSt:query")
@GetMapping("/{id}")
- public R<EimsMaintOrderStVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+ public R<EimsMaintStVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
@PathVariable Long id) {
- return R.ok(eimsMaintOrderStService.queryById(id));
+ return R.ok(eimsMaintStService.queryById(id));
}
/**
* 鏂板淇濆吇宸ュ崟姹囨��
*/
- @SaCheckPermission("eims:maintOrderSt:add")
+ @SaCheckPermission("eims:maintSt:add")
@Log(title = "淇濆吇宸ュ崟姹囨��", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
- public R<Void> add(@Validated(AddGroup.class) @RequestBody EimsMaintOrderStBo bo) {
- return toAjax(eimsMaintOrderStService.insertByBo(bo));
+ public R<Void> add(@Validated(AddGroup.class) @RequestBody EimsMaintStBo bo) {
+ return toAjax(eimsMaintStService.insertByBo(bo));
}
/**
* 淇敼淇濆吇宸ュ崟姹囨��
*/
- @SaCheckPermission("eims:maintOrderSt:edit")
+ @SaCheckPermission("eims:maintSt:edit")
@Log(title = "淇濆吇宸ュ崟姹囨��", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
- public R<Void> edit(@Validated(EditGroup.class) @RequestBody EimsMaintOrderStBo bo) {
- return toAjax(eimsMaintOrderStService.updateByBo(bo));
+ public R<Void> edit(@Validated(EditGroup.class) @RequestBody EimsMaintStBo bo) {
+ return toAjax(eimsMaintStService.updateByBo(bo));
}
/**
@@ -95,12 +95,12 @@
*
* @param ids 涓婚敭涓�
*/
- @SaCheckPermission("eims:maintOrderSt:remove")
+ @SaCheckPermission("eims:maintSt:remove")
@Log(title = "淇濆吇宸ュ崟姹囨��", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
@PathVariable Long[] ids) {
- return eimsMaintOrderStService.deleteWithValidByIds(List.of(ids), true);
+ return eimsMaintStService.deleteWithValidByIds(List.of(ids), true);
}
}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectPlan.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectPlan.java
new file mode 100644
index 0000000..f5331b5
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectPlan.java
@@ -0,0 +1,112 @@
+package org.dromara.eims.domain;
+
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serial;
+
+/**
+ * 鐐规璁″垝瀵硅薄 eims_inspect_plan
+ *
+ * @author zhuguifei
+ * @date 2025-03-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("eims_inspect_plan")
+public class EimsInspectPlan extends BaseEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 璁惧id
+
+ */
+ private Long equId;
+
+ /**
+ * 鐐规绫诲瀷锛堝瓧鍏革級
+ */
+ private String inspType;
+
+ /**
+ * 鐐规椤瑰悕绉�
+ */
+ private String inspName;
+
+ /**
+ * 鐐规椤圭紪鍙�
+ */
+ private Long inspNo;
+
+ /**
+ * 鐐规璇存槑
+ */
+ private String inspDesc;
+
+ /**
+ * 鐐规鍛ㄦ湡
+ */
+ private Long inspCycle;
+
+ /**
+ * 鐐规鍛ㄦ湡鍗曚綅锛堝瓧鍏革級
+ */
+ private String inspCycleUnit;
+
+ /**
+ * 鐐规瑙勫垯锛堝瓧鍏革級淇濆吇鏃堕棿璁$畻锛�1-鎸夊懆鏈� 2-鎸変笂娆′繚鍏绘椂闂�
+ */
+ private String inspRule;
+
+ /**
+ * 鐐规浜�
+ */
+ private Long inspUser;
+
+ /**
+ * 鐐规閮ㄩ棬
+ */
+ private Long inspDept;
+
+ /**
+ * 鐘舵�侊紙瀛楀吀锛� 0-鍚敤 1-绂佺敤
+ */
+ private String status;
+
+ /**
+ * 棣栨鎵ц鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date inspFirstTime;
+
+ /**
+ * 涓婃鎵ц鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date inspLastTime;
+
+ /**
+ * 涓嬫鎵ц鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date inspNextTime;
+
+ /**
+ * 澶囨敞
+ */
+ private String remark;
+
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectRecord.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectRecord.java
new file mode 100644
index 0000000..7d6d77d
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectRecord.java
@@ -0,0 +1,130 @@
+package org.dromara.eims.domain;
+
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serial;
+
+/**
+ * 鐐规璁板綍瀵硅薄 eims_inspect_record
+ *
+ * @author zhuguifei
+ * @date 2025-03-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("eims_inspect_record")
+public class EimsInspectRecord extends BaseEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 璁惧di
+ */
+ private Long equId;
+
+ /**
+ * 鐐规鍚嶇О
+ */
+ private String inspName;
+
+ /**
+ * 鐐规鎻忚堪
+ */
+ private String inspDesc;
+
+ /**
+ * 鐘舵��
+ */
+ private String status;
+
+ /**
+ * 鐐规缂栫爜
+ */
+ private String inspCode;
+
+ /**
+ * 鐐规浜�
+ */
+ private Long inspUser;
+
+ /**
+ * 鐐规閮ㄩ棬
+ */
+ private Long inspDept;
+
+ /**
+ * 鍊艰褰曟柟寮忥紙瀛楀吀锛�
+ */
+ private String recordMode;
+
+ /**
+ * 鍙傝�冨��
+ */
+ private String referenceValue;
+
+ /**
+ * 涓婇檺
+ */
+ private String upperLimit;
+
+ /**
+ * 涓嬮檺
+ */
+ private String lowLimit;
+
+ /**
+ * 妫�鏌ュ��
+ */
+ private String checkValue;
+
+ /**
+ * 鐐规缁撴灉锛堝瓧鍏革級
+ */
+ private String inspResult;
+
+ /**
+ * 鐐规绫诲瀷锛堝瓧鍏革級
+ */
+ private String inspType;
+
+
+ /**
+ * 鐐规鏃堕棿
+ */
+ private Date inspTime;
+
+ /**
+ * 璁″垝鐐规鏃ユ湡
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date planTime;
+
+ /**
+ * 楠岃瘉浜�
+ */
+ private Long verifyUser;
+
+ /**
+ * 璁″垝id
+ */
+ private Long planId;
+
+ /**
+ * 澶囨敞
+ */
+ private String remark;
+
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrderSt.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java
similarity index 71%
copy from eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrderSt.java
copy to eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java
index 051fadd..a0a0c3b 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrderSt.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java
@@ -10,15 +10,15 @@
import java.io.Serial;
/**
- * 淇濆吇宸ュ崟姹囨�诲璞� eims_maint_order_st
+ * 鐐规姹囨�诲璞� eims_inspect_st
*
* @author zhuguifei
- * @date 2025-03-12
+ * @date 2025-03-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
-@TableName("eims_maint_order_st")
-public class EimsMaintOrderSt extends BaseEntity {
+@TableName("eims_inspect_st")
+public class EimsInspectSt extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
@@ -30,35 +30,38 @@
private Long id;
/**
- *
+ * 鏍囬
*/
private String title;
/**
- *
+ * 璁惧id
*/
- private String equId;
+ private Long equId;
/**
- *
+ * 璁″垝鏃堕棿
*/
- @JsonFormat(pattern = "yyyy-MM-dd")
private Date planTime;
- @JsonFormat(pattern = "yyyy-MM-dd")
- private Date verifyTime;
-
+ /**
+ * 鐘舵��
+ */
private String status;
/**
- * 淇濆吇浜�
+ * 鐐规浜�
*/
- private Long maintUser;
-
+ private Long inspUser;
/**
- * 楠岃瘉浜�
+ * 绋芥煡浜�
*/
private Long verifyUser;
+
+ /**
+ * 绋芥煡鏃ユ湡
+ */
+ private Date verifyTime;
/**
* 鐗硅浜嬮」
@@ -71,4 +74,5 @@
private String remark;
+
}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java
index 6811b22..af7cf77 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java
@@ -75,6 +75,14 @@
private String maintCode;
/**
+ * 淇濆吇椤�
+ */
+ private String maintName;
+ /**
+ * 宸ヤ綔鎻忚堪
+ */
+ private String maintDesc;
+ /**
*
*/
private String status;
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrderSt.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintSt.java
similarity index 86%
rename from eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrderSt.java
rename to eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintSt.java
index 051fadd..b513f27 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrderSt.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintSt.java
@@ -10,15 +10,15 @@
import java.io.Serial;
/**
- * 淇濆吇宸ュ崟姹囨�诲璞� eims_maint_order_st
+ * 淇濆吇宸ュ崟姹囨�诲璞� eims_maint_st
*
* @author zhuguifei
* @date 2025-03-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
-@TableName("eims_maint_order_st")
-public class EimsMaintOrderSt extends BaseEntity {
+@TableName("eims_maint_st")
+public class EimsMaintSt extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
@@ -37,7 +37,7 @@
/**
*
*/
- private String equId;
+ private Long equId;
/**
*
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectPlanBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectPlanBo.java
new file mode 100644
index 0000000..68be155
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectPlanBo.java
@@ -0,0 +1,123 @@
+package org.dromara.eims.domain.bo;
+
+import org.dromara.eims.domain.EimsInspectPlan;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 鐐规璁″垝涓氬姟瀵硅薄 eims_inspect_plan
+ *
+ * @author zhuguifei
+ * @date 2025-03-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = EimsInspectPlan.class, reverseConvertGenerate = false)
+public class EimsInspectPlanBo extends BaseEntity {
+
+ /**
+ *
+ */
+ @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 璁惧id
+
+ */
+ @NotNull(message = "璁惧id 涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Long equId;
+
+ /**
+ * 鐐规绫诲瀷锛堝瓧鍏革級
+ */
+ private String inspType;
+
+ /**
+ * 鐐规椤瑰悕绉�
+ */
+ @NotBlank(message = "鐐规椤瑰悕绉颁笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private String inspName;
+
+ /**
+ * 鐐规椤圭紪鍙�
+ */
+ private Long inspNo;
+
+ /**
+ * 鐐规璇存槑
+ */
+ private String inspDesc;
+
+ /**
+ * 鐐规鍛ㄦ湡
+ */
+ @NotNull(message = "鐐规鍛ㄦ湡涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Long inspCycle;
+
+ /**
+ * 鐐规鍛ㄦ湡鍗曚綅锛堝瓧鍏革級
+ */
+ @NotBlank(message = "鐐规鍛ㄦ湡鍗曚綅锛堝瓧鍏革級涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String inspCycleUnit;
+
+ /**
+ * 鐐规瑙勫垯锛堝瓧鍏革級淇濆吇鏃堕棿璁$畻锛�1-鎸夊懆鏈� 2-鎸変笂娆′繚鍏绘椂闂�
+ */
+ private String inspRule;
+
+ /**
+ * 鐐规浜�
+ */
+ @NotNull(message = "鐐规浜轰笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private Long inspUser;
+
+ /**
+ * 鐐规閮ㄩ棬
+ */
+ private Long inspDept;
+
+ /**
+ * 鐘舵�侊紙瀛楀吀锛� 0-鍚敤 1-绂佺敤
+ */
+ @NotBlank(message = "鐘舵�侊紙瀛楀吀锛� 0-鍚敤 1-绂佺敤涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String status;
+
+ /**
+ * 棣栨鎵ц鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date inspFirstTime;
+
+ /**
+ * 涓婃鎵ц鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date inspLastTime;
+
+ /**
+ * 涓嬫鎵ц鏃堕棿
+ */
+ @NotNull(message = "涓嬫鎵ц鏃堕棿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date inspNextTime;
+
+ /**
+ * 澶囨敞
+ */
+ private String remark;
+
+
+ // 澶氳〃鏌ヨ瀛楁
+ private String equName;
+ private String assetNo;
+
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectRecordBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectRecordBo.java
new file mode 100644
index 0000000..c570126
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectRecordBo.java
@@ -0,0 +1,135 @@
+package org.dromara.eims.domain.bo;
+
+import org.dromara.eims.domain.EimsInspectRecord;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 鐐规璁板綍涓氬姟瀵硅薄 eims_inspect_record
+ *
+ * @author zhuguifei
+ * @date 2025-03-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = EimsInspectRecord.class, reverseConvertGenerate = false)
+public class EimsInspectRecordBo extends BaseEntity {
+
+ /**
+ * id
+ */
+ @NotNull(message = "id涓嶈兘涓虹┖", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 璁惧di
+ */
+ @NotNull(message = "璁惧di涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Long equId;
+
+ private String equName;
+ private String assetNo;
+
+ /**
+ * 鐐规鍚嶇О
+ */
+ @NotBlank(message = "鐐规鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String inspName;
+
+ /**
+ * 鐐规鎻忚堪
+ */
+ private String inspDesc;
+
+ /**
+ * 鐐规绫诲瀷
+ */
+ private String inspType;
+
+ /**
+ * 鐐规浜�
+ */
+ private Long inspUser;
+
+ /**
+ * 鐐规閮ㄩ棬
+ */
+ private Long inspDept;
+
+ /**
+ * 鐘舵��
+ */
+ @NotBlank(message = "鐘舵�佷笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private String status;
+
+ /**
+ * 鐐规缂栫爜
+ */
+ @NotBlank(message = "鐐规缂栫爜涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String inspCode;
+
+ /**
+ * 鍊艰褰曟柟寮忥紙瀛楀吀锛�
+ */
+ private String recordMode;
+
+ /**
+ * 鍙傝�冨��
+ */
+ private String referenceValue;
+
+ /**
+ * 涓婇檺
+ */
+ private String upperLimit;
+
+ /**
+ * 涓嬮檺
+ */
+ private String lowLimit;
+
+ /**
+ * 妫�鏌ュ��
+ */
+ private String checkValue;
+
+ /**
+ * 鐐规缁撴灉锛堝瓧鍏革級
+ */
+ private String inspResult;
+
+ /**
+ * 鐐规鏃堕棿
+ */
+ private Date inspTime;
+
+ /**
+ * 璁″垝鐐规鏃ユ湡
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date planTime;
+
+ /**
+ * 楠岃瘉浜�
+ */
+ private Long verifyUser;
+
+ /**
+ * 璁″垝id
+ */
+ private Long planId;
+
+ /**
+ * 澶囨敞
+ */
+ private String remark;
+
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java
new file mode 100644
index 0000000..13daeb7
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java
@@ -0,0 +1,83 @@
+package org.dromara.eims.domain.bo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.eims.domain.EimsInspectSt;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 鐐规姹囨�讳笟鍔″璞� eims_inspect_st
+ *
+ * @author zhuguifei
+ * @date 2025-03-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = EimsInspectSt.class, reverseConvertGenerate = false)
+public class EimsInspectStBo extends BaseEntity {
+
+ /**
+ *
+ */
+ @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 鏍囬
+ */
+ @NotBlank(message = "鏍囬涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String title;
+
+ /**
+ * 璁惧id
+ */
+ @NotNull(message = "璁惧id涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Long equId;
+ private String equName;
+ private String assetNo;
+
+ /**
+ * 璁″垝鏃堕棿
+ */
+ @NotNull(message = "璁″垝鏃堕棿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Date planTime;
+
+ /**
+ * 鐘舵��
+ */
+ private String status;
+ /**
+ * 鐐规浜�
+ */
+ private Long inspUser;
+ /**
+ * 绋芥煡浜�
+ */
+ private Long verifyUser;
+
+ /**
+ * 绋芥煡鏃ユ湡
+ */
+ private Date verifyTime;
+
+ /**
+ * 鐗硅浜嬮」
+ */
+ private String specialNote;
+
+ /**
+ * 澶囨敞
+ */
+ private String remark;
+
+
+
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java
index e90b9dd..958995c 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java
@@ -78,6 +78,16 @@
private String maintCode;
/**
+ * 淇濆吇椤�
+ */
+ private String maintName;
+
+ /**
+ * 宸ヤ綔鎻忚堪
+ */
+ private String maintDesc;
+
+ /**
*
*/
@NotBlank(message = "鐘舵�佷笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderStBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintStBo.java
similarity index 82%
rename from eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderStBo.java
rename to eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintStBo.java
index 132d076..ce64691 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderStBo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintStBo.java
@@ -1,6 +1,6 @@
package org.dromara.eims.domain.bo;
-import org.dromara.eims.domain.EimsMaintOrderSt;
+import org.dromara.eims.domain.EimsMaintSt;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
@@ -12,15 +12,15 @@
import com.fasterxml.jackson.annotation.JsonFormat;
/**
- * 淇濆吇宸ュ崟姹囨�讳笟鍔″璞� eims_maint_order_st
+ * 淇濆吇宸ュ崟姹囨�讳笟鍔″璞� eims_maint_st
*
* @author zhuguifei
* @date 2025-03-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
-@AutoMapper(target = EimsMaintOrderSt.class, reverseConvertGenerate = false)
-public class EimsMaintOrderStBo extends BaseEntity {
+@AutoMapper(target = EimsMaintSt.class, reverseConvertGenerate = false)
+public class EimsMaintStBo extends BaseEntity {
/**
*
@@ -38,8 +38,9 @@
*
*/
@NotBlank(message = "涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
- private String equId;
-
+ private Long equId;
+ private String equName;
+ private String assetNo;
/**
*
*/
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectPlanVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectPlanVo.java
new file mode 100644
index 0000000..2416133
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectPlanVo.java
@@ -0,0 +1,158 @@
+package org.dromara.eims.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.translation.annotation.Translation;
+import org.dromara.common.translation.constant.TransConstant;
+import org.dromara.eims.domain.EimsInspectPlan;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 鐐规璁″垝瑙嗗浘瀵硅薄 eims_inspect_plan
+ *
+ * @author zhuguifei
+ * @date 2025-03-12
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = EimsInspectPlan.class)
+public class EimsInspectPlanVo extends BaseEntity implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long id;
+
+ /**
+ * 璁惧id
+
+ */
+ @ExcelProperty(value = "璁惧id")
+ private Long equId;
+
+ @Translation(type = TransConstant.EQU_ID_TO_NAME, mapper = "equId")
+ private String equName;
+
+
+ private String assetNo;
+
+ /**
+ * 鐐规绫诲瀷锛堝瓧鍏革級
+ */
+ @ExcelProperty(value = "鐐规绫诲瀷", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "瀛�=鍏�")
+ private String inspType;
+
+ /**
+ * 鐐规椤瑰悕绉�
+ */
+ @ExcelProperty(value = "鐐规椤瑰悕绉�")
+ private String inspName;
+
+ /**
+ * 鐐规椤圭紪鍙�
+ */
+ @ExcelProperty(value = "鐐规椤圭紪鍙�")
+ private Long inspNo;
+
+ /**
+ * 鐐规璇存槑
+ */
+ @ExcelProperty(value = "鐐规璇存槑")
+ private String inspDesc;
+
+ /**
+ * 鐐规鍛ㄦ湡
+ */
+ @ExcelProperty(value = "鐐规鍛ㄦ湡")
+ private Long inspCycle;
+
+ /**
+ * 鐐规鍛ㄦ湡鍗曚綅锛堝瓧鍏革級
+ */
+ @ExcelProperty(value = "鐐规鍛ㄦ湡鍗曚綅", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "瀛�=鍏�")
+ private String inspCycleUnit;
+
+ /**
+ * 鐐规瑙勫垯锛堝瓧鍏革級淇濆吇鏃堕棿璁$畻锛�1-鎸夊懆鏈� 2-鎸変笂娆′繚鍏绘椂闂�
+ */
+ @ExcelProperty(value = "鐐规瑙勫垯", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "瀛�=鍏�")
+ private String inspRule;
+
+ /**
+ * 鐐规浜�
+ */
+ @ExcelProperty(value = "鐐规浜�")
+ private Long inspUser;
+
+
+ @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "inspUser")
+ private String inspUserName;
+
+ /**
+ * 鐐规閮ㄩ棬
+ */
+ @ExcelProperty(value = "鐐规閮ㄩ棬")
+ private Long inspDept;
+ @Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "inspDept")
+ private String inspDeptName;
+
+ /**
+ * 鐘舵�侊紙瀛楀吀锛� 0-鍚敤 1-绂佺敤
+ */
+ @ExcelProperty(value = "鐘舵��", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "瀛�=鍏�")
+ private String status;
+
+ /**
+ * 棣栨鎵ц鏃堕棿
+ */
+ @ExcelProperty(value = "棣栨鎵ц鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date inspFirstTime;
+
+ /**
+ * 涓婃鎵ц鏃堕棿
+ */
+ @ExcelProperty(value = "涓婃鎵ц鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date inspLastTime;
+
+ /**
+ * 涓嬫鎵ц鏃堕棿
+ */
+ @ExcelProperty(value = "涓嬫鎵ц鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date inspNextTime;
+
+ /**
+ * 澶囨敞
+ */
+ @ExcelProperty(value = "澶囨敞")
+ private String remark;
+
+ /**
+ * 寰幆鍛ㄦ湡
+ */
+ private String inspCycleUnitName;
+
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectRecordVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectRecordVo.java
new file mode 100644
index 0000000..a88f9d8
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectRecordVo.java
@@ -0,0 +1,175 @@
+package org.dromara.eims.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.translation.annotation.Translation;
+import org.dromara.common.translation.constant.TransConstant;
+import org.dromara.eims.domain.EimsInspectRecord;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 鐐规璁板綍瑙嗗浘瀵硅薄 eims_inspect_record
+ *
+ * @author zhuguifei
+ * @date 2025-03-13
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = EimsInspectRecord.class)
+public class EimsInspectRecordVo extends BaseEntity implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @ExcelProperty(value = "id")
+ private Long id;
+
+ /**
+ * 璁惧di
+ */
+ @ExcelProperty(value = "璁惧di")
+ private Long equId;
+
+
+ @Translation(type = TransConstant.EQU_ID_TO_NAME, mapper = "equId")
+ private String equName;
+
+ private String assetNo;
+
+ /**
+ * 鐐规鍚嶇О
+ */
+ @ExcelProperty(value = "鐐规鍚嶇О")
+ private String inspName;
+
+ /**
+ * 鐐规浜�
+ */
+ private Long inspUser;
+
+
+ @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "inspUser")
+ private String inspUserName;
+
+ /**
+ * 鐐规閮ㄩ棬
+ */
+ private Long inspDept;
+ @Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "inspDept")
+ private String inspDeptName;
+
+ /**
+ * 鐐规鎻忚堪
+ */
+ @ExcelProperty(value = "鐐规鎻忚堪")
+ private String inspDesc;
+
+ /**
+ * 鐘舵��
+ */
+ @ExcelProperty(value = "鐘舵��", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(dictType = "eims_inspect_status")
+ private String status;
+
+ /**
+ * 鐐规缂栫爜
+ */
+ @ExcelProperty(value = "鐐规缂栫爜")
+ private String inspCode;
+
+ /**
+ * 鍊艰褰曟柟寮忥紙瀛楀吀锛�
+ */
+ @ExcelProperty(value = "鍊艰褰曟柟寮�", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "瀛�=鍏�")
+ private String recordMode;
+
+ /**
+ * 鍙傝�冨��
+ */
+ @ExcelProperty(value = "鍙傝�冨��")
+ private String referenceValue;
+
+ /**
+ * 涓婇檺
+ */
+ @ExcelProperty(value = "涓婇檺")
+ private String upperLimit;
+
+ /**
+ * 涓嬮檺
+ */
+ @ExcelProperty(value = "涓嬮檺")
+ private String lowLimit;
+
+ /**
+ * 妫�鏌ュ��
+ */
+ @ExcelProperty(value = "妫�鏌ュ��")
+ private String checkValue;
+
+ /**
+ * 鐐规缁撴灉锛堝瓧鍏革級
+ */
+ @ExcelProperty(value = "鐐规缁撴灉", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(dictType = "eims_inspect_result")
+ private String inspResult;
+
+ /**
+ * 鐐规绫诲瀷锛堝瓧鍏革級
+ */
+ @ExcelDictFormat(dictType = "eims_inspect_type")
+ private String inspType;
+
+
+ /**
+ * 鐐规鏃堕棿
+ */
+ @ExcelProperty(value = "鐐规鏃堕棿")
+ private Date inspTime;
+
+ /**
+ * 璁″垝鐐规鏃ユ湡
+ */
+ @ExcelProperty(value = "璁″垝鐐规鏃ユ湡")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date planTime;
+
+ /**
+ * 楠岃瘉浜�
+ */
+ @ExcelProperty(value = "楠岃瘉浜�")
+ private Long verifyUser;
+
+ @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "verifyUser")
+ private String verifyUserName;
+
+ /**
+ * 璁″垝id
+ */
+ @ExcelProperty(value = "璁″垝id")
+ private Long planId;
+
+ /**
+ * 澶囨敞
+ */
+ @ExcelProperty(value = "澶囨敞")
+ private String remark;
+
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java
new file mode 100644
index 0000000..0997212
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java
@@ -0,0 +1,124 @@
+package org.dromara.eims.domain.vo;
+
+import java.util.Date;
+
+import org.dromara.common.translation.annotation.Translation;
+import org.dromara.common.translation.constant.TransConstant;
+import org.dromara.eims.domain.EimsInspectSt;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+/**
+ * 鐐规姹囨�昏鍥惧璞� eims_inspect_st
+ *
+ * @author zhuguifei
+ * @date 2025-03-14
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = EimsInspectSt.class)
+public class EimsInspectStVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long id;
+
+ /**
+ * 鏍囬
+ */
+ @ExcelProperty(value = "鏍囬")
+ private String title;
+
+ /**
+ * 璁惧id
+ */
+ @ExcelProperty(value = "璁惧id")
+ private Long equId;
+ private String equName;
+ private String assetNo;
+
+ /**
+ * 璁″垝鏃堕棿
+ */
+ @ExcelProperty(value = "璁″垝鏃堕棿")
+ private Date planTime;
+
+ /**
+ * 鐘舵��
+ */
+ @ExcelProperty(value = "鐘舵��", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(dictType = "eims_inspect_status")
+ private String status;
+
+ /**
+ * 鐐规浜�
+ */
+ @ExcelProperty(value = "鐐规浜�")
+ private Long inspUser;
+ @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "inspUser")
+ private String inspUserName;
+
+ /**
+ * 绋芥煡浜�
+ */
+ @ExcelProperty(value = "绋芥煡浜�")
+ private Long verifyUser;
+ @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "verifyUser")
+ private String verifyUserName;
+
+ /**
+ * 绋芥煡鏃ユ湡
+ */
+ @ExcelProperty(value = "绋芥煡鏃ユ湡")
+ private Date verifyTime;
+
+ /**
+ * 鐗硅浜嬮」
+ */
+ @ExcelProperty(value = "鐗硅浜嬮」")
+ private String specialNote;
+
+ /**
+ * 澶囨敞
+ */
+ @ExcelProperty(value = "澶囨敞")
+ private String remark;
+
+ /**
+ * 璁板綍鎬绘暟
+ */
+ private Integer recordCount;
+ /**
+ * 宸茬偣妫�璁板綍
+ */
+ private Integer checkCount;
+ /**
+ * 鏈偣妫�璁板綍
+ */
+ private Integer unCheckCount;
+ /**
+ * 缁撴灉-姝e父鏁�
+ */
+ private Integer normalNum;
+ /**
+ * 缁撴灉-寮傚父鏁�
+ */
+ private Integer abNormalNum;
+
+
+
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java
index 784370d..4ba8284 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java
@@ -127,6 +127,11 @@
private Date planTime;
/**
+ * 宸ヤ綔鎻忚堪
+ */
+ private String maintDesc;
+
+ /**
* 淇濆吇寮�濮嬫椂闂�
*/
@ExcelProperty(value = "淇濆吇寮�濮嬫椂闂�")
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintPlanVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintPlanVo.java
index 3df1153..2f58c13 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintPlanVo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintPlanVo.java
@@ -2,6 +2,7 @@
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.eims.domain.EimsMaintPlan;
@@ -25,7 +26,7 @@
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = EimsMaintPlan.class)
-public class EimsMaintPlanVo implements Serializable {
+public class EimsMaintPlanVo extends BaseEntity implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderStVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintStVo.java
similarity index 83%
rename from eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderStVo.java
rename to eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintStVo.java
index 69e1a4c..130b421 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderStVo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintStVo.java
@@ -3,31 +3,29 @@
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
-import org.dromara.eims.domain.EimsMaintOrderSt;
+import org.dromara.eims.domain.EimsMaintSt;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
-import org.dromara.common.excel.annotation.ExcelDictFormat;
-import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
-import java.util.Date;
/**
- * 淇濆吇宸ュ崟姹囨�昏鍥惧璞� eims_maint_order_st
+ * 淇濆吇宸ュ崟姹囨�昏鍥惧璞� eims_maint_st
*
* @author zhuguifei
* @date 2025-03-12
*/
@Data
@ExcelIgnoreUnannotated
-@AutoMapper(target = EimsMaintOrderSt.class)
-public class EimsMaintOrderStVo implements Serializable {
+@AutoMapper(target = EimsMaintSt.class)
+public class EimsMaintStVo extends BaseEntity implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@@ -59,7 +57,7 @@
*
*/
@ExcelProperty(value = "")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM")
private Date planTime;
/**
*绋芥煡鏃ユ湡
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java
index cb01ba0..2e2b6af 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java
@@ -99,6 +99,7 @@
order.setStatus(DictConstants.MAINT_ORDER_STATUS_DETAIL.DAIBAOYANG);
order.setPlanTime(oldNext);
order.setPlanId(planVo.getId());
+ order.setMaintName(planVo.getMaintName());
order.setMaintCode(codeService.generateCode("BYZD"));
EimsMaintPlan plan = MapstructUtils.convert(planVo, EimsMaintPlan.class);
assert plan != null;
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectPlanMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectPlanMapper.java
new file mode 100644
index 0000000..5845888
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectPlanMapper.java
@@ -0,0 +1,19 @@
+package org.dromara.eims.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.eims.domain.EimsInspectPlan;
+import org.dromara.eims.domain.vo.EimsInspectPlanVo;
+
+/**
+ * 鐐规璁″垝Mapper鎺ュ彛
+ *
+ * @author zhuguifei
+ * @date 2025-03-12
+ */
+public interface EimsInspectPlanMapper extends BaseMapperPlus<EimsInspectPlan, EimsInspectPlanVo> {
+ Page<EimsInspectPlanVo> selectInspPlanList(@Param("page") Page<EimsInspectPlanVo> page, @Param(Constants.WRAPPER) Wrapper<EimsInspectPlan> queryWrapper);
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java
new file mode 100644
index 0000000..15ea2d5
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java
@@ -0,0 +1,20 @@
+package org.dromara.eims.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.eims.domain.EimsInspectRecord;
+import org.dromara.eims.domain.vo.EimsInspectRecordVo;
+
+/**
+ * 鐐规璁板綍Mapper鎺ュ彛
+ *
+ * @author zhuguifei
+ * @date 2025-03-13
+ */
+public interface EimsInspectRecordMapper extends BaseMapperPlus<EimsInspectRecord, EimsInspectRecordVo> {
+ Page<EimsInspectRecordVo> selectInspRecordList(@Param("page") Page<EimsInspectRecordVo> page, @Param(Constants.WRAPPER) Wrapper<EimsInspectRecord> queryWrapper);
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectStMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectStMapper.java
new file mode 100644
index 0000000..e82f58e
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectStMapper.java
@@ -0,0 +1,22 @@
+package org.dromara.eims.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.dromara.eims.domain.EimsInspectSt;
+import org.dromara.eims.domain.EimsMaintSt;
+import org.dromara.eims.domain.vo.EimsInspectStVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.eims.domain.vo.EimsMaintStVo;
+
+/**
+ * 鐐规姹囨�籑apper鎺ュ彛
+ *
+ * @author zhuguifei
+ * @date 2025-03-14
+ */
+public interface EimsInspectStMapper extends BaseMapperPlus<EimsInspectSt, EimsInspectStVo> {
+ Page<EimsInspectStVo> selectInspStList(@Param("page") Page<EimsInspectStVo> page, @Param(Constants.WRAPPER) Wrapper<EimsInspectSt> queryWrapper);
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintOrderStMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintOrderStMapper.java
deleted file mode 100644
index 0ea0b0f..0000000
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintOrderStMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.dromara.eims.mapper;
-
-import org.dromara.eims.domain.EimsMaintOrderSt;
-import org.dromara.eims.domain.vo.EimsMaintOrderStVo;
-import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
-
-/**
- * 淇濆吇宸ュ崟姹囨�籑apper鎺ュ彛
- *
- * @author zhuguifei
- * @date 2025-03-12
- */
-public interface EimsMaintOrderStMapper extends BaseMapperPlus<EimsMaintOrderSt, EimsMaintOrderStVo> {
-
-}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintStMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintStMapper.java
new file mode 100644
index 0000000..ce34b03
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintStMapper.java
@@ -0,0 +1,20 @@
+package org.dromara.eims.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.dromara.eims.domain.EimsMaintSt;
+import org.dromara.eims.domain.vo.EimsMaintStVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 淇濆吇宸ュ崟姹囨�籑apper鎺ュ彛
+ *
+ * @author zhuguifei
+ * @date 2025-03-12
+ */
+public interface EimsMaintStMapper extends BaseMapperPlus<EimsMaintSt, EimsMaintStVo> {
+
+ Page<EimsMaintStVo> selectMaintStList(@Param("page") Page<EimsMaintStVo> page, @Param(Constants.WRAPPER) Wrapper<EimsMaintSt> queryWrapper);
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectPlanService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectPlanService.java
new file mode 100644
index 0000000..9334744
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectPlanService.java
@@ -0,0 +1,78 @@
+package org.dromara.eims.service;
+
+import org.dromara.eims.domain.vo.EimsInspectPlanVo;
+import org.dromara.eims.domain.bo.EimsInspectPlanBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 鐐规璁″垝Service鎺ュ彛
+ *
+ * @author zhuguifei
+ * @date 2025-03-12
+ */
+public interface IEimsInspectPlanService {
+
+ /**
+ * 鏌ヨ鐐规璁″垝
+ *
+ * @param id 涓婚敭
+ * @return 鐐规璁″垝
+ */
+ EimsInspectPlanVo queryById(Long id);
+
+ /**
+ * 鍒嗛〉鏌ヨ鐐规璁″垝鍒楄〃
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @param pageQuery 鍒嗛〉鍙傛暟
+ * @return 鐐规璁″垝鍒嗛〉鍒楄〃
+ */
+ TableDataInfo<EimsInspectPlanVo> queryPageList(EimsInspectPlanBo bo, PageQuery pageQuery);
+
+ /**
+ * 鏌ヨ绗﹀悎鏉′欢鐨勭偣妫�璁″垝鍒楄〃
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @return 鐐规璁″垝鍒楄〃
+ */
+ List<EimsInspectPlanVo> queryList(EimsInspectPlanBo bo);
+
+ /**
+ * 鏂板鐐规璁″垝
+ *
+ * @param bo 鐐规璁″垝
+ * @return 鏄惁鏂板鎴愬姛
+ */
+ Boolean insertByBo(EimsInspectPlanBo bo);
+
+ /**
+ * 淇敼鐐规璁″垝
+ *
+ * @param bo 鐐规璁″垝
+ * @return 鏄惁淇敼鎴愬姛
+ */
+ Boolean updateByBo(EimsInspectPlanBo bo);
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄ょ偣妫�璁″垝淇℃伅
+ *
+ * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎
+ * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠�
+ * @return 鏄惁鍒犻櫎鎴愬姛
+ */
+ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+ /**
+ * 鍒嗛〉鏌ヨ鐐规璁″垝鍒楄〃-澶氳〃鏌ヨ
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @param pageQuery 鍒嗛〉鍙傛暟
+ * @return 鐐规璁″垝鍒嗛〉鍒楄〃
+ */
+ TableDataInfo<EimsInspectPlanVo> queryPageListCustom(EimsInspectPlanBo bo, PageQuery pageQuery);
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java
new file mode 100644
index 0000000..3de61b3
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java
@@ -0,0 +1,77 @@
+package org.dromara.eims.service;
+
+import org.dromara.eims.domain.vo.EimsInspectRecordVo;
+import org.dromara.eims.domain.bo.EimsInspectRecordBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 鐐规璁板綍Service鎺ュ彛
+ *
+ * @author zhuguifei
+ * @date 2025-03-13
+ */
+public interface IEimsInspectRecordService {
+
+ /**
+ * 鏌ヨ鐐规璁板綍
+ *
+ * @param id 涓婚敭
+ * @return 鐐规璁板綍
+ */
+ EimsInspectRecordVo queryById(Long id);
+
+ /**
+ * 鍒嗛〉鏌ヨ鐐规璁板綍鍒楄〃
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @param pageQuery 鍒嗛〉鍙傛暟
+ * @return 鐐规璁板綍鍒嗛〉鍒楄〃
+ */
+ TableDataInfo<EimsInspectRecordVo> queryPageList(EimsInspectRecordBo bo, PageQuery pageQuery);
+
+ /**
+ * 鏌ヨ绗﹀悎鏉′欢鐨勭偣妫�璁板綍鍒楄〃
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @return 鐐规璁板綍鍒楄〃
+ */
+ List<EimsInspectRecordVo> queryList(EimsInspectRecordBo bo);
+
+ /**
+ * 鏂板鐐规璁板綍
+ *
+ * @param bo 鐐规璁板綍
+ * @return 鏄惁鏂板鎴愬姛
+ */
+ Boolean insertByBo(EimsInspectRecordBo bo);
+
+ /**
+ * 淇敼鐐规璁板綍
+ *
+ * @param bo 鐐规璁板綍
+ * @return 鏄惁淇敼鎴愬姛
+ */
+ Boolean updateByBo(EimsInspectRecordBo bo);
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄ょ偣妫�璁板綍淇℃伅
+ *
+ * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎
+ * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠�
+ * @return 鏄惁鍒犻櫎鎴愬姛
+ */
+ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+ /**
+ * 鍒嗛〉鏌ヨ鐐规璁板綍鍒楄〃-澶氳〃鏌ヨ
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @param pageQuery 鍒嗛〉鍙傛暟
+ * @return 鐐规璁板綍鍒嗛〉鍒楄〃
+ */
+ TableDataInfo<EimsInspectRecordVo> queryPageListCustom(EimsInspectRecordBo bo, PageQuery pageQuery);
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectStService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectStService.java
new file mode 100644
index 0000000..3136c47
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectStService.java
@@ -0,0 +1,68 @@
+package org.dromara.eims.service;
+
+import org.dromara.eims.domain.vo.EimsInspectStVo;
+import org.dromara.eims.domain.bo.EimsInspectStBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 鐐规姹囨�籗ervice鎺ュ彛
+ *
+ * @author zhuguifei
+ * @date 2025-03-14
+ */
+public interface IEimsInspectStService {
+
+ /**
+ * 鏌ヨ鐐规姹囨��
+ *
+ * @param id 涓婚敭
+ * @return 鐐规姹囨��
+ */
+ EimsInspectStVo queryById(Long id);
+
+ /**
+ * 鍒嗛〉鏌ヨ鐐规姹囨�诲垪琛�
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @param pageQuery 鍒嗛〉鍙傛暟
+ * @return 鐐规姹囨�诲垎椤靛垪琛�
+ */
+ TableDataInfo<EimsInspectStVo> queryPageList(EimsInspectStBo bo, PageQuery pageQuery);
+
+ /**
+ * 鏌ヨ绗﹀悎鏉′欢鐨勭偣妫�姹囨�诲垪琛�
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @return 鐐规姹囨�诲垪琛�
+ */
+ List<EimsInspectStVo> queryList(EimsInspectStBo bo);
+
+ /**
+ * 鏂板鐐规姹囨��
+ *
+ * @param bo 鐐规姹囨��
+ * @return 鏄惁鏂板鎴愬姛
+ */
+ Boolean insertByBo(EimsInspectStBo bo);
+
+ /**
+ * 淇敼鐐规姹囨��
+ *
+ * @param bo 鐐规姹囨��
+ * @return 鏄惁淇敼鎴愬姛
+ */
+ Boolean updateByBo(EimsInspectStBo bo);
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄ょ偣妫�姹囨�讳俊鎭�
+ *
+ * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎
+ * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠�
+ * @return 鏄惁鍒犻櫎鎴愬姛
+ */
+ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintOrderStService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintStService.java
similarity index 74%
rename from eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintOrderStService.java
rename to eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintStService.java
index f0bd81f..dd0525f 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintOrderStService.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintStService.java
@@ -1,8 +1,8 @@
package org.dromara.eims.service;
import org.dromara.common.core.domain.R;
-import org.dromara.eims.domain.vo.EimsMaintOrderStVo;
-import org.dromara.eims.domain.bo.EimsMaintOrderStBo;
+import org.dromara.eims.domain.bo.EimsMaintStBo;
+import org.dromara.eims.domain.vo.EimsMaintStVo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
@@ -15,7 +15,7 @@
* @author zhuguifei
* @date 2025-03-12
*/
-public interface IEimsMaintOrderStService {
+public interface IEimsMaintStService {
/**
* 鏌ヨ淇濆吇宸ュ崟姹囨��
@@ -23,7 +23,7 @@
* @param id 涓婚敭
* @return 淇濆吇宸ュ崟姹囨��
*/
- EimsMaintOrderStVo queryById(Long id);
+ EimsMaintStVo queryById(Long id);
/**
* 鍒嗛〉鏌ヨ淇濆吇宸ュ崟姹囨�诲垪琛�
@@ -32,7 +32,7 @@
* @param pageQuery 鍒嗛〉鍙傛暟
* @return 淇濆吇宸ュ崟姹囨�诲垎椤靛垪琛�
*/
- TableDataInfo<EimsMaintOrderStVo> queryPageList(EimsMaintOrderStBo bo, PageQuery pageQuery);
+ TableDataInfo<EimsMaintStVo> queryPageList(EimsMaintStBo bo, PageQuery pageQuery);
/**
* 鏌ヨ绗﹀悎鏉′欢鐨勪繚鍏诲伐鍗曟眹鎬诲垪琛�
@@ -40,7 +40,7 @@
* @param bo 鏌ヨ鏉′欢
* @return 淇濆吇宸ュ崟姹囨�诲垪琛�
*/
- List<EimsMaintOrderStVo> queryList(EimsMaintOrderStBo bo);
+ List<EimsMaintStVo> queryList(EimsMaintStBo bo);
/**
* 鏂板淇濆吇宸ュ崟姹囨��
@@ -48,7 +48,7 @@
* @param bo 淇濆吇宸ュ崟姹囨��
* @return 鏄惁鏂板鎴愬姛
*/
- Boolean insertByBo(EimsMaintOrderStBo bo);
+ Boolean insertByBo(EimsMaintStBo bo);
/**
* 淇敼淇濆吇宸ュ崟姹囨��
@@ -56,7 +56,7 @@
* @param bo 淇濆吇宸ュ崟姹囨��
* @return 鏄惁淇敼鎴愬姛
*/
- Boolean updateByBo(EimsMaintOrderStBo bo);
+ Boolean updateByBo(EimsMaintStBo bo);
/**
* 鏍¢獙骞舵壒閲忓垹闄や繚鍏诲伐鍗曟眹鎬讳俊鎭�
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java
new file mode 100644
index 0000000..865f6de
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java
@@ -0,0 +1,200 @@
+package org.dromara.eims.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.dromara.eims.domain.vo.EimsMaintPlanVo;
+import org.dromara.system.domain.SysDept;
+import org.dromara.system.domain.vo.SysDeptVo;
+import org.dromara.system.mapper.SysDeptMapper;
+import org.springframework.stereotype.Service;
+import org.dromara.eims.domain.bo.EimsInspectPlanBo;
+import org.dromara.eims.domain.vo.EimsInspectPlanVo;
+import org.dromara.eims.domain.EimsInspectPlan;
+import org.dromara.eims.mapper.EimsInspectPlanMapper;
+import org.dromara.eims.service.IEimsInspectPlanService;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 鐐规璁″垝Service涓氬姟灞傚鐞�
+ *
+ * @author zhuguifei
+ * @date 2025-03-12
+ */
+@RequiredArgsConstructor
+@Service
+public class EimsInspectPlanServiceImpl implements IEimsInspectPlanService {
+
+ private final EimsInspectPlanMapper baseMapper;
+ private final SysDeptMapper sysDeptMapper;
+
+
+ /**
+ * 鏌ヨ鐐规璁″垝
+ *
+ * @param id 涓婚敭
+ * @return 鐐规璁″垝
+ */
+ @Override
+ public EimsInspectPlanVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ鐐规璁″垝鍒楄〃
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @param pageQuery 鍒嗛〉鍙傛暟
+ * @return 鐐规璁″垝鍒嗛〉鍒楄〃
+ */
+ @Override
+ public TableDataInfo<EimsInspectPlanVo> queryPageList(EimsInspectPlanBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper<EimsInspectPlan> lqw = buildQueryWrapper(bo);
+ Page<EimsInspectPlanVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ @Override
+ public TableDataInfo<EimsInspectPlanVo> queryPageListCustom(EimsInspectPlanBo bo, PageQuery pageQuery) {
+ Page<EimsInspectPlanVo> page = baseMapper.selectInspPlanList(pageQuery.build(), buildWrapper(bo));
+ return TableDataInfo.build(page);
+ }
+
+ /**
+ * 鏌ヨ绗﹀悎鏉′欢鐨勭偣妫�璁″垝鍒楄〃
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @return 鐐规璁″垝鍒楄〃
+ */
+ @Override
+ public List<EimsInspectPlanVo> queryList(EimsInspectPlanBo bo) {
+ LambdaQueryWrapper<EimsInspectPlan> lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper<EimsInspectPlan> buildQueryWrapper(EimsInspectPlanBo bo) {
+ Map<String, Object> params = bo.getParams();
+ LambdaQueryWrapper<EimsInspectPlan> lqw = Wrappers.lambdaQuery();
+ lqw.eq(bo.getEquId() != null, EimsInspectPlan::getEquId, bo.getEquId());
+ lqw.eq(StringUtils.isNotBlank(bo.getInspType()), EimsInspectPlan::getInspType, bo.getInspType());
+ lqw.like(StringUtils.isNotBlank(bo.getInspName()), EimsInspectPlan::getInspName, bo.getInspName());
+ lqw.eq(bo.getInspNo() != null, EimsInspectPlan::getInspNo, bo.getInspNo());
+ lqw.eq(bo.getInspCycle() != null, EimsInspectPlan::getInspCycle, bo.getInspCycle());
+ lqw.eq(StringUtils.isNotBlank(bo.getInspCycleUnit()), EimsInspectPlan::getInspCycleUnit, bo.getInspCycleUnit());
+ lqw.eq(StringUtils.isNotBlank(bo.getInspRule()), EimsInspectPlan::getInspRule, bo.getInspRule());
+ lqw.eq(bo.getInspUser() != null, EimsInspectPlan::getInspUser, bo.getInspUser());
+ lqw.eq(bo.getInspDept() != null, EimsInspectPlan::getInspDept, bo.getInspDept());
+ lqw.eq(StringUtils.isNotBlank(bo.getStatus()), EimsInspectPlan::getStatus, bo.getStatus());
+ return lqw;
+ }
+ private QueryWrapper<EimsInspectPlan> buildWrapper(EimsInspectPlanBo bo) {
+ Map<String, Object> params = bo.getParams();
+ QueryWrapper<EimsInspectPlan> qw = Wrappers.query();
+ qw.eq(bo.getEquId() != null, "ip.equ_id", bo.getEquId());
+ qw.like(bo.getEquName() != null, "equ.equ_name", bo.getEquName());
+ qw.like(bo.getAssetNo() != null, "equ.asset_no", bo.getAssetNo());
+ qw.eq(StringUtils.isNotBlank(bo.getInspType()), "ip.insp_type", bo.getInspType());
+ qw.eq(StringUtils.isNotBlank(bo.getInspCycleUnit()), "ip.insp_cycle_unit", bo.getInspCycleUnit());
+ qw.eq(StringUtils.isNotBlank(bo.getInspRule()), "ip.insp_rule", bo.getInspRule());
+ qw.eq(bo.getInspUser() != null, "ip.insp_user", bo.getInspUser());
+ qw.in(bo.getInspDept() != null, "ip.insp_dept", getAllDescendantIds(bo.getInspDept()));
+ qw.eq(bo.getStatus() != null, "ip.status", bo.getStatus());
+ qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null,
+ "a.plam_time", params.get("beginPlanTime"), params.get("endPlanTime"));
+ qw.orderByDesc("ip.create_time");
+
+ return qw;
+ }
+
+ /**
+ * 鏍规嵁id锛岃幏鍙栨墍鏈夊悗浠d
+ *
+ * @param rootId
+ * @return
+ */
+ public List<Long> getAllDescendantIds(Long rootId) {
+ List<Long> result = new ArrayList<>();
+ result.add(rootId);
+ collectDescendants(rootId, result);
+ return result;
+ }
+
+ private void collectDescendants(Long currentId, List<Long> collector) {
+ QueryWrapper<SysDept> sysDeptWrapper = new QueryWrapper<>();
+ sysDeptWrapper.lambda().eq(SysDept::getParentId, currentId);
+
+ List<SysDeptVo> children = sysDeptMapper.selectVoList(sysDeptWrapper);
+ if (children != null && !children.isEmpty()) {
+ for (SysDeptVo child : children) {
+ Long childId = child.getDeptId();
+ collector.add(childId);
+ collectDescendants(childId, collector);
+ }
+ }
+ }
+
+
+ /**
+ * 鏂板鐐规璁″垝
+ *
+ * @param bo 鐐规璁″垝
+ * @return 鏄惁鏂板鎴愬姛
+ */
+ @Override
+ public Boolean insertByBo(EimsInspectPlanBo bo) {
+ EimsInspectPlan add = MapstructUtils.convert(bo, EimsInspectPlan.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 淇敼鐐规璁″垝
+ *
+ * @param bo 鐐规璁″垝
+ * @return 鏄惁淇敼鎴愬姛
+ */
+ @Override
+ public Boolean updateByBo(EimsInspectPlanBo bo) {
+ EimsInspectPlan update = MapstructUtils.convert(bo, EimsInspectPlan.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
+ */
+ private void validEntityBeforeSave(EimsInspectPlan entity){
+ //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
+ }
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄ょ偣妫�璁″垝淇℃伅
+ *
+ * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎
+ * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠�
+ * @return 鏄惁鍒犻櫎鎴愬姛
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+ if(isValid){
+ //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java
new file mode 100644
index 0000000..4901462
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java
@@ -0,0 +1,255 @@
+package org.dromara.eims.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.SneakyThrows;
+import org.dromara.common.core.utils.DateUtils;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.dromara.eims.domain.EimsInspectPlan;
+import org.dromara.eims.domain.EimsMaintPlan;
+import org.dromara.eims.domain.vo.EimsMaintOrderVo;
+import org.dromara.eims.mapper.EimsInspectPlanMapper;
+import org.dromara.eims.mapper.EimsMaintPlanMapper;
+import org.dromara.system.domain.SysDept;
+import org.dromara.system.domain.vo.SysDeptVo;
+import org.dromara.system.mapper.SysDeptMapper;
+import org.springframework.stereotype.Service;
+import org.dromara.eims.domain.bo.EimsInspectRecordBo;
+import org.dromara.eims.domain.vo.EimsInspectRecordVo;
+import org.dromara.eims.domain.EimsInspectRecord;
+import org.dromara.eims.mapper.EimsInspectRecordMapper;
+import org.dromara.eims.service.IEimsInspectRecordService;
+
+import java.util.*;
+
+/**
+ * 鐐规璁板綍Service涓氬姟灞傚鐞�
+ *
+ * @author zhuguifei
+ * @date 2025-03-13
+ */
+@RequiredArgsConstructor
+@Service
+public class EimsInspectRecordServiceImpl implements IEimsInspectRecordService {
+
+ private final EimsInspectRecordMapper baseMapper;
+ private final SysDeptMapper sysDeptMapper;
+ private final EimsInspectPlanMapper planMapper;
+
+ /**
+ * 鏌ヨ鐐规璁板綍
+ *
+ * @param id 涓婚敭
+ * @return 鐐规璁板綍
+ */
+ @Override
+ public EimsInspectRecordVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ鐐规璁板綍鍒楄〃
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @param pageQuery 鍒嗛〉鍙傛暟
+ * @return 鐐规璁板綍鍒嗛〉鍒楄〃
+ */
+ @Override
+ public TableDataInfo<EimsInspectRecordVo> queryPageList(EimsInspectRecordBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper<EimsInspectRecord> lqw = buildQueryWrapper(bo);
+ Page<EimsInspectRecordVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ @Override
+ public TableDataInfo<EimsInspectRecordVo> queryPageListCustom(EimsInspectRecordBo bo, PageQuery pageQuery) {
+ Page<EimsInspectRecordVo> page = baseMapper.selectInspRecordList(pageQuery.build(), buildWrapper(bo));
+ return TableDataInfo.build(page);
+ }
+
+ /**
+ * 鏌ヨ绗﹀悎鏉′欢鐨勭偣妫�璁板綍鍒楄〃
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @return 鐐规璁板綍鍒楄〃
+ */
+ @Override
+ public List<EimsInspectRecordVo> queryList(EimsInspectRecordBo bo) {
+ LambdaQueryWrapper<EimsInspectRecord> lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper<EimsInspectRecord> buildQueryWrapper(EimsInspectRecordBo bo) {
+ Map<String, Object> params = bo.getParams();
+ LambdaQueryWrapper<EimsInspectRecord> lqw = Wrappers.lambdaQuery();
+ lqw.eq(bo.getEquId() != null, EimsInspectRecord::getEquId, bo.getEquId());
+ lqw.like(StringUtils.isNotBlank(bo.getInspName()), EimsInspectRecord::getInspName, bo.getInspName());
+ lqw.eq(StringUtils.isNotBlank(bo.getStatus()), EimsInspectRecord::getStatus, bo.getStatus());
+ lqw.eq(StringUtils.isNotBlank(bo.getInspCode()), EimsInspectRecord::getInspCode, bo.getInspCode());
+ lqw.eq(StringUtils.isNotBlank(bo.getInspResult()), EimsInspectRecord::getInspResult, bo.getInspResult());
+ lqw.eq(bo.getInspTime() != null, EimsInspectRecord::getInspTime, bo.getInspTime());
+ lqw.eq(bo.getPlanTime() != null, EimsInspectRecord::getPlanTime, bo.getPlanTime());
+ lqw.eq(bo.getVerifyUser() != null, EimsInspectRecord::getVerifyUser, bo.getVerifyUser());
+ return lqw;
+ }
+
+ private QueryWrapper<EimsInspectRecord> buildWrapper(EimsInspectRecordBo bo) {
+ Map<String, Object> params = bo.getParams();
+ QueryWrapper<EimsInspectRecord> qw = Wrappers.query();
+ qw.like(StringUtils.isNotBlank(bo.getInspCode()),"ir.insp_code", bo.getInspCode());
+ qw.like(StringUtils.isNotBlank(bo.getInspName()),"ir.insp_name", bo.getInspName());
+ qw.like(bo.getEquName() != null, "equ.equ_name", bo.getEquName());
+ qw.like(bo.getAssetNo() != null, "equ.asset_no", bo.getAssetNo());
+ qw.like(bo.getEquId() != null, "equ.equ_id", bo.getEquId());
+ qw.eq(StringUtils.isNotBlank(bo.getInspType()), "ir.insp_type", bo.getInspType());
+ qw.eq(bo.getInspUser() != null, "ir.insp_user", bo.getInspUser());
+ qw.in(bo.getInspDept() != null, "ir.insp_dept", getAllDescendantIds(bo.getInspDept()));
+ qw.eq(bo.getStatus() != null, "ir.status", bo.getStatus());
+ qw.eq(bo.getInspResult() != null, "ir.insp_result", bo.getInspResult());
+ qw.eq(bo.getPlanTime()!=null,
+ "ir.plan_time", bo.getPlanTime());
+ qw.orderByDesc("ir.create_time");
+ return qw;
+ }
+
+
+ /**
+ * 鏍规嵁id锛岃幏鍙栨墍鏈夊悗浠d
+ *
+ * @param rootId
+ * @return
+ */
+ public List<Long> getAllDescendantIds(Long rootId) {
+ List<Long> result = new ArrayList<>();
+ result.add(rootId);
+ collectDescendants(rootId, result);
+ return result;
+ }
+
+ private void collectDescendants(Long currentId, List<Long> collector) {
+ QueryWrapper<SysDept> sysDeptWrapper = new QueryWrapper<>();
+ sysDeptWrapper.lambda().eq(SysDept::getParentId, currentId);
+
+ List<SysDeptVo> children = sysDeptMapper.selectVoList(sysDeptWrapper);
+ if (children != null && !children.isEmpty()) {
+ for (SysDeptVo child : children) {
+ Long childId = child.getDeptId();
+ collector.add(childId);
+ collectDescendants(childId, collector);
+ }
+ }
+ }
+
+
+ /**
+ * 鏂板鐐规璁板綍
+ *
+ * @param bo 鐐规璁板綍
+ * @return 鏄惁鏂板鎴愬姛
+ */
+ @Override
+ public Boolean insertByBo(EimsInspectRecordBo bo) {
+ EimsInspectRecord add = MapstructUtils.convert(bo, EimsInspectRecord.class);
+
+ //閫氳繃淇濆吇璁″垝鐢熸垚鐨勬暟鎹渶瑕佹洿鏂颁繚鍏昏鍒�
+ Long planId = bo.getPlanId();
+ if(planId!=null){
+ EimsInspectPlan plan = planMapper.selectById(planId);
+ setInspNextTime(plan);
+ planMapper.updateById(plan);
+ }
+
+
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+ /**
+ * 璁$畻鐐规璁″垝涓嬫鎵ц鏃堕棿
+ */
+ @SneakyThrows
+ private void setInspNextTime(EimsInspectPlan bo) {
+ Date oldNext = bo.getInspNextTime();
+ //TODO 涓嬫鐐规鏃堕棿璁$畻瑙勫垯 0-鎸夊浐瀹氬懆鏈� 1-鎸変笂娆′繚鍏绘椂闂�
+ Date newNext = null;
+
+ //涓嬫娆℃墽琛屾椂闂翠负绌烘姏鍑哄紓甯�
+ if (oldNext == null) {
+ throw new Exception("涓嬫鐐规鏃堕棿涓嶈兘涓虹┖!");
+ }
+ //鍛ㄦ湡
+ Long maintCycle = bo.getInspCycle();
+ //鍗曚綅 1-澶� 2-鍛� 3-鏈� 4-瀛� 5-骞�
+ String maintCycleUnit = bo.getInspCycleUnit();
+ switch (maintCycleUnit) {
+ case "1":
+ newNext = DateUtils.addDays(oldNext, maintCycle.intValue());
+ break;
+ case "2":
+ newNext = DateUtils.addWeeks(oldNext, maintCycle.intValue());
+ break;
+ case "3":
+ newNext = DateUtils.addMonths(oldNext, maintCycle.intValue());
+ break;
+ case "4":
+ newNext = DateUtils.addMonths(oldNext, maintCycle.intValue() * 3);
+ break;
+ case "5":
+ newNext = DateUtils.addYears(oldNext, maintCycle.intValue());
+ break;
+
+ }
+ bo.setInspNextTime(newNext);
+ if(bo.getInspFirstTime()==null){
+ bo.setInspFirstTime(oldNext);
+ }
+ bo.setInspLastTime(oldNext);
+
+
+ }
+ /**
+ * 淇敼鐐规璁板綍
+ *
+ * @param bo 鐐规璁板綍
+ * @return 鏄惁淇敼鎴愬姛
+ */
+ @Override
+ public Boolean updateByBo(EimsInspectRecordBo bo) {
+ EimsInspectRecord update = MapstructUtils.convert(bo, EimsInspectRecord.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
+ */
+ private void validEntityBeforeSave(EimsInspectRecord entity){
+ //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
+ }
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄ょ偣妫�璁板綍淇℃伅
+ *
+ * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎
+ * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠�
+ * @return 鏄惁鍒犻櫎鎴愬姛
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+ if(isValid){
+ //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+
+
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
new file mode 100644
index 0000000..f938a05
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
@@ -0,0 +1,204 @@
+package org.dromara.eims.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.dromara.common.core.constant.DictConstants;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.dromara.eims.domain.EimsInspectRecord;
+import org.dromara.eims.domain.vo.EimsInspectRecordVo;
+import org.dromara.eims.mapper.EimsInspectRecordMapper;
+import org.springframework.stereotype.Service;
+import org.dromara.eims.domain.bo.EimsInspectStBo;
+import org.dromara.eims.domain.vo.EimsInspectStVo;
+import org.dromara.eims.domain.EimsInspectSt;
+import org.dromara.eims.mapper.EimsInspectStMapper;
+import org.dromara.eims.service.IEimsInspectStService;
+
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.temporal.TemporalAdjusters;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+import java.util.stream.Collectors;
+
+/**
+ * 鐐规姹囨�籗ervice涓氬姟灞傚鐞�
+ *
+ * @author zhuguifei
+ * @date 2025-03-14
+ */
+@RequiredArgsConstructor
+@Service
+public class EimsInspectStServiceImpl implements IEimsInspectStService {
+
+ private final EimsInspectStMapper baseMapper;
+ private final EimsInspectRecordMapper recordMapper;
+
+ /**
+ * 鏌ヨ鐐规姹囨��
+ *
+ * @param id 涓婚敭
+ * @return 鐐规姹囨��
+ */
+ @Override
+ public EimsInspectStVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ鐐规姹囨�诲垪琛�
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @param pageQuery 鍒嗛〉鍙傛暟
+ * @return 鐐规姹囨�诲垎椤靛垪琛�
+ */
+ @Override
+ public TableDataInfo<EimsInspectStVo> queryPageList(EimsInspectStBo bo, PageQuery pageQuery) {
+ QueryWrapper<EimsInspectSt> lqw = buildWrapper(bo);
+ Page<EimsInspectStVo> result = baseMapper.selectInspStList(pageQuery.build(), lqw);
+ // 濉厖鏁版嵁
+ fillStData(result);
+ return TableDataInfo.build(result);
+ }
+
+ private void fillStData(Page<EimsInspectStVo> result) {
+ List<EimsInspectStVo> records = result.getRecords();
+ for (int i = 0; i < records.size(); i++) {
+ EimsInspectStVo stVo = records.get(i);
+
+ //2.缁熻鏁版嵁
+ LambdaQueryWrapper<EimsInspectRecord> recordLqw = Wrappers.lambdaQuery();
+ recordLqw.eq(EimsInspectRecord::getEquId, stVo.getEquId());
+ LocalDate planTime = stVo.getPlanTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth());
+ LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth());
+ recordLqw.between(EimsInspectRecord::getPlanTime, startOfMonth, endOfMonth);
+ // 鎵ц鏌ヨ
+ List<EimsInspectRecordVo> recordList = recordMapper.selectVoList(recordLqw);
+ // TODO 鏍规嵁瀛楀吀eims_inspect_status
+ Map<String, Long> cMap = recordList.stream()
+ .filter(order -> List.of("0", "1").contains(order.getStatus()))
+ .collect(Collectors.groupingBy(EimsInspectRecordVo::getStatus, Collectors.counting()));
+ // TODO 鏍规嵁瀛楀吀eims_inspect_result
+ Map<String, Long> rMap = recordList.stream()
+ .filter(order ->order.getInspResult()!=null && List.of("1", "2").contains(order.getInspResult()))
+ .collect(Collectors.groupingBy(EimsInspectRecordVo::getStatus, Collectors.counting()));
+
+ stVo.setRecordCount(recordList.size());
+ stVo.setUnCheckCount(cMap.getOrDefault("0", 0L).intValue());
+ stVo.setCheckCount(cMap.getOrDefault("1", 0L).intValue());
+
+ stVo.setNormalNum(rMap.getOrDefault("1", 0L).intValue());
+ stVo.setAbNormalNum(rMap.getOrDefault("2", 0L).intValue());
+
+ }
+
+ }
+
+ /**
+ * 鏌ヨ绗﹀悎鏉′欢鐨勭偣妫�姹囨�诲垪琛�
+ *
+ * @param bo 鏌ヨ鏉′欢
+ * @return 鐐规姹囨�诲垪琛�
+ */
+ @Override
+ public List<EimsInspectStVo> queryList(EimsInspectStBo bo) {
+ LambdaQueryWrapper<EimsInspectSt> lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper<EimsInspectSt> buildQueryWrapper(EimsInspectStBo bo) {
+ Map<String, Object> params = bo.getParams();
+ LambdaQueryWrapper<EimsInspectSt> lqw = Wrappers.lambdaQuery();
+ lqw.eq(bo.getEquId() != null, EimsInspectSt::getEquId, bo.getEquId());
+ lqw.eq(bo.getPlanTime() != null, EimsInspectSt::getPlanTime, bo.getPlanTime());
+ lqw.eq(StringUtils.isNotBlank(bo.getStatus()), EimsInspectSt::getStatus, bo.getStatus());
+ lqw.eq(bo.getInspUser() != null, EimsInspectSt::getInspUser, bo.getInspUser());
+ lqw.eq(bo.getVerifyUser() != null, EimsInspectSt::getVerifyUser, bo.getVerifyUser());
+ lqw.eq(bo.getVerifyTime() != null, EimsInspectSt::getVerifyTime, bo.getVerifyTime());
+ return lqw;
+ }
+ private QueryWrapper<EimsInspectSt> buildWrapper(EimsInspectStBo bo) {
+ Map<String, Object> params = bo.getParams();
+ QueryWrapper<EimsInspectSt> qw = Wrappers.query();
+ qw.like(StringUtils.isNotBlank(bo.getTitle()), "st.title", bo.getTitle());
+ qw.like(StringUtils.isNotBlank(bo.getEquName()), "equ.equ_name", bo.getEquName());
+ qw.like(StringUtils.isNotBlank(bo.getAssetNo()), "equ.asset_no", bo.getAssetNo());
+ qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null,
+ "st.plan_time", params.get("beginPlanTime"), params.get("endPlanTime"));
+ qw.eq(bo.getInspUser() != null, "st.maint_user", bo.getInspUser());
+ qw.eq(bo.getVerifyUser() != null, "st.verify_user", bo.getVerifyUser());
+ qw.eq(bo.getStatus() != null, "st.status", bo.getStatus());
+ qw.orderByDesc( "st.create_time");
+ return qw;
+ }
+
+ /**
+ * 鏂板鐐规姹囨��
+ *
+ * @param bo 鐐规姹囨��
+ * @return 鏄惁鏂板鎴愬姛
+ */
+ @Override
+ public Boolean insertByBo(EimsInspectStBo bo) {
+ EimsInspectSt add = MapstructUtils.convert(bo, EimsInspectSt.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 淇敼鐐规姹囨��
+ *
+ * @param bo 鐐规姹囨��
+ * @return 鏄惁淇敼鎴愬姛
+ */
+ @Override
+ public Boolean updateByBo(EimsInspectStBo bo) {
+ EimsInspectSt update = MapstructUtils.convert(bo, EimsInspectSt.class);
+
+ if(bo.getVerifyUser()!=null){
+ EimsInspectSt st = baseMapper.selectById(bo.getId());
+ String status = st.getStatus();
+ if(status==null || status.equals(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.N)){
+ if(update.getVerifyTime()==null) update.setStatus(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.Y);
+ if(update.getVerifyTime()==null) update.setVerifyTime(new Date());
+ }
+ }
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
+ */
+ private void validEntityBeforeSave(EimsInspectSt entity){
+ //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
+ }
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄ょ偣妫�姹囨�讳俊鎭�
+ *
+ * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎
+ * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠�
+ * @return 鏄惁鍒犻櫎鎴愬姛
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+ if(isValid){
+ //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java
index 529c96b..4b23e57 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java
@@ -112,6 +112,8 @@
qw.eq(bo.getStatus() != null, "mo.status", bo.getStatus());
qw.eq(bo.getPlanTime()!=null,
"mo.plan_time", bo.getPlanTime());
+ qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null,
+ "mo.plan_time", params.get("beginPlanTime"), params.get("endPlanTime"));
qw.orderByDesc("mo.create_time");
return qw;
}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderStServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java
similarity index 68%
rename from eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderStServiceImpl.java
rename to eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java
index ea64041..78f55ad 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderStServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java
@@ -1,9 +1,9 @@
package org.dromara.eims.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.SneakyThrows;
import org.dromara.common.core.constant.DictConstants;
import org.dromara.common.core.domain.R;
-import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -12,18 +12,17 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
-import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.eims.domain.EimsEqu;
import org.dromara.eims.domain.EimsMaintOrder;
+import org.dromara.eims.domain.EimsMaintSt;
+import org.dromara.eims.domain.bo.EimsMaintStBo;
import org.dromara.eims.domain.vo.EimsMaintOrderVo;
+import org.dromara.eims.domain.vo.EimsMaintStVo;
import org.dromara.eims.mapper.EimsEquMapper;
import org.dromara.eims.mapper.EimsMaintOrderMapper;
import org.springframework.stereotype.Service;
-import org.dromara.eims.domain.bo.EimsMaintOrderStBo;
-import org.dromara.eims.domain.vo.EimsMaintOrderStVo;
-import org.dromara.eims.domain.EimsMaintOrderSt;
-import org.dromara.eims.mapper.EimsMaintOrderStMapper;
-import org.dromara.eims.service.IEimsMaintOrderStService;
+import org.dromara.eims.mapper.EimsMaintStMapper;
+import org.dromara.eims.service.IEimsMaintStService;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
@@ -44,9 +43,9 @@
*/
@RequiredArgsConstructor
@Service
-public class EimsMaintOrderStServiceImpl implements IEimsMaintOrderStService {
+public class EimsMaintStServiceImpl implements IEimsMaintStService {
- private final EimsMaintOrderStMapper baseMapper;
+ private final EimsMaintStMapper baseMapper;
private final EimsEquMapper equMapper;
private final EimsMaintOrderMapper orderMapper;
@@ -57,7 +56,7 @@
* @return 淇濆吇宸ュ崟姹囨��
*/
@Override
- public EimsMaintOrderStVo queryById(Long id) {
+ public EimsMaintStVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@@ -69,18 +68,17 @@
* @return 淇濆吇宸ュ崟姹囨�诲垎椤靛垪琛�
*/
@Override
- public TableDataInfo<EimsMaintOrderStVo> queryPageList(EimsMaintOrderStBo bo, PageQuery pageQuery) {
- LambdaQueryWrapper<EimsMaintOrderSt> lqw = buildQueryWrapper(bo);
- Page<EimsMaintOrderStVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ public TableDataInfo<EimsMaintStVo> queryPageList(EimsMaintStBo bo, PageQuery pageQuery) {
+ Page<EimsMaintStVo> result = baseMapper.selectMaintStList(pageQuery.build(), buildWrapper(bo));
// 濉厖鏁版嵁
fillStData(result);
return TableDataInfo.build(result);
}
- private void fillStData(Page<EimsMaintOrderStVo> result) {
- List<EimsMaintOrderStVo> records = result.getRecords();
+ private void fillStData(Page<EimsMaintStVo> result) {
+ List<EimsMaintStVo> records = result.getRecords();
for (int i = 0; i < records.size(); i++) {
- EimsMaintOrderStVo stVo = records.get(i);
+ EimsMaintStVo stVo = records.get(i);
//1.濉厖璁惧
EimsEqu eimsEqu = equMapper.selectById(stVo.getEquId());
stVo.setAssetNo(eimsEqu.getAssetNo());
@@ -88,7 +86,6 @@
LambdaQueryWrapper<EimsMaintOrder> orderLqw = Wrappers.lambdaQuery();
orderLqw.eq(EimsMaintOrder::getEquId, stVo.getEquId());
LocalDate planTime = stVo.getPlanTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
- ;
LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth());
LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth());
orderLqw.between(EimsMaintOrder::getPlanTime, startOfMonth, endOfMonth);
@@ -115,20 +112,35 @@
* @return 淇濆吇宸ュ崟姹囨�诲垪琛�
*/
@Override
- public List<EimsMaintOrderStVo> queryList(EimsMaintOrderStBo bo) {
- LambdaQueryWrapper<EimsMaintOrderSt> lqw = buildQueryWrapper(bo);
+ public List<EimsMaintStVo> queryList(EimsMaintStBo bo) {
+ LambdaQueryWrapper<EimsMaintSt> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
- private LambdaQueryWrapper<EimsMaintOrderSt> buildQueryWrapper(EimsMaintOrderStBo bo) {
+ private LambdaQueryWrapper<EimsMaintSt> buildQueryWrapper(EimsMaintStBo bo) {
Map<String, Object> params = bo.getParams();
- LambdaQueryWrapper<EimsMaintOrderSt> lqw = Wrappers.lambdaQuery();
- lqw.eq(StringUtils.isNotBlank(bo.getTitle()), EimsMaintOrderSt::getTitle, bo.getTitle());
- lqw.eq(StringUtils.isNotBlank(bo.getEquId()), EimsMaintOrderSt::getEquId, bo.getEquId());
- lqw.eq(bo.getPlanTime() != null, EimsMaintOrderSt::getPlanTime, bo.getPlanTime());
- lqw.eq(bo.getMaintUser() != null, EimsMaintOrderSt::getMaintUser, bo.getMaintUser());
- lqw.eq(bo.getVerifyUser() != null, EimsMaintOrderSt::getVerifyUser, bo.getVerifyUser());
+ LambdaQueryWrapper<EimsMaintSt> lqw = Wrappers.lambdaQuery();
+ lqw.eq(StringUtils.isNotBlank(bo.getTitle()), EimsMaintSt::getTitle, bo.getTitle());
+ lqw.eq(bo.getPlanTime() != null, EimsMaintSt::getPlanTime, bo.getPlanTime());
+ lqw.eq(bo.getMaintUser() != null, EimsMaintSt::getMaintUser, bo.getMaintUser());
+ lqw.eq(bo.getVerifyUser() != null, EimsMaintSt::getVerifyUser, bo.getVerifyUser());
return lqw;
+ }
+
+
+ private QueryWrapper<EimsMaintSt> buildWrapper(EimsMaintStBo bo) {
+ Map<String, Object> params = bo.getParams();
+ QueryWrapper<EimsMaintSt> qw = Wrappers.query();
+ qw.like(StringUtils.isNotBlank(bo.getTitle()), "st.title", bo.getTitle());
+ qw.like(StringUtils.isNotBlank(bo.getEquName()), "equ.equ_name", bo.getEquName());
+ qw.like(StringUtils.isNotBlank(bo.getAssetNo()), "equ.asset_no", bo.getAssetNo());
+ qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null,
+ "st.plan_time", params.get("beginPlanTime"), params.get("endPlanTime"));
+ qw.eq(bo.getMaintUser() != null, "st.maint_user", bo.getMaintUser());
+ qw.eq(bo.getVerifyUser() != null, "st.verify_user", bo.getVerifyUser());
+ qw.eq(bo.getStatus() != null, "st.status", bo.getStatus());
+ qw.orderByDesc( "st.create_time");
+ return qw;
}
/**
@@ -138,8 +150,8 @@
* @return 鏄惁鏂板鎴愬姛
*/
@Override
- public Boolean insertByBo(EimsMaintOrderStBo bo) {
- EimsMaintOrderSt add = MapstructUtils.convert(bo, EimsMaintOrderSt.class);
+ public Boolean insertByBo(EimsMaintStBo bo) {
+ EimsMaintSt add = MapstructUtils.convert(bo, EimsMaintSt.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
@@ -155,12 +167,12 @@
* @return 鏄惁淇敼鎴愬姛
*/
@Override
- public Boolean updateByBo(EimsMaintOrderStBo bo) {
- EimsMaintOrderSt update = MapstructUtils.convert(bo, EimsMaintOrderSt.class);
+ public Boolean updateByBo(EimsMaintStBo bo) {
+ EimsMaintSt update = MapstructUtils.convert(bo, EimsMaintSt.class);
if(bo.getVerifyUser()!=null){
- EimsMaintOrderSt eimsMaintOrderSt = baseMapper.selectById(bo.getId());
- String status = eimsMaintOrderSt.getStatus();
+ EimsMaintSt eimsMaintSt = baseMapper.selectById(bo.getId());
+ String status = eimsMaintSt.getStatus();
if(status==null || status.equals(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.N)){
if(update.getVerifyTime()==null) update.setStatus(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.Y);
if(update.getVerifyTime()==null) update.setVerifyTime(new Date());
@@ -174,7 +186,7 @@
/**
* 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
*/
- private void validEntityBeforeSave(EimsMaintOrderSt entity) {
+ private void validEntityBeforeSave(EimsMaintSt entity) {
//TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
}
@@ -194,7 +206,7 @@
}
AtomicBoolean flag = new AtomicBoolean(false);
ids.stream().anyMatch(id -> {
- EimsMaintOrderStVo stVo = baseMapper.selectVoById(id);
+ EimsMaintStVo stVo = baseMapper.selectVoById(id);
LocalDate planTime = stVo.getPlanTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth());
LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth());
diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectPlanMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectPlanMapper.xml
new file mode 100644
index 0000000..dda9e29
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectPlanMapper.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.dromara.eims.mapper.EimsInspectPlanMapper">
+ <resultMap type="org.dromara.eims.domain.vo.EimsInspectPlanVo" id="EimsInspectPlanResult">
+ </resultMap>
+ <select id="selectInspPlanList" resultMap="EimsInspectPlanResult">
+ SELECT ip.*,equ.equ_name equName,equ.equ_code equCode,equ.asset_no assetNo,equ.model_no modelNo,
+ us.nick_name inspUserName,dp.dept_name inspDeptName,
+ CONCAT_WS('', ip.insp_cycle, dd.dict_label) inspCycleUnitName
+ FROM eims_inspect_plan ip
+ LEFT JOIN eims_equ equ ON ip.equ_id = equ.equ_id
+ LEFT JOIN sys_user us ON ip.insp_user = us.user_id
+ LEFT JOIN sys_dept dp ON ip.insp_dept = dp.dept_id
+ LEFT JOIN sys_dict_data dd on dd.dict_type = 'maint_cycle_unit' and dd.dict_value = ip.insp_cycle_unit
+ ${ew.getCustomSqlSegment}
+ </select>
+</mapper>
diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml
new file mode 100644
index 0000000..db8135f
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.dromara.eims.mapper.EimsInspectRecordMapper">
+
+ <resultMap type="org.dromara.eims.domain.vo.EimsInspectRecordVo" id="EimsInspRecordVoResult">
+ </resultMap>
+ <select id="selectInspRecordList" resultMap="EimsInspRecordVoResult">
+ SELECT ir.*,equ.equ_name equName,equ.equ_code equCode,equ.asset_no assetNo,equ.model_no modelNo,ir.create_time createTime,
+ us.nick_name inspUserName,dp.dept_name inspDeptName,ue.nick_name verifyUserName
+ FROM eims_inspect_record ir
+ LEFT JOIN eims_equ equ ON ir.equ_id = equ.equ_id
+ LEFT JOIN sys_user us ON ir.insp_user = us.user_id
+ LEFT JOIN sys_user ue ON ir.verify_user = ue.user_id
+ LEFT JOIN sys_dept dp ON ir.insp_dept = dp.dept_id
+ ${ew.getCustomSqlSegment}
+ </select>
+
+</mapper>
diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml
new file mode 100644
index 0000000..d3ccccc
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.dromara.eims.mapper.EimsInspectStMapper">
+ <resultMap type="org.dromara.eims.domain.vo.EimsInspectStVo" id="MaintInspStVoResult">
+ </resultMap>
+ <select id="selectInspStList" resultMap="MaintInspStVoResult">
+ SELECT st.*,equ.equ_name equName,equ.asset_no assetNo FROM eims_inspect_st st
+ LEFT JOIN eims_equ equ on st.equ_id = equ.equ_id
+ ${ew.getCustomSqlSegment}
+ </select>
+
+</mapper>
diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderStMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderStMapper.xml
deleted file mode 100644
index 892a6b6..0000000
--- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderStMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.dromara.eims.mapper.EimsMaintOrderStMapper">
-
-</mapper>
diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintStMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintStMapper.xml
new file mode 100644
index 0000000..a668837
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintStMapper.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.dromara.eims.mapper.EimsMaintStMapper">
+ <resultMap type="org.dromara.eims.domain.vo.EimsMaintStVo" id="MaintMaintStVoResult">
+ </resultMap>
+ <select id="selectMaintStList" resultMap="MaintMaintStVoResult">
+ SELECT st.*,equ.equ_name equName,equ.asset_no assetNo FROM eims_maint_st st
+ LEFT JOIN eims_equ equ on st.equ_id = equ.equ_id
+ ${ew.getCustomSqlSegment}
+ </select>
+</mapper>
--
Gitblit v1.9.3