From 363208403f2076fef350a7feaf236e6153f982be Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 10 一月 2025 09:19:28 +0800
Subject: [PATCH] Merge branch '2.0.1' of http://139.186.142.91:10010/r/productDev/funingyunwei into 2.0.1
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java | 207 ++-
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java | 22
admin/src/views/stock/check.vue | 135 ++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwQuickModelCloudController.java | 90 +
admin/src/views/stock/in.vue | 138 ++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProblemMapper.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomContractDataVO.java | 36
admin/package-lock.json | 160 +-
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwQuickModelService.java | 97 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java | 7
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java | 16
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java | 7
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java | 4
admin/src/views/stock/components/CateEdit.vue | 74 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProblem.java | 52
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WorkbenchesService.java | 22
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java | 5
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java | 201 +++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MonthDataResponse.java | 27
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwMaterialServiceImpl.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwQuickModelMapper.java | 13
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java | 6
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java | 5
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java | 8
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwQuickModel.java | 71 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java | 7
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java | 17
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwFloorStatusDataVO.java | 34
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java | 5
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java | 5
admin/src/views/stock/out.vue | 138 ++
admin/src/views/stock/assetList.vue | 140 ++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java | 1
admin/src/views/stock/record.vue | 150 ++
admin/src/views/stock/asset.vue | 133 ++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/YwWorkorderDataDTO.java | 25
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java | 9
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProblemController.java | 31
admin/src/views/stock/assetCate.vue | 109 ++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java | 17
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwMaterial.java | 8
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java | 21
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceCateDataVO.java | 28
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java | 44
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java | 16
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomStatusDataVO.java | 43
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProblemService.java | 8
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceParentCateDataVO.java | 29
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java | 8
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwContractBillDataVO.java | 34
server/db/business.yw_quick_model.permissions.sql | 6
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java | 116 ++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwWorkorderDataVO.java | 30
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java | 58 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceStatusDataVO.java | 28
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwQuickModelServiceImpl.java | 142 ++
admin/src/views/stock/query.vue | 132 ++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java | 165 +++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java | 32
60 files changed, 2,992 insertions(+), 187 deletions(-)
diff --git a/admin/package-lock.json b/admin/package-lock.json
index 4adea74..6d328d1 100644
--- a/admin/package-lock.json
+++ b/admin/package-lock.json
@@ -2915,63 +2915,6 @@
"integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
"dev": true
},
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "optional": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "optional": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "optional": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "optional": true
- },
- "loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "optional": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
"ssri": {
"version": "8.0.1",
"resolved": "https://registry.npm.taobao.org/ssri/download/ssri-8.0.1.tgz?cache=0&sync_timestamp=1617826515595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-8.0.1.tgz",
@@ -2979,28 +2922,6 @@
"dev": true,
"requires": {
"minipass": "^3.1.1"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "optional": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "vue-loader-v16": {
- "version": "npm:vue-loader@16.8.3",
- "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
- "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
- "dev": true,
- "optional": true,
- "requires": {
- "chalk": "^4.1.0",
- "hash-sum": "^2.0.0",
- "loader-utils": "^2.0.0"
}
}
}
@@ -15821,6 +15742,87 @@
}
}
},
+ "vue-loader-v16": {
+ "version": "npm:vue-loader@16.8.3",
+ "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
+ "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "hash-sum": "^2.0.0",
+ "loader-utils": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "optional": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "optional": true
+ },
+ "loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
"vue-property-decorator": {
"version": "8.5.1",
"resolved": "https://registry.npmjs.org/vue-property-decorator/-/vue-property-decorator-8.5.1.tgz",
diff --git a/admin/src/views/stock/asset.vue b/admin/src/views/stock/asset.vue
new file mode 100644
index 0000000..61d0ab4
--- /dev/null
+++ b/admin/src/views/stock/asset.vue
@@ -0,0 +1,133 @@
+<template>
+ <div class="main_app">
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" />
+ <div class="mt20">
+ <el-button type="primary" @click="handleEx()" v-permissions="['business:ywpatrolline:create']">鏂板</el-button>
+ </div>
+ <el-table v-loading="loading" :data="list" stripe>
+ <el-table-column prop="platformName" label="浠撳簱鍚嶇О" min-width="120" show-overflow-tooltip />
+ <el-table-column prop="platformGroupName" label="璐熻矗浜�" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeFront" label="浠撳簱浣嶇疆" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeBack" label="鎺掑簭鐮�" min-width="110" show-overflow-tooltip />
+ <el-table-column prop="param1" label="澶囨敞" min-width="120" show-overflow-tooltip />
+ <el-table-column prop="param2" label="鐘舵��" min-width="90" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="鎿嶄綔" min-width="100" show-overflow-tooltip>
+ <template v-slot="{row}">
+ <span class="primaryColor pointer">鏌ョ湅璇︽儏</span>
+ <span class="red pointer">鍒犻櫎</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="mt20">
+ <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+ </div>
+ </div>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
+import dayjs from 'dayjs'
+import duration from 'dayjs/plugin/duration'
+dayjs.extend(duration)
+import { platformLogPage, getPlatformGroupList } from '@/api'
+export default {
+ components: {
+ Pagination,
+ QueryForm
+ },
+ data() {
+ return {
+ loading: false,
+ pagination: {
+ pageSize: 10,
+ page: 1,
+ total: 0
+ },
+ filters: {},
+ list: [],
+ total: 0,
+ queryFormConfig: {
+ formItems: [
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '浠撳簱鍚嶇О',
+ },
+ {
+ filed: 'platformGroupId',
+ type: 'select',
+ label: '浠撳簱鐘舵��',
+ options: []
+ }
+ ],
+ online: true
+ }
+ }
+ },
+ created() {
+ // this.getList()
+ // this.getGroupList()
+ },
+ methods: {
+ handleSub() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ alert('submit!')
+ }
+ })
+ },
+ handleEx() { },
+ getGroupList() {
+ getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => {
+ this.queryFormConfig.formItems[1].options = res.map(i => {
+ return {
+ value: i.id,
+ label: i.name
+ }
+ })
+ // this.queryFormConfig.formItems[1].options.unshift({ value: '', label: '鍏ㄩ儴鏈堝彴缁�' })
+ })
+ },
+ getList(page) {
+ const { pagination, filters } = this
+ this.loading = true
+ platformLogPage({
+ model: {
+ ...filters,
+ queryStatus: '6,7,8',
+ beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
+ beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
+ },
+ sorts: [{ direction: 'DESC', property: 'param1' }],
+ capacity: pagination.pageSize,
+ page: page || pagination.page,
+ }).then(res => {
+ this.loading = false
+ this.list = res.records || []
+ this.list.forEach(item => {
+ item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
+ item.taskOrigin = 'WMS鑾峰彇'
+ item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�')
+ })
+ this.pagination.total = res.total || 0
+ }, () => {
+ this.loading = false
+ })
+ },
+ clear() {
+ this.filters = {}
+ this.pagination.pageSize = 10
+ this.pagination.page = 1
+ this.getList()
+ },
+ handleSizeChange(capacity) {
+ this.pagination.pageSize = capacity
+ }
+ }
+}
+</script>
+
+<style>
+
+</style>
diff --git a/admin/src/views/stock/assetCate.vue b/admin/src/views/stock/assetCate.vue
new file mode 100644
index 0000000..375678f
--- /dev/null
+++ b/admin/src/views/stock/assetCate.vue
@@ -0,0 +1,109 @@
+<template>
+ <TableLayout>
+ <template v-slot:table-wrap>
+ <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']">
+ <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus"
+ v-permissions="['business:category:create']">鏂板缓</el-button></li>
+ <li v-permissions="['business:category:exportExcel']"><el-button type="primary"
+ @click="exportExcel">瀵煎嚭</el-button></li>
+ </ul>
+ <el-table row-key="id" :tree-props="{ children: 'childCategoryList' }" v-loading="isWorking.search"
+ :data="dataList" stripe @selection-change="handleSelectionChange">
+ <el-table-column prop="name" label="璧勪骇鍒嗙被" min-width="100px"></el-table-column>
+ <!-- <el-table-column prop="parentName" label="鎵�灞炲垎绫�" min-width="100px"></el-table-column> -->
+ <el-table-column prop="sortnum" label="鎺掑簭鐮�" min-width="100px"></el-table-column>
+ <el-table-column v-if="containPermissions(['business:category:update', 'business:category:delete'])" label="鎿嶄綔"
+ min-width="120" fixed="right">
+ <template slot-scope="{row}">
+ <el-button type="text" @click="handleEdit(row)" icon="el-icon-edit"
+ v-permissions="['business:category:update']">缂栬緫</el-button>
+ <el-button type="text" @click="deleteById(row)" icon="el-icon-delete"
+ v-permissions="['business:category:delete']">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="tableData.pagination">
+ </pagination>
+ </template>
+ <!-- 鏂板缓/淇敼 -->
+ <CateEdit v-if="isShowEdit" @close="isShowEdit = false" ref="CateEditRef" @success="getList" />
+ </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import CateEdit from './components/CateEdit.vue'
+import { fetchList, deleteById } from '@/api/business/category.js'
+export default {
+ name: 'Category',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, CateEdit },
+ data() {
+ return {
+ // 鎼滅储
+ filters: {
+ parentId: ''
+ },
+ isShowEdit: false,
+ loading: false,
+ pagination: {
+ pageSize: 10,
+ page: 1,
+ total: 0,
+ },
+ dataList: []
+ }
+ },
+ created() {
+ this.config({
+ module: '杞﹁締淇℃伅琛�',
+ api: '/business/category',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.getList()
+ },
+ methods: {
+ handleEdit(row) {
+ this.isShowEdit = true
+ let str = row && row.id ? '缂栬緫璧勪骇鍒嗙被' : '鏂板缓璧勪骇鍒嗙被'
+ this.$nextTick(() => {
+ this.$refs.CateEditRef.open(str)
+ this.$refs.CateEditRef.getList()
+ if (row && row.id) {
+ this.$refs.CateEditRef.getDetail(row.id)
+ }
+ })
+ },
+ deleteById(row) {
+ this.$confirm(`鎮ㄧ‘璁よ鍒犻櫎璇ュ垎绫诲悧`, '娓╅Θ鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ deleteById(row.id).then(res => {
+ this.getList()
+ })
+ })
+
+ },
+ getList() {
+ const { pagination, filters } = this
+ this.loading = true
+ fetchList({
+ model: { ...filters, type: 5 },
+ capacity: pagination.pageSize,
+ page: pagination.page,
+ }).then(res => {
+ this.loading = false
+ this.dataList = res.records || []
+ this.pagination.total = res.total || 0
+ }, () => {
+ this.loading = false
+ })
+ },
+ }
+}
+</script>
diff --git a/admin/src/views/stock/assetList.vue b/admin/src/views/stock/assetList.vue
new file mode 100644
index 0000000..c5851ae
--- /dev/null
+++ b/admin/src/views/stock/assetList.vue
@@ -0,0 +1,140 @@
+<template>
+ <div class="main_app">
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" />
+ <div class="mt20">
+ <el-button type="primary" @click="handleEx()" v-permissions="['business:ywpatrolline:create']">鏂板</el-button>
+ </div>
+ <el-table v-loading="loading" :data="list" stripe>
+ <el-table-column prop="platformName" label="璧勪骇缂栫爜" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="platformGroupName" label="璧勪骇鍚嶇О" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeFront" label="鏉$爜" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeBack" label="鍝佺墝" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="param1" label="瑙勬牸鍨嬪彿" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="param2" label="鍗曚綅" min-width="70" show-overflow-tooltip />
+ <el-table-column prop="param2" label="瀹夊叏搴撳瓨(涓嬮檺)" min-width="120" show-overflow-tooltip />
+ <el-table-column prop="param2" label="瀹夊叏搴撳瓨(涓婇檺)" min-width="120" show-overflow-tooltip />
+ <el-table-column prop="param2" label="鐘舵��" min-width="80" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="鎿嶄綔" min-width="100" show-overflow-tooltip>
+ <template v-slot="{ row }">
+ <span class="primaryColor pointer">缂栬緫</span>
+ <span class="red pointer">鍒犻櫎</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="mt20">
+ <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+ </div>
+ </div>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
+import dayjs from 'dayjs'
+import duration from 'dayjs/plugin/duration'
+dayjs.extend(duration)
+import { platformLogPage, getPlatformGroupList } from '@/api'
+export default {
+ components: {
+ Pagination,
+ QueryForm
+ },
+ data() {
+ return {
+ loading: false,
+ pagination: {
+ pageSize: 10,
+ page: 1,
+ total: 0
+ },
+ filters: {},
+ list: [],
+ total: 0,
+ queryFormConfig: {
+ formItems: [
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '璧勪骇淇℃伅',
+ placeholder: '璇疯緭鍏ヨ祫浜у悕绉�/缂栫爜'
+ },
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '瑙勬牸鍨嬪彿',
+ },
+ {
+ filed: 'platformGroupId',
+ type: 'select',
+ label: '鎵�灞為」鐩�',
+ options: []
+ }
+ ],
+ online: true
+ }
+ }
+ },
+ created() {
+ // this.getList()
+ // this.getGroupList()
+ },
+ methods: {
+ handleSub() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ alert('submit!')
+ }
+ })
+ },
+ handleEx() { },
+ getGroupList() {
+ getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => {
+ this.queryFormConfig.formItems[1].options = res.map(i => {
+ return {
+ value: i.id,
+ label: i.name
+ }
+ })
+ // this.queryFormConfig.formItems[1].options.unshift({ value: '', label: '鍏ㄩ儴鏈堝彴缁�' })
+ })
+ },
+ getList(page) {
+ const { pagination, filters } = this
+ this.loading = true
+ platformLogPage({
+ model: {
+ ...filters,
+ queryStatus: '6,7,8',
+ beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
+ beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
+ },
+ sorts: [{ direction: 'DESC', property: 'param1' }],
+ capacity: pagination.pageSize,
+ page: page || pagination.page,
+ }).then(res => {
+ this.loading = false
+ this.list = res.records || []
+ this.list.forEach(item => {
+ item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
+ item.taskOrigin = 'WMS鑾峰彇'
+ item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�')
+ })
+ this.pagination.total = res.total || 0
+ }, () => {
+ this.loading = false
+ })
+ },
+ clear() {
+ this.filters = {}
+ this.pagination.pageSize = 10
+ this.pagination.page = 1
+ this.getList()
+ },
+ handleSizeChange(capacity) {
+ this.pagination.pageSize = capacity
+ }
+ }
+}
+</script>
+
+<style></style>
diff --git a/admin/src/views/stock/check.vue b/admin/src/views/stock/check.vue
new file mode 100644
index 0000000..86c05ec
--- /dev/null
+++ b/admin/src/views/stock/check.vue
@@ -0,0 +1,135 @@
+<template>
+ <div class="main_app">
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" />
+ <div class="mt20">
+ <el-button type="primary" @click="handleEx()" v-permissions="['business:ywpatrolline:create']">娣诲姞</el-button>
+ </div>
+ <el-table v-loading="loading" :data="list" stripe>
+ <el-table-column prop="platformName" label="鐩樼偣鍗曞悕绉�" min-width="120" show-overflow-tooltip />
+ <el-table-column prop="platformGroupName" label="鐩樼偣浠撳簱" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeFront" label="鐩樼偣鍛�" min-width="80" show-overflow-tooltip />
+ <el-table-column prop="carCodeBack" label="鐩樼偣鏃ユ湡" min-width="110" show-overflow-tooltip />
+ <el-table-column prop="param1" label="鍒涘缓浜�" min-width="80" show-overflow-tooltip />
+ <el-table-column prop="param2" label="鍒涘缓鏃堕棿" min-width="140" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="鐩樼偣鐘舵��" min-width="80" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="鎿嶄綔" min-width="140" show-overflow-tooltip>
+ <template v-slot="{row}">
+ <span class="primaryColor pointer">鏌ョ湅璇︽儏</span>
+ <span class="primaryColor pointer">鍙栨秷</span>
+ <span class="primaryColor pointer">鍒犻櫎</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="mt20">
+ <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+ </div>
+ </div>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
+import dayjs from 'dayjs'
+import duration from 'dayjs/plugin/duration'
+dayjs.extend(duration)
+import { platformLogPage, getPlatformGroupList } from '@/api'
+export default {
+ components: {
+ Pagination,
+ QueryForm
+ },
+ data() {
+ return {
+ loading: false,
+ pagination: {
+ pageSize: 10,
+ page: 1,
+ total: 0
+ },
+ filters: {},
+ list: [],
+ total: 0,
+ queryFormConfig: {
+ formItems: [
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '鐩樼偣鍗�',
+ },
+ {
+ filed: 'platformGroupId',
+ type: 'select',
+ label: '鐩樼偣鐘舵��',
+ options: []
+ },
+ ],
+ online: true
+ }
+ }
+ },
+ created() {
+ // this.getList()
+ // this.getGroupList()
+ },
+ methods: {
+ handleSub() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ alert('submit!')
+ }
+ })
+ },
+ handleEx() { },
+ getGroupList() {
+ getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => {
+ this.queryFormConfig.formItems[1].options = res.map(i => {
+ return {
+ value: i.id,
+ label: i.name
+ }
+ })
+ // this.queryFormConfig.formItems[1].options.unshift({ value: '', label: '鍏ㄩ儴鏈堝彴缁�' })
+ })
+ },
+ getList(page) {
+ const { pagination, filters } = this
+ this.loading = true
+ platformLogPage({
+ model: {
+ ...filters,
+ queryStatus: '6,7,8',
+ beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
+ beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
+ },
+ sorts: [{ direction: 'DESC', property: 'param1' }],
+ capacity: pagination.pageSize,
+ page: page || pagination.page,
+ }).then(res => {
+ this.loading = false
+ this.list = res.records || []
+ this.list.forEach(item => {
+ item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
+ item.taskOrigin = 'WMS鑾峰彇'
+ item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�')
+ })
+ this.pagination.total = res.total || 0
+ }, () => {
+ this.loading = false
+ })
+ },
+ clear() {
+ this.filters = {}
+ this.pagination.pageSize = 10
+ this.pagination.page = 1
+ this.getList()
+ },
+ handleSizeChange(capacity) {
+ this.pagination.pageSize = capacity
+ }
+ }
+}
+</script>
+
+<style>
+
+</style>
diff --git a/admin/src/views/stock/components/CateEdit.vue b/admin/src/views/stock/components/CateEdit.vue
new file mode 100644
index 0000000..a066862
--- /dev/null
+++ b/admin/src/views/stock/components/CateEdit.vue
@@ -0,0 +1,74 @@
+<template>
+ <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" width="600px" @close="close" @confirm="confirm">
+ <el-form :model="form" ref="form" :rules="rules">
+ <el-form-item label="鍒嗙被鍚嶇О" prop="name">
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ュ垎绫诲悕绉�" v-trim />
+ </el-form-item>
+ <el-form-item label="鎵�灞炲垎绫�" prop="parentId">
+ <el-select :disabled="form.id" v-model="form.parentId" placeholder="涓嶅~涓哄垯涓�绾у垎绫�">
+ <el-option v-for="op in dataList" :key="op.id" :label="op.name" :value="op.id"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎺掑簭鐮�(鍗囧簭)" prop="sortnum">
+ <el-input v-model="form.sortnum" oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 6)" v-trim />
+ </el-form-item>
+ </el-form>
+ </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { create, fetchCateList, getInfoById } from '@/api/business/category.js'
+export default {
+ name: 'OperaCategoryWindow',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data() {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ parentId: null,
+ name: '',
+ remark: '',
+ status: '',
+ sortnum: '',
+ type: 5
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ name: [
+ { required: true, message: '璇疯緭鍏ヤ簩绾у垎绫诲悕绉�', trigger: 'blur' }
+ ],
+ status: [
+ { required: true, message: '璇烽�夋嫨鏄惁鍚敤', trigger: 'change' }
+ ]
+ },
+ dataList: []
+ }
+ },
+ created() {
+ this.config({
+ api: '/business/category',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ getList() {
+ fetchCateList({ type: 5 }).then(res => {
+ this.dataList = res || []
+
+ })
+ },
+ close() {
+ this.visible = false
+ this.$emit('close')
+ },
+ getDetail(id) {
+ getInfoById(id).then(res => {
+ this.form = res
+ })
+ },
+ }
+}
+</script>
diff --git a/admin/src/views/stock/in.vue b/admin/src/views/stock/in.vue
index e69de29..e71d95d 100644
--- a/admin/src/views/stock/in.vue
+++ b/admin/src/views/stock/in.vue
@@ -0,0 +1,138 @@
+<template>
+ <div class="main_app">
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" />
+ <div class="mt20">
+ <el-button type="primary" @click="handleEx()" v-permissions="['business:ywpatrolline:create']">瀵煎嚭</el-button>
+ </div>
+ <el-table v-loading="loading" :data="list" stripe>
+ <el-table-column prop="platformName" label="鍑哄簱鍗曞彿" min-width="120" show-overflow-tooltip />
+ <el-table-column prop="platformGroupName" label="鍑哄簱浠撳簱" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeFront" label="鍑哄簱绫诲瀷" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeBack" label="鍑哄簱鏃ユ湡" min-width="110" show-overflow-tooltip />
+ <el-table-column prop="param1" label="鍑哄簱鏁伴噺" min-width="120" show-overflow-tooltip />
+ <el-table-column prop="param2" label="鎿嶄綔浜�" min-width="90" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="鎿嶄綔鏃堕棿" min-width="140" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="鎿嶄綔" min-width="80" show-overflow-tooltip>
+ <template v-slot="{row}">
+ <span class="primaryColor pointer">鏌ョ湅璇︽儏</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="mt20">
+ <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+ </div>
+ </div>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
+import dayjs from 'dayjs'
+import duration from 'dayjs/plugin/duration'
+dayjs.extend(duration)
+import { platformLogPage, getPlatformGroupList } from '@/api'
+export default {
+ components: {
+ Pagination,
+ QueryForm
+ },
+ data() {
+ return {
+ loading: false,
+ pagination: {
+ pageSize: 10,
+ page: 1,
+ total: 0
+ },
+ filters: {},
+ list: [],
+ total: 0,
+ queryFormConfig: {
+ formItems: [
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '鍑哄簱鍗曞彿',
+ },
+ {
+ filed: 'platformGroupId',
+ type: 'select',
+ label: '鎵�鍦ㄤ粨搴�',
+ options: []
+ },
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '鍑哄簱绫诲瀷',
+ },
+ ],
+ online: true
+ }
+ }
+ },
+ created() {
+ // this.getList()
+ // this.getGroupList()
+ },
+ methods: {
+ handleSub() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ alert('submit!')
+ }
+ })
+ },
+ handleEx() { },
+ getGroupList() {
+ getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => {
+ this.queryFormConfig.formItems[1].options = res.map(i => {
+ return {
+ value: i.id,
+ label: i.name
+ }
+ })
+ // this.queryFormConfig.formItems[1].options.unshift({ value: '', label: '鍏ㄩ儴鏈堝彴缁�' })
+ })
+ },
+ getList(page) {
+ const { pagination, filters } = this
+ this.loading = true
+ platformLogPage({
+ model: {
+ ...filters,
+ queryStatus: '6,7,8',
+ beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
+ beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
+ },
+ sorts: [{ direction: 'DESC', property: 'param1' }],
+ capacity: pagination.pageSize,
+ page: page || pagination.page,
+ }).then(res => {
+ this.loading = false
+ this.list = res.records || []
+ this.list.forEach(item => {
+ item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
+ item.taskOrigin = 'WMS鑾峰彇'
+ item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�')
+ })
+ this.pagination.total = res.total || 0
+ }, () => {
+ this.loading = false
+ })
+ },
+ clear() {
+ this.filters = {}
+ this.pagination.pageSize = 10
+ this.pagination.page = 1
+ this.getList()
+ },
+ handleSizeChange(capacity) {
+ this.pagination.pageSize = capacity
+ }
+ }
+}
+</script>
+
+<style>
+
+</style>
diff --git a/admin/src/views/stock/out.vue b/admin/src/views/stock/out.vue
index e69de29..e71d95d 100644
--- a/admin/src/views/stock/out.vue
+++ b/admin/src/views/stock/out.vue
@@ -0,0 +1,138 @@
+<template>
+ <div class="main_app">
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" />
+ <div class="mt20">
+ <el-button type="primary" @click="handleEx()" v-permissions="['business:ywpatrolline:create']">瀵煎嚭</el-button>
+ </div>
+ <el-table v-loading="loading" :data="list" stripe>
+ <el-table-column prop="platformName" label="鍑哄簱鍗曞彿" min-width="120" show-overflow-tooltip />
+ <el-table-column prop="platformGroupName" label="鍑哄簱浠撳簱" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeFront" label="鍑哄簱绫诲瀷" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeBack" label="鍑哄簱鏃ユ湡" min-width="110" show-overflow-tooltip />
+ <el-table-column prop="param1" label="鍑哄簱鏁伴噺" min-width="120" show-overflow-tooltip />
+ <el-table-column prop="param2" label="鎿嶄綔浜�" min-width="90" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="鎿嶄綔鏃堕棿" min-width="140" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="鎿嶄綔" min-width="80" show-overflow-tooltip>
+ <template v-slot="{row}">
+ <span class="primaryColor pointer">鏌ョ湅璇︽儏</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="mt20">
+ <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+ </div>
+ </div>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
+import dayjs from 'dayjs'
+import duration from 'dayjs/plugin/duration'
+dayjs.extend(duration)
+import { platformLogPage, getPlatformGroupList } from '@/api'
+export default {
+ components: {
+ Pagination,
+ QueryForm
+ },
+ data() {
+ return {
+ loading: false,
+ pagination: {
+ pageSize: 10,
+ page: 1,
+ total: 0
+ },
+ filters: {},
+ list: [],
+ total: 0,
+ queryFormConfig: {
+ formItems: [
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '鍑哄簱鍗曞彿',
+ },
+ {
+ filed: 'platformGroupId',
+ type: 'select',
+ label: '鎵�鍦ㄤ粨搴�',
+ options: []
+ },
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '鍑哄簱绫诲瀷',
+ },
+ ],
+ online: true
+ }
+ }
+ },
+ created() {
+ // this.getList()
+ // this.getGroupList()
+ },
+ methods: {
+ handleSub() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ alert('submit!')
+ }
+ })
+ },
+ handleEx() { },
+ getGroupList() {
+ getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => {
+ this.queryFormConfig.formItems[1].options = res.map(i => {
+ return {
+ value: i.id,
+ label: i.name
+ }
+ })
+ // this.queryFormConfig.formItems[1].options.unshift({ value: '', label: '鍏ㄩ儴鏈堝彴缁�' })
+ })
+ },
+ getList(page) {
+ const { pagination, filters } = this
+ this.loading = true
+ platformLogPage({
+ model: {
+ ...filters,
+ queryStatus: '6,7,8',
+ beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
+ beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
+ },
+ sorts: [{ direction: 'DESC', property: 'param1' }],
+ capacity: pagination.pageSize,
+ page: page || pagination.page,
+ }).then(res => {
+ this.loading = false
+ this.list = res.records || []
+ this.list.forEach(item => {
+ item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
+ item.taskOrigin = 'WMS鑾峰彇'
+ item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�')
+ })
+ this.pagination.total = res.total || 0
+ }, () => {
+ this.loading = false
+ })
+ },
+ clear() {
+ this.filters = {}
+ this.pagination.pageSize = 10
+ this.pagination.page = 1
+ this.getList()
+ },
+ handleSizeChange(capacity) {
+ this.pagination.pageSize = capacity
+ }
+ }
+}
+</script>
+
+<style>
+
+</style>
diff --git a/admin/src/views/stock/query.vue b/admin/src/views/stock/query.vue
index e69de29..7c318d2 100644
--- a/admin/src/views/stock/query.vue
+++ b/admin/src/views/stock/query.vue
@@ -0,0 +1,132 @@
+<template>
+ <div class="main_app">
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" />
+ <div class="mt20">
+ <el-button type="primary" @click="handleEx()" v-permissions="['business:ywpatrolline:create']">瀵煎嚭</el-button>
+ </div>
+ <el-table v-loading="loading" :data="list" stripe>
+ <el-table-column prop="platformName" label="璧勪骇缂栫爜" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="platformGroupName" label="璧勪骇鍚嶇О" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeFront" label="鏉$爜" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeBack" label="鍝佺墝" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="param1" label="瑙勬牸鍨嬪彿" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="param2" label="鎵�鍦ㄤ粨搴�" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="搴撳瓨" min-width="80" show-overflow-tooltip />
+ </el-table>
+ <div class="mt20">
+ <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+ </div>
+ </div>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
+import dayjs from 'dayjs'
+import duration from 'dayjs/plugin/duration'
+dayjs.extend(duration)
+import { platformLogPage, getPlatformGroupList } from '@/api'
+export default {
+ components: {
+ Pagination,
+ QueryForm
+ },
+ data() {
+ return {
+ loading: false,
+ pagination: {
+ pageSize: 10,
+ page: 1,
+ total: 0
+ },
+ filters: {},
+ list: [],
+ total: 0,
+ queryFormConfig: {
+ formItems: [
+ {
+ filed: 'platformGroupId',
+ type: 'select',
+ label: '鎵�鍦ㄤ粨搴�',
+ options: []
+ },
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '璧勪骇淇℃伅',
+ placeholder: '璇疯緭鍏ヨ祫浜у悕绉�/缂栫爜'
+ },
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '鍨嬪彿',
+ },
+ ],
+ online: true
+ }
+ }
+ },
+ created() {
+ // this.getList()
+ // this.getGroupList()
+ },
+ methods: {
+ handleSub() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ alert('submit!')
+ }
+ })
+ },
+ handleEx() { },
+ getGroupList() {
+ getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => {
+ this.queryFormConfig.formItems[1].options = res.map(i => {
+ return {
+ value: i.id,
+ label: i.name
+ }
+ })
+ // this.queryFormConfig.formItems[1].options.unshift({ value: '', label: '鍏ㄩ儴鏈堝彴缁�' })
+ })
+ },
+ getList(page) {
+ const { pagination, filters } = this
+ this.loading = true
+ platformLogPage({
+ model: {
+ ...filters,
+ queryStatus: '6,7,8',
+ beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
+ beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
+ },
+ sorts: [{ direction: 'DESC', property: 'param1' }],
+ capacity: pagination.pageSize,
+ page: page || pagination.page,
+ }).then(res => {
+ this.loading = false
+ this.list = res.records || []
+ this.list.forEach(item => {
+ item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
+ item.taskOrigin = 'WMS鑾峰彇'
+ item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�')
+ })
+ this.pagination.total = res.total || 0
+ }, () => {
+ this.loading = false
+ })
+ },
+ clear() {
+ this.filters = {}
+ this.pagination.pageSize = 10
+ this.pagination.page = 1
+ this.getList()
+ },
+ handleSizeChange(capacity) {
+ this.pagination.pageSize = capacity
+ }
+ }
+}
+</script>
+
+<style></style>
diff --git a/admin/src/views/stock/record.vue b/admin/src/views/stock/record.vue
index e69de29..7f1764b 100644
--- a/admin/src/views/stock/record.vue
+++ b/admin/src/views/stock/record.vue
@@ -0,0 +1,150 @@
+<template>
+ <div class="main_app">
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" />
+ <div class="mt20">
+ <el-button type="primary" @click="handleEx()" v-permissions="['business:ywpatrolline:create']">瀵煎嚭</el-button>
+ </div>
+ <el-table v-loading="loading" :data="list" stripe>
+ <el-table-column prop="platformName" label="鍗曟嵁鏃ユ湡" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="platformName" label="璧勪骇缂栫爜" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="platformGroupName" label="璧勪骇鍚嶇О" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeFront" label="璧勪骇鍒嗙被" min-width="100" show-overflow-tooltip />
+ <el-table-column prop="carCodeBack" label="鏁伴噺" min-width="80" show-overflow-tooltip />
+ <el-table-column prop="param1" label="绫诲瀷" min-width="80" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="浠撳簱" min-width="90" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="鍗曟嵁缂栧彿" min-width="120" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="鍒涘缓浜�" min-width="80" show-overflow-tooltip />
+ <el-table-column prop="workTime" label="鍒涘缓鏃堕棿" min-width="140" show-overflow-tooltip />
+ </el-table>
+ <div class="mt20">
+ <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+ </div>
+ </div>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
+import dayjs from 'dayjs'
+import duration from 'dayjs/plugin/duration'
+dayjs.extend(duration)
+import { platformLogPage, getPlatformGroupList } from '@/api'
+export default {
+ components: {
+ Pagination,
+ QueryForm
+ },
+ data() {
+ return {
+ loading: false,
+ pagination: {
+ pageSize: 10,
+ page: 1,
+ total: 0
+ },
+ filters: {},
+ list: [],
+ total: 0,
+ queryFormConfig: {
+ formItems: [
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '璧勪骇缂栫爜',
+ },
+ {
+ filed: 'platformGroupId',
+ type: 'select',
+ label: '鎵�鍦ㄤ粨搴�',
+ options: []
+ },
+ {
+ filed: 'carCodeFront',
+ type: 'input',
+ label: '鍗曟嵁缂栧彿',
+ },
+ {
+ filed: 'platformGroupId',
+ type: 'select',
+ label: '鍗曟嵁绫诲瀷',
+ options: []
+ },
+ {
+ filed: 'selDate',
+ type: 'daterange',
+ label: '鍗曟嵁鏃ユ湡',
+ },
+ {
+ filed: 'selTime',
+ type: 'daterange',
+ label: '鍒涘缓鏃堕棿',
+ },
+ ],
+ online: true
+ }
+ }
+ },
+ created() {
+ // this.getList()
+ // this.getGroupList()
+ },
+ methods: {
+ handleSub() {
+ this.$refs.ruleForm.validate((valid) => {
+ if (valid) {
+ alert('submit!')
+ }
+ })
+ },
+ handleEx() { },
+ getGroupList() {
+ getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => {
+ this.queryFormConfig.formItems[1].options = res.map(i => {
+ return {
+ value: i.id,
+ label: i.name
+ }
+ })
+ // this.queryFormConfig.formItems[1].options.unshift({ value: '', label: '鍏ㄩ儴鏈堝彴缁�' })
+ })
+ },
+ getList(page) {
+ const { pagination, filters } = this
+ this.loading = true
+ platformLogPage({
+ model: {
+ ...filters,
+ queryStatus: '6,7,8',
+ beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
+ beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
+ },
+ sorts: [{ direction: 'DESC', property: 'param1' }],
+ capacity: pagination.pageSize,
+ page: page || pagination.page,
+ }).then(res => {
+ this.loading = false
+ this.list = res.records || []
+ this.list.forEach(item => {
+ item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
+ item.taskOrigin = 'WMS鑾峰彇'
+ item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�')
+ })
+ this.pagination.total = res.total || 0
+ }, () => {
+ this.loading = false
+ })
+ },
+ clear() {
+ this.filters = {}
+ this.pagination.pageSize = 10
+ this.pagination.page = 1
+ this.getList()
+ },
+ handleSizeChange(capacity) {
+ this.pagination.pageSize = capacity
+ }
+ }
+}
+</script>
+
+<style></style>
diff --git a/server/db/business.yw_quick_model.permissions.sql b/server/db/business.yw_quick_model.permissions.sql
new file mode 100644
index 0000000..b38841c
--- /dev/null
+++ b/server/db/business.yw_quick_model.permissions.sql
@@ -0,0 +1,6 @@
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywquickmodel:create', '鏂板缓宸ヤ綔鍙� - 蹇嵎妯″潡', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywquickmodel:delete', '鍒犻櫎宸ヤ綔鍙� - 蹇嵎妯″潡', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywquickmodel:update', '淇敼宸ヤ綔鍙� - 蹇嵎妯″潡', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywquickmodel:query', '鏌ヨ宸ヤ綔鍙� - 蹇嵎妯″潡', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywquickmodel:exportExcel', '瀵煎嚭宸ヤ綔鍙� - 蹇嵎妯″潡(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index f5ac3a4..29e590d 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -53,6 +53,7 @@
public static final String YW_PATROL ="YW_PATROL" ;
public static final String YW_CONTRACT_BILL ="YW_CONTRACT_BILL" ;
public static final String YW_MATERIAL ="YW_MATERIAL" ;
+ public static final String YW_PROBLEM ="YW_PROBLEM" ;
public static final String RESERVATION_TOTAL_NUM ="RESERVATION_TOTAL_NUM" ;
public static final String SIGN_IN_PLACE_LAT ="SIGN_IN_PLACE_LAT" ;
@@ -1388,6 +1389,7 @@
FN_PATROL_TASK_RECORD_FILE(11, "宸℃浠诲姟鐐瑰鐞嗛檮浠� ", "宸℃浠诲姟鐐瑰鐞嗛檮浠� "),
MATERIAL_FILE(12, "璧勪骇闄勪欢 ", "璧勪骇闄勪欢 "),
PROBLEM_FILE(13, "闂闄勪欢 ", "闂闄勪欢 "),
+ FN_DEVICE_MAINTENANCE_FILE(14, "闃滃畞鏈嶅姟骞冲彴璁惧鏂囦欢 ", "闃滃畞鏈嶅姟骞冲彴璁惧鏂囦欢 "),
;
// 鎴愬憳鍙橀噺
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java
index 0ee45de..ca58ec1 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java
@@ -10,6 +10,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.YwContractBill;
+import com.doumee.dao.business.vo.YwContractBillDataVO;
import com.doumee.service.business.YwContractBillService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -112,5 +113,11 @@
return ApiResponse.success("鐢熸垚鎴愬姛");
}
+ @ApiOperation("鑾峰彇寰呭鐞嗚处鍗�")
+ @GetMapping("/getWaitDealList")
+ @CloudRequiredPermission("business:ywcontractbill:query")
+ public ApiResponse<YwContractBillDataVO> getWaitDealList(@RequestParam Integer contractId,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(ywContractBillService.getWaitDealList(contractId));
+ }
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
index ff55707..6c3738c 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
@@ -8,6 +8,8 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.YwDevice;
+import com.doumee.dao.business.vo.YwDeviceCateDataVO;
+import com.doumee.dao.business.vo.YwDeviceStatusDataVO;
import com.doumee.service.business.YwDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -18,6 +20,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
/**
* @author 姹熻箘韫�
@@ -100,6 +103,17 @@
return ApiResponse.success(ywDeviceService.findByCode(deviceCode));
}
+ @ApiOperation("璁惧鏁伴噺鍒嗙被缁熻")
+ @PostMapping("/getDeviceCateData")
+ @CloudRequiredPermission("business:ywdevice:query")
+ public ApiResponse<Set<YwDeviceCateDataVO>> getDeviceCateData (@RequestBody YwDevice ywDevice,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(ywDeviceService.getDeviceCateData(ywDevice));
+ }
-
+ @ApiOperation("璁惧鐘舵�佺粺璁�")
+ @PostMapping("/getDeviceStatus")
+ @CloudRequiredPermission("business:ywdevice:query")
+ public ApiResponse<YwDeviceStatusDataVO> getDeviceStatus (@RequestBody YwDevice ywDevice,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(ywDeviceService.getDeviceStatus(ywDevice));
+ }
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProblemController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProblemController.java
index 310349f..54e6b7d 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProblemController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProblemController.java
@@ -10,7 +10,9 @@
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.YwProblem;
+import com.doumee.dao.business.model.YwWorkorder;
import com.doumee.service.business.YwProblemService;
+import com.doumee.service.business.impl.YwWorkorderServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -33,6 +35,8 @@
@Autowired
private YwProblemService ywProblemService;
+ @Autowired
+ private YwWorkorderServiceImpl ywWorkorderService;
@LoginNoRequired
@PreventRepeat
@ApiOperation("闂鎻愭姤")
@@ -41,10 +45,23 @@
return ApiResponse.success(ywProblemService.create(ywProblem));
}
+
+
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/editProblem")
+ @CloudRequiredPermission("business:ywproblem:update")
+ public ApiResponse editProblem(@RequestBody YwProblem ywProblem,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ ywProblem.setLoginUserInfo(getLoginUser(token));
+ ywProblemService.editProblem(ywProblem,ywWorkorderService);
+ return ApiResponse.success(null);
+ }
+
+
@ApiOperation("鏍规嵁ID鍒犻櫎")
@GetMapping("/delete/{id}")
@CloudRequiredPermission("business:ywproblem:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
+ public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
ywProblemService.deleteById(id);
return ApiResponse.success(null);
}
@@ -52,7 +69,7 @@
@ApiOperation("鎵归噺鍒犻櫎")
@GetMapping("/delete/batch")
@CloudRequiredPermission("business:ywproblem:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
String [] idArray = ids.split(",");
List<Integer> idList = new ArrayList<>();
for (String id : idArray) {
@@ -65,7 +82,7 @@
@ApiOperation("鏍规嵁ID淇敼")
@PostMapping("/updateById")
@CloudRequiredPermission("business:ywproblem:update")
- public ApiResponse updateById(@RequestBody YwProblem ywProblem) {
+ public ApiResponse updateById(@RequestBody YwProblem ywProblem,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
ywProblemService.updateById(ywProblem);
return ApiResponse.success(null);
}
@@ -73,21 +90,21 @@
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
@CloudRequiredPermission("business:ywproblem:query")
- public ApiResponse<PageData<YwProblem>> findPage (@RequestBody PageWrap<YwProblem> pageWrap) {
+ public ApiResponse<PageData<YwProblem>> findPage (@RequestBody PageWrap<YwProblem> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
return ApiResponse.success(ywProblemService.findPage(pageWrap));
}
@ApiOperation("瀵煎嚭Excel")
@PostMapping("/exportExcel")
@CloudRequiredPermission("business:ywproblem:exportExcel")
- public void exportExcel (@RequestBody PageWrap<YwProblem> pageWrap, HttpServletResponse response) {
+ public void exportExcel (@RequestBody PageWrap<YwProblem> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
ExcelExporter.build(YwProblem.class).export(ywProblemService.findPage(pageWrap).getRecords(), "杩愮淮闂涓婃姤淇℃伅琛�", response);
}
@ApiOperation("鏍规嵁ID鏌ヨ")
@GetMapping("/{id}")
@CloudRequiredPermission("business:ywproblem:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(ywProblemService.findById(id));
+ public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(ywProblemService.getDetail(id));
}
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwQuickModelCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwQuickModelCloudController.java
new file mode 100644
index 0000000..6f05fa8
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwQuickModelCloudController.java
@@ -0,0 +1,90 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.dao.business.model.YwQuickModel;
+import com.doumee.service.business.YwQuickModelService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/01/09 17:47
+ */
+@Api(tags = "宸ヤ綔鍙� - 蹇嵎妯″潡")
+@RestController
+@RequestMapping("/business/ywQuickModel")
+public class YwQuickModelCloudController extends BaseController {
+
+ @Autowired
+ private YwQuickModelService ywQuickModelService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:ywquickmodel:create")
+ public ApiResponse create(@RequestBody YwQuickModel ywQuickModel) {
+ return ApiResponse.success(ywQuickModelService.create(ywQuickModel));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:ywquickmodel:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ ywQuickModelService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:ywquickmodel:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ ywQuickModelService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:ywquickmodel:update")
+ public ApiResponse updateById(@RequestBody YwQuickModel ywQuickModel) {
+ ywQuickModelService.updateById(ywQuickModel);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:ywquickmodel:query")
+ public ApiResponse<PageData<YwQuickModel>> findPage (@RequestBody PageWrap<YwQuickModel> pageWrap) {
+ return ApiResponse.success(ywQuickModelService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:ywquickmodel:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<YwQuickModel> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(YwQuickModel.class).export(ywQuickModelService.findPage(pageWrap).getRecords(), "宸ヤ綔鍙� - 蹇嵎妯″潡", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:ywquickmodel:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(ywQuickModelService.findById(id));
+ }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java
index 0eac4e5..af30c32 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java
@@ -9,6 +9,8 @@
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.YwContractRoom;
import com.doumee.dao.business.model.YwRoom;
+import com.doumee.dao.business.vo.YwFloorStatusDataVO;
+import com.doumee.dao.business.vo.YwRoomContractDataVO;
import com.doumee.service.business.YwRoomService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -99,4 +101,19 @@
public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
return ApiResponse.success(ywRoomService.findById(id));
}
+
+ @ApiOperation("鏌ヨ鎴块棿鎬佸娍鏁版嵁")
+ @PostMapping("/getRoomStatusList")
+ @CloudRequiredPermission("business:ywroom:query")
+ public ApiResponse<List<YwFloorStatusDataVO>> getRoomStatusList (@RequestBody YwRoom model, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(ywRoomService.getRoomStatusList(model));
+ }
+
+ @ApiOperation("鏌ヨ鎴块棿绉熻祦淇℃伅")
+ @PostMapping("/getRoomContract")
+ @CloudRequiredPermission("business:ywroom:query")
+ public ApiResponse<YwRoomContractDataVO> getRoomContract (@RequestBody YwRoom model, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(ywRoomService.getRoomContract(model));
+ }
+
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
index 792cdb9..2c44494 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
@@ -7,7 +7,9 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.dto.YwWorkorderDataDTO;
import com.doumee.dao.business.model.YwWorkorder;
+import com.doumee.dao.business.vo.YwWorkorderDataVO;
import com.doumee.service.business.YwWorkorderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -37,6 +39,7 @@
@CloudRequiredPermission("business:ywworkorder:create")
public ApiResponse create(@RequestBody YwWorkorder ywWorkorder,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
ywWorkorder.setLoginUserInfo(this.getLoginUser(token));
+ ywWorkorder.setOrigin(Constants.ZERO);
return ApiResponse.success(ywWorkorderService.create(ywWorkorder));
}
@@ -86,6 +89,19 @@
return ApiResponse.success(null);
}
+
+ @ApiOperation("鑾峰彇宸ュ崟鏁伴噺淇℃伅")
+ @PostMapping("/getDataVO")
+ @CloudRequiredPermission("business:ywworkorder:update")
+ public ApiResponse<YwWorkorderDataVO> getDataVO(@RequestBody YwWorkorderDataDTO dto,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ YwWorkorderDataVO ywWorkorderDataVO = ywWorkorderService.getDataVO(dto);
+ return ApiResponse.success(ywWorkorderDataVO);
+ }
+
+
+
+
+
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
@CloudRequiredPermission("business:ywworkorder:query")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProblemMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProblemMapper.java
index 92b447a..c857dbb 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProblemMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwProblemMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwProblem;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2025/01/06 11:05
*/
-public interface YwProblemMapper extends BaseMapper<YwProblem> {
+public interface YwProblemMapper extends MPJBaseMapper<YwProblem> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwQuickModelMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwQuickModelMapper.java
new file mode 100644
index 0000000..b463189
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwQuickModelMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.YwQuickModel;
+import com.github.yulichang.base.MPJBaseMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/01/09 17:47
+ */
+public interface YwQuickModelMapper extends MPJBaseMapper<YwQuickModel> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/YwWorkorderDataDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/YwWorkorderDataDTO.java
new file mode 100644
index 0000000..cb84c1f
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/YwWorkorderDataDTO.java
@@ -0,0 +1,25 @@
+package com.doumee.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2025/1/8 15:37
+ */
+@Data
+public class YwWorkorderDataDTO {
+
+
+ @ApiModelProperty(value = "鏌ヨ绫诲瀷锛�1=椤圭洰锛�2=妤煎眰锛�3=鎴块棿", example = "1")
+ private Integer queryType;
+
+ @ApiModelProperty(value = "涓氬姟涓婚敭", example = "1")
+ private Integer queryId;
+
+
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
index 5fca146..40a3fe7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
@@ -115,4 +115,11 @@
@ApiModelProperty(value = "椤圭洰鍚嶇О")
@TableField(exist = false)
private String projectName;
+ @ApiModelProperty(value = "鎴块棿璁¤垂闈㈢Н锛堝钩鏂圭背锛�", example = "1")
+ @TableField(exist = false)
+ private BigDecimal roomFeeArea;
+ @ApiModelProperty(value = "鎴块棿璁$闈㈢Н锛堝钩鏂圭背锛�", example = "1")
+ @TableField(exist = false)
+ private BigDecimal roomRentArea;
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java
index 85292b5..4d5198f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java
@@ -202,6 +202,9 @@
@ExcelColumn(name="鐗╀笟璐规�婚噾棰�")
private BigDecimal wyTotalFee;
+ @ApiModelProperty(value = "鎴块棿涓婚敭 鏌ヨ浣跨敤")
+ @TableField(exist = false)
+ private Integer roomId;
@ApiModelProperty(value = "闄勪欢闆嗗悎")
@TableField(exist = false)
private List<Multifile> fileList;
@@ -244,6 +247,9 @@
@ApiModelProperty(value = "閲嶆柊寮�濮嬫椂闂�")
@TableField(exist = false)
private Date queryStartTime;
+ @ApiModelProperty(value = "鍚堝悓鎬昏垂鐢�",notes = "鍚堝悓鍒濆鍖栨椂閲戦", example = "1")
+ @TableField(exist = false)
+ private BigDecimal totalFee;
@ApiModelProperty(value = "鏌ヨ缁撴潫鏃堕棿")
@TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java
index 99f3efe..ef14ea2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java
@@ -12,6 +12,7 @@
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
+import java.util.List;
/**
* 杩愮淮璁惧淇℃伅琛�
@@ -94,9 +95,46 @@
@ExcelColumn(name="鎵�鍦ㄤ綅缃�")
private String addr;
+ @ApiModelProperty(value = "鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)", example = "1")
+ private Integer projectId;
+
+ @ApiModelProperty(value = "鎵�灞炴ゼ灞傜紪鐮侊紙鍏宠仈yw_floor)", example = "1")
+ private Integer floorId;
+
+ @ApiModelProperty(value = "鎵�灞炴ゼ瀹囩紪鐮侊紙鍏宠仈yw_building)", example = "1")
+ private Integer buildingId;
+
+ @ApiModelProperty(value = "鎵�灞炴埧闂寸紪鐮侊紙鍏宠仈yw_room)", example = "1")
+ private Integer roomId;
+
+
+ @ApiModelProperty(value = "渚涘簲鍟嗚仈绯讳汉")
+ private String supplierLinker;
+
+ @ApiModelProperty(value = "渚涘簲鍟嗚仈绯荤數璇�")
+ private String supplierPhone;
+
+ @ApiModelProperty(value = "缁翠繚浜哄憳涓婚敭锛堝叧鑱攕ystem_user锛�")
+ private Integer maintenanceUserId;
+
+ @ApiModelProperty(value = "缁翠繚鍒版湡鏃�")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date maintenanceOverDate;
+
+ @ApiModelProperty(value = "缁翠繚璇存槑")
+ private String maintenanceContent;
+
@ApiModelProperty(value = "鍒嗙被鍚嶇О")
@TableField(exist = false)
private String categoryName;
+
+ @ApiModelProperty(value = "鐖剁骇鍒嗙被鍚嶇О")
+ @TableField(exist = false)
+ private String categoryParentName;
+
+ @ApiModelProperty(value = "鎵�灞炵埗绾у垎绫荤紪鐮侊紙鍏宠仈category锛�", example = "1")
+ @TableField(exist = false)
+ private Integer cateParentId;
@ApiModelProperty(value = "绠$悊鍛樺悕绉�")
@TableField(exist = false)
@@ -110,6 +148,12 @@
@TableField(exist = false)
private String fileFullUrl;
+ @ApiModelProperty(value = "闄勪欢淇℃伅")
+ @TableField(exist = false)
+ private List<Multifile> multifileList;
+
+
+
// @ApiModelProperty(value = "闄勪欢淇℃伅")
// @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwMaterial.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwMaterial.java
index 5f23ec8..37e6303 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwMaterial.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwMaterial.java
@@ -119,5 +119,13 @@
@TableField(exist = false)
private Integer projectId;
+ @ApiModelProperty(value = "妤煎畤涓婚敭", example = "1")
+ @TableField(exist = false)
+ private Integer buildingId;
+
+ @ApiModelProperty(value = "妤煎眰涓婚敭", example = "1")
+ @TableField(exist = false)
+ private Integer floorId;
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
index bc6ea4b..3b798da 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
@@ -11,6 +11,7 @@
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
+import java.util.List;
/**
* 杩愮淮宸℃璁″垝淇℃伅琛�
@@ -133,4 +134,7 @@
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endDateSec;
+
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
index d6ff2a8..ef8a041 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
@@ -119,4 +119,26 @@
@TableField(exist = false)
private List<Multifile> multifileList;
+
+ @ApiModelProperty(value = "宸℃璁″垝鍚嶇О")
+ @TableField(exist = false)
+ private String schemeTitle;
+
+ @ApiModelProperty(value = "宸℃浠诲姟缂栧彿")
+ @TableField(exist = false)
+ private String taskCode;
+
+ @ApiModelProperty(value = "寮�濮嬫棩鏈�")
+ @TableField(exist = false)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date startDate;
+
+ @ApiModelProperty(value = "缁撴潫鏃ユ湡")
+ @TableField(exist = false)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date endDate;
+
+
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProblem.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProblem.java
index d6ab8c4..8eae329 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProblem.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProblem.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
import com.doumee.dao.system.model.Multifile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -21,7 +22,7 @@
@Data
@ApiModel("杩愮淮闂涓婃姤淇℃伅琛�")
@TableName("`yw_problem`")
-public class YwProblem {
+public class YwProblem extends LoginUserModel {
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "涓婚敭", example = "1")
@@ -93,7 +94,7 @@
@ApiModelProperty(value = "澶勭悊鏃堕棿")
@ExcelColumn(name="澶勭悊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dealDate;
@ApiModelProperty(value = "澶勭悊澶囨敞")
@@ -111,4 +112,51 @@
@ApiModelProperty(value = "闄勪欢淇℃伅")
@TableField(exist = false)
private List<Multifile> fileList;
+
+ @ApiModelProperty(value = "澶勭悊浜哄悕绉�")
+ @TableField(exist = false)
+ private String dealUserName;
+
+ @ApiModelProperty(value = "澶勭悊浜虹粍缁囧悕绉�")
+ @TableField(exist = false)
+ private String dealUserCompanyName;
+
+ @ApiModelProperty(value = "澶勭悊寮�濮嬫椂闂� 鏌ヨ浣跨敤")
+ @TableField(exist = false)
+ private Date dealDateStart;
+
+ @ApiModelProperty(value = "澶勭悊缁撴潫鏃堕棿 鏌ヨ浣跨敤")
+ @TableField(exist = false)
+ private Date dealDateEnd;
+
+
+ @ApiModelProperty(value = "淇濅慨鍖哄煙绫诲瀷 0瀹ゅ唴缁翠慨 1鍏叡鍖哄煙", example = "1")
+ @TableField(exist = false)
+ private Integer workOrderAreaType;
+
+ @ApiModelProperty(value = "鎵�灞炴埧闂寸紪鐮侊紙鍏宠仈yw_room)", example = "1")
+ @TableField(exist = false)
+ private Integer workOrderRoomId;
+
+ @ApiModelProperty(value = "鎵�灞炴ゼ灞傜紪鐮侊紙鍏宠仈yw_floor)", example = "1")
+ @TableField(exist = false)
+ private Integer workOrderFloorId;
+
+ @ApiModelProperty(value = "宸ュ崟鍒嗙被缂栫爜(鍏宠仈category锛�", example = "1")
+ @TableField(exist = false)
+ private Integer workOrderCateId;
+
+ @ApiModelProperty(value = "涓婇棬鏃堕棿")
+ @TableField(exist = false)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date workOrderGetDate;
+
+ @ApiModelProperty(value = "鎯呭喌璇存槑")
+ @TableField(exist = false)
+ private String workOrderContent;
+
+ @ApiModelProperty(value = "杞伐鍗曢檮浠朵俊鎭�")
+ @TableField(exist = false)
+ private List<Multifile> workOrderFileList;
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwQuickModel.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwQuickModel.java
new file mode 100644
index 0000000..b0d7880
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwQuickModel.java
@@ -0,0 +1,71 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 宸ヤ綔鍙� - 蹇嵎妯″潡
+ * @author 姹熻箘韫�
+ * @date 2025/01/09 17:47
+ */
+@Data
+@ApiModel("宸ヤ綔鍙� - 蹇嵎妯″潡")
+@TableName("`yw_quick_model`")
+public class YwQuickModel extends LoginUserModel {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ExcelColumn(name="涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+ private Integer creator;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+ private Integer editor;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @ExcelColumn(name="鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date editDate;
+
+ @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "鐢ㄦ埛涓婚敭", example = "1")
+ @ExcelColumn(name="鐢ㄦ埛涓婚敭")
+ private Integer userId;
+
+ @ApiModelProperty(value = "妯″潡鍚嶇О")
+ @ExcelColumn(name="妯″潡鍚嶇О")
+ private String name;
+
+ @ApiModelProperty(value = "妯″潡鍦板潃")
+ @ExcelColumn(name="妯″潡鍦板潃")
+ private String path;
+
+ @ApiModelProperty(value = "鍥炬爣鍦板潃")
+ @ExcelColumn(name="鍥炬爣鍦板潃")
+ private String icoPath;
+
+ @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+ @ExcelColumn(name="鎺掑簭鐮�")
+ private Integer sort;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
index 8b9b37c..06c1422 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
@@ -73,6 +73,7 @@
@ApiModelProperty(value = "鎵�灞炴埧闂寸紪鐮侊紙鍏宠仈yw_room)", example = "1")
private Integer roomId;
+
@ApiModelProperty(value = "鎵�灞炴ゼ灞傜紪鐮侊紙鍏宠仈yw_floor)", example = "1")
private Integer floorId;
@@ -123,6 +124,10 @@
@ApiModelProperty(value = "澶勭悊鏂瑰紡 0鎸囨淳鍚庡鐞� 1鐩存帴鍥炲", example = "1")
private Integer dealType;
+
+ @ApiModelProperty(value = "鏉ユ簮 0鑷缓 1闂杞伐鍗�", example = "1")
+ private Integer origin;
+
@ApiModelProperty(value = "椤圭洰鍚嶇О")
@TableField(exist = false)
private String projectName;
@@ -138,6 +143,9 @@
@ApiModelProperty(value = "鎴挎簮鍚嶇О")
@TableField(exist = false)
private String roomName;
+ @ApiModelProperty(value = "闂涓婚敭")
+ @TableField(exist = false)
+ private String problemId;
@ApiModelProperty(value = "鎶ヤ慨鍖哄煙")
@ExcelColumn(name="鎶ヤ慨鍖哄煙",index = 2,width = 10)
@TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MonthDataResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MonthDataResponse.java
new file mode 100644
index 0000000..5d1ae87
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MonthDataResponse.java
@@ -0,0 +1,27 @@
+package com.doumee.dao.business.vo;
+
+import com.doumee.dao.system.model.Notices;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/5/6 10:20
+ */
+@Data
+public class MonthDataResponse {
+
+ @ApiModelProperty(value = "鏃ユ湡")
+ private String monthDate;
+
+ @ApiModelProperty(value = "鍛ㄥ嚑")
+ private String weekMsg;
+
+ @ApiModelProperty(value = "閫氱煡鍒楄〃")
+ private List<Notices> noticeList;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwContractBillDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwContractBillDataVO.java
new file mode 100644
index 0000000..732fd26
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwContractBillDataVO.java
@@ -0,0 +1,34 @@
+package com.doumee.dao.business.vo;
+
+import com.doumee.dao.business.model.YwContractBill;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2025/1/8 15:32
+ */
+@Data
+public class YwContractBillDataVO {
+
+ @ApiModelProperty(value = "鏀舵璐﹀崟鏁�", example = "1")
+ private Integer inAmount;
+
+ @ApiModelProperty(value = "鏀舵璐﹀崟閲戦", example = "1")
+ private BigDecimal inFee;
+
+ @ApiModelProperty(value = "浠樻璐﹀崟鏁�", example = "1")
+ private Integer payAmount;
+
+ @ApiModelProperty(value = "浠樻璐﹀崟閲戦", example = "1")
+ private BigDecimal payFee;
+
+ @ApiModelProperty(value = "璐﹀崟鍒楄〃", example = "1")
+ private List<YwContractBill> ywContractBillList;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceCateDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceCateDataVO.java
new file mode 100644
index 0000000..2c91df5
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceCateDataVO.java
@@ -0,0 +1,28 @@
+package com.doumee.dao.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/12/2 10:02
+ */
+@Data
+public class YwDeviceCateDataVO {
+
+ @ApiModelProperty(value = "鍒嗙被涓婚敭", example = "1")
+ private Integer cateId;
+
+ @ApiModelProperty(value = "鍒嗙被鍚嶇О", example = "1")
+ private String cateName;
+
+ @ApiModelProperty(value = "鐖剁骇鍒嗙被涓婚敭", example = "1")
+ private Integer cateParentId;
+
+ @ApiModelProperty(value = "鏁伴噺", example = "1")
+ private Integer deviceAmount ;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceParentCateDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceParentCateDataVO.java
new file mode 100644
index 0000000..44c68a9
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceParentCateDataVO.java
@@ -0,0 +1,29 @@
+package com.doumee.dao.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/12/2 10:02
+ */
+@Data
+public class YwDeviceParentCateDataVO {
+
+ @ApiModelProperty(value = "鍒嗙被涓婚敭", example = "1")
+ private Integer cateId;
+
+ @ApiModelProperty(value = "鍒嗙被鍚嶇О", example = "1")
+ private String cateName;
+
+ @ApiModelProperty(value = "鏁伴噺", example = "1")
+ private Integer deviceAmount ;
+
+ @ApiModelProperty(value = "瀛愬垎绫绘暟鎹�", example = "1")
+ private List<YwDeviceCateDataVO> ywDeviceCateDataVOList;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceStatusDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceStatusDataVO.java
new file mode 100644
index 0000000..9ab7763
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwDeviceStatusDataVO.java
@@ -0,0 +1,28 @@
+package com.doumee.dao.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2025/1/8 15:32
+ */
+@Data
+public class YwDeviceStatusDataVO {
+
+
+ @ApiModelProperty(value = "姝e父鏁伴噺", example = "1")
+ private Integer workAmount;
+
+ @ApiModelProperty(value = "寮傚父鏁伴噺", example = "1")
+ private Integer exceptionAmount;
+
+ @ApiModelProperty(value = "鎶ュ簾鏁伴噺", example = "1")
+ private Integer errAmount;
+
+ @ApiModelProperty(value = "绱鎬绘暟", example = "1")
+ private Integer amount;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwFloorStatusDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwFloorStatusDataVO.java
new file mode 100644
index 0000000..1108049
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwFloorStatusDataVO.java
@@ -0,0 +1,34 @@
+package com.doumee.dao.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2025/1/8 15:32
+ */
+@Data
+public class YwFloorStatusDataVO {
+
+ @ApiModelProperty(value = "妤煎眰涓婚敭", example = "1")
+ private Integer floorId;
+
+ @ApiModelProperty(value = "妤煎眰闈㈢Н", example = "1")
+ private BigDecimal floorArea;
+
+ @ApiModelProperty(value = "妤煎眰鍚嶇О", example = "1")
+ private String floorName;
+
+ @ApiModelProperty(value = "妤煎眰鏁�", example = "1")
+ private Integer floor;
+
+ @ApiModelProperty(value = "鎴块棿鐘舵�佹暟鎹�", example = "1")
+ private List<YwRoomStatusDataVO> ywRoomStatusDataVOList;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomContractDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomContractDataVO.java
new file mode 100644
index 0000000..46bf123
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomContractDataVO.java
@@ -0,0 +1,36 @@
+package com.doumee.dao.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2025/1/8 15:32
+ */
+@Data
+public class YwRoomContractDataVO {
+
+ @ApiModelProperty(value = "鍦ㄧ鍚堝悓鏁�", example = "1")
+ private Integer leaseContractAmount;
+
+ @ApiModelProperty(value = "鍦ㄧ鍚堟埧婧愭暟", example = "1")
+ private Integer leaseRoomAmount;
+
+ @ApiModelProperty(value = "鍙嫑鍟嗛潰绉�", example = "1")
+ private BigDecimal investmentArea;
+
+ @ApiModelProperty(value = "鍙嫑鍟嗘埧婧愭暟", example = "1")
+ private Integer investmentRoomAmount;
+
+ @ApiModelProperty(value = "鍦ㄧ瀹炴椂鍧囦环", example = "1")
+ private BigDecimal leasePrice;
+
+ @ApiModelProperty(value = "鍦ㄧ闈㈢Н", example = "1")
+ private BigDecimal leaseArea;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomStatusDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomStatusDataVO.java
new file mode 100644
index 0000000..5936073
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwRoomStatusDataVO.java
@@ -0,0 +1,43 @@
+package com.doumee.dao.business.vo;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2025/1/8 15:32
+ */
+@Data
+public class YwRoomStatusDataVO {
+
+ @ApiModelProperty(value = "妤煎眰涓婚敭", example = "1")
+ private Integer floorId;
+
+ @ApiModelProperty(value = "鎴块棿涓婚敭", example = "1")
+ private Integer roomId;
+
+ @ApiModelProperty(value = "鎴块棿缂栧彿", example = "1")
+ private String roomCode;
+
+ @ApiModelProperty(value = "璁$闈㈢Н锛堝钩鏂圭背锛�", example = "1")
+ private BigDecimal roomRentArea;
+
+ @ApiModelProperty(value = "绉熷鍚嶇О", example = "1")
+ private String customerName;
+
+ @ApiModelProperty(value = "鎴块棿鐘舵�侊細0=寰呯锛�1=宸茬锛�2=鍗冲皢鍒版湡", example = "1")
+ private Integer roomStatus;
+
+ @ApiModelProperty(value = "鍒版湡鏃ユ湡", example = "1")
+ private Date overData;
+
+ @ApiModelProperty(value = "绌洪棽澶╂暟", example = "1")
+ private Integer freeDayAmount;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwWorkorderDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwWorkorderDataVO.java
new file mode 100644
index 0000000..85ecf03
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwWorkorderDataVO.java
@@ -0,0 +1,30 @@
+package com.doumee.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2025/1/8 15:32
+ */
+@Data
+public class YwWorkorderDataVO {
+
+
+ @ApiModelProperty(value = "寰呮寚娲炬暟閲�", example = "1")
+ private Integer waitAssignAmount;
+
+ @ApiModelProperty(value = "寰呭鐞嗘暟閲�", example = "1")
+ private Integer waitDealAmount;
+
+ @ApiModelProperty(value = "鏈湀鎬绘暟", example = "1")
+ private Integer monthAmount;
+
+ @ApiModelProperty(value = "绱鎬绘暟", example = "1")
+ private Integer amount;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WorkbenchesService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WorkbenchesService.java
new file mode 100644
index 0000000..a269203
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WorkbenchesService.java
@@ -0,0 +1,22 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.dao.business.model.YwQuickModel;
+import com.doumee.dao.business.vo.MonthDataResponse;
+
+import java.util.List;
+
+/**
+ * 瀹℃壒淇℃伅璁板綍琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2023/12/28 14:09
+ */
+public interface WorkbenchesService {
+
+
+ List<YwQuickModel> getYwQuickList(LoginUserInfo loginUserInfo);
+
+ void updMyYwQuickModel(List<Integer> idList, LoginUserInfo loginUserInfo);
+
+ List<MonthDataResponse> getMonthNotices(String yearMonth, LoginUserInfo loginUserInfo);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java
index 3ef54c3..b3ad156 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java
@@ -4,6 +4,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.YwContractBill;
+import com.doumee.dao.business.vo.YwContractBillDataVO;
+
import java.util.List;
/**
@@ -104,4 +106,7 @@
void dealDayBillCode();
List<YwContractBill> getCanBackBill(YwContractBill model);
+
+
+ YwContractBillDataVO getWaitDealList(Integer contractId);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java
index 0b9b7c9..b32779c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java
@@ -4,9 +4,12 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.YwDevice;
+import com.doumee.dao.business.vo.YwDeviceCateDataVO;
import com.doumee.dao.business.vo.YwDeviceDataVO;
+import com.doumee.dao.business.vo.YwDeviceStatusDataVO;
import java.util.List;
+import java.util.Set;
/**
* 杩愮淮璁惧淇℃伅琛⊿ervice瀹氫箟
@@ -105,5 +108,7 @@
YwDevice findByCode(String deviceCode);
+ Set<YwDeviceCateDataVO> getDeviceCateData(YwDevice model);
+ YwDeviceStatusDataVO getDeviceStatus(YwDevice model);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProblemService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProblemService.java
index a0f41d4..8b209b6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProblemService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProblemService.java
@@ -3,6 +3,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.YwProblem;
+import com.doumee.service.business.impl.YwWorkorderServiceImpl;
+
import java.util.List;
/**
@@ -63,6 +65,9 @@
*/
YwProblem findById(Integer id);
+ YwProblem getDetail(Integer id);
+
+
/**
* 鏉′欢鏌ヨ鍗曟潯璁板綍
*
@@ -94,4 +99,7 @@
* @return long
*/
long count(YwProblem ywProblem);
+
+
+ void editProblem(YwProblem ywProblem, YwWorkorderServiceImpl ywWorkorderService);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwQuickModelService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwQuickModelService.java
new file mode 100644
index 0000000..4e2fbe0
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwQuickModelService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.YwQuickModel;
+import java.util.List;
+
+/**
+ * 宸ヤ綔鍙� - 蹇嵎妯″潡Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2025/01/09 17:47
+ */
+public interface YwQuickModelService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param ywQuickModel 瀹炰綋瀵硅薄
+ * @return Integer
+ */
+ Integer create(YwQuickModel ywQuickModel);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(Integer id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param ywQuickModel 瀹炰綋瀵硅薄
+ */
+ void delete(YwQuickModel ywQuickModel);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<Integer> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param ywQuickModel 瀹炰綋瀵硅薄
+ */
+ void updateById(YwQuickModel ywQuickModel);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param ywQuickModels 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<YwQuickModel> ywQuickModels);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return YwQuickModel
+ */
+ YwQuickModel findById(Integer id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param ywQuickModel 瀹炰綋瀵硅薄
+ * @return YwQuickModel
+ */
+ YwQuickModel findOne(YwQuickModel ywQuickModel);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param ywQuickModel 瀹炰綋瀵硅薄
+ * @return List<YwQuickModel>
+ */
+ List<YwQuickModel> findList(YwQuickModel ywQuickModel);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<YwQuickModel>
+ */
+ PageData<YwQuickModel> findPage(PageWrap<YwQuickModel> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param ywQuickModel 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(YwQuickModel ywQuickModel);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java
index 73454a9..1f24ecb 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java
@@ -4,6 +4,9 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.YwRoom;
+import com.doumee.dao.business.vo.YwFloorStatusDataVO;
+import com.doumee.dao.business.vo.YwRoomContractDataVO;
+
import java.util.List;
/**
@@ -95,4 +98,9 @@
* @return long
*/
long count(YwRoom ywRoom);
+
+ List<YwFloorStatusDataVO> getRoomStatusList(YwRoom model);
+
+
+ YwRoomContractDataVO getRoomContract(YwRoom model);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
index 6064bde..ed3bda6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
@@ -3,7 +3,10 @@
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.YwWorkorderDataDTO;
import com.doumee.dao.business.model.YwWorkorder;
+import com.doumee.dao.business.vo.YwWorkorderDataVO;
+
import java.util.List;
/**
@@ -98,4 +101,6 @@
void dispatchOrder(YwWorkorder ywWorkorder);
void dealOrder(YwWorkorder ywWorkorder);
+
+ YwWorkorderDataVO getDataVO(YwWorkorderDataDTO dto);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java
new file mode 100644
index 0000000..be82191
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WorkbenchesServiceImpl.java
@@ -0,0 +1,116 @@
+package com.doumee.service.business.impl;
+
+import com.alibaba.druid.sql.visitor.functions.Concat;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.LoginUserModel;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.business.ApproveParamMapper;
+import com.doumee.dao.business.PlatformLogMapper;
+import com.doumee.dao.business.YwQuickModelMapper;
+import com.doumee.dao.business.model.YwQuickModel;
+import com.doumee.dao.business.vo.MonthDataResponse;
+import com.doumee.service.business.WorkbenchesService;
+import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
+import io.jsonwebtoken.lang.Objects;
+import io.swagger.models.auth.In;
+import org.apache.tomcat.util.bcel.classfile.Constant;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 瀹℃壒妯$増閰嶇疆淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2023/12/28 11:46
+ */
+@Service
+public class WorkbenchesServiceImpl implements WorkbenchesService {
+
+
+ @Autowired
+ private YwQuickModelMapper ywQuickModelMapper;
+
+
+
+ @Override
+ public List<YwQuickModel> getYwQuickList(LoginUserInfo loginUserInfo){
+ List<YwQuickModel> ywQuickModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda()
+ .eq(YwQuickModel::getIsdeleted, Constants.ZERO)
+ .eq(YwQuickModel::getUserId,loginUserInfo.getId())
+ .orderByAsc(YwQuickModel::getSort)
+ );
+ if(CollectionUtils.isEmpty(ywQuickModelList)){
+ ywQuickModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda()
+ .eq(YwQuickModel::getIsdeleted, Constants.ZERO)
+ .isNull(YwQuickModel::getUserId)
+ .orderByAsc(YwQuickModel::getSort)
+ );
+ }
+ return ywQuickModelList;
+ }
+
+
+ @Override
+ public void updMyYwQuickModel(List<Integer> idList, LoginUserInfo loginUserInfo){
+ List<YwQuickModel> ywQuickModelList = ywQuickModelMapper.selectList(new QueryWrapper<YwQuickModel>().lambda()
+ .eq(YwQuickModel::getIsdeleted, Constants.ZERO)
+ .isNull(YwQuickModel::getUserId)
+ .orderByAsc(YwQuickModel::getSort)
+ );
+ if(CollectionUtils.isEmpty(ywQuickModelList) || Constants.equalsInteger(idList.size(),ywQuickModelList.size())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"蹇嵎妯″潡閰嶇疆寮傚父,璇疯仈绯荤鐞嗗憳");
+ }
+ ywQuickModelMapper.delete(new QueryWrapper<YwQuickModel>().lambda().eq(YwQuickModel::getUserId,loginUserInfo.getId()));
+ List<YwQuickModel> newList = new ArrayList<>();
+ for (int i = 0; i < idList.size(); i++) {
+ Integer id = idList.get(i);
+ List<YwQuickModel> ywQuickModels = ywQuickModelList.stream().filter(j->Constants.equalsInteger(j.getId(),id)).collect(Collectors.toList());
+ if(CollectionUtils.isEmpty(ywQuickModels)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"蹇嵎妯″潡閰嶇疆寮傚父,璇疯仈绯荤鐞嗗憳");
+ }
+ YwQuickModel ywQuickModel = ywQuickModels.get(Constants.ZERO);
+ ywQuickModel.setId(null);
+ ywQuickModel.setCreator(loginUserInfo.getId());
+ ywQuickModel.setCreateDate(new Date());
+ ywQuickModel.setSort(i+1);
+ ywQuickModel.setUserId(loginUserInfo.getId());
+ newList.add(ywQuickModel);
+ }
+ ywQuickModelMapper.insert(newList);
+ }
+
+
+ @Override
+ public List<MonthDataResponse> getMonthNotices(String yearMonth, LoginUserInfo loginUserInfo){
+ List<String> dataList = DateUtil.getDayByMonth(yearMonth);
+ List<MonthDataResponse> monthDataResponseList = new ArrayList<>();
+ for (String str:dataList) {
+ MonthDataResponse monthDataResponse = new MonthDataResponse();
+ monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName());
+ monthDataResponse.setMonthDate(str);
+
+ monthDataResponseList.add(monthDataResponse);
+ }
+ return monthDataResponseList;
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
index ac034cb..713148c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
@@ -111,11 +111,12 @@
@Override
public YwBuilding findById(Integer id) {
-
-
MPJLambdaWrapper<YwBuilding> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(YwBuilding.class )
.selectAs(YwProject::getName,YwBuilding::getProjectName)
+ .select(" (select ifnull(sum(y.FEE_AREA),0) from yw_room y where y.ISDELETED = 0 and y.status = 0 and y.IS_INVESTMENT = 1 and y.BUILDING_ID = t.id ) ",YwBuilding::getRoomFeeArea)
+ .select(" (select ifnull(sum(y.RENT_AREA),0) from yw_room y where y.ISDELETED = 0 and y.status = 0 and y.IS_INVESTMENT = 1 and y.BUILDING_ID = t.id ) ",YwBuilding::getRoomRentArea)
+ .select("",YwBuilding::getRoomFeeArea)
.leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId)
.eq(YwBuilding::getId,id)
.last(" limit 1 ")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java
index 5bc2097..a320b59 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java
@@ -10,6 +10,7 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.YwContractBillDataVO;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.model.Multifile;
import com.doumee.dao.system.model.SystemUser;
@@ -20,6 +21,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
+import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -282,7 +284,6 @@
YwContractBill model = pageWrap.getModel();
IPage<YwContractBill> iPage = ywContractBillMapper.selectJoinPage(page,YwContractBill.class,
queryWrapper.selectAll(YwContractBill.class)
-// .select(" ( select ifnull(sum(case when yw.REVENUE_TYPE = 0 then yw.ACT_RECEIVABLE_FEE else -yw.ACT_RECEIVABLE_FEE end),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ")
.select(" ( select ifnull( sum( CASE WHEN t.bill_type = 0 and yw.REVENUE_TYPE = 0 THEN yw.ACT_RECEIVABLE_FEE when t.bill_type = 0 and yw.REVENUE_TYPE = 1 then -yw.ACT_RECEIVABLE_FEE when t.bill_type = 1 and yw.REVENUE_TYPE = 0 then -yw.ACT_RECEIVABLE_FEE else yw.ACT_RECEIVABLE_FEE END),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ")
.selectAs(YwContract::getCode,YwContractBill::getContractCode)
.selectAs(YwCustomer::getName,YwContractBill::getCustomerName)
@@ -486,4 +487,59 @@
return list;
}
+
+ @Override
+ public YwContractBillDataVO getWaitDealList(Integer contractId){
+ YwContractBillDataVO ywContractBillDataVO = new YwContractBillDataVO();
+ ywContractBillDataVO.setInAmount(Constants.ZERO);
+ ywContractBillDataVO.setInFee(BigDecimal.ZERO);
+ ywContractBillDataVO.setPayAmount(Constants.ZERO);
+ ywContractBillDataVO.setPayFee(BigDecimal.ZERO);
+ MPJLambdaWrapper<YwContractBill> queryWrapper = new MPJLambdaWrapper<YwContractBill>();
+ queryWrapper.selectAll(YwContractBill.class)
+ .select(" ( select ifnull( sum( CASE WHEN t.bill_type = 0 and yw.REVENUE_TYPE = 0 THEN yw.ACT_RECEIVABLE_FEE when t.bill_type = 0 and yw.REVENUE_TYPE = 1 then -yw.ACT_RECEIVABLE_FEE when t.bill_type = 1 and yw.REVENUE_TYPE = 0 then -yw.ACT_RECEIVABLE_FEE else yw.ACT_RECEIVABLE_FEE END),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ")
+ .selectAs(YwContract::getCode,YwContractBill::getContractCode)
+ .selectAs(YwCustomer::getName,YwContractBill::getCustomerName)
+ .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
+ .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId)
+ .eq(YwContractBill::getIsdeleted,Constants.ZERO)
+ .in(YwContractBill::getPayStatus,Constants.ZERO,Constants.TWO,Constants.THREE,Constants.FOUR)
+ .eq(YwContractBill::getContractId,contractId)
+ .orderByDesc(YwContractBill::getId);
+ List<YwContractBill> list = ywContractBillMapper.selectJoinList(YwContractBill.class,queryWrapper);
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
+ for (YwContractBill ywContractBill:list) {
+ //闇�鏀堕噾棰�
+ ywContractBill.setNeedReceivableFee(
+ ywContractBill.getReceivableFee().subtract(ywContractBill.getActReceivableFee())
+ );
+ //鏀舵璐﹀崟
+ if(Constants.equalsInteger(ywContractBill.getBillType(),Constants.ZERO)){
+ //搴旀敹閲戦 灏忎簬 瀹炴敹閲戦 澶氭敹閲戦 搴旇鏄��娆�
+ if(ywContractBill.getNeedReceivableFee().compareTo(BigDecimal.ZERO)<Constants.ZERO){
+ ywContractBillDataVO.setPayAmount(ywContractBillDataVO.getPayAmount()+1);
+ ywContractBillDataVO.setPayFee(ywContractBillDataVO.getPayFee().add(ywContractBill.getNeedReceivableFee().abs()));
+ }else if(ywContractBill.getNeedReceivableFee().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ ywContractBillDataVO.setInAmount(ywContractBillDataVO.getInAmount()+1);
+ ywContractBillDataVO.setInFee(ywContractBillDataVO.getInFee().add(ywContractBill.getNeedReceivableFee().abs()));
+ }
+ }else{
+ //浠樻璐﹀崟
+ //搴斾粯閲戦 灏忎簬 瀹炰粯閲戦 搴旇鏄粯娆炬
+ if(ywContractBill.getNeedReceivableFee().compareTo(BigDecimal.ZERO)<Constants.ZERO){
+ ywContractBillDataVO.setPayAmount(ywContractBillDataVO.getPayAmount()+1);
+ ywContractBillDataVO.setPayFee(ywContractBillDataVO.getPayFee().add(ywContractBill.getNeedReceivableFee().abs()));
+ }else{
+ ywContractBillDataVO.setInAmount(ywContractBillDataVO.getInAmount()+1);
+ ywContractBillDataVO.setInFee(ywContractBillDataVO.getInFee().add(ywContractBill.getNeedReceivableFee().abs()));
+ }
+ }
+ }
+ ywContractBillDataVO.setYwContractBillList(list);
+ }
+
+ return ywContractBillDataVO;
+ }
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
index 9e3df6e..ad8f044 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
@@ -1525,10 +1525,6 @@
queryWrapper.le(YwContract::getWyFreeEndDate, Utils.Date.getEnd(pageWrap.getModel().getWyFreeEndDate()));
}
-
-
-
-
if (pageWrap.getModel().getZlTotalFee() != null) {
queryWrapper.eq(YwContract::getZlTotalFee, pageWrap.getModel().getZlTotalFee());
}
@@ -1538,6 +1534,9 @@
if (pageWrap.getModel().getCompanyName() != null) {
queryWrapper.like(Company::getName, pageWrap.getModel().getCompanyName());
}
+ if (pageWrap.getModel().getRoomId() != null) {
+ queryWrapper.apply(" t.id in ( select ycr.CONTRACT_ID from yw_contract_room ycr where ycr.type = 0 and ycr.ROOM_ID = "+pageWrap.getModel().getRoomId()+" ) ");
+ }
queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), YwContract::getStartDate, pageWrap.getModel().getQueryStartTime())
.le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()), YwContract::getEndDate, pageWrap.getModel().getQueryEndTime());
queryWrapper.orderByDesc(YwContract::getCreateDate );
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
index 36f4e94..ea6e35d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
@@ -178,6 +178,7 @@
.and(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getDeviceName()),i->i.like(YwDevice::getName,model.getDeviceName()).or().like(YwDevice::getCode,model.getDeviceName()))
.ge(Objects.nonNull(model.getStartDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
.le(Objects.nonNull(model.getEndDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
+ .eq(Objects.nonNull(model.getDeviceId()),YwDeviceRecord::getDeviceId,model.getDeviceId())
.eq(YwDeviceRecord::getIsdeleted,Constants.ZERO)
.orderByDesc(YwDeviceRecord::getCreateDate)
);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
index e96dd30..5aa6aef 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
@@ -15,7 +15,10 @@
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.YwDevice;
import com.doumee.dao.business.model.YwDeviceRecord;
+import com.doumee.dao.business.vo.YwDeviceCateDataVO;
import com.doumee.dao.business.vo.YwDeviceDataVO;
+import com.doumee.dao.business.vo.YwDeviceParentCateDataVO;
+import com.doumee.dao.business.vo.YwDeviceStatusDataVO;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.model.Multifile;
import com.doumee.dao.system.model.SystemUser;
@@ -33,9 +36,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -66,6 +67,10 @@
|| StringUtils.isBlank(ywDevice.getName())
|| StringUtils.isBlank(ywDevice.getCode())
|| Objects.isNull(ywDevice.getStatus())
+ || Objects.isNull(ywDevice.getProjectId())
+ || Objects.isNull(ywDevice.getFloorId())
+ || Objects.isNull(ywDevice.getBuildingId())
+ || Objects.isNull(ywDevice.getRoomId())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
@@ -87,6 +92,28 @@
multifile.setObjId(ywDevice.getId());
multifile.setFileurl(ywDevice.getFileUrl());
multifileMapper.insert(multifile);
+ }
+
+ List<Multifile> fileList = new ArrayList<>();
+ if(ywDevice.getMultifileList()!=null && ywDevice.getMultifileList().size()>0){
+ for (int i = 0; i < ywDevice.getMultifileList().size(); i++) {
+ Multifile multifile = ywDevice.getMultifileList().get(i);
+ if(StringUtils.isBlank(multifile.getFileurl())){
+ continue;
+ }
+ multifile.setCreateDate(ywDevice.getCreateDate());
+ multifile.setEditDate(ywDevice.getCreateDate());
+ multifile.setCreator(ywDevice.getEditor());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setObjId(ywDevice.getId());
+ multifile.setEditor(ywDevice.getCreator());
+ multifile.setObjType(Constants.MultiFile.FN_DEVICE_MAINTENANCE_FILE.getKey());
+ multifile.setSortnum(i+1);
+ fileList.add(multifile);
+ }
+ }
+ if(fileList.size()>0){
+ multifileMapper.insert(fileList);
}
return ywDevice.getId();
@@ -126,6 +153,10 @@
|| StringUtils.isBlank(ywDevice.getName())
|| StringUtils.isBlank(ywDevice.getCode())
|| Objects.isNull(ywDevice.getStatus())
+ || Objects.isNull(ywDevice.getProjectId())
+ || Objects.isNull(ywDevice.getFloorId())
+ || Objects.isNull(ywDevice.getBuildingId())
+ || Objects.isNull(ywDevice.getRoomId())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
@@ -140,7 +171,7 @@
ywDeviceMapper.updateById(ywDevice);
multifileMapper.delete(new QueryWrapper<Multifile>().lambda()
.eq(Multifile::getObjId,ywDevice.getId())
- .eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_FILE.getKey())
+ .in(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_FILE.getKey(),Constants.MultiFile.FN_DEVICE_MAINTENANCE_FILE.getKey())
);
if(Objects.nonNull(ywDevice.getFileUrl())){
Multifile multifile = new Multifile();
@@ -151,6 +182,28 @@
multifile.setObjId(ywDevice.getId());
multifile.setFileurl(ywDevice.getFileUrl());
multifileMapper.insert(multifile);
+ }
+
+ List<Multifile> fileList = new ArrayList<>();
+ if(ywDevice.getMultifileList()!=null && ywDevice.getMultifileList().size()>0){
+ for (int i = 0; i < ywDevice.getMultifileList().size(); i++) {
+ Multifile multifile = ywDevice.getMultifileList().get(i);
+ if(StringUtils.isBlank(multifile.getFileurl())){
+ continue;
+ }
+ multifile.setCreateDate(ywDevice.getCreateDate());
+ multifile.setEditDate(ywDevice.getCreateDate());
+ multifile.setCreator(ywDevice.getEditor());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setObjId(ywDevice.getId());
+ multifile.setEditor(ywDevice.getCreator());
+ multifile.setObjType(Constants.MultiFile.FN_DEVICE_MAINTENANCE_FILE.getKey());
+ multifile.setSortnum(i+1);
+ fileList.add(multifile);
+ }
+ }
+ if(fileList.size()>0){
+ multifileMapper.insert(fileList);
}
@@ -181,6 +234,26 @@
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_DEVICE).getCode();
ywDevice.setFileFullUrl(path + multifile.getFileurl());
}
+
+ //闄勪欢鏁版嵁
+ List<Multifile> multifileList = multifileMapper.selectJoinList(Multifile.class,new MPJLambdaWrapper<Multifile>()
+ .selectAll(Multifile.class)
+ .selectAs(SystemUser::getRealname,Multifile::getUserName)
+ .leftJoin(SystemUser.class,SystemUser::getId,Multifile::getCreator)
+ .eq(Multifile::getObjId,ywDevice.getId())
+ .eq(Multifile::getIsdeleted,Constants.ZERO)
+ .eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_MAINTENANCE_FILE.getKey()));
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PATROL).getCode();
+ for (Multifile m:multifileList) {
+ if(StringUtils.isNotBlank(m.getFileurl())){
+ m.setFileurlFull(path + m.getFileurl());
+ }
+ }
+ ywDevice.setMultifileList(multifileList);
+ }
+
return ywDevice;
}
@@ -228,12 +301,18 @@
Utils.MP.blankToNull(pageWrap.getModel());
YwDevice model = pageWrap.getModel();
queryWrapper.selectAll(YwDevice.class)
- .selectAs(Category::getName,YwDevice::getCategoryName)
+ .select("c.name",YwDevice::getCategoryName)
+ .select("c1.name",YwDevice::getCategoryParentName)
.selectAs(SystemUser::getRealname,YwDevice::getRealName)
- .leftJoin(Category.class,Category::getId,YwDevice::getCateId)
.leftJoin(SystemUser.class,SystemUser::getId,YwDevice::getUserId)
+ .leftJoin("category c on t.CATE_ID = c.id")
+ .leftJoin("category c1 on c.PARENT_ID = c1.id")
.and(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),i->i.like(YwDevice::getName,model.getName()).or().like(YwDevice::getCode,model.getName()))
.eq(Objects.nonNull(model.getStatus()),YwDevice::getStatus,model.getStatus())
+ .eq(Objects.nonNull(model.getRoomId()),YwDevice::getRoomId,model.getRoomId())
+ .eq(Objects.nonNull(model.getFloorId()),YwDevice::getFloorId,model.getFloorId())
+ .eq(Objects.nonNull(model.getProjectId()),YwDevice::getProjectId,model.getProjectId())
+ .eq(Objects.nonNull(model.getBuildingId()),YwDevice::getBuildingId,model.getBuildingId())
.eq(YwDevice::getIsdeleted,Constants.ZERO)
.orderByDesc(YwDevice::getCreateDate)
;
@@ -263,6 +342,80 @@
return ywDeviceDataVO;
}
+ @Override
+ public Set<YwDeviceCateDataVO> getDeviceCateData(YwDevice model){
+ MPJLambdaWrapper<YwDevice> queryWrapper = new MPJLambdaWrapper<YwDevice>();
+ queryWrapper.selectAll(YwDevice.class)
+ .select("c.name",YwDevice::getCategoryName)
+ .select("c1.name",YwDevice::getCategoryParentName)
+ .select("c1.id",YwDevice::getCateParentId)
+ .selectAs(SystemUser::getRealname,YwDevice::getRealName)
+ .leftJoin(SystemUser.class,SystemUser::getId,YwDevice::getUserId)
+ .leftJoin("category c on t.CATE_ID = c.id")
+ .leftJoin("category c1 on c.PARENT_ID = c1.id")
+ .eq(Objects.nonNull(model.getRoomId()),YwDevice::getRoomId,model.getRoomId())
+ .eq(Objects.nonNull(model.getFloorId()),YwDevice::getFloorId,model.getFloorId())
+ .eq(Objects.nonNull(model.getProjectId()),YwDevice::getProjectId,model.getProjectId())
+ .eq(Objects.nonNull(model.getBuildingId()),YwDevice::getBuildingId,model.getBuildingId())
+ .eq(YwDevice::getIsdeleted,Constants.ZERO)
+ .isNotNull(YwDevice::getCateId)
+ .orderByDesc(YwDevice::getCreateDate)
+ ;
+ List<YwDevice> ywDeviceList = ywDeviceMapper.selectJoinList(YwDevice.class,queryWrapper);
+ Set<YwDeviceCateDataVO> ywDeviceCateDataVOSet = new HashSet<>();
+ Set<YwDeviceParentCateDataVO> ywDeviceParentCateDataVOSet = new HashSet<>();
+ for (YwDevice y: ywDeviceList) {
+ YwDeviceCateDataVO ywDeviceCateDataVO = new YwDeviceCateDataVO();
+ ywDeviceCateDataVO.setCateId(y.getCateId());
+ ywDeviceCateDataVO.setCateName(y.getCategoryName());
+ ywDeviceCateDataVO.setCateParentId(y.getCateParentId());
+ ywDeviceCateDataVOSet.add(ywDeviceCateDataVO);
+ YwDeviceParentCateDataVO ywDeviceParentCateDataVO = new YwDeviceParentCateDataVO();
+ ywDeviceParentCateDataVO.setCateId(y.getCateParentId());
+ ywDeviceParentCateDataVO.setCateName(y.getCategoryParentName());
+ ywDeviceParentCateDataVOSet.add(ywDeviceParentCateDataVO);
+ }
+
+ for (YwDeviceCateDataVO ywDeviceCateDataVO:ywDeviceCateDataVOSet) {
+ ywDeviceCateDataVO.setDeviceAmount(
+ ywDeviceList.stream().filter(i->Objects.nonNull(i.getCateId()) && Constants.equalsInteger(i.getCateId(),ywDeviceCateDataVO.getCateId())).collect(Collectors.toList()).size()
+ );
+ }
+
+ for (YwDeviceParentCateDataVO ywDeviceParentCateDataVO:ywDeviceParentCateDataVOSet) {
+ ywDeviceParentCateDataVO.setDeviceAmount(
+ ywDeviceList.stream().filter(i->Objects.nonNull(i.getCateParentId()) && Constants.equalsInteger(i.getCateParentId(),ywDeviceParentCateDataVO.getCateId())).collect(Collectors.toList()).size()
+ );
+ ywDeviceParentCateDataVO.setYwDeviceCateDataVOList(
+ ywDeviceCateDataVOSet.stream().filter(i->Constants.equalsInteger(i.getCateParentId(),ywDeviceParentCateDataVO.getCateId())).collect(Collectors.toList())
+ );
+ }
+ return ywDeviceCateDataVOSet;
+ }
+
+
+ @Override
+ public YwDeviceStatusDataVO getDeviceStatus(YwDevice model){
+ YwDeviceStatusDataVO ywDeviceStatusDataVO = new YwDeviceStatusDataVO();
+ MPJLambdaWrapper<YwDevice> queryWrapper = new MPJLambdaWrapper<YwDevice>();
+ queryWrapper.selectAll(YwDevice.class)
+ .eq(Objects.nonNull(model.getRoomId()),YwDevice::getRoomId,model.getRoomId())
+ .eq(Objects.nonNull(model.getFloorId()),YwDevice::getFloorId,model.getFloorId())
+ .eq(Objects.nonNull(model.getProjectId()),YwDevice::getProjectId,model.getProjectId())
+ .eq(Objects.nonNull(model.getBuildingId()),YwDevice::getBuildingId,model.getBuildingId())
+ .eq(YwDevice::getIsdeleted,Constants.ZERO)
+ ;
+ List<YwDevice> ywDeviceList = ywDeviceMapper.selectJoinList(YwDevice.class,queryWrapper);
+ ywDeviceStatusDataVO.setAmount(ywDeviceList.size());
+ ywDeviceStatusDataVO.setWorkAmount(ywDeviceList.stream().filter(i->Objects.nonNull(i.getStatus())&&Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size());
+ ywDeviceStatusDataVO.setExceptionAmount(ywDeviceList.stream().filter(i->Objects.nonNull(i.getStatus())&&Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size());
+ ywDeviceStatusDataVO.setErrAmount(ywDeviceList.stream().filter(i->Objects.nonNull(i.getStatus())&&Constants.equalsInteger(i.getStatus(),Constants.THREE)).collect(Collectors.toList()).size());
+ return ywDeviceStatusDataVO;
+
+ }
+
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwMaterialServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwMaterialServiceImpl.java
index 90dde7f..22b0839 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwMaterialServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwMaterialServiceImpl.java
@@ -221,6 +221,8 @@
.like(StringUtils.isNotBlank(model.getAttr()),YwMaterial::getAttr,model.getAttr())
.eq(Objects.nonNull(model.getProjectId()),YwRoom::getProjectId,model.getProjectId())
.eq(Objects.nonNull(model.getRoomId()),YwMaterial::getRoomId,model.getRoomId())
+ .eq(Objects.nonNull(model.getFloorId()),YwRoom::getFloor,model.getFloorId())
+ .eq(Objects.nonNull(model.getBuildingId()),YwRoom::getBuildingId,model.getBuildingId())
.eq(YwMaterial::getIsdeleted,Constants.ZERO)
.orderByAsc(YwMaterial::getCode)
;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
index 375b2f6..96a4593 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
@@ -15,6 +15,7 @@
import com.doumee.dao.business.YwPatrolTaskMapper;
import com.doumee.dao.business.YwPatrolTaskRecordMapper;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.YwPatrolSchemeService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -48,6 +49,8 @@
private YwLinePointMapper ywLinePointMapper;
@Autowired
private YwPatrolTaskRecordMapper ywPatrolTaskRecordMapper;
+ @Autowired
+ private SystemUserMapper systemUserMapper;
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@@ -315,8 +318,8 @@
YwPatrolScheme model = pageWrap.getModel();
queryWrapper.selectAll(YwPatrolScheme.class)
.select(" t2.realName as createUserName ")
- .select(" t1.realName as userName ")
- .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolScheme::getUserIds)
+// .select(" t1.realName as userName ")
+// .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolScheme::getUserIds)
.leftJoin(" system_user t2 on t.creator = t2.id ")
.eq(YwPatrolScheme::getIsdeleted,Constants.ZERO)
.like(StringUtils.isNotBlank(model.getTitle()),YwPatrolScheme::getTitle,model.getTitle())
@@ -333,10 +336,24 @@
IPage<YwPatrolScheme> iPage = ywPatrolSchemeMapper.selectJoinPage(page,YwPatrolScheme.class,queryWrapper);
for (YwPatrolScheme ywPatrolScheme:iPage.getRecords()) {
this.getSchemeStatus(ywPatrolScheme);
+ //宸℃浜哄憳
+ this.getUserNames(ywPatrolScheme);
}
return PageData.from(iPage);
}
+
+ public void getUserNames(YwPatrolScheme ywPatrolScheme){
+ if(Objects.nonNull(ywPatrolScheme)&&StringUtils.isNotBlank(ywPatrolScheme.getUserIds())){
+ List<SystemUser> systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda()
+ .apply(" find_in_set(id,'"+ywPatrolScheme.getUserIds()+"') ")
+ );
+ String userName = String.join(",",systemUserList.stream().map(i->i.getRealname()).collect(Collectors.toList()));
+ ywPatrolScheme.setUserName(userName);
+ }
+ }
+
+
//鑾峰彇鐘舵��
public void getSchemeStatus(YwPatrolScheme ywPatrolScheme){
List<YwPatrolTask> ywPatrolTaskList = ywPatrolTaskMapper.selectList(new QueryWrapper<YwPatrolTask>().lambda()
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
index d025f21..4253d90 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
@@ -127,13 +127,22 @@
.selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
.selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
.selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
+
+ .selectAs(YwPatrolScheme::getTitle,YwPatrolTaskRecord::getSchemeTitle)
+ .selectAs(YwPatrolTask::getTitle,YwPatrolTaskRecord::getTaskCode)
+ .selectAs(YwPatrolTask::getStartDate,YwPatrolTaskRecord::getStartDate)
+ .selectAs(YwPatrolTask::getEndDate,YwPatrolTaskRecord::getEndDate)
+
.leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)
.leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTaskRecord::getDealUserId)
+ .leftJoin(YwPatrolTask.class,YwPatrolTask::getId,YwPatrolTaskRecord::getTaskId)
+ .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
.eq(YwPatrolScheme::getIsdeleted, Constants.ZERO)
.eq(Objects.nonNull(model) && Objects.nonNull(model.getTaskId()),YwPatrolTaskRecord::getTaskId, model.getTaskId())
.eq(Objects.nonNull(model) && Objects.nonNull(model.getDealUserId()),YwPatrolTaskRecord::getDealUserId, model.getDealUserId())
.like(StringUtils.isNotBlank(model.getPointName()),YwPatrolPoint::getName,model.getPointName())
.eq(Objects.nonNull(model) && Objects.nonNull(model.getStatus()) , YwPatrolTaskRecord::getStatus,model.getStatus())
+ .eq(Objects.nonNull(model) && Objects.nonNull(model.getDeviceId()) , YwPatrolPoint::getDeviceId,model.getDeviceId())
.orderByDesc(YwPatrolScheme::getCreateDate)
;
IPage<YwPatrolTaskRecord> iPage = ywPatrolTaskRecordMapper.selectJoinPage(page,YwPatrolTaskRecord.class,queryWrapper);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
index 5ee8050..67906be 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
@@ -1,29 +1,33 @@
package com.doumee.service.business.impl;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwProblemMapper;
-import com.doumee.dao.business.model.YwProblem;
+import com.doumee.dao.business.YwRoomMapper;
+import com.doumee.dao.business.model.*;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.model.Multifile;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.YwProblemService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
/**
* 杩愮淮闂涓婃姤淇℃伅琛⊿ervice瀹炵幇
@@ -37,9 +41,16 @@
private YwProblemMapper ywProblemMapper;
@Autowired
+ private YwRoomMapper ywRoomMapper;
+
+ @Autowired
private MultifileMapper multifileMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
@Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
public Integer create(YwProblem ywProblem) {
if(Objects.isNull(ywProblem)
|| Objects.isNull(ywProblem.getSubmitDate())
@@ -116,6 +127,110 @@
return ywProblemMapper.selectById(id);
}
+
+
+ @Override
+ public YwProblem getDetail(Integer id) {
+ MPJLambdaWrapper<YwProblem> queryWrapper = new MPJLambdaWrapper<YwProblem>();
+ queryWrapper.selectAll(YwProblem.class)
+ .selectAs(SystemUser::getRealname,YwProblem::getDealUserName)
+ .selectAs(Company::getName,YwProblem::getDealUserCompanyName)
+ .leftJoin(SystemUser.class,SystemUser::getId,YwProblem::getDealUserId)
+ .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+ .eq(YwProblem::getId,id)
+ ;
+ YwProblem ywProblem = ywProblemMapper.selectJoinOne(YwProblem.class,queryWrapper);
+ if(Objects.isNull(ywProblem)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
+ .eq(Multifile::getObjId, ywProblem.getId() )
+ .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.PROBLEM_FILE.getKey() }))
+ .eq(Multifile::getIsdeleted,Constants.ZERO));
+ if(multifiles!=null){
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_PROBLEM).getCode();
+ for(Multifile f : multifiles){
+ if(StringUtils.isBlank(f.getFileurl())){
+ continue;
+ }
+ f.setFileurlFull(path+f.getFileurl());
+ }
+ ywProblem.setFileList(multifiles);
+ }
+ return ywProblem;
+ }
+
+
+
+ @Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ public void editProblem(YwProblem ywProblem,YwWorkorderServiceImpl ywWorkorderService){
+ if(Objects.isNull(ywProblem)
+ || Objects.isNull(ywProblem.getId())
+ || Objects.isNull(ywProblem.getDealStatus())
+ || !(Constants.equalsInteger(ywProblem.getDealStatus(),Constants.ONE)||Constants.equalsInteger(ywProblem.getDealStatus(),Constants.TWO))
+ || (Constants.equalsInteger(ywProblem.getDealStatus(),Constants.TWO)&&StringUtils.isBlank(ywProblem.getDealInfo()))
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = ywProblem.getLoginUserInfo();
+ //鍏抽棴闂
+ if(Constants.equalsInteger(ywProblem.getDealStatus(),Constants.TWO)){
+ ywProblemMapper.update(new UpdateWrapper<YwProblem>().lambda()
+ .set(YwProblem::getDealDate, DateUtil.getCurrDateTime())
+ .set(YwProblem::getDealInfo,ywProblem.getDealInfo())
+ .set(YwProblem::getDealType,Constants.ONE)
+ .set(YwProblem::getDealStatus,ywProblem.getDealStatus())
+ .set(YwProblem::getDealUserId,loginUserInfo.getId())
+ .set(YwProblem::getEditor,loginUserInfo.getId())
+ .set(YwProblem::getEditDate, DateUtil.getCurrDateTime())
+ .eq(YwProblem::getId,ywProblem.getId())
+ );
+ }else{
+ if(Objects.isNull(ywProblem.getWorkOrderAreaType())
+ ||Objects.isNull(ywProblem.getWorkOrderCateId())
+ ||StringUtils.isBlank(ywProblem.getWorkOrderContent())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ YwWorkorder ywWorkorder = new YwWorkorder();
+ ywWorkorder.setAreaType(ywProblem.getWorkOrderAreaType());
+ ywWorkorder.setCateId(ywProblem.getWorkOrderCateId());
+ ywWorkorder.setContent(ywProblem.getWorkOrderContent());
+ ywWorkorder.setRoomId(ywProblem.getWorkOrderRoomId());
+ ywWorkorder.setFloorId(ywProblem.getWorkOrderFloorId());
+ ywWorkorder.setGetDate(ywProblem.getWorkOrderGetDate());
+ ywWorkorder.setOrigin(Constants.ONE);
+ ywWorkorder.setLoginUserInfo(loginUserInfo);
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywProblem.getWorkOrderFileList())){
+ ywWorkorder.setFileList(ywProblem.getWorkOrderFileList());
+ }
+ Integer workOrderId = ywWorkorderService.create(ywWorkorder);
+ ywProblemMapper.update(new UpdateWrapper<YwProblem>().lambda()
+ .set(YwProblem::getDealDate, DateUtil.getCurrDateTime())
+ .set(YwProblem::getDealInfo,ywProblem.getDealInfo())
+ .set(YwProblem::getDealType,Constants.ZERO)
+ .set(YwProblem::getDealStatus,ywProblem.getDealStatus())
+ .set(YwProblem::getDealUserId,loginUserInfo.getId())
+ .set(YwProblem::getEditor,loginUserInfo.getId())
+ .set(YwProblem::getEditDate, DateUtil.getCurrDateTime())
+ .set(YwProblem::getWorkorderId,workOrderId)
+ .eq(YwProblem::getId,ywProblem.getId())
+ );
+
+ }
+
+ }
+
+
+
+
+
+
+
+
+
@Override
public YwProblem findOne(YwProblem ywProblem) {
QueryWrapper<YwProblem> wrapper = new QueryWrapper<>(ywProblem);
@@ -131,77 +246,19 @@
@Override
public PageData<YwProblem> findPage(PageWrap<YwProblem> pageWrap) {
IPage<YwProblem> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<YwProblem> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<YwProblem> queryWrapper = new MPJLambdaWrapper<YwProblem>();
Utils.MP.blankToNull(pageWrap.getModel());
- if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(YwProblem::getId, pageWrap.getModel().getId());
- }
- if (pageWrap.getModel().getCreator() != null) {
- queryWrapper.lambda().eq(YwProblem::getCreator, pageWrap.getModel().getCreator());
- }
- if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.lambda().ge(YwProblem::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.lambda().le(YwProblem::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
- }
- if (pageWrap.getModel().getEditor() != null) {
- queryWrapper.lambda().eq(YwProblem::getEditor, pageWrap.getModel().getEditor());
- }
- if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.lambda().ge(YwProblem::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.lambda().le(YwProblem::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
- }
- if (pageWrap.getModel().getIsdeleted() != null) {
- queryWrapper.lambda().eq(YwProblem::getIsdeleted, pageWrap.getModel().getIsdeleted());
- }
- if (pageWrap.getModel().getPosition() != null) {
- queryWrapper.lambda().eq(YwProblem::getPosition, pageWrap.getModel().getPosition());
- }
- if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(YwProblem::getRemark, pageWrap.getModel().getRemark());
- }
- if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.lambda().eq(YwProblem::getStatus, pageWrap.getModel().getStatus());
- }
- if (pageWrap.getModel().getContent() != null) {
- queryWrapper.lambda().eq(YwProblem::getContent, pageWrap.getModel().getContent());
- }
- if (pageWrap.getModel().getPhone() != null) {
- queryWrapper.lambda().eq(YwProblem::getPhone, pageWrap.getModel().getPhone());
- }
- if (pageWrap.getModel().getSubmitDate() != null) {
- queryWrapper.lambda().ge(YwProblem::getSubmitDate, Utils.Date.getStart(pageWrap.getModel().getSubmitDate()));
- queryWrapper.lambda().le(YwProblem::getSubmitDate, Utils.Date.getEnd(pageWrap.getModel().getSubmitDate()));
- }
- if (pageWrap.getModel().getCode() != null) {
- queryWrapper.lambda().eq(YwProblem::getCode, pageWrap.getModel().getCode());
- }
- if (pageWrap.getModel().getDealStatus() != null) {
- queryWrapper.lambda().eq(YwProblem::getDealStatus, pageWrap.getModel().getDealStatus());
- }
- if (pageWrap.getModel().getDealUserId() != null) {
- queryWrapper.lambda().eq(YwProblem::getDealUserId, pageWrap.getModel().getDealUserId());
- }
- if (pageWrap.getModel().getDealDate() != null) {
- queryWrapper.lambda().ge(YwProblem::getDealDate, Utils.Date.getStart(pageWrap.getModel().getDealDate()));
- queryWrapper.lambda().le(YwProblem::getDealDate, Utils.Date.getEnd(pageWrap.getModel().getDealDate()));
- }
- if (pageWrap.getModel().getDealInfo() != null) {
- queryWrapper.lambda().eq(YwProblem::getDealInfo, pageWrap.getModel().getDealInfo());
- }
- if (pageWrap.getModel().getDealType() != null) {
- queryWrapper.lambda().eq(YwProblem::getDealType, pageWrap.getModel().getDealType());
- }
- if (pageWrap.getModel().getWorkorderId() != null) {
- queryWrapper.lambda().eq(YwProblem::getWorkorderId, pageWrap.getModel().getWorkorderId());
- }
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
- }
- }
- return PageData.from(ywProblemMapper.selectPage(page, queryWrapper));
+ YwProblem model = pageWrap.getModel();
+ queryWrapper.selectAll(YwProblem.class)
+ .selectAs(SystemUser::getRealname,YwProblem::getDealUserName)
+ .leftJoin(SystemUser.class,SystemUser::getId,YwProblem::getDealUserId)
+ .like(StringUtils.isNotBlank(model.getContent()),YwProblem::getContent,model.getContent())
+ .ge(Objects.nonNull(model.getDealDateStart()),YwProblem::getDealDate, Utils.Date.getStart(model.getDealDateStart()))
+ .le(Objects.nonNull(model.getDealDateEnd()),YwProblem::getDealDate, Utils.Date.getEnd(model.getDealDateEnd()))
+ .eq(Objects.nonNull(model.getDealStatus()),YwProblem::getDealStatus,model.getDealStatus())
+ ;
+ IPage iPage = ywProblemMapper.selectJoinPage(page,YwProblem.class,queryWrapper);
+ return PageData.from(iPage);
}
@Override
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
index 2e0587a..81b1493 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
@@ -140,7 +140,21 @@
@Override
public YwProject findById(Integer id) {
- return ywProjectMapper.selectById(id);
+ YwProject ywProject = ywProjectMapper.selectById(id);
+ if(Objects.isNull(ywProject)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(Objects.nonNull(ywProject.getAreaId())){
+ Areas a = areasService.findById(ywProject.getAreaId(),Constants.TWO);
+ if(a != null){
+ ywProject.setAreaName(a.getName());
+ ywProject.setCityId(a.getCityId());
+ ywProject.setCityName(a.getCityName());
+ ywProject.setProvinceId(a.getProvinceId());
+ ywProject.setProvinceName(a.getProvinceName());
+ }
+ }
+ return ywProject;
}
@Override
@@ -308,7 +322,6 @@
ProjectTree treeBuild = new ProjectTree(projectDataVOList);
projectDataVOList = treeBuild.buildTree();
return projectDataVOList;
-
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwQuickModelServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwQuickModelServiceImpl.java
new file mode 100644
index 0000000..840fe32
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwQuickModelServiceImpl.java
@@ -0,0 +1,142 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.YwQuickModelMapper;
+import com.doumee.dao.business.model.YwQuickModel;
+import com.doumee.service.business.YwQuickModelService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 宸ヤ綔鍙� - 蹇嵎妯″潡Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2025/01/09 17:47
+ */
+@Service
+public class YwQuickModelServiceImpl implements YwQuickModelService {
+
+ @Autowired
+ private YwQuickModelMapper ywQuickModelMapper;
+
+ @Override
+ public Integer create(YwQuickModel ywQuickModel) {
+ ywQuickModelMapper.insert(ywQuickModel);
+ return ywQuickModel.getId();
+ }
+
+ @Override
+ public void deleteById(Integer id) {
+ ywQuickModelMapper.deleteById(id);
+ }
+
+ @Override
+ public void delete(YwQuickModel ywQuickModel) {
+ UpdateWrapper<YwQuickModel> deleteWrapper = new UpdateWrapper<>(ywQuickModel);
+ ywQuickModelMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<Integer> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ ywQuickModelMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(YwQuickModel ywQuickModel) {
+ ywQuickModelMapper.updateById(ywQuickModel);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<YwQuickModel> ywQuickModels) {
+ if (CollectionUtils.isEmpty(ywQuickModels)) {
+ return;
+ }
+ for (YwQuickModel ywQuickModel: ywQuickModels) {
+ this.updateById(ywQuickModel);
+ }
+ }
+
+ @Override
+ public YwQuickModel findById(Integer id) {
+ return ywQuickModelMapper.selectById(id);
+ }
+
+ @Override
+ public YwQuickModel findOne(YwQuickModel ywQuickModel) {
+ QueryWrapper<YwQuickModel> wrapper = new QueryWrapper<>(ywQuickModel);
+ return ywQuickModelMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<YwQuickModel> findList(YwQuickModel ywQuickModel) {
+ QueryWrapper<YwQuickModel> wrapper = new QueryWrapper<>(ywQuickModel);
+ return ywQuickModelMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<YwQuickModel> findPage(PageWrap<YwQuickModel> pageWrap) {
+ IPage<YwQuickModel> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ QueryWrapper<YwQuickModel> queryWrapper = new QueryWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ if (pageWrap.getModel().getId() != null) {
+ queryWrapper.lambda().eq(YwQuickModel::getId, pageWrap.getModel().getId());
+ }
+ if (pageWrap.getModel().getCreator() != null) {
+ queryWrapper.lambda().eq(YwQuickModel::getCreator, pageWrap.getModel().getCreator());
+ }
+ if (pageWrap.getModel().getCreateDate() != null) {
+ queryWrapper.lambda().ge(YwQuickModel::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+ queryWrapper.lambda().le(YwQuickModel::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+ }
+ if (pageWrap.getModel().getEditor() != null) {
+ queryWrapper.lambda().eq(YwQuickModel::getEditor, pageWrap.getModel().getEditor());
+ }
+ if (pageWrap.getModel().getEditDate() != null) {
+ queryWrapper.lambda().ge(YwQuickModel::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+ queryWrapper.lambda().le(YwQuickModel::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+ }
+ if (pageWrap.getModel().getIsdeleted() != null) {
+ queryWrapper.lambda().eq(YwQuickModel::getIsdeleted, pageWrap.getModel().getIsdeleted());
+ }
+ if (pageWrap.getModel().getUserId() != null) {
+ queryWrapper.lambda().eq(YwQuickModel::getUserId, pageWrap.getModel().getUserId());
+ }
+ if (pageWrap.getModel().getName() != null) {
+ queryWrapper.lambda().eq(YwQuickModel::getName, pageWrap.getModel().getName());
+ }
+ if (pageWrap.getModel().getPath() != null) {
+ queryWrapper.lambda().eq(YwQuickModel::getPath, pageWrap.getModel().getPath());
+ }
+ if (pageWrap.getModel().getIcoPath() != null) {
+ queryWrapper.lambda().eq(YwQuickModel::getIcoPath, pageWrap.getModel().getIcoPath());
+ }
+ if (pageWrap.getModel().getSort() != null) {
+ queryWrapper.lambda().eq(YwQuickModel::getSort, pageWrap.getModel().getSort());
+ }
+ for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
+ }
+ return PageData.from(ywQuickModelMapper.selectPage(page, queryWrapper));
+ }
+
+ @Override
+ public long count(YwQuickModel ywQuickModel) {
+ QueryWrapper<YwQuickModel> wrapper = new QueryWrapper<>(ywQuickModel);
+ return ywQuickModelMapper.selectCount(wrapper);
+ }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
index 87d1ec9..af4bcbc 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
@@ -6,12 +6,13 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.YwBuildingMapper;
-import com.doumee.dao.business.YwContractRoomMapper;
-import com.doumee.dao.business.YwRoomMapper;
-import com.doumee.dao.business.YwWorkorderMapper;
+import com.doumee.dao.business.*;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.YwFloorStatusDataVO;
+import com.doumee.dao.business.vo.YwRoomContractDataVO;
+import com.doumee.dao.business.vo.YwRoomStatusDataVO;
import com.doumee.service.business.YwRoomService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -23,8 +24,12 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
/**
* 杩愮淮鎴挎簮淇℃伅琛⊿ervice瀹炵幇
@@ -41,7 +46,13 @@
@Autowired
private YwContractRoomMapper ywContractRoomMapper;
@Autowired
+ private YwContractMapper ywContractMapper;
+
+ @Autowired
private YwWorkorderMapper ywWorkorderMapper;
+ @Autowired
+ private YwFloorMapper ywFloorMapper;
+
@Override
public Integer create(YwRoom model) {
@@ -126,7 +137,19 @@
@Override
public YwRoom findById(Integer id) {
- return ywRoomMapper.selectById(id);
+ MPJLambdaWrapper<YwRoom> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(YwRoom.class )
+ .selectAs(YwProject::getName,YwRoom::getProjectName)
+ .selectAs(YwFloor::getName,YwRoom::getFloorName)
+ .selectAs(YwBuilding::getName,YwRoom::getBuildingName)
+ .leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId)
+ .leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId)
+ .leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor)
+ .eq(YwRoom::getId,id)
+ .last(" limit 1 ")
+ ;
+ YwRoom ywRoom = ywRoomMapper.selectJoinOne(YwRoom.class,queryWrapper);
+ return ywRoom;
}
@Override
@@ -235,4 +258,172 @@
QueryWrapper<YwRoom> wrapper = new QueryWrapper<>(ywRoom);
return ywRoomMapper.selectCount(wrapper);
}
+
+
+
+ @Override
+ public List<YwFloorStatusDataVO> getRoomStatusList(YwRoom model){
+ if(Objects.isNull(model)
+ || (Objects.isNull(model.getBuildingId()) && Objects.isNull(model.getFloor()))){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ List<YwFloorStatusDataVO> ywFloorStatusDataVOList = new ArrayList<>();
+ List<YwFloor> ywFloorList = ywFloorMapper.selectList(new QueryWrapper<YwFloor>().lambda()
+ .eq(YwFloor::getIsdeleted,Constants.ZERO)
+ .eq(Objects.nonNull(model.getBuildingId()),YwFloor::getBuildingId,model.getBuildingId())
+ .eq(Objects.nonNull(model.getFloor()),YwFloor::getId,model.getFloor())
+ .orderByAsc(YwFloor::getFloor)
+ );
+ List<YwRoom> ywRoomList = ywRoomMapper.selectList(new QueryWrapper<YwRoom>().lambda()
+ .eq(YwRoom::getIsdeleted,Constants.ZERO)
+ .eq(YwRoom::getIsInvestment,Constants.ONE)
+ .eq(YwRoom::getStatus,Constants.ZERO)
+ .eq(Objects.nonNull(model.getBuildingId()),YwRoom::getBuildingId,model.getBuildingId())
+ .eq(Objects.nonNull(model.getFloor()),YwRoom::getFloor,model.getFloor())
+ .orderByAsc(YwRoom::getSortnum)
+ );
+ List<YwRoomStatusDataVO> roomStatusDataList = new ArrayList<>();
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywRoomList)){
+ for (YwRoom ywRoom:ywRoomList) {
+ YwRoomStatusDataVO roomStatusDataVO = new YwRoomStatusDataVO();
+ roomStatusDataVO.setFloorId(ywRoom.getFloor());
+ roomStatusDataVO.setRoomId(ywRoom.getId());
+ roomStatusDataVO.setRoomCode(ywRoom.getCode());
+ roomStatusDataVO.setRoomRentArea(ywRoom.getRentArea());
+
+ List<YwContract> roomContractList = ywContractMapper.selectJoinList(YwContract.class,new MPJLambdaWrapper<YwContract>()
+ .selectAll(YwContract.class)
+ .selectAs(YwCustomer::getName,YwContract::getRenterName)
+ .leftJoin(YwContractRoom.class,YwContractRoom::getContractId,YwContract::getId)
+ .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId)
+ .eq(YwContract::getIsdeleted,Constants.ZERO)
+ .ge(YwContract::getStartDate, DateUtil.getCurrDateTime())
+ .eq(YwContractRoom::getType,Constants.ZERO)
+ .eq(YwContractRoom::getRoomId,ywRoom.getId())
+ .ne(YwContract::getBillStatus,Constants.THREE)
+ .orderByDesc(YwContract::getStartDate)
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(roomContractList)){
+ roomStatusDataVO.setRoomStatus(Constants.ZERO);
+ roomStatusDataVO.setFreeDayAmount(Constants.ZERO);
+ }else{
+ YwContract ywContract = roomContractList.get(Constants.ZERO);
+ //鍚堝悓鐘舵�� 0寰呮墽琛� 1鎵ц涓� 2宸插埌鏈� 3閫�绉熶腑 4宸查��绉�
+ //寰呮墽琛�/鎵ц涓�/閫�绉熶腑 鍧囧睘浜庡凡鍑虹 鏍规嵁鍏蜂綋鍒版湡鏃堕棿鍒ゆ柇鏄惁澶勪簬鍗冲皢鍒版湡 90澶�
+ if(Constants.equalsInteger(ywContract.getStatus(),Constants.ZERO)||Constants.equalsInteger(ywContract.getStatus(),Constants.ONE)||
+ Constants.equalsInteger(ywContract.getStatus(),Constants.THREE)){
+ roomStatusDataVO.setRoomStatus(Constants.ONE);
+ roomStatusDataVO.setCustomerName(ywContract.getRenterName());
+ if(Constants.equalsInteger(ywContract.getStatus(),Constants.THREE)){
+ if(Objects.nonNull(ywContract.getBtDate()) && DateUtil.getBetweenDays(DateUtil.getFomartDate(ywContract.getBtDate(),"yyyy-MM-dd"),DateUtil.getFomartDate(new Date(),"yyyy-MM-dd"))<=90){
+ roomStatusDataVO.setRoomStatus(Constants.TWO);
+ roomStatusDataVO.setOverData(ywContract.getBtDate());
+ }
+ }else{
+ if(Objects.nonNull(ywContract.getEndDate()) && DateUtil.getBetweenDays(DateUtil.getFomartDate(ywContract.getEndDate(),"yyyy-MM-dd"),DateUtil.getFomartDate(new Date(),"yyyy-MM-dd"))<=90){
+ roomStatusDataVO.setRoomStatus(Constants.TWO);
+ roomStatusDataVO.setOverData(ywContract.getEndDate());
+ }
+ }
+ }
+ }
+ roomStatusDataList.add(roomStatusDataVO);
+ }
+ }
+ for (YwFloor ywFloor:ywFloorList) {
+ YwFloorStatusDataVO ywFloorStatusDataVO = new YwFloorStatusDataVO();
+ ywFloorStatusDataVO.setFloor(ywFloor.getFloor());
+ ywFloorStatusDataVO.setFloorId(ywFloor.getId());
+ ywFloorStatusDataVO.setFloorArea(ywFloor.getArea());
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(roomStatusDataList)){
+ List<YwRoomStatusDataVO> floorRoomList = roomStatusDataList.stream().filter(i->Objects.nonNull(i.getFloorId())&&Constants.equalsInteger(i.getFloorId(),ywFloor.getId())).collect(Collectors.toList());
+ ywFloorStatusDataVO.setYwRoomStatusDataVOList(floorRoomList);
+ }
+ ywFloorStatusDataVOList.add(ywFloorStatusDataVO);
+ }
+ return ywFloorStatusDataVOList;
+ }
+
+
+ @Override
+ public YwRoomContractDataVO getRoomContract(YwRoom model){
+ if(Objects.isNull(model)
+ || (Objects.isNull(model.getBuildingId()) && Objects.isNull(model.getProjectId()))){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ YwRoomContractDataVO ywRoomContractDataVO = new YwRoomContractDataVO();
+ ywRoomContractDataVO.setInvestmentRoomAmount(Constants.ZERO);
+ ywRoomContractDataVO.setInvestmentArea(BigDecimal.ZERO);
+ ywRoomContractDataVO.setLeaseContractAmount(Constants.ZERO);
+ ywRoomContractDataVO.setLeasePrice(BigDecimal.ZERO);
+ ywRoomContractDataVO.setLeaseArea(BigDecimal.ZERO);
+ ywRoomContractDataVO.setLeaseRoomAmount(Constants.ZERO);
+
+ List<YwRoom> ywRoomList = ywRoomMapper.selectList(new QueryWrapper<YwRoom>().lambda()
+ .eq(YwRoom::getIsdeleted,Constants.ZERO)
+ .eq(YwRoom::getStatus,Constants.ZERO)
+ .eq(YwRoom::getIsInvestment,Constants.ONE)
+ .eq(Objects.nonNull(model.getBuildingId()),YwRoom::getBuildingId,model.getBuildingId())
+ .eq(Objects.nonNull(model.getProjectId()),YwRoom::getProjectId,model.getProjectId())
+ .orderByAsc(YwRoom::getSortnum)
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ywRoomList)){
+ return ywRoomContractDataVO;
+ }
+ ywRoomContractDataVO.setInvestmentRoomAmount(ywRoomList.size());
+ ywRoomContractDataVO.setInvestmentArea(ywRoomList.stream().filter(i->Objects.nonNull(i.getRentArea())).map(i->i.getRentArea()).reduce(BigDecimal.ZERO,BigDecimal::add));
+
+ List<YwContract> roomContractList = ywContractMapper.selectJoinList(YwContract.class,new MPJLambdaWrapper<YwContract>()
+ .selectAll(YwContract.class)
+ .select(" ( select ifnull(sum(yr.RENT_AREA),0) from yw_contract_room y left join yw_room yr on y.room_id = yr.id where y.type = 0 and y.CONTRACT_ID = t.id ) " , YwContract::getTotalArea)
+ .select(" ( select ifnull(sum(y.TOTLE_FEE),0) from yw_contract_bill y where y.CONTRACT_ID = t.id and y.type = 0 ) " , YwContract::getTotalFee)
+ .eq(YwContract::getIsdeleted,Constants.ZERO)
+ .in(YwContract::getStatus,Constants.ONE,Constants.TWO,Constants.THREE)
+ .ne(YwContract::getBillStatus,Constants.THREE)
+ .apply(Objects.nonNull(model.getBuildingId()),
+ " t.id in ( select y.CONTRACT_ID from yw_contract_room y left join yw_room yr on y.room_id = yr.id where y.type = 0 and yr.BUILDING_ID = "+model.getBuildingId()+" ) ")
+ .apply(Objects.nonNull(model.getProjectId()),
+ " t.id in ( select y.CONTRACT_ID from yw_contract_room y left join yw_room yr on y.room_id = yr.id where y.type = 0 and yr.PROJECT_ID = "+model.getProjectId()+" ) ")
+ .apply(Objects.nonNull(model.getProjectId())," ")
+ .orderByDesc(YwContract::getStartDate)
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(roomContractList)){
+ return ywRoomContractDataVO;
+ }
+ //澶勭悊绉熻祦鍗曚环 鏍规嵁 鍚堝悓绉熻祦鎬婚 / 锛堢璧佹椂闀� * 绉熻祦闈㈢Н锛�
+ for (YwContract ywContract:roomContractList) {
+ long contractDayAmount = DateUtil.getBetweenDays(DateUtil.getFomartDate(ywContract.getEndDate(),"yyyy-MM-dd"),DateUtil.getFomartDate(ywContract.getStartDate(),"yyyy-MM-dd"));
+ if(Objects.nonNull(contractDayAmount) && Objects.nonNull(ywContract.getTotalArea()) && Objects.nonNull(ywContract.getTotalFee())){
+ ywRoomContractDataVO.setLeasePrice(
+ ywRoomContractDataVO.getLeasePrice().add(
+ ywContract.getTotalFee().divide((ywContract.getTotalArea().multiply(new BigDecimal(Long.toString(contractDayAmount)))),2,BigDecimal.ROUND_HALF_UP)
+ )
+ );
+ }
+ }
+
+ ywRoomContractDataVO.setLeaseContractAmount(roomContractList.size());
+ List<Integer> contractId = roomContractList.stream().map(i->i.getId()).collect(Collectors.toList());
+ List<YwRoom> ywLeaseRoomList = ywRoomMapper.selectJoinList(YwRoom.class,new MPJLambdaWrapper<YwRoom>()
+ .selectAll(YwRoom.class)
+ .leftJoin(YwContractRoom.class,YwContractRoom::getRoomId,YwRoom::getId)
+ .eq(YwRoom::getIsdeleted,Constants.ZERO)
+ .eq(YwRoom::getIsInvestment,Constants.ONE)
+ .eq(YwRoom::getStatus,Constants.ZERO)
+ .eq(Objects.nonNull(model.getBuildingId()),YwRoom::getBuildingId,model.getBuildingId())
+ .eq(Objects.nonNull(model.getProjectId()),YwRoom::getProjectId,model.getProjectId())
+ .in(YwContractRoom::getContractId,contractId)
+ .orderByAsc(YwRoom::getSortnum)
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywLeaseRoomList)){
+ ywRoomContractDataVO.setLeaseArea(
+ ywLeaseRoomList.stream().filter(i->Objects.nonNull(i.getRentArea())).map(i->i.getRentArea()).reduce(BigDecimal.ZERO,BigDecimal::add)
+ );
+ ywRoomContractDataVO.setLeaseRoomAmount(ywLeaseRoomList.size());
+ }
+ return ywRoomContractDataVO;
+ }
+
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
index 42f163b..4346ef6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
@@ -8,9 +8,12 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
+import com.doumee.dao.business.dto.YwWorkorderDataDTO;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.YwWorkorderDataVO;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.model.Multifile;
@@ -29,6 +32,7 @@
import org.springframework.util.CollectionUtils;
import java.util.*;
+import java.util.stream.Collectors;
/**
* 杩愮淮宸ュ崟淇℃伅琛⊿ervice瀹炵幇
@@ -383,6 +387,7 @@
.selectAs(YwFloor::getName,YwWorkorder::getFloorName)
.selectAs(YwBuilding::getName,YwWorkorder::getBuildingName)
.selectAs(YwProject::getName,YwWorkorder::getProjectName)
+ .selectAs(YwProblem::getId,YwWorkorder::getProblemId)
.leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getDealUserId)
.leftJoin(Category.class,Category::getId,YwWorkorder::getCateId)
.leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getCreator)
@@ -390,6 +395,7 @@
.leftJoin(YwFloor.class,YwFloor::getId,YwWorkorder::getFloorId)
.leftJoin(YwBuilding.class,YwBuilding::getId,YwWorkorder::getBuildingId)
.leftJoin(YwProject.class,YwProject::getId,YwBuilding::getProjectId)
+ .leftJoin(YwProblem.class,YwProblem::getWorkorderId,YwWorkorder::getId)
.apply(StringUtils.isNotBlank(pageWrap.getModel().getQueryStatus())," find_in_set(t.DEAL_STATUS ,'"+pageWrap.getModel().getQueryStatus()+"') ");
pageWrap.getModel().setIsdeleted(Constants.ZERO);
Utils.MP.blankToNull(pageWrap.getModel());
@@ -406,6 +412,9 @@
}
if (pageWrap.getModel().getCreator() != null) {
queryWrapper.eq(YwWorkorder::getCreator, pageWrap.getModel().getCreator());
+ }
+ if (pageWrap.getModel().getOrigin() != null) {
+ queryWrapper.eq(YwWorkorder::getOrigin, pageWrap.getModel().getOrigin());
}
if (pageWrap.getModel().getCreateDate() != null) {
queryWrapper.ge(YwWorkorder::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
@@ -528,4 +537,27 @@
QueryWrapper<YwWorkorder> wrapper = new QueryWrapper<>(ywWorkorder);
return ywWorkorderMapper.selectCount(wrapper);
}
+
+
+
+ @Override
+ public YwWorkorderDataVO getDataVO(YwWorkorderDataDTO dto){
+ YwWorkorderDataVO ywWorkorderDataVO = new YwWorkorderDataVO();
+
+ List<YwWorkorder> list = ywWorkorderMapper.selectList(new QueryWrapper<YwWorkorder>().lambda()
+ .eq(YwWorkorder::getIsdeleted,Constants.ZERO)
+ .eq(Constants.equalsInteger(dto.getQueryType(),Constants.ONE),YwWorkorder::getProjectId,dto.getQueryId())
+ .eq(Constants.equalsInteger(dto.getQueryType(),Constants.TWO),YwWorkorder::getFloorId,dto.getQueryId())
+ .eq(Constants.equalsInteger(dto.getQueryType(),Constants.THREE),YwWorkorder::getRoomId,dto.getQueryId()));
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
+ ywWorkorderDataVO.setAmount(list.size());
+ ywWorkorderDataVO.setMonthAmount(list.stream().filter(i-> DateUtil.formatDate(i.getSubmitDate(),"yyyy-MM").equals(DateUtil.formatDate(new Date(),"yyyy-MM"))).collect(Collectors.toList()).size());
+ ywWorkorderDataVO.setWaitDealAmount(list.stream().filter(i-> Constants.equalsInteger(i.getDealStatus(),Constants.ONE)).collect(Collectors.toList()).size());
+ ywWorkorderDataVO.setWaitAssignAmount(list.stream().filter(i-> Constants.equalsInteger(i.getDealStatus(),Constants.ZERO)).collect(Collectors.toList()).size());
+ }
+ return ywWorkorderDataVO;
+ }
+
+
+
}
--
Gitblit v1.9.3