From 7cc3ac34f175e2dacc76a02fb66ae3ba9f747b55 Mon Sep 17 00:00:00 2001 From: zhuguifei <zhuguifei@zhuguifeideiMac.local> Date: 星期二, 11 三月 2025 08:14:20 +0800 Subject: [PATCH] 调整 --- eims-ui/apps/web-antd/src/views/eims/components/miant-plan-modal.vue | 49 ++++++++++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java | 36 -------- eims-ui/apps/web-antd/src/views/eims/maint-order/index.vue | 5 eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderMapper.xml | 2 eims-ui/apps/web-antd/src/api/eims/maint-plan/model.d.ts | 4 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java | 24 +----- /dev/null | 7 - eims-ui/apps/web-antd/src/views/eims/maint-plan/data.tsx | 10 ++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintPlan.java | 15 +++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintPlanBo.java | 17 ++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java | 5 + eims-ui/apps/web-antd/src/views/eims/maint-plan/index.vue | 16 +++- eims-ui/apps/web-antd/src/views/eims/maint-order/data.tsx | 14 +++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintPlanVo.java | 16 ++++ 14 files changed, 149 insertions(+), 71 deletions(-) diff --git a/eims-ui/apps/web-antd/src/api/eims/maint-orditm/index.ts b/eims-ui/apps/web-antd/src/api/eims/maint-orditm/index.ts deleted file mode 100644 index 8807a5a..0000000 --- a/eims-ui/apps/web-antd/src/api/eims/maint-orditm/index.ts +++ /dev/null @@ -1,61 +0,0 @@ -import type { MaintOrditmVO } from './model'; - -import type { ID, IDS, PageResult } from '#/api/common'; - -import { commonExport } from '#/api/helper'; -import { requestClient } from '#/api/request'; - -enum Api { - maintOrditmExport = '/eims/maintOrditm/export', - maintOrditmList = '/eims/maintOrditm/list', - root = '/eims/maintOrditm' -} - -/** - * 鏌ヨ宸ュ崟鏉$洰鍒楄〃 - * @param query - * @returns {*} - */ - -export function listMaintOrditm(params?: any) { - return requestClient.get<PageResult<MaintOrditmVO>>(Api.maintOrditmList, { params }); -} - -/** - * 鏌ヨ宸ュ崟鏉$洰璇︾粏 - * @param maintOrditmId - */ -export function getMaintOrditm(maintOrditmId: ID) { - return requestClient.get<MaintOrditmVO>(`${Api.root}/${maintOrditmId}`); -} - -/** - * 鏂板宸ュ崟鏉$洰 - * @param data - */ -export function addMaintOrditm(data: any) { - return requestClient.postWithMsg<void>(Api.root, data); -} - -/** - * 淇敼宸ュ崟鏉$洰 - * @param data - */ -export function updateMaintOrditm(data: any) { - return requestClient.putWithMsg<void>(Api.root, data); -} - -/** - * 鍒犻櫎宸ュ崟鏉$洰 - * @param maintOrditmId - */ -export function delMaintOrditm(maintOrditmId: IDS) { - return requestClient.deleteWithMsg<void>(`${Api.root}/${maintOrditmId}`); -} -/** - * 瀵煎嚭 - * @param - */ -export function maintOrditmExport(data: any) { - return commonExport(Api.maintOrditmExport, data); -} diff --git a/eims-ui/apps/web-antd/src/api/eims/maint-orditm/model.d.ts b/eims-ui/apps/web-antd/src/api/eims/maint-orditm/model.d.ts deleted file mode 100644 index 0e39a49..0000000 --- a/eims-ui/apps/web-antd/src/api/eims/maint-orditm/model.d.ts +++ /dev/null @@ -1,46 +0,0 @@ -export interface MaintOrditmVO { - /** - * - */ - id: number | string; - - /** - * 宸ュ崟id - */ - orderId: number | string; - - /** - * 璁惧id - */ - equId: number | string; - - /** - * 淇濆吇椤圭洰鍚嶇О - */ - itmName: string; - - /** - * 淇濆吇椤圭洰鎿嶄綔鏍囧噯 - */ - itmAction: string; - - /** - * 淇濆吇鎿嶄綔鐢ㄦ埛 - */ - itmUser: number; - - /** - * 淇濆吇鏃堕棿 - */ - itmTime: string; - - /** - * 瀹屾垚鐘舵�侊紙瀛楀吀锛� - */ - status: string; - - /** - * 澶囨敞 - */ - remark: string; -} diff --git a/eims-ui/apps/web-antd/src/api/eims/maint-plan/model.d.ts b/eims-ui/apps/web-antd/src/api/eims/maint-plan/model.d.ts index 09f143c..2fe4c0c 100644 --- a/eims-ui/apps/web-antd/src/api/eims/maint-plan/model.d.ts +++ b/eims-ui/apps/web-antd/src/api/eims/maint-plan/model.d.ts @@ -8,7 +8,9 @@ * 璁惧id */ - equId: number | string; + maintName: string; + maintNo: number; + maintDesc: string; /** * 淇濆吇绫诲瀷锛堝瓧鍏革級 diff --git a/eims-ui/apps/web-antd/src/api/eims/maint-stand/index.ts b/eims-ui/apps/web-antd/src/api/eims/maint-stand/index.ts deleted file mode 100644 index 0822d12..0000000 --- a/eims-ui/apps/web-antd/src/api/eims/maint-stand/index.ts +++ /dev/null @@ -1,61 +0,0 @@ -import type { MaintStandVO } from './model'; - -import type { ID, IDS, PageResult } from '#/api/common'; - -import { commonExport } from '#/api/helper'; -import { requestClient } from '#/api/request'; - -enum Api { - maintStandExport = '/eims/maintStand/export', - maintStandList = '/eims/maintStand/list', - root = '/eims/maintStand' -} - -/** - * 鏌ヨ淇濆吇鏍囧噯鍒楄〃 - * @param query - * @returns {*} - */ - -export function listMaintStand(params?: any) { - return requestClient.get<PageResult<MaintStandVO>>(Api.maintStandList, { params }); -} - -/** - * 鏌ヨ淇濆吇鏍囧噯璇︾粏 - * @param maintStandId - */ -export function getMaintStand(maintStandId: ID) { - return requestClient.get<MaintStandVO>(`${Api.root}/${maintStandId}`); -} - -/** - * 鏂板淇濆吇鏍囧噯 - * @param data - */ -export function addMaintStand(data: any) { - return requestClient.postWithMsg<void>(Api.root, data); -} - -/** - * 淇敼淇濆吇鏍囧噯 - * @param data - */ -export function updateMaintStand(data: any) { - return requestClient.putWithMsg<void>(Api.root, data); -} - -/** - * 鍒犻櫎淇濆吇鏍囧噯 - * @param maintStandId - */ -export function delMaintStand(maintStandId: IDS) { - return requestClient.deleteWithMsg<void>(`${Api.root}/${maintStandId}`); -} -/** - * 瀵煎嚭 - * @param - */ -export function maintStandExport(data: any) { - return commonExport(Api.maintStandExport, data); -} diff --git a/eims-ui/apps/web-antd/src/api/eims/maint-stand/model.d.ts b/eims-ui/apps/web-antd/src/api/eims/maint-stand/model.d.ts deleted file mode 100644 index 8dd1ba4..0000000 --- a/eims-ui/apps/web-antd/src/api/eims/maint-stand/model.d.ts +++ /dev/null @@ -1,53 +0,0 @@ -export interface MaintStandVO { - /** - * - */ - id: string | number; - - /** - * 璁惧id - */ - equId: string | number; - - /** - * 璁惧缂栫爜 - */ - equCode: string; - - /** - * 璁惧绫诲瀷 - */ - equTypeId: string | number; - - /** - * 璧勪骇缂栧彿 - */ - assetNo: string; - - /** - * 璁惧鍚嶇О - - */ - equName: string; - - /** - * 璁惧鍨嬪彿 - */ - modelNo: string; - - /** - * 淇濆吇椤圭洰鍚嶇О - */ - name: string; - - /** - * 淇濆吇椤圭洰鏍囧噯 - */ - stand: string; - - /** - * 澶囨敞 - */ - remark: string; - -} diff --git a/eims-ui/apps/web-antd/src/views/eims/components/miant-plan-modal.vue b/eims-ui/apps/web-antd/src/views/eims/components/miant-plan-modal.vue new file mode 100644 index 0000000..ab1b87e --- /dev/null +++ b/eims-ui/apps/web-antd/src/views/eims/components/miant-plan-modal.vue @@ -0,0 +1,49 @@ +<script setup lang="ts"> +import { ref } from 'vue'; + +import { useVbenModal } from '@vben/common-ui'; + +import { message } from 'ant-design-vue'; + +import InnerView from '#/views/eims/maint-plan/index.vue'; + +const emit = defineEmits<{ updateSelect: [any] }>(); + +const [BasicModal, modalApi] = useVbenModal({ + fullscreenButton: false, + draggable: true, + onCancel: handleCancel, + onConfirm: handleConfirm +}); +const innerView = ref(); + +async function handleConfirm() { + try { + modalApi.modalLoading(true); + const tableSelect = innerView.value.tableSelect(); + if (tableSelect.length > 1) { + message.error('鏈�澶氬彧鑳介�夋嫨涓�鏉℃暟鎹紒'); + modalApi.modalLoading(false); + return false; + } + emit('updateSelect', tableSelect[0]); + await handleCancel(); + } catch (error) { + console.error(error); + } finally { + modalApi.modalLoading(false); + } +} + +async function handleCancel() { + modalApi.close(); +} +</script> + +<template> + <BasicModal :fullscreen-button="true" class="w-[800px]"> + <InnerView ref="innerView" /> + </BasicModal> +</template> + +<style scoped></style> 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 8c28042..d3bc2b5 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 @@ -84,11 +84,15 @@ title: '璁惧鍚嶇О', field: 'equName', minWidth: 200, - fixed: 'left' }, { title: '璧勪骇缂栧彿', field: 'assetNo', + minWidth: 160 + }, + { + title: '淇濆吇椤�', + field: 'maintName', minWidth: 160 }, { @@ -151,6 +155,14 @@ }, { component: 'Input', + dependencies: { + show: () => false, + triggerFields: [''] + }, + fieldName: 'planId', + }, + { + component: 'Input', fieldName: 'equId', label: '璁惧id', dependencies: { 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 f5e3edc..b588a79 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 @@ -19,7 +19,6 @@ import { columns, querySchema } from './data'; import maintOrderDrawer from './maint-order-drawer.vue'; -import SubOrditm from './sub-orditm.vue'; defineExpose({ tableSelect @@ -243,7 +242,7 @@ <template> <Page :auto-content-height="true"> <div class="flex h-full gap-[8px] flex-col"> - <BasicTable class="h-2/3" table-title="淇濆吇宸ュ崟鍒楄〃"> + <BasicTable table-title="淇濆吇宸ュ崟鍒楄〃"> <template #toolbar-tools> <Space> <a-button v-access:code="['eims:maintOrder:export']" @click="handleDownloadExcel"> @@ -309,7 +308,7 @@ </template> </BasicTable> <!--<BasisSubTable :columns="maintStandCol" :list-api="listMaintStand" :req-value="equId" class="h-1/3" req-key="equId" title="淇濆吇瀹炴柦椤圭洰" />--> - <SubOrditm :order-id="orderId" class="h-1/3" /> + </div> <MaintOrderDrawer @reload="tableApi.query()" /> </Page> diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-order/sub-orditm.vue b/eims-ui/apps/web-antd/src/views/eims/maint-order/sub-orditm.vue deleted file mode 100644 index 98bf28c..0000000 --- a/eims-ui/apps/web-antd/src/views/eims/maint-order/sub-orditm.vue +++ /dev/null @@ -1,147 +0,0 @@ -<script setup lang="ts"> -import type { Recordable } from '@vben/types'; - -import { nextTick, ref, watch } from 'vue'; - -import { useVbenDrawer } from '@vben/common-ui'; -import { $t } from '@vben/locales'; -import { getVxePopupContainer } from '@vben/utils'; - -import { Popconfirm, Space } from 'ant-design-vue'; - -import { useVbenVxeGrid, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table'; -import { listMaintOrditm } from '#/api/eims/maint-orditm'; -import { columns } from '#/views/eims/maint-orditm/data'; -import maintOrditmDrawer from '#/views/eims/maint-orditm/maint-orditm-drawer.vue'; - -interface Props { - orderId?: string; -} - -const props = defineProps<Props>(); - -const completed = ref<string>('宸插畬鎴�'); -// 鏈洏鐐� -const uncompleted = ref<string>('鏈畬鎴�'); - -const gridOptions: VxeGridProps = { - checkboxConfig: { - // 楂樹寒 - highlight: true, - // 缈婚〉鏃朵繚鐣欓�変腑鐘舵�� - reserve: true - // 鐐瑰嚮琛岄�変腑 - // trigger: 'row' - }, - columns, - height: 'auto', - keepSource: true, - pagerConfig: {}, - proxyConfig: { - ajax: { - query: async ({ page }, formValues = {}) => { - if (props.orderId) { - const params = { orderId: props.orderId }; - Object.assign(formValues, params); - } else { - const params = { orderId: -1 }; - Object.assign(formValues, params); - } - return await listMaintOrditm({ - pageNum: page.currentPage, - pageSize: page.pageSize, - ...formValues - }); - }, - querySuccess: () => { - nextTick(() => { - // eslint-disable-next-line no-use-before-define - const data = tableApi?.grid.getData(); - completed.value = '宸插畬鎴�'; - uncompleted.value = '鏈畬鎴�'; - if (data.length <= 0) return false; - const wc = data?.filter((i) => i.status === '1')?.length; - completed.value = `宸插畬鎴�(${wc})`; - uncompleted.value = `鏈畬鎴�(${data.length - wc})`; - }); - } - } - }, - rowConfig: { - isHover: true, - keyField: 'id' - }, - sortConfig: { - // 杩滅▼鎺掑簭 - remote: true, - // 鏀寔澶氬瓧娈垫帓搴� 榛樿鍏抽棴 - multiple: true - }, - id: 'sub-orditm-index' -}; - -const [BasicTable, tableApi] = useVbenVxeGrid({ - gridOptions, - gridEvents: { - sortChange: (sortParams) => vxeSortEvent(tableApi, sortParams) - } -}); - -const [MaintOrditmDrawer, maintOrditmDrawerApi] = useVbenDrawer({ - connectedComponent: maintOrditmDrawer -}); - -function handleAdd() { - maintOrditmDrawerApi.setData({}); - maintOrditmDrawerApi.open(); -} - -async function handleEdit(record: Recordable<any>) { - maintOrditmDrawerApi.setData({ id: record.id }); - maintOrditmDrawerApi.open(); -} - -// 浣跨敤 watch 鐩戝惉 resId 鐨勫彉鍖� -watch( - () => props.orderId, - (newVal, oldVal) => { - if (newVal !== oldVal && newVal) { - tableApi.query(); - } - }, - { immediate: false } -); -</script> - -<template> - <div class="w-full"> - <BasicTable table-title="瀹炴柦椤圭洰"> - <template #toolbar-tools> - <Space> - <a-button>{{ uncompleted }}</a-button> - <a-button type="primary"> {{ completed }}</a-button> - </Space> - </template> - - <template #equName="{ row }"> - <Space> - <span>{{ row.equName }}</span> - </Space> - </template> - - <template #action="{ row }"> - <Space> - <ghost-button v-access:code="['eims:maintOrditm: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:maintOrditm:remove']" @click.stop=""> - {{ $t('pages.common.delete') }} - </ghost-button> - </Popconfirm> - </Space> - </template> - </BasicTable> - <MaintOrditmDrawer @reload="tableApi.query()" /> - </div> -</template> diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-orditm/data.tsx b/eims-ui/apps/web-antd/src/views/eims/maint-orditm/data.tsx deleted file mode 100644 index 37e58ac..0000000 --- a/eims-ui/apps/web-antd/src/views/eims/maint-orditm/data.tsx +++ /dev/null @@ -1,169 +0,0 @@ -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: '璧勪骇缂栧彿' - } -]; - -export const columns: VxeGridProps['columns'] = [ - { type: 'checkbox', width: 60, fixed: 'left' }, - { - title: '鐘舵��', - field: 'status', - minWidth: 80, - slots: { - default: ({ row }) => { - return renderDict(row.status, DictEnum.EIMS_ORDITM_STATUS); - } - } - }, - { - title: '瀹屾垚鏃堕棿', - field: 'itmTime', - minWidth: 200 - }, - { - title: '璁惧鍚嶇О', - field: 'equName', - minWidth: 160, - slots: { default: 'equName' } - }, - { - title: '淇濆吇椤圭洰', - field: 'itmName', - minWidth: 200 - }, - { - title: '椤圭洰鏍囧噯', - field: 'itmAction', - minWidth: 200 - }, - { - title: '淇濆吇鐢ㄦ埛', - field: 'itmUserName', - minWidth: 200 - }, - { - field: 'action', - fixed: 'right', - slots: { default: 'action' }, - title: '鎿嶄綔', - width: 200 - } -]; - -export const drawerSchema: FormSchemaGetter = () => [ - { - component: 'Input', - fieldName: 'orderId', - label: '宸ュ崟id', - dependencies: { - show: () => false, - triggerFields: [''] - } - }, - { - component: 'Input', - fieldName: 'orderName', - label: '淇濆吇宸ュ崟' - }, - { - component: 'Input', - dependencies: { - show: () => false, - triggerFields: [''] - }, - fieldName: 'id' - }, - { - component: 'Input', - fieldName: 'equId', - label: '璁惧id', - dependencies: { - show: () => false, - triggerFields: [''] - } - }, - { - component: 'Input', - fieldName: 'equName', - label: '璁惧鍚嶇О', - componentProps: { - readonly: true - }, - }, - { - component: 'Select', - componentProps: { - allowClear: true, - showSearch: true, - getPopupContainer - }, - fieldName: 'itmName', - label: '淇濆吇椤圭洰', - }, - { - component: 'Input', - fieldName: 'itmAction', - label: '椤圭洰鏍囧噯', - componentProps: { - readonly: true - }, - }, - { - component: 'Input', - fieldName: 'itmUser', - label: '淇濆吇浜篿d', - dependencies: { - show: () => false, - triggerFields: [''] - } - }, - { - component: 'Input', - fieldName: 'itmUserName', - label: '淇濆吇浜�' - }, - { - component: 'RadioGroup', - componentProps: { - buttonStyle: 'solid', - options: getDictOptions(DictEnum.EIMS_ORDITM_STATUS), - optionType: 'button' - }, - fieldName: 'status', - defaultValue: '0', - label: '鐘舵��' - }, - { - component: 'DatePicker', - componentProps: { - format: 'YYYY-MM-DD HH:mm:ss', - showTime: true, - valueFormat: 'YYYY-MM-DD HH:mm:ss', - getPopupContainer - }, - fieldName: 'itmTime', - label: '瀹屾垚鏃堕棿' - }, - { - component: 'Textarea', - fieldName: 'remark', - label: '澶囨敞' - } -]; diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-orditm/index.vue b/eims-ui/apps/web-antd/src/views/eims/maint-orditm/index.vue deleted file mode 100644 index 014cb93..0000000 --- a/eims-ui/apps/web-antd/src/views/eims/maint-orditm/index.vue +++ /dev/null @@ -1,159 +0,0 @@ -<script setup lang="ts"> -import type { Recordable } from '@vben/types'; - -import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui'; -import { $t } from '@vben/locales'; -import { getVxePopupContainer } from '@vben/utils'; - -import { Modal, Popconfirm, Space } from 'ant-design-vue'; - -import { useVbenVxeGrid, vxeCheckboxChecked, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table'; -import { delMaintOrditm, listMaintOrditm, maintOrditmExport } from '#/api/eims/maint-orditm'; -import { commonDownloadExcel } from '#/utils/file/download'; - -import { columns, querySchema } from './data'; -import maintOrditmDrawer from './maint-orditm-drawer.vue'; - -const formOptions: VbenFormProps = { - commonConfig: { - labelWidth: 80, - componentProps: { - allowClear: true - } - }, - schema: querySchema(), - wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4' -}; - -const gridOptions: VxeGridProps = { - checkboxConfig: { - // 楂樹寒 - highlight: true, - // 缈婚〉鏃朵繚鐣欓�変腑鐘舵�� - reserve: true - // 鐐瑰嚮琛岄�変腑 - // trigger: 'row' - }, - columns, - height: 'auto', - keepSource: true, - pagerConfig: {}, - proxyConfig: { - ajax: { - query: async ({ page }, formValues = {}) => { - return await listMaintOrditm({ - pageNum: page.currentPage, - pageSize: page.pageSize, - ...formValues - }); - } - } - }, - rowConfig: { - isHover: true, - keyField: 'id' - }, - sortConfig: { - // 杩滅▼鎺掑簭 - remote: true, - // 鏀寔澶氬瓧娈垫帓搴� 榛樿鍏抽棴 - multiple: true - }, - id: 'maint-orditm-index' -}; - -const [BasicTable, tableApi] = useVbenVxeGrid({ - formOptions, - gridOptions, - gridEvents: { - sortChange: (sortParams) => vxeSortEvent(tableApi, sortParams) - } -}); - -const [MaintOrditmDrawer, maintOrditmDrawerApi] = useVbenDrawer({ - connectedComponent: maintOrditmDrawer -}); - -function handleAdd() { - maintOrditmDrawerApi.setData({}); - maintOrditmDrawerApi.open(); -} - -async function handleEdit(record: Recordable<any>) { - maintOrditmDrawerApi.setData({ id: record.id }); - maintOrditmDrawerApi.open(); -} - -async function handleDelete(row: Recordable<any>) { - await delMaintOrditm(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 delMaintOrditm(ids); - await tableApi.query(); - } - }); -} - -function handleDownloadExcel() { - commonDownloadExcel(maintOrditmExport, '淇濆吇宸ュ崟鏄庣粏璁板綍', tableApi.formApi.form.values, { - fieldMappingTime: formOptions.fieldMappingTime - }); -} -</script> - -<template> - <Page :auto-content-height="true"> - <div class="flex h-full gap-[8px]"> - <BasicTable class="flex-1 overflow-hidden" table-title="淇濆吇宸ュ崟鏄庣粏鍒楄〃"> - <template #toolbar-tools> - <Space> - <a-button v-access:code="['eims:maintOrditm:export']" @click="handleDownloadExcel"> - {{ $t('pages.common.export') }} - </a-button> - <a-button - :disabled="!vxeCheckboxChecked(tableApi)" - danger - type="primary" - v-access:code="['eims:maintOrditm:remove']" - @click="handleMultiDelete" - > - {{ $t('pages.common.delete') }} - </a-button> - <a-button type="primary" v-access:code="['eims:maintOrditm: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 v-access:code="['eims:maintOrditm: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:maintOrditm:remove']" @click.stop=""> - {{ $t('pages.common.delete') }} - </ghost-button> - </Popconfirm> - </Space> - </template> - </BasicTable> - </div> - <MaintOrditmDrawer @reload="tableApi.query()" /> - </Page> -</template> diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-orditm/maint-orditm-drawer.vue b/eims-ui/apps/web-antd/src/views/eims/maint-orditm/maint-orditm-drawer.vue deleted file mode 100644 index 7341ecd..0000000 --- a/eims-ui/apps/web-antd/src/views/eims/maint-orditm/maint-orditm-drawer.vue +++ /dev/null @@ -1,175 +0,0 @@ -<script setup lang="ts"> -import { computed, ref } from 'vue'; - -import { useVbenDrawer, useVbenModal } from '@vben/common-ui'; -import { $t } from '@vben/locales'; -import { cloneDeep } from '@vben/utils'; - -import { InputSearch } from 'ant-design-vue'; - -import { useVbenForm } from '#/adapter/form'; -import { addMaintOrditm, getMaintOrditm, updateMaintOrditm } from '#/api/eims/maint-orditm'; -import { listMaintStand } from '#/api/eims/maint-stand'; -import orderModal from '#/views/eims/components/miant-order-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 - }, - 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; - // 鏇存柊 && 璧嬪�� - if (isUpdate.value && id) { - const record = await getMaintOrditm(id); - await formApi.setValues(record); - } - - drawerApi.drawerLoading(false); - } -}); - -/** - * 宸ュ崟鏄庣粏鐨勫姞杞� - */ -async function setupOrditmOptions(equId: any) { - const params = { equId }; - const userPageResult = await listMaintStand({ - pageNum: 1, - pageSize: 50, - ...params - }); - const options = userPageResult?.rows.map((item) => ({ - label: item.name, - value: item.name - })); - // 绛涢�� - const filterOption = (input: string, option: any) => { - return option.label.toLowerCase().includes(input.toLowerCase()); - }; - - const placeholder = options.length > 0 ? '璇烽�夋嫨' : '璇ュ伐鍗曟殏鏃犳槑缁�'; - formApi.updateSchema([ - { - componentProps: { - options, - placeholder, - filterOption, - async onSelect(name: string) { - const item = userPageResult?.rows.find((i) => i.name === name); - await formApi.setValues({ itmAction: item?.stand }); - } - }, - fieldName: 'itmName' - } - ]); -} - -async function handleConfirm() { - try { - drawerApi.drawerLoading(true); - const { valid } = await formApi.validate(); - if (!valid) { - return; - } - const data = cloneDeep(await formApi.getValues()); - await (isUpdate.value ? updateMaintOrditm(data) : addMaintOrditm(data)); - emit('reload'); - await handleCancel(); - } catch (error) { - console.error(error); - } finally { - drawerApi.drawerLoading(false); - } -} - -async function handleCancel() { - drawerApi.close(); - await formApi.resetForm(); -} - -// order modal -const [OrderModal, orderModalApi] = useVbenModal({ - connectedComponent: orderModal, - draggable: true, - title: '閫夋嫨宸ュ崟' -}); - -function handleOrderModal() { - orderModalApi.setData({}); - orderModalApi.open(); -} - -/** - * 鏇存柊閫夋嫨鐨勫伐鍗� - * @param order - */ -async function updateOrderSelect(order: any) { - await formApi.setValues({ 'orderId': order.id, 'orderName': order.maintCode, 'equId': order.equId, 'equName': order.equName }); - await setupOrditmOptions(order?.equId); -} - -// user modal -const [UserModal, userModalApi] = useVbenModal({ - connectedComponent: userModal, - draggable: true, - title: '閫夋嫨鎴愬憳' -}); - -/** - * 鎵撳紑閫夋嫨鐢ㄦ埛 - */ -function handleUserModal() { - userModalApi.setData({}); - userModalApi.open(); -} - -/** - * 鏇存柊閫夋嫨鐨勭敤鎴� - * @param user - */ -async function updateUserSelect(user: any) { - await formApi.setValues({ 'itmUser': user.userId, 'itmUserName': user.nickName }); -} -</script> - -<template> - <BasicDrawer :close-on-click-modal="false" :title="title" class="w-[600px]"> - <BasicForm> - <template #orderName="slotProps"> - <InputSearch :enter-button="true" placeholder="璇烽�夋嫨" @search="handleOrderModal" v-bind="slotProps" /> - </template> - <template #itmUserName="slotProps"> - <InputSearch :enter-button="true" placeholder="璇烽�夋嫨" @search="handleUserModal" v-bind="slotProps" /> - </template> - </BasicForm> - <OrderModal class="w-[1200px]" @update-select="updateOrderSelect" /> - <UserModal class="w-[1200px]" @select-user="updateUserSelect" /> - </BasicDrawer> -</template> 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 b96fefd..aa5d7cf 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 @@ -86,6 +86,11 @@ } }, { + title: '淇濆吇椤�', + field: 'maintName', + minWidth: 200 + }, + { title: '淇濆吇绫诲瀷', field: 'maintType', minWidth: 120, @@ -163,6 +168,11 @@ label: '璁惧鍚嶇О' }, { + component: 'Input', + fieldName: 'maintName', + label: '淇濆吇椤�' + }, + { component: 'RadioGroup', componentProps: { buttonStyle: 'solid', 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 ff7c4d5..2927a97 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 @@ -11,17 +11,20 @@ import { useVbenVxeGrid, vxeCheckboxChecked, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table'; import { delMaintPlan, listMaintPlan, maintPlanExport } from '#/api/eims/maint-plan'; -import { listMaintStand } from '#/api/eims/maint-stand'; import { generateCode } from '#/api/eims/utils'; 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 as maintSrandCol } from '#/views/eims/maint-stand/data'; import { columns, querySchema } from './data'; import maintPlanDrawer from './maint-plan-drawer.vue'; + + +defineExpose({ + tableSelect +}); const formOptions: VbenFormProps = { commonConfig: { @@ -145,6 +148,7 @@ } const planOrder = { equId: record.equId, + planId: record.id, equName: record.equName, maintUser: record.maintUser, maintUserName: record.maintUserName, @@ -230,12 +234,17 @@ 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 class="h-2/3" table-title="淇濆吇璁″垝鍒楄〃"> + <BasicTable table-title="淇濆吇璁″垝鍒楄〃"> <template #toolbar-tools> <Space> <a-button v-access:code="['eims:maintPlan:export']" @click="handleDownloadExcel"> @@ -285,7 +294,6 @@ </Dropdown> </template> </BasicTable> - <BasisSubTable :columns="maintSrandCol" :list-api="listMaintStand" :req-value="equId" class="h-1/3" req-key="equId" title="淇濆吇瀹炴柦椤圭洰" /> </div> <MaintPlanDrawer @reload="tableApi.query()" /> <MaintOrderDrawer @reload="tableApi.query()" /> diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-stand/data.tsx b/eims-ui/apps/web-antd/src/views/eims/maint-stand/data.tsx deleted file mode 100644 index bf209fb..0000000 --- a/eims-ui/apps/web-antd/src/views/eims/maint-stand/data.tsx +++ /dev/null @@ -1,111 +0,0 @@ -import type { VxeGridProps } from '#/adapter/vxe-table'; - -import { type FormSchemaGetter } from '#/adapter/form'; - -export const querySchema: FormSchemaGetter = () => [ - { - component: 'Input', - fieldName: 'equName', - label: '璁惧鍚嶇О' - }, - { - component: 'Input', - fieldName: 'assetNo', - label: '璧勪骇缂栧彿' - } -]; - -export const columns: VxeGridProps['columns'] = [ - { type: 'checkbox', width: 60, fixed: 'left' }, - { - title: '璁惧鍚嶇О', - field: 'equName', - minWidth: 200, - fixed: 'left', - slots: { default: 'equName' } - }, - { - title: '璧勪骇缂栧彿', - field: 'assetNo', - minWidth: 160 - }, - { - title: '淇濆吇椤圭洰', - field: 'name', - minWidth: 300 - }, - { - title: '椤圭洰鏍囧噯', - field: 'stand', - 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: 'equCode', - label: '璁惧缂栫爜', - dependencies: { - show: () => false, - triggerFields: [''] - } - }, - { - component: 'Input', - fieldName: 'assetNo', - label: '璧勪骇缂栧彿', - dependencies: { - show: () => false, - triggerFields: [''] - } - }, - { - component: 'Input', - fieldName: 'modelNo', - label: '璁惧鍨嬪彿', - dependencies: { - show: () => false, - triggerFields: [''] - } - }, - { - component: 'Input', - fieldName: 'equName', - label: '璁惧鍚嶇О' - }, - { - component: 'Textarea', - fieldName: 'name', - label: '瀹炴柦椤圭洰' - }, - { - component: 'Textarea', - fieldName: 'stand', - label: '瀹炴柦鏍囧噯' - } -]; diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-stand/index.vue b/eims-ui/apps/web-antd/src/views/eims/maint-stand/index.vue deleted file mode 100644 index d399899..0000000 --- a/eims-ui/apps/web-antd/src/views/eims/maint-stand/index.vue +++ /dev/null @@ -1,159 +0,0 @@ -<script setup lang="ts"> -import type { Recordable } from '@vben/types'; - -import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui'; -import { $t } from '@vben/locales'; -import { getVxePopupContainer } from '@vben/utils'; - -import { Modal, Popconfirm, Space } from 'ant-design-vue'; - -import { useVbenVxeGrid, vxeCheckboxChecked, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table'; -import { delMaintStand, listMaintStand, maintStandExport } from '#/api/eims/maint-stand'; -import { commonDownloadExcel } from '#/utils/file/download'; - -import { columns, querySchema } from './data'; -import maintStandDrawer from './maint-stand-drawer.vue'; - -const formOptions: VbenFormProps = { - commonConfig: { - labelWidth: 80, - componentProps: { - allowClear: true - } - }, - schema: querySchema(), - wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4' -}; - -const gridOptions: VxeGridProps = { - checkboxConfig: { - // 楂樹寒 - highlight: true, - // 缈婚〉鏃朵繚鐣欓�変腑鐘舵�� - reserve: true - // 鐐瑰嚮琛岄�変腑 - // trigger: 'row' - }, - columns, - height: 'auto', - keepSource: true, - pagerConfig: {}, - proxyConfig: { - ajax: { - query: async ({ page }, formValues = {}) => { - return await listMaintStand({ - pageNum: page.currentPage, - pageSize: page.pageSize, - ...formValues - }); - } - } - }, - rowConfig: { - isHover: true, - keyField: 'id' - }, - sortConfig: { - // 杩滅▼鎺掑簭 - remote: true, - // 鏀寔澶氬瓧娈垫帓搴� 榛樿鍏抽棴 - multiple: true - }, - id: 'maint-stand-index' -}; - -const [BasicTable, tableApi] = useVbenVxeGrid({ - formOptions, - gridOptions, - gridEvents: { - sortChange: (sortParams) => vxeSortEvent(tableApi, sortParams) - } -}); - -const [MaintStandDrawer, maintStandDrawerApi] = useVbenDrawer({ - connectedComponent: maintStandDrawer -}); - -function handleAdd() { - maintStandDrawerApi.setData({}); - maintStandDrawerApi.open(); -} - -async function handleEdit(record: Recordable<any>) { - maintStandDrawerApi.setData({ id: record.id }); - maintStandDrawerApi.open(); -} - -async function handleDelete(row: Recordable<any>) { - await delMaintStand(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 delMaintStand(ids); - await tableApi.query(); - } - }); -} - -function handleDownloadExcel() { - commonDownloadExcel(maintStandExport, '淇濆吇鏍囧噯璁板綍', tableApi.formApi.form.values, { - fieldMappingTime: formOptions.fieldMappingTime - }); -} -</script> - -<template> - <Page :auto-content-height="true"> - <div class="flex h-full gap-[8px]"> - <BasicTable class="flex-1 overflow-hidden" table-title="淇濆吇鏍囧噯鍒楄〃"> - <template #toolbar-tools> - <Space> - <a-button v-access:code="['eims:maintStand:export']" @click="handleDownloadExcel"> - {{ $t('pages.common.export') }} - </a-button> - <a-button - :disabled="!vxeCheckboxChecked(tableApi)" - danger - type="primary" - v-access:code="['eims:maintStand:remove']" - @click="handleMultiDelete" - > - {{ $t('pages.common.delete') }} - </a-button> - <a-button type="primary" v-access:code="['eims:maintStand: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 v-access:code="['eims:maintStand: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:maintStand:remove']" @click.stop=""> - {{ $t('pages.common.delete') }} - </ghost-button> - </Popconfirm> - </Space> - </template> - </BasicTable> - </div> - <MaintStandDrawer @reload="tableApi.query()" /> - </Page> -</template> diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-stand/maint-stand-drawer.vue b/eims-ui/apps/web-antd/src/views/eims/maint-stand/maint-stand-drawer.vue deleted file mode 100644 index 1e430fd..0000000 --- a/eims-ui/apps/web-antd/src/views/eims/maint-stand/maint-stand-drawer.vue +++ /dev/null @@ -1,111 +0,0 @@ -<script setup lang="ts"> -import { computed, ref } from 'vue'; - -import { useVbenDrawer, useVbenModal } from '@vben/common-ui'; -import { $t } from '@vben/locales'; -import { cloneDeep } from '@vben/utils'; - -import { InputSearch } from 'ant-design-vue'; - -import { useVbenForm } from '#/adapter/form'; -import { addMaintStand, getMaintStand, updateMaintStand } from '#/api/eims/maint-stand'; - -import equModal from '#/views/eims/components/equ-modal.vue'; - -import { drawerSchema } from './data'; -import type { MaintStandVO } from '#/api/eims/maint-stand/model'; - -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 - }, - 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; - // 鏇存柊 && 璧嬪�� - if (isUpdate.value && id) { - const record = await getMaintStand(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 ? updateMaintStand(data) : addMaintStand(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(); -} - -/** - * 鏇存柊閫夋嫨鐨勮澶� - * @param equ - */ -async function updateSelect(equ: any) { - await formApi.setValues(equ); -} -</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> - </BasicForm> - <EquModal class="w-[1200px]" @update-equ="updateSelect" /> - </BasicDrawer> -</template> diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrditmController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrditmController.java deleted file mode 100644 index a0ecd55..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrditmController.java +++ /dev/null @@ -1,105 +0,0 @@ -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.EimsMaintOrditmVo; -import org.dromara.eims.domain.bo.EimsMaintOrditmBo; -import org.dromara.eims.service.IEimsMaintOrditmService; -import org.dromara.common.mybatis.core.page.TableDataInfo; - -/** - * 宸ュ崟鏉$洰 - * - * @author zhuguifei - * @date 2025-03-10 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/eims/maintOrditm") -public class EimsMaintOrditmController extends BaseController { - - private final IEimsMaintOrditmService eimsMaintOrditmService; - - /** - * 鏌ヨ宸ュ崟鏉$洰鍒楄〃 - */ - @SaCheckPermission("eims:maintOrditm:list") - @GetMapping("/list") - public TableDataInfo<EimsMaintOrditmVo> list(EimsMaintOrditmBo bo, PageQuery pageQuery) { - return eimsMaintOrditmService.queryPageList(bo, pageQuery); - } - - /** - * 瀵煎嚭宸ュ崟鏉$洰鍒楄〃 - */ - @SaCheckPermission("eims:maintOrditm:export") - @Log(title = "宸ュ崟鏉$洰", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(EimsMaintOrditmBo bo, HttpServletResponse response) { - List<EimsMaintOrditmVo> list = eimsMaintOrditmService.queryList(bo); - ExcelUtil.exportExcel(list, "宸ュ崟鏉$洰", EimsMaintOrditmVo.class, response); - } - - /** - * 鑾峰彇宸ュ崟鏉$洰璇︾粏淇℃伅 - * - * @param id 涓婚敭 - */ - @SaCheckPermission("eims:maintOrditm:query") - @GetMapping("/{id}") - public R<EimsMaintOrditmVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") - @PathVariable Long id) { - return R.ok(eimsMaintOrditmService.queryById(id)); - } - - /** - * 鏂板宸ュ崟鏉$洰 - */ - @SaCheckPermission("eims:maintOrditm:add") - @Log(title = "宸ュ崟鏉$洰", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R<Void> add(@Validated(AddGroup.class) @RequestBody EimsMaintOrditmBo bo) { - return toAjax(eimsMaintOrditmService.insertByBo(bo)); - } - - /** - * 淇敼宸ュ崟鏉$洰 - */ - @SaCheckPermission("eims:maintOrditm:edit") - @Log(title = "宸ュ崟鏉$洰", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R<Void> edit(@Validated(EditGroup.class) @RequestBody EimsMaintOrditmBo bo) { - return toAjax(eimsMaintOrditmService.updateByBo(bo)); - } - - /** - * 鍒犻櫎宸ュ崟鏉$洰 - * - * @param ids 涓婚敭涓� - */ - @SaCheckPermission("eims:maintOrditm:remove") - @Log(title = "宸ュ崟鏉$洰", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") - @PathVariable Long[] ids) { - return toAjax(eimsMaintOrditmService.deleteWithValidByIds(List.of(ids), true)); - } -} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintStandController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintStandController.java deleted file mode 100644 index 446302c..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintStandController.java +++ /dev/null @@ -1,105 +0,0 @@ -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.EimsMaintStandVo; -import org.dromara.eims.domain.bo.EimsMaintStandBo; -import org.dromara.eims.service.IEimsMaintStandService; -import org.dromara.common.mybatis.core.page.TableDataInfo; - -/** - * 淇濆吇鏍囧噯 - * - * @author zhuguifei - * @date 2025-03-04 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/eims/maintStand") -public class EimsMaintStandController extends BaseController { - - private final IEimsMaintStandService eimsMaintStandService; - - /** - * 鏌ヨ淇濆吇鏍囧噯鍒楄〃 - */ - @SaCheckPermission("eims:maintStand:list") - @GetMapping("/list") - public TableDataInfo<EimsMaintStandVo> list(EimsMaintStandBo bo, PageQuery pageQuery) { - return eimsMaintStandService.queryPageList(bo, pageQuery); - } - - /** - * 瀵煎嚭淇濆吇鏍囧噯鍒楄〃 - */ - @SaCheckPermission("eims:maintStand:export") - @Log(title = "淇濆吇鏍囧噯", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(EimsMaintStandBo bo, HttpServletResponse response) { - List<EimsMaintStandVo> list = eimsMaintStandService.queryList(bo); - ExcelUtil.exportExcel(list, "淇濆吇鏍囧噯", EimsMaintStandVo.class, response); - } - - /** - * 鑾峰彇淇濆吇鏍囧噯璇︾粏淇℃伅 - * - * @param id 涓婚敭 - */ - @SaCheckPermission("eims:maintStand:query") - @GetMapping("/{id}") - public R<EimsMaintStandVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") - @PathVariable Long id) { - return R.ok(eimsMaintStandService.queryById(id)); - } - - /** - * 鏂板淇濆吇鏍囧噯 - */ - @SaCheckPermission("eims:maintStand:add") - @Log(title = "淇濆吇鏍囧噯", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R<Void> add(@Validated(AddGroup.class) @RequestBody EimsMaintStandBo bo) { - return toAjax(eimsMaintStandService.insertByBo(bo)); - } - - /** - * 淇敼淇濆吇鏍囧噯 - */ - @SaCheckPermission("eims:maintStand:edit") - @Log(title = "淇濆吇鏍囧噯", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R<Void> edit(@Validated(EditGroup.class) @RequestBody EimsMaintStandBo bo) { - return toAjax(eimsMaintStandService.updateByBo(bo)); - } - - /** - * 鍒犻櫎淇濆吇鏍囧噯 - * - * @param ids 涓婚敭涓� - */ - @SaCheckPermission("eims:maintStand:remove") - @Log(title = "淇濆吇鏍囧噯", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") - @PathVariable Long[] ids) { - return toAjax(eimsMaintStandService.deleteWithValidByIds(List.of(ids), true)); - } -} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrditm.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrditm.java deleted file mode 100644 index 45bd507..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrditm.java +++ /dev/null @@ -1,73 +0,0 @@ -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_maint_orditm - * - * @author zhuguifei - * @date 2025-03-10 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("eims_maint_orditm") -public class EimsMaintOrditm extends BaseEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * - */ - @TableId(value = "id") - private Long id; - - /** - * 宸ュ崟id - */ - private Long orderId; - - /** - * 璁惧id - */ - private Long equId; - - /** - * 淇濆吇椤圭洰鍚嶇О - */ - private String itmName; - - /** - * 淇濆吇椤圭洰鎿嶄綔鏍囧噯 - */ - private String itmAction; - - /** - * 淇濆吇鎿嶄綔鐢ㄦ埛 - */ - private Long itmUser; - - /** - * 淇濆吇鏃堕棿 - */ - private Date itmTime; - - /** - * 瀹屾垚鐘舵�侊紙瀛楀吀锛� - */ - private String status; - - /** - * 澶囨敞 - */ - private String remark; - - -} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintPlan.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintPlan.java index 8177bcb..d89d93e 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintPlan.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintPlan.java @@ -33,6 +33,21 @@ private Long id; /** + * 淇濆吇椤瑰悕绉� + */ + private String maintName; + + /** + * 淇濆吇椤圭紪鍙� + */ + private Integer maintNo; + + /** + * 淇濆吇椤规弿杩� + */ + private String maintDesc; + + /** * 璁惧id */ diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintStand.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintStand.java deleted file mode 100644 index d4b9754..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintStand.java +++ /dev/null @@ -1,77 +0,0 @@ -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.io.Serial; - -/** - * 淇濆吇鏍囧噯瀵硅薄 eims_maint_stand - * - * @author zhuguifei - * @date 2025-03-04 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("eims_maint_stand") -public class EimsMaintStand extends BaseEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * - */ - @TableId(value = "id") - private Long id; - - /** - * 璁惧id - */ - private Long equId; - - /** - * 璁惧缂栫爜 - */ - private String equCode; - - /** - * 璁惧绫诲瀷 - */ - private Long equTypeId; - - /** - * 璧勪骇缂栧彿 - */ - private String assetNo; - - /** - * 璁惧鍚嶇О - - */ - private String equName; - - /** - * 璁惧鍨嬪彿 - */ - private String modelNo; - - /** - * 淇濆吇椤圭洰鍚嶇О - */ - private String name; - - /** - * 淇濆吇椤圭洰鏍囧噯 - */ - private String stand; - - /** - * 澶囨敞 - */ - private String remark; - - -} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrditmBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrditmBo.java deleted file mode 100644 index 560d523..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrditmBo.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.dromara.eims.domain.bo; - -import org.dromara.eims.domain.EimsMaintOrditm; -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_maint_orditm - * - * @author zhuguifei - * @date 2025-03-10 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = EimsMaintOrditm.class, reverseConvertGenerate = false) -public class EimsMaintOrditmBo extends BaseEntity { - - /** - * - */ - @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class }) - private Long id; - - /** - * 宸ュ崟id - */ - @NotNull(message = "宸ュ崟id涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) - private Long orderId; - - /** - * 璁惧id - */ - @NotNull(message = "璁惧id涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) - private Long equId; - - /** - * 淇濆吇椤圭洰鍚嶇О - */ - @NotBlank(message = "淇濆吇椤圭洰鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) - private String itmName; - - /** - * 淇濆吇椤圭洰鎿嶄綔鏍囧噯 - */ - private String itmAction; - - /** - * 淇濆吇鎿嶄綔鐢ㄦ埛 - */ - @NotNull(message = "淇濆吇鎿嶄綔鐢ㄦ埛涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) - private Long itmUser; - - /** - * 淇濆吇鏃堕棿 - */ - private Date itmTime; - - /** - * 瀹屾垚鐘舵�侊紙瀛楀吀锛� - */ - private String status; - - /** - * 澶囨敞 - */ - private String remark; - - -} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintPlanBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintPlanBo.java index 97705cd..f59e6cf 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintPlanBo.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintPlanBo.java @@ -28,6 +28,23 @@ @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class }) private Long id; + + /** + * 淇濆吇椤瑰悕绉� + */ + @NotNull(message = "淇濆吇椤瑰悕绉颁笉鑳戒负绌�", groups = { EditGroup.class }) + private String maintName; + + /** + * 淇濆吇椤圭紪鍙� + */ + private Integer maintNo; + + /** + * 淇濆吇椤规弿杩� + */ + private String maintDesc; + /** * 璁惧id diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintStandBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintStandBo.java deleted file mode 100644 index 1240e32..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintStandBo.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.dromara.eims.domain.bo; - -import org.dromara.eims.domain.EimsMaintStand; -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.*; - -/** - * 淇濆吇鏍囧噯涓氬姟瀵硅薄 eims_maint_stand - * - * @author zhuguifei - * @date 2025-03-04 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = EimsMaintStand.class, reverseConvertGenerate = false) -public class EimsMaintStandBo extends BaseEntity { - - /** - * - */ - @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class }) - private Long id; - - /** - * 璁惧id - */ - @NotNull(message = "璁惧id涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) - private Long equId; - - /** - * 璁惧缂栫爜 - */ - private String equCode; - - /** - * 璁惧绫诲瀷 - */ - private Long equTypeId; - - /** - * 璧勪骇缂栧彿 - */ - private String assetNo; - - /** - * 璁惧鍚嶇О - - */ - private String equName; - - /** - * 璁惧鍨嬪彿 - */ - private String modelNo; - - /** - * 淇濆吇椤圭洰鍚嶇О - */ - private String name; - - /** - * 淇濆吇椤圭洰鏍囧噯 - */ - private String stand; - - /** - * 澶囨敞 - */ - @NotBlank(message = "澶囨敞涓嶈兘涓虹┖", groups = { EditGroup.class }) - private String remark; - - -} 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 e4b457a..784370d 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 @@ -54,6 +54,11 @@ private String assetNo; /** + * 淇濆吇椤瑰悕绉� + */ + private String maintName; + + /** * 璁″垝琛ㄥ啑浣�-淇濆吇绫诲瀷锛堝瓧鍏革級 */ @ExcelProperty(value = "璁″垝琛ㄥ啑浣�-淇濆吇绫诲瀷", converter = ExcelDictConvert.class) diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrditmVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrditmVo.java deleted file mode 100644 index 98e9d37..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrditmVo.java +++ /dev/null @@ -1,100 +0,0 @@ -package org.dromara.eims.domain.vo; - -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.dromara.common.translation.annotation.Translation; -import org.dromara.common.translation.constant.TransConstant; -import org.dromara.eims.domain.EimsMaintOrditm; -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_orditm - * - * @author zhuguifei - * @date 2025-03-10 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = EimsMaintOrditm.class) -public class EimsMaintOrditmVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * - */ - @ExcelProperty(value = "") - private Long id; - - /** - * 宸ュ崟id - */ - @ExcelProperty(value = "宸ュ崟id") - private Long orderId; - - @Translation(type = TransConstant.MAINT_ORDER_ID_TO_CODE, mapper = "orderId") - private String orderName; - - /** - * 璁惧id - */ - @ExcelProperty(value = "璁惧id") - private Long equId; - - @Translation(type = TransConstant.EQU_ID_TO_NAME, mapper = "equId") - private String equName; - - /** - * 淇濆吇椤圭洰鍚嶇О - */ - @ExcelProperty(value = "淇濆吇椤圭洰鍚嶇О") - private String itmName; - - /** - * 淇濆吇椤圭洰鎿嶄綔鏍囧噯 - */ - @ExcelProperty(value = "淇濆吇椤圭洰鎿嶄綔鏍囧噯") - private String itmAction; - - /** - * 淇濆吇鎿嶄綔鐢ㄦ埛 - */ - @ExcelProperty(value = "淇濆吇鎿嶄綔鐢ㄦ埛") - private Long itmUser; - - @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "itmUser") - private String itmUserName; - - /** - * 淇濆吇鏃堕棿 - */ - @ExcelProperty(value = "淇濆吇鏃堕棿") - private Date itmTime; - - /** - * 瀹屾垚鐘舵�侊紙瀛楀吀锛� - */ - @ExcelProperty(value = "瀹屾垚鐘舵��", converter = ExcelDictConvert.class) - @ExcelDictFormat(dictType = "eims_orditm_status") - private String status; - - /** - * 澶囨敞 - */ - @ExcelProperty(value = "澶囨敞") - private String remark; - - -} 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 618029e..c268369 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 @@ -41,6 +41,22 @@ @ExcelProperty(value = "") private Long id; + + /** + * 淇濆吇椤瑰悕绉� + */ + private String maintName; + + /** + * 淇濆吇椤圭紪鍙� + */ + private Integer maintNo; + + /** + * 淇濆吇椤规弿杩� + */ + private String maintDesc; + /** * 璁惧id diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintStandVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintStandVo.java deleted file mode 100644 index 2247397..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintStandVo.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.dromara.eims.domain.vo; - -import org.dromara.eims.domain.EimsMaintStand; -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_stand - * - * @author zhuguifei - * @date 2025-03-04 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = EimsMaintStand.class) -public class EimsMaintStandVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * - */ - @ExcelProperty(value = "") - private Long id; - - /** - * 璁惧id - */ - @ExcelProperty(value = "璁惧id") - private Long equId; - - /** - * 璁惧缂栫爜 - */ - @ExcelProperty(value = "璁惧缂栫爜") - private String equCode; - - /** - * 璁惧绫诲瀷 - */ - @ExcelProperty(value = "璁惧绫诲瀷") - private Long equTypeId; - - /** - * 璧勪骇缂栧彿 - */ - @ExcelProperty(value = "璧勪骇缂栧彿") - private String assetNo; - - /** - * 璁惧鍚嶇О - - */ - @ExcelProperty(value = "璁惧鍚嶇О") - private String equName; - - /** - * 璁惧鍨嬪彿 - */ - @ExcelProperty(value = "璁惧鍨嬪彿") - private String modelNo; - - /** - * 淇濆吇椤圭洰鍚嶇О - */ - @ExcelProperty(value = "淇濆吇椤圭洰鍚嶇О") - private String name; - - /** - * 淇濆吇椤圭洰鏍囧噯 - */ - @ExcelProperty(value = "淇濆吇椤圭洰鏍囧噯") - private String stand; - - /** - * 澶囨敞 - */ - @ExcelProperty(value = "澶囨敞") - private String remark; - - -} 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 1058f6d..4b388cb 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 @@ -16,11 +16,8 @@ import org.dromara.eims.domain.*; import org.dromara.eims.domain.bo.EimsMaintPlanBo; import org.dromara.eims.domain.vo.EimsMaintPlanVo; -import org.dromara.eims.domain.vo.EimsMaintStandVo; import org.dromara.eims.mapper.EimsMaintOrderMapper; -import org.dromara.eims.mapper.EimsMaintOrditmMapper; import org.dromara.eims.mapper.EimsMaintPlanMapper; -import org.dromara.eims.mapper.EimsMaintStandMapper; import org.dromara.eims.service.IEimsMaintOrderService; import org.dromara.eims.service.IEimsMaintPlanService; import org.dromara.eims.service.IGenerateCodeService; @@ -38,9 +35,7 @@ public class MaintPlanToOrderJob { private final EimsMaintOrderMapper orderMapper; - private final EimsMaintStandMapper standMapper; - private final EimsMaintOrditmMapper orditmMapper; private final EimsMaintPlanMapper planMapper; @@ -110,6 +105,7 @@ order.setId(null); order.setStatus(DictConstants.MAINT_ORDER_STATUS_DETAIL.DAIBAOYANG); order.setPlanTime(createOrderTime); + order.setPlanId(planVo.getId()); order.setMaintCode(codeService.generateCode("BYZD")); EimsMaintPlan plan = MapstructUtils.convert(planVo, EimsMaintPlan.class); assert plan != null; @@ -121,21 +117,9 @@ if (!flag) continue; planMapper.updateById(plan); - //鐢熸垚淇濆吇鏄庣粏 - Long equId = plan.getEquId(); - List<EimsMaintStandVo> standList = standMapper.selectVoList(new LambdaQueryWrapper<EimsMaintStand>().eq(EimsMaintStand::getEquId, equId)); - //TODO 娌℃湁淇濆吇椤癸紝娣诲姞寮傚父璁板綍 - if(standList.isEmpty()) continue; - for (int j = 0; j < standList.size(); j++) { - EimsMaintStandVo stand = standList.get(j); - EimsMaintOrditm itm = new EimsMaintOrditm(); - itm.setOrderId(order.getId()); - itm.setEquId(equId); - itm.setItmName(stand.getName()); - itm.setItmAction(stand.getStand()); - itm.setItmUser(order.getMaintUser()); - orditmMapper.insert(itm); - } + + + } return ExecuteResult.success("淇濆吇璁″垝鐢熸垚淇濆吇宸ュ崟鎴愬姛"); } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintOrditmMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintOrditmMapper.java deleted file mode 100644 index 57b4cef..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintOrditmMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.dromara.eims.mapper; - -import org.dromara.eims.domain.EimsMaintOrditm; -import org.dromara.eims.domain.vo.EimsMaintOrditmVo; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; - -/** - * 宸ュ崟鏉$洰Mapper鎺ュ彛 - * - * @author zhuguifei - * @date 2025-03-10 - */ -public interface EimsMaintOrditmMapper extends BaseMapperPlus<EimsMaintOrditm, EimsMaintOrditmVo> { - -} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintStandMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintStandMapper.java deleted file mode 100644 index f98e5be..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintStandMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.dromara.eims.mapper; - -import org.dromara.eims.domain.EimsMaintStand; -import org.dromara.eims.domain.vo.EimsMaintStandVo; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; - -/** - * 淇濆吇鏍囧噯Mapper鎺ュ彛 - * - * @author zhuguifei - * @date 2025-03-04 - */ -public interface EimsMaintStandMapper extends BaseMapperPlus<EimsMaintStand, EimsMaintStandVo> { - -} diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintOrditmService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintOrditmService.java deleted file mode 100644 index 862cbd0..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintOrditmService.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.dromara.eims.service; - -import org.dromara.eims.domain.vo.EimsMaintOrditmVo; -import org.dromara.eims.domain.bo.EimsMaintOrditmBo; -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-10 - */ -public interface IEimsMaintOrditmService { - - /** - * 鏌ヨ宸ュ崟鏉$洰 - * - * @param id 涓婚敭 - * @return 宸ュ崟鏉$洰 - */ - EimsMaintOrditmVo queryById(Long id); - - /** - * 鍒嗛〉鏌ヨ宸ュ崟鏉$洰鍒楄〃 - * - * @param bo 鏌ヨ鏉′欢 - * @param pageQuery 鍒嗛〉鍙傛暟 - * @return 宸ュ崟鏉$洰鍒嗛〉鍒楄〃 - */ - TableDataInfo<EimsMaintOrditmVo> queryPageList(EimsMaintOrditmBo bo, PageQuery pageQuery); - - /** - * 鏌ヨ绗﹀悎鏉′欢鐨勫伐鍗曟潯鐩垪琛� - * - * @param bo 鏌ヨ鏉′欢 - * @return 宸ュ崟鏉$洰鍒楄〃 - */ - List<EimsMaintOrditmVo> queryList(EimsMaintOrditmBo bo); - - /** - * 鏂板宸ュ崟鏉$洰 - * - * @param bo 宸ュ崟鏉$洰 - * @return 鏄惁鏂板鎴愬姛 - */ - Boolean insertByBo(EimsMaintOrditmBo bo); - - /** - * 淇敼宸ュ崟鏉$洰 - * - * @param bo 宸ュ崟鏉$洰 - * @return 鏄惁淇敼鎴愬姛 - */ - Boolean updateByBo(EimsMaintOrditmBo 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/IEimsMaintStandService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintStandService.java deleted file mode 100644 index 536958d..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsMaintStandService.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.dromara.eims.service; - -import org.dromara.eims.domain.vo.EimsMaintStandVo; -import org.dromara.eims.domain.bo.EimsMaintStandBo; -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-04 - */ -public interface IEimsMaintStandService { - - /** - * 鏌ヨ淇濆吇鏍囧噯 - * - * @param id 涓婚敭 - * @return 淇濆吇鏍囧噯 - */ - EimsMaintStandVo queryById(Long id); - - /** - * 鍒嗛〉鏌ヨ淇濆吇鏍囧噯鍒楄〃 - * - * @param bo 鏌ヨ鏉′欢 - * @param pageQuery 鍒嗛〉鍙傛暟 - * @return 淇濆吇鏍囧噯鍒嗛〉鍒楄〃 - */ - TableDataInfo<EimsMaintStandVo> queryPageList(EimsMaintStandBo bo, PageQuery pageQuery); - - /** - * 鏌ヨ绗﹀悎鏉′欢鐨勪繚鍏绘爣鍑嗗垪琛� - * - * @param bo 鏌ヨ鏉′欢 - * @return 淇濆吇鏍囧噯鍒楄〃 - */ - List<EimsMaintStandVo> queryList(EimsMaintStandBo bo); - - /** - * 鏂板淇濆吇鏍囧噯 - * - * @param bo 淇濆吇鏍囧噯 - * @return 鏄惁鏂板鎴愬姛 - */ - Boolean insertByBo(EimsMaintStandBo bo); - - /** - * 淇敼淇濆吇鏍囧噯 - * - * @param bo 淇濆吇鏍囧噯 - * @return 鏄惁淇敼鎴愬姛 - */ - Boolean updateByBo(EimsMaintStandBo 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/impl/EimsMaintOrderServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java index 988fc92..472878a 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 @@ -15,13 +15,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; -import org.dromara.eims.domain.EimsMaintOrditm; -import org.dromara.eims.domain.EimsMaintStand; -import org.dromara.eims.domain.vo.EimsMaintPlanVo; -import org.dromara.eims.domain.vo.EimsMaintStandVo; -import org.dromara.eims.domain.vo.EimsRepairResVo; -import org.dromara.eims.mapper.EimsMaintOrditmMapper; -import org.dromara.eims.mapper.EimsMaintStandMapper; + import org.dromara.system.domain.SysDept; import org.dromara.system.domain.vo.SysDeptVo; import org.dromara.system.mapper.SysDeptMapper; @@ -49,10 +43,8 @@ public class EimsMaintOrderServiceImpl implements IEimsMaintOrderService, MaintOrderService { private final EimsMaintOrderMapper baseMapper; - private final EimsMaintOrditmMapper orditmMapper; private final SysDeptMapper sysDeptMapper; - private final EimsMaintStandMapper standMapper; /** * 鏌ヨ淇濆吇宸ュ崟 * @@ -168,21 +160,6 @@ if (flag) { bo.setId(add.getId()); - //鐢熸垚淇濆吇鏄庣粏 - Long equId = bo.getEquId(); - List<EimsMaintStandVo> standList = standMapper.selectVoList(new LambdaQueryWrapper<EimsMaintStand>().eq(EimsMaintStand::getEquId, equId)); - //TODO 娌℃湁淇濆吇椤癸紝娣诲姞寮傚父璁板綍 - for (int j = 0; j < standList.size(); j++) { - EimsMaintStandVo stand = standList.get(j); - EimsMaintOrditm itm = new EimsMaintOrditm(); - itm.setOrderId(bo.getId()); - itm.setEquId(equId); - itm.setItmName(stand.getName()); - itm.setItmAction(stand.getStand()); - itm.setItmUser(bo.getMaintUser()); - orditmMapper.insert(itm); - } - } return flag; } @@ -200,17 +177,6 @@ EimsMaintOrder update = MapstructUtils.convert(bo, EimsMaintOrder.class); EimsMaintOrder old = baseMapper.selectById(bo.getId()); - - // 淇濆吇鐘舵�佸彉鏇村緟瀹℃牳鏃堕渶瑕佹牎楠屼繚鍏婚」鏁版嵁 - if(old.getStatus().equals(DictConstants.MAINT_ORDER_STATUS_DETAIL.BAOYANG)&&bo.getStatus().equals(DictConstants.MAINT_ORDER_STATUS_DETAIL.DAIYANZHENG)){ - LambdaQueryWrapper<EimsMaintOrditm> itmQueryWrapper = Wrappers.lambdaQuery(); - itmQueryWrapper.eq(EimsMaintOrditm::getOrderId, bo.getId()); - List<EimsMaintOrditm> eimsMaintOrditms = orditmMapper.selectList(itmQueryWrapper); - List<EimsMaintOrditm> wwc = eimsMaintOrditms.stream().filter(item->!item.getStatus().equals(DictConstants.EIMS_ORDITM_STATUS_DETAIL.YIWANCHENG)).toList(); - if(!wwc.isEmpty()){ - return false; - } - } validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrditmServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrditmServiceImpl.java deleted file mode 100644 index b3dfde2..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrditmServiceImpl.java +++ /dev/null @@ -1,170 +0,0 @@ -package org.dromara.eims.service.impl; - -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.EimsMaintOrder; -import org.dromara.eims.mapper.EimsMaintOrderMapper; -import org.springframework.stereotype.Service; -import org.dromara.eims.domain.bo.EimsMaintOrditmBo; -import org.dromara.eims.domain.vo.EimsMaintOrditmVo; -import org.dromara.eims.domain.EimsMaintOrditm; -import org.dromara.eims.mapper.EimsMaintOrditmMapper; -import org.dromara.eims.service.IEimsMaintOrditmService; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Collection; - -/** - * 宸ュ崟鏉$洰Service涓氬姟灞傚鐞� - * - * @author zhuguifei - * @date 2025-03-10 - */ -@RequiredArgsConstructor -@Service -public class EimsMaintOrditmServiceImpl implements IEimsMaintOrditmService { - - private final EimsMaintOrditmMapper baseMapper; - private final EimsMaintOrderMapper orderMapper; - - /** - * 鏌ヨ宸ュ崟鏉$洰 - * - * @param id 涓婚敭 - * @return 宸ュ崟鏉$洰 - */ - @Override - public EimsMaintOrditmVo queryById(Long id){ - return baseMapper.selectVoById(id); - } - - /** - * 鍒嗛〉鏌ヨ宸ュ崟鏉$洰鍒楄〃 - * - * @param bo 鏌ヨ鏉′欢 - * @param pageQuery 鍒嗛〉鍙傛暟 - * @return 宸ュ崟鏉$洰鍒嗛〉鍒楄〃 - */ - @Override - public TableDataInfo<EimsMaintOrditmVo> queryPageList(EimsMaintOrditmBo bo, PageQuery pageQuery) { - LambdaQueryWrapper<EimsMaintOrditm> lqw = buildQueryWrapper(bo); - Page<EimsMaintOrditmVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 鏌ヨ绗﹀悎鏉′欢鐨勫伐鍗曟潯鐩垪琛� - * - * @param bo 鏌ヨ鏉′欢 - * @return 宸ュ崟鏉$洰鍒楄〃 - */ - @Override - public List<EimsMaintOrditmVo> queryList(EimsMaintOrditmBo bo) { - LambdaQueryWrapper<EimsMaintOrditm> lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper<EimsMaintOrditm> buildQueryWrapper(EimsMaintOrditmBo bo) { - Map<String, Object> params = bo.getParams(); - LambdaQueryWrapper<EimsMaintOrditm> lqw = Wrappers.lambdaQuery(); - lqw.eq(bo.getOrderId() != null, EimsMaintOrditm::getOrderId, bo.getOrderId()); - lqw.eq(bo.getEquId() != null, EimsMaintOrditm::getEquId, bo.getEquId()); - lqw.like(StringUtils.isNotBlank(bo.getItmName()), EimsMaintOrditm::getItmName, bo.getItmName()); - lqw.eq(StringUtils.isNotBlank(bo.getItmAction()), EimsMaintOrditm::getItmAction, bo.getItmAction()); - lqw.eq(bo.getItmUser() != null, EimsMaintOrditm::getItmUser, bo.getItmUser()); - lqw.eq(bo.getItmTime() != null, EimsMaintOrditm::getItmTime, bo.getItmTime()); - lqw.eq(StringUtils.isNotBlank(bo.getStatus()), EimsMaintOrditm::getStatus, bo.getStatus()); - return lqw; - } - - /** - * 鏂板宸ュ崟鏉$洰 - * - * @param bo 宸ュ崟鏉$洰 - * @return 鏄惁鏂板鎴愬姛 - */ - @Override - public Boolean insertByBo(EimsMaintOrditmBo bo) { - EimsMaintOrditm add = MapstructUtils.convert(bo, EimsMaintOrditm.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 淇敼宸ュ崟鏉$洰 - * - * @param bo 宸ュ崟鏉$洰 - * @return 鏄惁淇敼鎴愬姛 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public Boolean updateByBo(EimsMaintOrditmBo bo) { - EimsMaintOrditm update = MapstructUtils.convert(bo, EimsMaintOrditm.class); - // 瀹屾垚宸ュ崟鏄庣粏鍚屾淇敼宸ュ崟鐘舵�� - //1.绗竴娆″畬鎴愪繚鍏诲伐鍗曟槑缁嗘妸淇濆吇宸ュ崟鐘舵�佷慨鏀逛负 淇濆吇涓� - Long orderId = bo.getOrderId(); - EimsMaintOrder order = orderMapper.selectById(orderId); - if(bo.getStatus().equals(DictConstants.EIMS_ORDITM_STATUS_DETAIL.YIWANCHENG)){ - //娌℃湁瀹屾垚鏃堕棿鑷姩娣诲姞瀹屾垚鏃堕棿 - if(bo.getItmTime()==null){ - update.setItmTime(new Date()); - } - if(order.getStatus().equals(DictConstants.MAINT_ORDER_STATUS_DETAIL.DAIBAOYANG)){ - order.setStatus(DictConstants.MAINT_ORDER_STATUS_DETAIL.BAOYANG); - if(order.getStartTime()==null){ - order.setStartTime(new Date()); - } - orderMapper.updateById(order); - } - } - validEntityBeforeSave(update); - boolean flag = baseMapper.updateById(update) > 0; - //2.鏌ヨ鎵�鏈変繚鍏婚」鏄惁閮藉凡瀹屾垚 - LambdaQueryWrapper<EimsMaintOrditm> queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(EimsMaintOrditm::getOrderId, bo.getOrderId()); - List<EimsMaintOrditm> eimsMaintOrditms = baseMapper.selectList(queryWrapper); - List<EimsMaintOrditm> wwc = eimsMaintOrditms.stream().filter(item->!item.getStatus().equals(DictConstants.EIMS_ORDITM_STATUS_DETAIL.YIWANCHENG)).toList(); - if(wwc.isEmpty()){ - order.setStatus(DictConstants.MAINT_ORDER_STATUS_DETAIL.DAIYANZHENG); - orderMapper.updateById(order); - } - - return flag; - } - - /** - * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 - */ - private void validEntityBeforeSave(EimsMaintOrditm 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/EimsMaintStandServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStandServiceImpl.java deleted file mode 100644 index d1e76d2..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStandServiceImpl.java +++ /dev/null @@ -1,135 +0,0 @@ -package org.dromara.eims.service.impl; - -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.springframework.stereotype.Service; -import org.dromara.eims.domain.bo.EimsMaintStandBo; -import org.dromara.eims.domain.vo.EimsMaintStandVo; -import org.dromara.eims.domain.EimsMaintStand; -import org.dromara.eims.mapper.EimsMaintStandMapper; -import org.dromara.eims.service.IEimsMaintStandService; - -import java.util.List; -import java.util.Map; -import java.util.Collection; - -/** - * 淇濆吇鏍囧噯Service涓氬姟灞傚鐞� - * - * @author zhuguifei - * @date 2025-03-04 - */ -@RequiredArgsConstructor -@Service -public class EimsMaintStandServiceImpl implements IEimsMaintStandService { - - private final EimsMaintStandMapper baseMapper; - - /** - * 鏌ヨ淇濆吇鏍囧噯 - * - * @param id 涓婚敭 - * @return 淇濆吇鏍囧噯 - */ - @Override - public EimsMaintStandVo queryById(Long id){ - return baseMapper.selectVoById(id); - } - - /** - * 鍒嗛〉鏌ヨ淇濆吇鏍囧噯鍒楄〃 - * - * @param bo 鏌ヨ鏉′欢 - * @param pageQuery 鍒嗛〉鍙傛暟 - * @return 淇濆吇鏍囧噯鍒嗛〉鍒楄〃 - */ - @Override - public TableDataInfo<EimsMaintStandVo> queryPageList(EimsMaintStandBo bo, PageQuery pageQuery) { - LambdaQueryWrapper<EimsMaintStand> lqw = buildQueryWrapper(bo); - Page<EimsMaintStandVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 鏌ヨ绗﹀悎鏉′欢鐨勪繚鍏绘爣鍑嗗垪琛� - * - * @param bo 鏌ヨ鏉′欢 - * @return 淇濆吇鏍囧噯鍒楄〃 - */ - @Override - public List<EimsMaintStandVo> queryList(EimsMaintStandBo bo) { - LambdaQueryWrapper<EimsMaintStand> lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper<EimsMaintStand> buildQueryWrapper(EimsMaintStandBo bo) { - Map<String, Object> params = bo.getParams(); - LambdaQueryWrapper<EimsMaintStand> lqw = Wrappers.lambdaQuery(); - lqw.eq(bo.getEquId() != null, EimsMaintStand::getEquId, bo.getEquId()); - lqw.eq(bo.getEquTypeId() != null, EimsMaintStand::getEquTypeId, bo.getEquTypeId()); - lqw.like(StringUtils.isNotBlank(bo.getAssetNo()), EimsMaintStand::getAssetNo, bo.getAssetNo()); - lqw.like(StringUtils.isNotBlank(bo.getEquName()), EimsMaintStand::getEquName, bo.getEquName()); - lqw.like(StringUtils.isNotBlank(bo.getModelNo()), EimsMaintStand::getModelNo, bo.getModelNo()); - lqw.like(StringUtils.isNotBlank(bo.getName()), EimsMaintStand::getName, bo.getName()); - lqw.like(StringUtils.isNotBlank(bo.getStand()), EimsMaintStand::getStand, bo.getStand()); - return lqw; - } - - /** - * 鏂板淇濆吇鏍囧噯 - * - * @param bo 淇濆吇鏍囧噯 - * @return 鏄惁鏂板鎴愬姛 - */ - @Override - public Boolean insertByBo(EimsMaintStandBo bo) { - EimsMaintStand add = MapstructUtils.convert(bo, EimsMaintStand.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 淇敼淇濆吇鏍囧噯 - * - * @param bo 淇濆吇鏍囧噯 - * @return 鏄惁淇敼鎴愬姛 - */ - @Override - public Boolean updateByBo(EimsMaintStandBo bo) { - EimsMaintStand update = MapstructUtils.convert(bo, EimsMaintStand.class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; - } - - /** - * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 - */ - private void validEntityBeforeSave(EimsMaintStand 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/resources/mapper/eims/EimsMaintOrderMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderMapper.xml index e320526..5497c48 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderMapper.xml +++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderMapper.xml @@ -7,6 +7,7 @@ </resultMap> <select id="selectMaintOrderList" resultMap="EimsMaintOrderResult"> SELECT mo.*,equ.equ_name equName,equ.equ_code equCode,equ.asset_no assetNo,equ.model_no modelNo,mo.create_time createTime, + pl.maint_name maintName, us.nick_name maintUserName,dp.dept_name maintDeptName,ue.nick_name verifyUserName, CONCAT_WS('', mo.maint_cycle, dd.dict_label) maintCycleUnitName FROM eims_maint_order mo @@ -14,6 +15,7 @@ LEFT JOIN sys_user us ON mo.maint_user = us.user_id LEFT JOIN sys_user ue ON mo.verify_user = ue.user_id LEFT JOIN sys_dept dp ON mo.maint_dept = dp.dept_id + LEFT JOIN eims_maint_plan pl ON pl.id = mo.plan_id LEFT JOIN sys_dict_data dd on dd.dict_type = 'maint_cycle_unit' and dd.dict_value = mo.maint_cycle_unit ${ew.getCustomSqlSegment} </select> diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrditmMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrditmMapper.xml deleted file mode 100644 index 0fe9238..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrditmMapper.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.EimsMaintOrditmMapper"> - -</mapper> diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintStandMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintStandMapper.xml deleted file mode 100644 index 92692fa..0000000 --- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintStandMapper.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.EimsMaintStandMapper"> - -</mapper> -- Gitblit v1.9.3