From f571cf0182abd65176fb1512c5cb5ddaea49c4a3 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期二, 24 六月 2025 09:00:14 +0800
Subject: [PATCH] feat(eims): 设备状态变更记录功能
---
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintPlanMapper.java | 5
eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsEquStatuMapper.xml | 36 +++
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsEquStatuBo.java | 9
eims-ui-mobile/src/service/equ_status.d.ts | 98 ++++++++
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/MaintPlanToOrderJob.java | 24 +-
eims-ui-mobile/src/pages/inspect/insp-st.vue | 8
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsEquStatu.java | 10
eims/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java | 2
eims-ui-mobile/src/service/equ_status.ts | 48 ++++
eims-ui-mobile/src/types/uni-pages.d.ts | 2
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/InspectPlanToRecordJob.java | 12
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquStatuServiceImpl.java | 31 ++
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectPlanMapper.java | 5
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java | 8
eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectPlanMapper.xml | 6
eims-ui-mobile/src/service/equ.ts | 2
eims-ui-mobile/src/pages/repair/res-detail.vue | 29 ++
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsEquStatuMapper.java | 6
eims-ui-mobile/src/pages/maint/maint-st.vue | 8
eims-ui-mobile/src/pages/equ-status/list.vue | 174 ++++++++++++++
eims-ui-mobile/src/pages/scan/index.vue | 145 ++++++++++-
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsEquStatuVo.java | 19 +
eims-ui-mobile/src/pages.json | 4
eims-ui-mobile/src/pages/home/index.vue | 16
eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintPlanMapper.xml | 6
25 files changed, 645 insertions(+), 68 deletions(-)
diff --git a/eims-ui-mobile/src/pages.json b/eims-ui-mobile/src/pages.json
index b5a08ca..422d7ec 100644
--- a/eims-ui-mobile/src/pages.json
+++ b/eims-ui-mobile/src/pages.json
@@ -83,6 +83,10 @@
}
},
{
+ "path": "pages/equ-status/list",
+ "type": "page"
+ },
+ {
"path": "pages/fixture/fixture-list",
"type": "page",
"layout": "default",
diff --git a/eims-ui-mobile/src/pages/equ-status/list.vue b/eims-ui-mobile/src/pages/equ-status/list.vue
new file mode 100644
index 0000000..1ce91e1
--- /dev/null
+++ b/eims-ui-mobile/src/pages/equ-status/list.vue
@@ -0,0 +1,174 @@
+<template>
+ <view class="bg-base">
+
+ <z-paging ref="paging" v-model="dataList" @query="queryList" class="bg-base">
+ <template #top>
+ <wd-search v-model="searchValue" placeholder="璁惧鍚嶇О/璧勪骇缂栧彿" @search="reloadData" />
+ <wd-tabs v-model="activeTab" @change="handleTabChange">
+ <wd-tab title="寰呯‘璁�"></wd-tab>
+ <wd-tab title="宸插悓鎰�"></wd-tab>
+ <wd-tab title="宸查┏鍥�"></wd-tab>
+ </wd-tabs>
+ </template>
+ <view v-for="item in dataList" :key="item.equStatuId" class="mb-2" >
+ <wd-card type="rectangle">
+ <template #title>
+ <view class="flex justify-between items-center menu-title-box">
+ <view class="flex items-center">
+ <view class="menu-indicator"></view>
+ <text class="ml-1 text-sm">{{ item.equName || '-' }}</text>
+ <text class="ml-2 text-color-gray text-mini">{{ item.assetNo || '-' }}</text>
+ </view>
+ <wd-tag v-if="item.orderStatus === '0'" type="warning">寰呯‘璁�</wd-tag>
+ <wd-tag v-else-if="item.orderStatus === '1'" type="success">宸插悓鎰�</wd-tag>
+ <wd-tag v-else type="error">宸查┏鍥�</wd-tag>
+ </view>
+ </template>
+ <view class="flex h-[200rpx] items-center">
+ <image class="slot-img text-center" src="/static/images/camera.png" />
+ <view class="flex-1">
+ <view class="text-color-base mt-1">鍙樻洿鍓嶏細{{ statusText(item.beforeChange) }} 鈫� 鍙樻洿鍚庯細{{ statusText(item.afterChange) }}</view>
+ <view class="text-color-gray text-sm mt-1">鍙樻洿鍘熷洜锛歿{ item.changeDesc }}</view>
+ <view class="text-color-gray text-sm mt-1">鍙樻洿鏃堕棿锛歿{ item.changeDate || '-' }}</view>
+ <view class="text-color-gray text-sm mt-1">鍙樻洿浜猴細{{ item.changeUserName || '-' }}</view>
+ <view v-if="item.orderStatus === '2' && item.remark" class="text-color-error text-sm mt-1">椹冲洖鐞嗙敱锛歿{ item.remark }}</view>
+ </view>
+ <view v-if="item.orderStatus === '0' && isEquAdmin()" class="flex flex-col gap-2 ml-2">
+ <wd-button size="small" type="success" @click="handleAgree(item)">鍚屾剰</wd-button>
+ <wd-button size="small" type="error" @click="openReject(item)">椹冲洖</wd-button>
+ </view>
+ </view>
+ </wd-card>
+ </view>
+ </z-paging>
+ <wd-popup v-model="showReject" position="center" round :close-on-click-modal="false">
+ <view class="popup-container">
+ <view class="popup-title">濉啓椹冲洖鐞嗙敱</view>
+ <wd-textarea v-model="rejectReason" placeholder="璇疯緭鍏ラ┏鍥炵悊鐢�" :maxlength="100" show-word-limit required />
+ <view class="popup-actions">
+ <wd-button block @click="showReject = false">鍙栨秷</wd-button>
+ <wd-button type="error" block class="ml-2" @click="handleRejectConfirm">纭畾</wd-button>
+ </view>
+ </view>
+ </wd-popup>
+ </view>
+</template>
+<script setup lang="ts">
+import { ref } from 'vue'
+import { getEquStatuList, updateEquStatu } from '@/service/equ_status'
+import { useToast } from 'wot-design-uni'
+import { isEquAdmin } from "@/utils/RoleUtils";
+const toast = useToast()
+const searchValue = ref('')
+const activeTab = ref(0)
+const dataList = ref<any[]>([])
+const paging = ref()
+const showReject = ref(false)
+const rejectReason = ref('')
+const rejectItem = ref<any>(null)
+
+const statusMap = [
+ { label: '璇曠敤', value: '0' },
+ { label: '浣跨敤', value: '1' },
+ { label: '鍋滅敤', value: '2' },
+ { label: '鎶ュ簾', value: '3' },
+ { label: '闂茬疆', value: '4' },
+ { label: '鏂板', value: '5' },
+]
+function statusText(val: string) {
+ return statusMap.find((s) => s.value === val)?.label || '-'
+}
+function handleTabChange({ index }) {
+ activeTab.value = index
+ reloadData()
+}
+function reloadData() {
+ paging.value.reload()
+}
+function queryList(pageNum?: number, pageSize?: number) {
+ const params: any = {
+ pageNum,
+ pageSize,
+ params: {
+ searchValue: searchValue.value,
+ },
+ orderStatus: String(activeTab.value),
+ }
+ getEquStatuList(params).then((res: any) => {
+ paging.value.completeByTotal(res.rows, res.total)
+ }).catch(() => {
+ paging.value.complete(false)
+ })
+}
+function handleAgree(item: any) {
+ updateEquStatu({
+ equStatuId: item.equStatuId,
+ orderStatus: '1',
+ remark: '',
+ }).then(() => {
+ toast.success('鎿嶄綔鎴愬姛')
+ reloadData()
+ })
+}
+function openReject(item: any) {
+ rejectItem.value = item
+ rejectReason.value = ''
+ showReject.value = true
+}
+function handleRejectConfirm() {
+ if (!rejectReason.value.trim()) {
+ toast.info('璇峰~鍐欓┏鍥炵悊鐢�')
+ return
+ }
+ updateEquStatu({
+ equStatuId: rejectItem.value.equStatuId,
+ orderStatus: '2',
+ remark: rejectReason.value,
+ }).then(() => {
+ toast.success('宸查┏鍥�')
+ showReject.value = false
+ reloadData()
+ })
+}
+</script>
+<style scoped lang="scss">
+.menu-title-box {
+}
+.slot-img {
+ width: 72rpx;
+ height: 72rpx;
+ margin-right: 24rpx;
+}
+.text-mini {
+ font-size: 24rpx;
+}
+.menu-indicator {
+ width: 6rpx;
+ height: 26rpx;
+ border-radius: 10rpx;
+ background-color: $uni-color-primary;
+}
+:deep(.wd-card__footer) {
+ padding: 10rpx !important;
+}
+:deep(.wd-card__title-content) {
+ padding: 24rpx 0 !important;
+}
+.popup-container {
+ width: 600rpx;
+ background: #fff;
+ border-radius: 16rpx;
+ padding: 32rpx 24rpx 24rpx 24rpx;
+}
+.popup-title {
+ font-size: 32rpx;
+ font-weight: bold;
+ text-align: center;
+ margin-bottom: 24rpx;
+}
+.popup-actions {
+ display: flex;
+ margin-top: 24rpx;
+ gap: 16rpx;
+}
+</style>
diff --git a/eims-ui-mobile/src/pages/home/index.vue b/eims-ui-mobile/src/pages/home/index.vue
index bcc1faa..c4e42ed 100644
--- a/eims-ui-mobile/src/pages/home/index.vue
+++ b/eims-ui-mobile/src/pages/home/index.vue
@@ -108,7 +108,7 @@
<template #title>
<view class="flex items-center menu-title-box">
<view class="menu-indicator"></view>
- <view class="ml-1 text-sm">璁惧绠$悊</view>
+ <view class="ml-1 text-sm">鐐规淇濆吇</view>
</view>
</template>
<wd-grid :column="4">
@@ -130,7 +130,7 @@
<template #title>
<view class="flex items-center menu-title-box">
<view class="menu-indicator"></view>
- <view class="ml-1 text-sm">鍙拌处鐩稿叧</view>
+ <view class="ml-1 text-sm">璁惧鍙板笎</view>
</view>
</template>
<wd-grid :column="4">
@@ -257,10 +257,16 @@
},
{
id: 2,
- name: '宸ュ叿鍒楄〃',
- icon: '/static/ico/ico16.png',
- path: 'pages/fixture/fixture-list',
+ name: '鐘舵�佸彉鏇磋褰�',
+ icon: '/static/ico/ico15.png',
+ path: 'pages/equ-status/list',
},
+ // {
+ // id: 2,
+ // name: '宸ュ叿鍒楄〃',
+ // icon: '/static/ico/ico16.png',
+ // path: 'pages/fixture/fixture-list',
+ // },
])
const inspectMenu = reactive([
diff --git a/eims-ui-mobile/src/pages/inspect/insp-st.vue b/eims-ui-mobile/src/pages/inspect/insp-st.vue
index f761004..928022b 100644
--- a/eims-ui-mobile/src/pages/inspect/insp-st.vue
+++ b/eims-ui-mobile/src/pages/inspect/insp-st.vue
@@ -57,12 +57,12 @@
<view class="text-color-gray text-sm mt-2 flex">
<text>鐘舵�侊細</text>
<template v-if="item.status === '1'">
- <wd-icon class="icon-color-success" name="check-outline" size="34rpx"></wd-icon>
- <text class="ml-1">宸插畬鎴�</text>
+ <wd-icon class="icon-color-warning" name="check-outline" size="34rpx"></wd-icon>
+ <text class="ml-1">寰呯‘璁�</text>
</template>
<template v-else-if="item.status === '2'">
- <wd-icon class="icon-color-warning" name="check-outline" size="34rpx"></wd-icon>
- <text class="ml-1">宸茬‘璁�</text>
+ <wd-icon class="icon-color-success" name="check-outline" size="34rpx"></wd-icon>
+ <text class="ml-1">宸插畬鎴�</text>
</template>
<template v-else>
<wd-icon class="icon-color-base" name="detection" size="40rpx"></wd-icon>
diff --git a/eims-ui-mobile/src/pages/maint/maint-st.vue b/eims-ui-mobile/src/pages/maint/maint-st.vue
index 5e01de6..6a61c61 100644
--- a/eims-ui-mobile/src/pages/maint/maint-st.vue
+++ b/eims-ui-mobile/src/pages/maint/maint-st.vue
@@ -67,12 +67,12 @@
<view class="text-color-gray text-sm mt-2 flex">
<text>鐘舵�侊細</text>
<template v-if="item.status === '1'">
- <wd-icon class="icon-color-success" name="check-outline" size="34rpx"></wd-icon>
- <text class="ml-1">宸插畬鎴�</text>
+ <wd-icon class="icon-color-warning" name="check-outline" size="34rpx"></wd-icon>
+ <text class="ml-1">寰呯‘璁�</text>
</template>
<template v-else-if="item.status === '2'">
- <wd-icon class="icon-color-warning" name="check-outline" size="34rpx"></wd-icon>
- <text class="ml-1">宸茬‘璁�</text>
+ <wd-icon class="icon-color-success" name="check-outline" size="34rpx"></wd-icon>
+ <text class="ml-1">宸插畬鎴�</text>
</template>
<template v-else>
<wd-icon class="icon-color-base" name="detection" size="40rpx"></wd-icon>
diff --git a/eims-ui-mobile/src/pages/repair/res-detail.vue b/eims-ui-mobile/src/pages/repair/res-detail.vue
index 73f7f0e..14aff27 100644
--- a/eims-ui-mobile/src/pages/repair/res-detail.vue
+++ b/eims-ui-mobile/src/pages/repair/res-detail.vue
@@ -150,15 +150,18 @@
</view>
<!-- 缁翠慨璇存槑鍖哄煙 -->
<view class="mt-2 flex justify-end">
- <wd-button type="success" style="margin: 20px" @click.stop="addSparePart()">
+ <wd-button type="info" style="margin: 20px" @click.stop="addSparePart()">
娣诲姞澶囦欢
</wd-button>
</view>
<view class="h-[2px] w-full bg-base"></view>
</wd-cell-group>
</wd-form>
-<!-- <wd-button style="margin: 20px" block @click="handleClickRight">鎻愪氦</wd-button>-->
- <view class="h-[20px] w-full bg-base"></view>
+ <view class="h-[5px] w-full bg-base"></view>
+ <view class=" flex justify-around py-4">
+ <wd-button block @click="saveOrder">淇濆瓨</wd-button>
+ <wd-button type="success" block @click="submitOrder">鎻愪氦</wd-button>
+ </view>
</view>
<!-- 澶囦欢閫夋嫨寮瑰嚭灞� -->
@@ -323,7 +326,7 @@
function handleClickRight(data: any) {
message
.confirm({
- msg: '纭畾鎻愪氦锛�',
+ msg: '纭畾' + (data.status === '3' ? '鎻愪氦' : '淇濆瓨') + '锛�',
title: '鎻愮ず',
beforeConfirm: ({ resolve }) => {
hanldeUpdateRepairRes(data, resolve)
@@ -335,6 +338,24 @@
})
}
+function submitOrder() {
+ const data = Object.assign({}, repairRes)
+ // 鎻愪氦淇敼鐘舵�佷负瀹屾垚
+ data.status = '3'
+ // 璁剧疆缁翠慨瀹屾垚鏃堕棿
+ data.endTime = formatDate(new Date())
+ handleClickRight(data)
+}
+
+function saveOrder() {
+ const data = Object.assign({}, repairRes)
+ // 浠呬繚瀛樹笉淇敼鐘舵�佷负瀹屾垚
+ data.status = '2'
+ // 浠呬繚瀛樹笉璁剧疆瀹屾垚鏃堕棿
+ data.endTime = ''
+ handleClickRight(data)
+}
+
onNavigationBarButtonTap((e) => {
if (e.index === 0) {
// 绠$悊鍛樿鑹�
diff --git a/eims-ui-mobile/src/pages/scan/index.vue b/eims-ui-mobile/src/pages/scan/index.vue
index d8fca76..55f889a 100644
--- a/eims-ui-mobile/src/pages/scan/index.vue
+++ b/eims-ui-mobile/src/pages/scan/index.vue
@@ -25,11 +25,11 @@
<wd-tag v-else-if="model.status === '2'" class="ml-2" type="danger">鍋滅敤</wd-tag>
<wd-tag v-else-if="model.status === '3'" class="ml-2" bg-color="pink">鎶ュ簾</wd-tag>
<wd-tag v-else-if="model.status === '4'" class="ml-2" type="warning">闂茬疆</wd-tag>
- <wd-tag v-else-if="model.status === '5'" class="ml-2">鏂板</wd-tag>
+ <wd-tag v-else class="ml-2">鏂板</wd-tag>
</view>
<view @click="handleInfo">
- <text class="icon-color-base">璇︽儏</text>
+ <text class="icon-color-base">鐘舵�佸彉鏇�</text>
<wd-icon name="arrow-right" custom-class="icon-color-base"></wd-icon>
</view>
</view>
@@ -103,6 +103,33 @@
@select="select"
cancel-text="鍙栨秷"
/>
+
+ <wd-popup v-model="showStatusDialog" position="center" round :close-on-click-modal="false">
+ <view class="popup-container">
+ <view class="popup-title">璁惧鐘舵�佸彉鏇�</view>
+ <view class="flex flex-wrap justify-between mb-4">
+ <view
+ v-for="item in statusOptions"
+ :key="item.value"
+ :class="['status-option', selectedStatus === item.value ? 'active' : '']"
+ @click="selectStatus(item.value)"
+ >
+ {{ item.label }}
+ </view>
+ </view>
+ <wd-textarea
+ v-model="changeReason"
+ placeholder="璇疯緭鍏ュ彉鏇村師鍥�"
+ :maxlength="100"
+ show-word-limit
+ required
+ />
+ <view class="popup-actions">
+ <wd-button block @click="handleStatusChangeCancel">鍙栨秷</wd-button>
+ <wd-button type="primary" block class="ml-2" @click="handleStatusChangeConfirm">纭畾</wd-button>
+ </view>
+ </view>
+ </wd-popup>
</view>
<view v-else>
<wd-status-tip image="search" tip="褰撳墠鎼滅储鏃犵粨鏋�" />
@@ -122,6 +149,8 @@
import ReqCard from '@/components/repair/req-card.vue'
import ResCard from '@/components/repair/res-card.vue'
import { useUserStore } from '@/store'
+import { addEquStatu } from '@/service/equ_status'
+import type { EimsEquStatuBo } from '@/service/equ_status.d'
const tab = ref<number>(0)
const message = useMessage()
const toast = useToast()
@@ -140,6 +169,17 @@
name: '鍘荤淮淇�',
},
])
+const showStatusDialog = ref(false)
+const selectedStatus = ref<string>('')
+const changeReason = ref<string>('')
+const statusOptions = [
+ { label: '璇曠敤', value: '0' },
+ { label: '浣跨敤', value: '1' },
+ { label: '鍋滅敤', value: '2' },
+ { label: '鎶ュ簾', value: '3' },
+ { label: '闂茬疆', value: '4' },
+ { label: '鏂板', value: '5' },
+]
function initData(assetNo: any) {
getEquByAssetNo(assetNo)
@@ -192,10 +232,14 @@
}
function handleInfo() {
- uni.showToast({
- title: '鍔熻兘寮�鍙戜腑',
- icon: 'none',
- })
+ if (!model?.equId) {
+ uni.showToast({ title: '鏈煡璇㈠埌璁惧锛岃鑱旂郴绠$悊鍛橈紒', icon: 'none' })
+ return
+ }
+ console.log("model::",model)
+ selectedStatus.value = model.status || '5'
+ changeReason.value = ''
+ showStatusDialog.value = true
}
function handleInsp() {
@@ -273,20 +317,50 @@
break
}
}
-;`/pages/repair/req-list`,
- // 澶勭悊缁翠慨璇锋眰鐐瑰嚮浜嬩欢
- function handleReqClick(item) {
- uni.navigateTo({
- url: `/pages/repair/req-detail?id=${item.id}`,
- })
- }
-// // 澶勭悊缁翠慨鍗曠偣鍑讳簨浠�
-// function handleResClick(item) {
-// uni.navigateTo({
-// url: `/pages/repair/res-detail?id=${item.id}`,
-// })
-// }
+// 澶勭悊缁翠慨璇锋眰鐐瑰嚮浜嬩欢
+function handleReqClick(item) {
+ uni.navigateTo({
+ url: `/pages/repair/req-detail?id=${item.id}`,
+ })
+}
+
+defineExpose({ handleReqClick })
+
+function selectStatus(val: string) {
+ selectedStatus.value = val
+}
+
+function handleStatusChangeCancel() {
+ showStatusDialog.value = false
+}
+
+async function handleStatusChangeConfirm() {
+ if (!selectedStatus.value) {
+ uni.showToast({ title: '璇烽�夋嫨璁惧鐘舵��', icon: 'none' })
+ return
+ }
+ if (!changeReason.value.trim()) {
+ uni.showToast({ title: '璇峰~鍐欏彉鏇村師鍥�', icon: 'none' })
+ return
+ }
+ const params: EimsEquStatuBo = {
+ equId: model.equId,
+ beforeChange: model.status,
+ afterChange: selectedStatus.value,
+ changeDesc: changeReason.value,
+ orderStatus: '0',
+ }
+ try {
+ await addEquStatu(params)
+ uni.showToast({ title: '鎻愪氦鎴愬姛锛屽緟绠$悊鍛樼‘璁�', icon: 'success' })
+ showStatusDialog.value = false
+ // 鍙�夛細鍒锋柊璁惧淇℃伅
+ initData(model.assetNo)
+ } catch (e) {
+ uni.showToast({ title: '鎻愪氦澶辫触', icon: 'none' })
+ }
+}
onLoad((options) => {
uni.$on('list-refresh', loadRepairData)
@@ -324,4 +398,37 @@
:deep(.wd-card__title-content) {
padding: 16rpx 0 !important;
}
+.status-option {
+ display: inline-block;
+ padding: 10rpx 24rpx;
+ margin: 8rpx 8rpx 8rpx 0;
+ border-radius: 8rpx;
+ border: 1px solid #eee;
+ background: #f7f7f7;
+ color: #666;
+ cursor: pointer;
+}
+.status-option.active {
+ background: $uni-color-primary;
+ color: #fff;
+ border-color: $uni-color-primary;
+}
+.popup-container {
+ width: 600rpx;
+ background: #fff;
+ border-radius: 16rpx;
+ padding: 32rpx 24rpx 24rpx 24rpx;
+}
+.popup-title {
+ font-size: 32rpx;
+ font-weight: bold;
+ text-align: center;
+ margin-bottom: 24rpx;
+}
+.popup-actions {
+ display: flex;
+ margin-top: 24rpx;
+ gap: 16rpx;
+ justify-content: space-around;
+}
</style>
diff --git a/eims-ui-mobile/src/service/equ.ts b/eims-ui-mobile/src/service/equ.ts
index e510589..2991e12 100644
--- a/eims-ui-mobile/src/service/equ.ts
+++ b/eims-ui-mobile/src/service/equ.ts
@@ -15,3 +15,5 @@
export const getEquByAssetNo = (assetNo: string) => {
return http.get<EquVO>(`/eims/equ/info/${assetNo}`)
}
+
+
diff --git a/eims-ui-mobile/src/service/equ_status.d.ts b/eims-ui-mobile/src/service/equ_status.d.ts
new file mode 100644
index 0000000..8cc7ea8
--- /dev/null
+++ b/eims-ui-mobile/src/service/equ_status.d.ts
@@ -0,0 +1,98 @@
+export interface EimsEquStatuVO {
+ /**
+ * 璁惧鐘舵�佽褰昳d
+ */
+ equStatuId?: number | string;
+
+ /**
+ * 璁惧id
+ */
+ equId?: number | string;
+
+ /**
+ * 鍙樻洿鍓嶇姸鎬�
+ */
+ beforeChange?: string;
+
+ /**
+ * 鍙樻洿鍚庣姸鎬�
+ */
+ afterChange?: string;
+
+ /**
+ * 鍙樻洿鏃ユ湡
+ */
+ changeDate?: string;
+
+ /**
+ * 鍙樻洿浜�
+ */
+ changeUser?: number | string;
+
+ /**
+ * 鍙樻洿浜洪儴闂�
+ */
+ userDept?: number | string;
+
+ /**
+ * 鍙樻洿鎻忚堪
+ */
+ changeDesc?: string;
+
+ /**
+ * 鎻忚堪
+ */
+ remark?: string;
+
+ /**
+ * 纭浜�
+ */
+ confirmor?: number | string;
+
+ /**
+ * 鍙樻洿鍗曠姸鎬侊紙0-鐢宠锛�1-鍚屾剰锛�2-椹冲洖锛�
+ */
+ orderStatus?: string;
+}
+
+export interface EimsEquStatuBo {
+ /**
+ * 璁惧鐘舵�佽褰昳d
+ */
+ equStatuId?: number | string;
+
+ /**
+ * 璁惧id
+ */
+ equId?: number | string;
+
+ /**
+ * 鍙樻洿鍓嶇姸鎬�
+ */
+ beforeChange?: string;
+
+ /**
+ * 鍙樻洿鍚庣姸鎬�
+ */
+ afterChange?: string;
+
+ /**
+ * 鍙樻洿鏃ユ湡
+ */
+ changeDate?: string;
+
+ /**
+ * 鍙樻洿鎻忚堪
+ */
+ changeDesc?: string;
+
+ /**
+ * 鎻忚堪
+ */
+ remark?: string;
+
+ /**
+ * 鍙樻洿鍗曠姸鎬侊紙0-鐢宠锛�1-鍚屾剰锛�2-椹冲洖锛�
+ */
+ orderStatus?: string;
+}
\ No newline at end of file
diff --git a/eims-ui-mobile/src/service/equ_status.ts b/eims-ui-mobile/src/service/equ_status.ts
new file mode 100644
index 0000000..85e8e16
--- /dev/null
+++ b/eims-ui-mobile/src/service/equ_status.ts
@@ -0,0 +1,48 @@
+import { http } from '@/utils/http'
+import type { EimsEquStatuVO, EimsEquStatuBo } from './equ_status.d'
+
+/**
+ * 鏌ヨ璁惧鐘舵�佽褰曞垪琛�
+ */
+export const getEquStatuList = (params: EimsEquStatuBo & { pageNum?: number; pageSize?: number }) => {
+ return http.get<{ rows: EimsEquStatuVO[], total: number }>('/eims/equStatu/list', params)
+}
+
+/**
+ * 鑾峰彇璁惧鐘舵�佽褰曡缁嗕俊鎭�
+ * @param equStatuId 涓婚敭
+ */
+export const getEquStatuInfo = (equStatuId: number | string) => {
+ return http.get<EimsEquStatuVO>(`/eims/equStatu/${equStatuId}`)
+}
+
+/**
+ * 鏂板璁惧鐘舵�佽褰�
+ */
+export const addEquStatu = (data: EimsEquStatuBo) => {
+ return http.post('/eims/equStatu', data)
+}
+
+/**
+ * 淇敼璁惧鐘舵�佽褰�
+ */
+export const updateEquStatu = (data: EimsEquStatuBo) => {
+ return http.put('/eims/equStatu', data)
+}
+
+/**
+ * 鍒犻櫎璁惧鐘舵�佽褰�
+ * @param equStatuIds 涓婚敭涓�
+ */
+export const deleteEquStatu = (equStatuIds: (number | string)[]) => {
+ return http.delete(`/eims/equStatu/${equStatuIds.join(',')}`)
+}
+
+/**
+ * 瀵煎嚭璁惧鐘舵�佽褰曞垪琛�
+ */
+export const exportEquStatu = (params: EimsEquStatuBo) => {
+ return http.post('/eims/equStatu/export', params, {
+ responseType: 'blob'
+ })
+}
\ No newline at end of file
diff --git a/eims-ui-mobile/src/types/uni-pages.d.ts b/eims-ui-mobile/src/types/uni-pages.d.ts
index 68e1709..470679c 100644
--- a/eims-ui-mobile/src/types/uni-pages.d.ts
+++ b/eims-ui-mobile/src/types/uni-pages.d.ts
@@ -7,6 +7,7 @@
url: "/pages/home/index" |
"/pages/equ/equ-list" |
"/pages/equ/index" |
+ "/pages/equ-status/list" |
"/pages/fixture/fixture-list" |
"/pages/inspect/insp-add" |
"/pages/inspect/insp-record" |
@@ -16,6 +17,7 @@
"/pages/maint/maint-st" |
"/pages/maint/order-detail" |
"/pages/my/index" |
+ "/pages/my/password" |
"/pages/repair/repair-add" |
"/pages/repair/repair-fb" |
"/pages/repair/req-detail" |
diff --git a/eims/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java b/eims/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
index 5734b09..6df200b 100644
--- a/eims/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
+++ b/eims/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
@@ -10,7 +10,7 @@
* @author Lion Li
*/
-@SpringBootApplication(scanBasePackages={"org.dromara", "cn.shlanbao"})
+@SpringBootApplication(scanBasePackages={"org.dromara"})
public class DromaraApplication {
public static void main(String[] args) {
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsEquStatu.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsEquStatu.java
index 9bbd13b..38b07ca 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsEquStatu.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsEquStatu.java
@@ -69,5 +69,15 @@
*/
private String remark;
+ /**
+ * 纭浜�
+ */
+ private Long confirmor;
+
+ /**
+ * 鍙樻洿鍗曠姸鎬侊紙0-鐢宠锛�1-鍚屾剰锛�2-椹冲洖锛�
+ */
+ private String orderStatus;
+
}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsEquStatuBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsEquStatuBo.java
index 2851e41..dd1efa4 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsEquStatuBo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsEquStatuBo.java
@@ -60,7 +60,6 @@
/**
* 鍙樻洿鎻忚堪
*/
- @NotBlank(message = "鍙樻洿鎻忚堪涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
private String changeDesc;
/**
@@ -68,5 +67,13 @@
*/
private String remark;
+ /**
+ * 纭浜�
+ */
+ private Long confirmor;
+ /**
+ * 鍙樻洿鍗曠姸鎬侊紙0-鐢宠锛�1-鍚屾剰锛�2-椹冲洖锛�
+ */
+ private String orderStatus;
}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsEquStatuVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsEquStatuVo.java
index 3f5d8c7..a602de9 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsEquStatuVo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsEquStatuVo.java
@@ -47,8 +47,10 @@
/**
* 璁惧鍚嶇О
*/
- @Translation(type = TransConstant.EQU_ID_TO_NAME, mapper = "equId")
private String equName;
+
+
+ private String assetNo;
/**
* 鍙樻洿鍓嶇姸鎬�
@@ -96,4 +98,19 @@
private String remark;
+ /**
+ * 纭浜�
+ */
+ private Long confirmor;
+
+
+ @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "confirmor")
+ private String confirmorName;
+
+ /**
+ * 鍙樻洿鍗曠姸鎬侊紙0-鐢宠锛�1-鍚屾剰锛�2-椹冲洖锛�
+ */
+ private String orderStatus;
+
+
}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/InspectPlanToRecordJob.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/InspectPlanToRecordJob.java
index e5d8f1e..8c1822b 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/InspectPlanToRecordJob.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/InspectPlanToRecordJob.java
@@ -4,6 +4,7 @@
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
import com.aizuda.snailjob.client.model.ExecuteResult;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
@@ -43,19 +44,20 @@
@SneakyThrows
@Transactional(rollbackFor = Exception.class)
public ExecuteResult jobExecute(JobArgs jobArgs) {
- // 鑾峰彇浠婂ぉ鏃ユ湡
- Date today = new Date();
- LambdaQueryWrapper<EimsInspectPlan> planBoQueryWrapper = Wrappers.lambdaQuery();
+ QueryWrapper<EimsInspectPlan> planBoQueryWrapper = Wrappers.query();
// 鏌ヨ鍚敤鐨勭偣妫�璁″垝
- planBoQueryWrapper.eq(EimsInspectPlan::getStatus, DictConstants.SYS_NORMAL_DISABLE_DETAIL.NORMAL);
+ planBoQueryWrapper.eq("ip.status", DictConstants.SYS_NORMAL_DISABLE_DETAIL.NORMAL)
+ .eq("equ.status", DictConstants.EIMS_EQU_STATUS_DETAIL.SHIYONG);
+ // 澧炲姞杩囨护鏉′欢 涓婃鐢熸垚鏃ユ湡灏忎簬褰撳墠鏃ユ湡
+ planBoQueryWrapper.and(wrapper -> wrapper.eq("ip.insp_next_time", DateUtils.getDate()).or().isNull("ip.insp_next_time"));
// // 杩囨护娌℃湁涓嬫杩愯鏃堕棿
// planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspNextTime);
// // 杩囨护娌℃湁鐐规鍛ㄦ湡鐨勬暟鎹�
// planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspCycle);
// planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspCycleUnit);
- List<EimsInspectPlanVo> planVoList = planMapper.selectVoList(planBoQueryWrapper);
+ List<EimsInspectPlanVo> planVoList = planMapper.selectVoListJoinEqu(planBoQueryWrapper);
for (int i = 0; i < planVoList.size(); i++) {
EimsInspectPlanVo planVo = planVoList.get(i);
// // 鐐规璁″垝add鐨勬椂鍊欎細鑷姩鐢熸垚涓嬫杩愯鏃堕棿
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 ca5e691..12d35eb 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
@@ -4,6 +4,7 @@
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
import com.aizuda.snailjob.client.model.ExecuteResult;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
@@ -40,17 +41,19 @@
// 鑾峰彇浠婂ぉ鏃ユ湡
Date today = new Date();
- LambdaQueryWrapper<EimsMaintPlan> planBoQueryWrapper = Wrappers.lambdaQuery();
+ QueryWrapper<EimsMaintPlan> planBoQueryWrapper = Wrappers.query();
// 鏌ヨ鍚敤鐨勪繚鍏昏鍒�
- planBoQueryWrapper.eq(EimsMaintPlan::getStatus, DictConstants.SYS_NORMAL_DISABLE_DETAIL.NORMAL);
- // 杩囨护娌℃湁涓嬫杩愯鏃堕棿
- planBoQueryWrapper.isNotNull(EimsMaintPlan::getMaintNextTime);
- // 杩囨护娌℃湁淇濆吇鍛ㄦ湡鐨勬暟鎹�
- planBoQueryWrapper.isNotNull(EimsMaintPlan::getMaintCycle);
- planBoQueryWrapper.isNotNull(EimsMaintPlan::getMaintCycleUnit);
- planBoQueryWrapper.isNotNull(EimsMaintPlan::getMaintRule);
- List<EimsMaintPlanVo> planVoList = planMapper.selectVoList(planBoQueryWrapper);
+ planBoQueryWrapper.eq("mp.status", DictConstants.SYS_NORMAL_DISABLE_DETAIL.NORMAL);
+ planBoQueryWrapper .eq("equ.status", DictConstants.EIMS_EQU_STATUS_DETAIL.SHIYONG);
+ // 杩囨护涓嬫杩愯鏃堕棿绛変簬褰撳ぉ鏃堕棿鐨�
+ planBoQueryWrapper.eq("mp.maint_next_time", DateUtils.getDate());
+ // 杩囨护娌℃湁淇濆吇鍛ㄦ湡鐨勬暟鎹�
+ planBoQueryWrapper.isNotNull("mp.maint_cycle");
+ planBoQueryWrapper.isNotNull("mp.maint_cycle_unit");
+ planBoQueryWrapper.isNotNull("mp.maint_rule");
+
+ List<EimsMaintPlanVo> planVoList = planMapper.selectVoListJoinEqu(planBoQueryWrapper);
for (int i = 0; i < planVoList.size(); i++) {
EimsMaintPlanVo planVo = planVoList.get(i);
// 淇濆吇璁″垝add鐨勬椂鍊欎細鑷姩鐢熸垚涓嬫杩愯鏃堕棿
@@ -63,9 +66,6 @@
// 璁$畻鐢熸垚宸ュ崟鏃堕棿
Long maintCycle = planVo.getMaintCycle();
- String maintRule = planVo.getMaintRule();
- Date firstTime = planVo.getMaintFirstTime();
- Date lastTime = planVo.getMaintLastTime();
Date newNext = null;
String maintCycleUnit = planVo.getMaintCycleUnit();
switch (maintCycleUnit) {
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsEquStatuMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsEquStatuMapper.java
index 6f8ef36..482cd32 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsEquStatuMapper.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsEquStatuMapper.java
@@ -1,8 +1,12 @@
package org.dromara.eims.mapper;
import org.dromara.eims.domain.EimsEquStatu;
+import org.dromara.eims.domain.bo.EimsEquStatuBo;
import org.dromara.eims.domain.vo.EimsEquStatuVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.apache.ibatis.annotations.Param;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import java.util.List;
/**
* 璁惧鐘舵�佽褰昅apper鎺ュ彛
@@ -12,4 +16,6 @@
*/
public interface EimsEquStatuMapper extends BaseMapperPlus<EimsEquStatu, EimsEquStatuVo> {
+ List<EimsEquStatuVo> selectEquStatuPage(@Param("bo") EimsEquStatuBo bo, @Param("pageQuery") PageQuery pageQuery);
+
}
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
index 5845888..12ed638 100644
--- 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
@@ -1,12 +1,15 @@
package org.dromara.eims.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
+
+import java.util.List;
/**
* 鐐规璁″垝Mapper鎺ュ彛
@@ -16,4 +19,6 @@
*/
public interface EimsInspectPlanMapper extends BaseMapperPlus<EimsInspectPlan, EimsInspectPlanVo> {
Page<EimsInspectPlanVo> selectInspPlanList(@Param("page") Page<EimsInspectPlanVo> page, @Param(Constants.WRAPPER) Wrapper<EimsInspectPlan> queryWrapper);
+
+ List<EimsInspectPlanVo> selectVoListJoinEqu(@Param(Constants.WRAPPER) Wrapper<EimsInspectPlan> queryWrapper);
}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintPlanMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintPlanMapper.java
index 63d5e4d..03b3a82 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintPlanMapper.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsMaintPlanMapper.java
@@ -1,14 +1,18 @@
package org.dromara.eims.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.EimsInspectPlan;
import org.dromara.eims.domain.EimsMaintPlan;
import org.dromara.eims.domain.EimsRepairReq;
import org.dromara.eims.domain.vo.EimsMaintPlanVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.eims.domain.vo.EimsRepairReqVo;
+
+import java.util.List;
/**
* 淇濆吇璁″垝Mapper鎺ュ彛
@@ -19,4 +23,5 @@
public interface EimsMaintPlanMapper extends BaseMapperPlus<EimsMaintPlan, EimsMaintPlanVo> {
Page<EimsMaintPlanVo> selectMaintPlanList(@Param("page") Page<EimsMaintPlanVo> page, @Param(Constants.WRAPPER) Wrapper<EimsMaintPlan> queryWrapper);
+ List<EimsMaintPlanVo> selectVoListJoinEqu(@Param(Constants.WRAPPER) Wrapper<EimsMaintPlan> queryWrapper);
}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquStatuServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquStatuServiceImpl.java
index 160f7dd..2d00b78 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquStatuServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquStatuServiceImpl.java
@@ -1,5 +1,7 @@
package org.dromara.eims.service.impl;
+import org.dromara.common.core.domain.model.LoginUser;
+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;
@@ -8,6 +10,7 @@
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.springframework.stereotype.Service;
import org.dromara.eims.domain.bo.EimsEquStatuBo;
@@ -15,6 +18,9 @@
import org.dromara.eims.domain.EimsEquStatu;
import org.dromara.eims.mapper.EimsEquStatuMapper;
import org.dromara.eims.service.IEimsEquStatuService;
+import org.dromara.eims.service.IEimsEquService;
+import org.dromara.eims.domain.bo.EimsEquBo;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
@@ -31,6 +37,7 @@
public class EimsEquStatuServiceImpl implements IEimsEquStatuService {
private final EimsEquStatuMapper baseMapper;
+ private final IEimsEquService equService;
/**
* 鏌ヨ璁惧鐘舵�佽褰�
@@ -52,9 +59,11 @@
*/
@Override
public TableDataInfo<EimsEquStatuVo> queryPageList(EimsEquStatuBo bo, PageQuery pageQuery) {
- LambdaQueryWrapper<EimsEquStatu> lqw = buildQueryWrapper(bo);
- Page<EimsEquStatuVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
- return TableDataInfo.build(result);
+ // 浣跨敤鑷畾涔塖QL瀹炵幇璁惧鐘舵�佷笌璁惧琛ㄧ殑妯$硦鍏宠仈鍒嗛〉鏌ヨ
+ Page<EimsEquStatuVo> page = pageQuery.build();
+ List<EimsEquStatuVo> list = baseMapper.selectEquStatuPage(bo, pageQuery);
+ page.setRecords(list);
+ return TableDataInfo.build(page);
}
/**
@@ -89,7 +98,11 @@
*/
@Override
public Boolean insertByBo(EimsEquStatuBo bo) {
+ // 鑾峰彇鐧诲綍鐢ㄦ埛
+ LoginUser loginUser = LoginHelper.getLoginUser();
EimsEquStatu add = MapstructUtils.convert(bo, EimsEquStatu.class);
+ add.setChangeUser(loginUser.getUserId());
+ add.setChangeDate(DateUtils.getNowDate());
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
@@ -105,10 +118,20 @@
* @return 鏄惁淇敼鎴愬姛
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public Boolean updateByBo(EimsEquStatuBo bo) {
EimsEquStatu update = MapstructUtils.convert(bo, EimsEquStatu.class);
validEntityBeforeSave(update);
- return baseMapper.updateById(update) > 0;
+ boolean result = baseMapper.updateById(update) > 0;
+ // 鍚屾剰鏃跺悓姝ヨ澶囩姸鎬�
+ if ("1".equals(String.valueOf(bo.getOrderStatus()))) {
+ EimsEquStatuVo vo = baseMapper.selectVoById(bo.getEquStatuId());
+ EimsEquBo equBo = new EimsEquBo();
+ equBo.setEquId(vo.getEquId());
+ equBo.setStatus(vo.getAfterChange());
+ equService.updateByBo(equBo);
+ }
+ return result;
}
/**
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
index 00410e6..e8e6f60 100644
--- 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
@@ -132,20 +132,12 @@
@Override
public TableDataInfo<EimsInspectStVo> queryPageList(EimsInspectStBo bo, PageQuery pageQuery) {
bo.setType(bo.getViewMode());
- // 鏈堣鍥�
-// if(bo.getViewMode().equals("Month")){
QueryWrapper<EimsInspectSt> qw = buildWrapper(bo);
Page<EimsInspectStVo> result = baseMapper.selectInspStList(pageQuery.build(), qw);
// 濉厖鏁版嵁
fillStData(result,bo.getViewMode());
return TableDataInfo.build(result);
- // 鏃ヨ鍥�
-// }else if(bo.getViewMode().equals("Day")){
-// Page<EimsInspectStVo> result = recordMapper.selectInspRecordDayList(pageQuery.build(), buildGroupWrapper(bo));
-// return TableDataInfo.build(result);
-// }
-// return null;
}
/**
diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsEquStatuMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsEquStatuMapper.xml
index 8aa61f8..5b58638 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsEquStatuMapper.xml
+++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsEquStatuMapper.xml
@@ -4,4 +4,40 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.eims.mapper.EimsEquStatuMapper">
+ <resultMap type="org.dromara.eims.domain.vo.EimsEquStatuVo" id="EquStatuVoResult">
+ </resultMap>
+
+ <select id="selectEquStatuPage" resultMap="EquStatuVoResult">
+ SELECT s.*, e.equ_name AS equName, e.asset_no AS assetNo
+ FROM eims_equ_statu s
+ LEFT JOIN eims_equ e ON s.equ_id = e.equ_id
+ <where>
+ <if test="bo.equId != null">
+ AND s.equ_id = #{bo.equId}
+ </if>
+ <if test="bo.beforeChange != null and bo.beforeChange != ''">
+ AND s.before_change = #{bo.beforeChange}
+ </if>
+ <if test="bo.afterChange != null and bo.afterChange != ''">
+ AND s.after_change = #{bo.afterChange}
+ </if>
+ <if test="bo.changeUser != null">
+ AND s.change_user = #{bo.changeUser}
+ </if>
+ <if test="bo.orderStatus != null and bo.orderStatus != ''">
+ AND s.order_status = #{bo.orderStatus}
+ </if>
+ <if test="bo.params != null and bo.params.beginTime != null and bo.params.endTime != null">
+ AND s.change_date BETWEEN #{bo.params.beginTime} AND #{bo.params.endTime}
+ </if>
+ <if test="bo.params != null and bo.params.searchValue != null and bo.params.searchValue != ''">
+ AND (
+ e.equ_name LIKE CONCAT('%', #{bo.params.searchValue}, '%')
+ OR e.asset_no LIKE CONCAT('%', #{bo.params.searchValue}, '%')
+ )
+ </if>
+ </where>
+ ORDER BY s.change_date DESC
+ </select>
+
</mapper>
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
index dda9e29..d76df5c 100644
--- 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
@@ -16,4 +16,10 @@
LEFT JOIN sys_dict_data dd on dd.dict_type = 'maint_cycle_unit' and dd.dict_value = ip.insp_cycle_unit
${ew.getCustomSqlSegment}
</select>
+ <select id="selectVoListJoinEqu" resultType="org.dromara.eims.domain.vo.EimsInspectPlanVo">
+ SELECT ip.*
+ FROM eims_inspect_plan ip
+ LEFT JOIN eims_equ equ ON ip.equ_id = equ.equ_id
+ ${ew.getCustomSqlSegment}
+ </select>
</mapper>
diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintPlanMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintPlanMapper.xml
index 0987499..71250c7 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintPlanMapper.xml
+++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintPlanMapper.xml
@@ -16,4 +16,10 @@
LEFT JOIN sys_dict_data dd on dd.dict_type = 'maint_cycle_unit' and dd.dict_value = mp.maint_cycle_unit
${ew.getCustomSqlSegment}
</select>
+ <select id="selectVoListJoinEqu" resultType="org.dromara.eims.domain.vo.EimsMaintPlanVo">
+ SELECT mp.*
+ FROM eims_maint_plan mp
+ LEFT JOIN eims_equ equ ON mp.equ_id = equ.equ_id
+ ${ew.getCustomSqlSegment}
+ </select>
</mapper>
--
Gitblit v1.9.3