From a2e2ae9baacd6bdf8de98f32497a603170de3153 Mon Sep 17 00:00:00 2001 From: purple <purple_lihe@163.com> Date: Fri, 29 May 2020 18:46:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=B9=B3=E5=8F=B0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/package.json | 220 +++--- .../api/data/artificialResidenceRentPrice.js | 10 + .../src/api/data/computeResidenceRentPrice.js | 36 + .../price/ArtificialResidenceRentPrice.vue | 183 +++++ .../data/price/ComputeOfficeBasePrice.vue | 405 +++++++++++ .../data/price/ComputeResidenceRentPrice.vue | 471 +++++++++++++ .../IOfficeBasePriceUltimateService.java | 41 -- .../ArtificialOfficeBasePriceController.java | 107 +++ ...icialResidenceSaleBasePriceController.java | 4 + .../ComputeOfficeBasePriceController.java} | 30 +- ...mputeResidenceSaleBasePriceController.java | 4 + .../ResidenceRentBasePriceController.java | 189 +++++ ...imateResidenceSaleBasePriceController.java | 4 + .../ArtificialResidenceRentBasePrice.java | 127 ++++ .../ArtificialResidenceSaleBasePrice.java} | 6 +- .../domain/ComputeResidenceRentBasePrice.java | 646 ++++++++++++++++++ .../domain/ComputeResidenceSaleBasePrice.java | 176 +++++ .../price/domain/UltimateOfficeBasePrice.java | 357 ++++++++++ .../UltimateResidenceRentBasePrice.java | 277 ++++++++ .../UltimateResidenceSaleBasePrice.java | 176 +++++ .../ArtificialResidenceRentPriceMapper.java | 20 + .../ComputeResidenceRentPriceMapper.java | 43 ++ .../UltimateOfficeBasePriceMapper.java} | 14 +- .../UltimateResidenceRentPriceMapper.java | 35 + .../release/controller/HomeController.java | 4 - .../IArtificialResidenceRentPriceService.java | 32 + .../IComputeResidenceRentPriceService.java | 52 ++ .../IUltimateOfficeBasePriceService.java | 40 ++ ...UltimateResidenceRentBasePriceService.java | 25 + ...tificialResidenceRentPriceServiceImpl.java | 39 ++ .../ComputeResidenceRentPriceServiceImpl.java | 51 ++ .../UltimateOfficeBasePriceServiceImpl.java} | 53 +- ...mateResidenceRentBasePriceServiceImpl.java | 52 ++ .../src/main/resources/application-druid.yml | 7 +- ruoyi/src/main/resources/application.yml | 254 +++---- .../ArtificialResidenceRentPriceMapper.xml | 37 + .../data/ComputeResidenceRentPriceMapper.xml | 165 +++++ ....xml => UltimateOfficeBasePriceMapper.xml} | 21 +- .../UltimateResidenceRentBasePriceMapper.xml | 65 ++ .../compute/MapperXmlGeneratorTests.java | 32 + 40 files changed, 4153 insertions(+), 357 deletions(-) create mode 100644 ruoyi-ui/src/api/data/artificialResidenceRentPrice.js create mode 100644 ruoyi-ui/src/api/data/computeResidenceRentPrice.js create mode 100644 ruoyi-ui/src/views/data/price/ArtificialResidenceRentPrice.vue create mode 100644 ruoyi-ui/src/views/data/price/ComputeOfficeBasePrice.vue create mode 100644 ruoyi-ui/src/views/data/price/ComputeResidenceRentPrice.vue delete mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/compute/service/IOfficeBasePriceUltimateService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ArtificialOfficeBasePriceController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ArtificialResidenceSaleBasePriceController.java rename ruoyi/src/main/java/com/ruoyi/project/data/price/{compute/controller/OfficeBasePriceUltimateController.java => controller/ComputeOfficeBasePriceController.java} (79%) create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ComputeResidenceSaleBasePriceController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ResidenceRentBasePriceController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/controller/UltimateResidenceSaleBasePriceController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ArtificialResidenceRentBasePrice.java rename ruoyi/src/main/java/com/ruoyi/project/data/price/{compute/domain/OfficeBasePriceUltimate.java => domain/ArtificialResidenceSaleBasePrice.java} (94%) create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceRentBasePrice.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceSaleBasePrice.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateOfficeBasePrice.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceRentBasePrice.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceSaleBasePrice.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/ArtificialResidenceRentPriceMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/ComputeResidenceRentPriceMapper.java rename ruoyi/src/main/java/com/ruoyi/project/data/price/{compute/mapper/OfficeBasePriceUltimateMapper.java => mapper/UltimateOfficeBasePriceMapper.java} (54%) create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/UltimateResidenceRentPriceMapper.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/release/controller/HomeController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/service/IArtificialResidenceRentPriceService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/service/IComputeResidenceRentPriceService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateOfficeBasePriceService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateResidenceRentBasePriceService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ArtificialResidenceRentPriceServiceImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ComputeResidenceRentPriceServiceImpl.java rename ruoyi/src/main/java/com/ruoyi/project/data/price/{compute/service/impl/OfficeBasePriceUltimateServiceImpl.java => service/impl/UltimateOfficeBasePriceServiceImpl.java} (65%) create mode 100644 ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/UltimateResidenceRentBasePriceServiceImpl.java create mode 100644 ruoyi/src/main/resources/mybatis/data/ArtificialResidenceRentPriceMapper.xml create mode 100644 ruoyi/src/main/resources/mybatis/data/ComputeResidenceRentPriceMapper.xml rename ruoyi/src/main/resources/mybatis/data/{OfficeBasePriceUltimateMapper.xml => UltimateOfficeBasePriceMapper.xml} (80%) create mode 100644 ruoyi/src/main/resources/mybatis/data/UltimateResidenceRentBasePriceMapper.xml create mode 100644 ruoyi/src/test/java/com/uvaluation/compute/MapperXmlGeneratorTests.java diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index 62c2bddb1..5c3154efe 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -1,109 +1,111 @@ -{ - "name": "ruoyi", - "version": "2.2.0", - "description": "若依管理系统", - "author": "若依", - "license": "MIT", - "scripts": { - "dev": "vue-cli-service serve", - "build:prod": "vue-cli-service build", - "build:stage": "vue-cli-service build --mode staging", - "preview": "node build/index.js --preview", - "lint": "eslint --ext .js,.vue src", - "test:unit": "jest --clearCache && vue-cli-service test:unit", - "test:ci": "npm run lint && npm run test:unit", - "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml", - "new": "plop" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "lint-staged": { - "src/**/*.{js,vue}": [ - "eslint --fix", - "git add" - ] - }, - "keywords": [ - "vue", - "admin", - "dashboard", - "element-ui", - "boilerplate", - "admin-template", - "management-system" - ], - "repository": { - "type": "git", - "url": "https://gitee.com/y_project/RuoYi-Vue.git" - }, - "dependencies": { - "@riophae/vue-treeselect": "0.4.0", - "axios": "0.18.1", - "clipboard": "2.0.4", - "echarts": "4.2.1", - "element-ui": "2.13.0", - "file-saver": "2.0.1", - "js-beautify": "^1.10.2", - "fuse.js": "3.4.4", - "js-cookie": "2.2.0", - "jsencrypt": "3.0.0-rc.1", - "normalize.css": "7.0.0", - "nprogress": "0.2.0", - "path-to-regexp": "2.4.0", - "screenfull": "4.2.0", - "sortablejs": "1.8.4", - "vue": "2.6.10", - "vue-count-to": "1.0.13", - "vue-quill-editor": "3.0.6", - "vue-cropper": "0.4.9", - "vue-router": "3.0.2", - "vue-splitpane": "1.0.4", - "vuedraggable": "2.20.0", - "vuex": "3.1.0" - }, - "devDependencies": { - "@babel/core": "7.0.0", - "@babel/register": "7.0.0", - "@babel/parser": "^7.7.4", - "@vue/cli-plugin-babel": "3.5.3", - "@vue/cli-plugin-eslint": "^3.9.1", - "@vue/cli-plugin-unit-jest": "3.5.3", - "@vue/cli-service": "3.5.3", - "@vue/test-utils": "1.0.0-beta.29", - "autoprefixer": "^9.5.1", - "babel-core": "7.0.0-bridge.0", - "babel-eslint": "10.0.1", - "babel-jest": "23.6.0", - "chalk": "2.4.2", - "chokidar": "2.1.5", - "connect": "3.6.6", - "eslint": "5.15.3", - "eslint-plugin-vue": "5.2.2", - "html-webpack-plugin": "3.2.0", - "http-proxy-middleware": "^0.19.1", - "husky": "1.3.1", - "lint-staged": "8.1.5", - "mockjs": "1.0.1-beta3", - "node-sass": "^4.9.0", - "plop": "2.3.0", - "runjs": "^4.3.2", - "sass-loader": "^7.1.0", - "script-ext-html-webpack-plugin": "2.1.3", - "script-loader": "0.7.2", - "serve-static": "^1.13.2", - "svg-sprite-loader": "4.1.3", - "svgo": "1.2.0", - "vue-template-compiler": "2.6.10" - }, - "engines": { - "node": ">=8.9", - "npm": ">= 3.0.0" - }, - "browserslist": [ - "> 1%", - "last 2 versions" - ] -} +{ + "name": "ruoyi", + "version": "2.2.0", + "description": "若依管理系统", + "author": "若依", + "license": "MIT", + "scripts": { + "dev": "vue-cli-service serve", + "build:prod": "vue-cli-service build", + "build:stage": "vue-cli-service build --mode staging", + "preview": "node build/index.js --preview", + "lint": "eslint --ext .js,.vue src", + "test:unit": "jest --clearCache && vue-cli-service test:unit", + "test:ci": "npm run lint && npm run test:unit", + "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml", + "new": "plop" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "src/**/*.{js,vue}": [ + "eslint --fix", + "git add" + ] + }, + "keywords": [ + "vue", + "admin", + "dashboard", + "element-ui", + "boilerplate", + "admin-template", + "management-system" + ], + "repository": { + "type": "git", + "url": "https://gitee.com/y_project/RuoYi-Vue.git" + }, + "dependencies": { + "@handsontable/vue": "^4.1.1", + "@riophae/vue-treeselect": "0.4.0", + "axios": "0.18.1", + "clipboard": "2.0.4", + "echarts": "4.2.1", + "element-ui": "2.13.0", + "file-saver": "2.0.1", + "fuse.js": "3.4.4", + "handsontable": "^7.4.2", + "js-beautify": "^1.10.2", + "js-cookie": "2.2.0", + "jsencrypt": "3.0.0-rc.1", + "normalize.css": "7.0.0", + "nprogress": "0.2.0", + "path-to-regexp": "2.4.0", + "screenfull": "4.2.0", + "sortablejs": "1.8.4", + "vue": "2.6.10", + "vue-count-to": "1.0.13", + "vue-cropper": "0.4.9", + "vue-quill-editor": "3.0.6", + "vue-router": "3.0.2", + "vue-splitpane": "1.0.4", + "vuedraggable": "2.20.0", + "vuex": "3.1.0" + }, + "devDependencies": { + "@babel/core": "7.0.0", + "@babel/register": "7.0.0", + "@babel/parser": "^7.7.4", + "@vue/cli-plugin-babel": "3.5.3", + "@vue/cli-plugin-eslint": "^3.9.1", + "@vue/cli-plugin-unit-jest": "3.5.3", + "@vue/cli-service": "3.5.3", + "@vue/test-utils": "1.0.0-beta.29", + "autoprefixer": "^9.5.1", + "babel-core": "7.0.0-bridge.0", + "babel-eslint": "10.0.1", + "babel-jest": "23.6.0", + "chalk": "2.4.2", + "chokidar": "2.1.5", + "connect": "3.6.6", + "eslint": "5.15.3", + "eslint-plugin-vue": "5.2.2", + "html-webpack-plugin": "3.2.0", + "http-proxy-middleware": "^0.19.1", + "husky": "1.3.1", + "lint-staged": "8.1.5", + "mockjs": "1.0.1-beta3", + "node-sass": "^4.9.0", + "plop": "2.3.0", + "runjs": "^4.3.2", + "sass-loader": "^7.1.0", + "script-ext-html-webpack-plugin": "2.1.3", + "script-loader": "0.7.2", + "serve-static": "^1.13.2", + "svg-sprite-loader": "4.1.3", + "svgo": "1.2.0", + "vue-template-compiler": "2.6.10" + }, + "engines": { + "node": ">=8.9", + "npm": ">= 3.0.0" + }, + "browserslist": [ + "> 1%", + "last 2 versions" + ] +} diff --git a/ruoyi-ui/src/api/data/artificialResidenceRentPrice.js b/ruoyi-ui/src/api/data/artificialResidenceRentPrice.js new file mode 100644 index 000000000..7e10835b6 --- /dev/null +++ b/ruoyi-ui/src/api/data/artificialResidenceRentPrice.js @@ -0,0 +1,10 @@ +import request from '@/utils/request' + +// 查询人工住宅租赁基价列表 +export function list(query) { + return request({ + url: '/data/rentprice/residence/artificial/list', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/data/computeResidenceRentPrice.js b/ruoyi-ui/src/api/data/computeResidenceRentPrice.js new file mode 100644 index 000000000..fe25c589e --- /dev/null +++ b/ruoyi-ui/src/api/data/computeResidenceRentPrice.js @@ -0,0 +1,36 @@ +import request from '@/utils/request' + +// 查询【请填写功能名称】列表 +export function list(query) { + return request({ + url: '/data/rentprice/residence/compute/list', + method: 'get', + params: query + }) +} + +// 查询【请填写功能名称】详细 +export function get(id) { + return request({ + url: '/data/rentprice/residence/compute/' + id, + method: 'get' + }) +} + +// 修改【请填写功能名称】 +export function update(data) { + return request({ + url: '/data/rentprice/residence/compute', + method: 'put', + data: data + }) +} + +// 导出【请填写功能名称】 +export function export2File(query) { + return request({ + url: '/data/rentprice/residence/compute/export', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/views/data/price/ArtificialResidenceRentPrice.vue b/ruoyi-ui/src/views/data/price/ArtificialResidenceRentPrice.vue new file mode 100644 index 000000000..d68ed71c7 --- /dev/null +++ b/ruoyi-ui/src/views/data/price/ArtificialResidenceRentPrice.vue @@ -0,0 +1,183 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px"> + <el-form-item label="年月" prop="yearMonth" clearable> + <el-date-picker + v-model="queryParams.yearMonth" + format="yyyyMM" + value-format="yyyyMM" + type="month" + placeholder="选择年月" + @keyup.enter.native="handleQuery" + ></el-date-picker> + </el-form-item> + <el-form-item label="联城小区ID" prop="communityId" clearable> + <el-input + v-model="queryParams.communityId" + placeholder="请输入案例小区名称" + clearable + size="small" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + + <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column label="年月" align="center" prop="yearMonth" /> + <el-table-column label="小区ID" align="center" prop="communityId" /> + <el-table-column label="租金主力面积系数" align="center" prop="mainRentCoefficient" /> + <el-table-column label="平均租金" align="center" prop="rentPrice" /> + <el-table-column label="主力面积租金" align="center" prop="mainRentPrice" /> + <el-table-column label="平均租金(上周期)" align="center" prop="rentPrice_1" /> + <el-table-column label="价格涨跌幅类型-调整后" align="center" prop="voppat" /> + <el-table-column label="价格涨跌幅-调整后" align="center" prop="voppa" /> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageIndex" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + </div> +</template> + +<script> +import { getToken } from "@/utils/auth"; +import { + list +} from "@/api/data/artificialResidenceRentPrice"; + +export default { + name: "artificialResidenceRentBasePrice", + data() { + // 年月 + var checkYearMonth = (rule, value, callback) => { + console.log(value); + if (value === "" || !isNaN(parseInt(value))) { + callback(new Error("请输入年月")); + } else { + callback(); + } + }; + + return { + // 遮罩层 + loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 总条数 + total: 0, + // 办公基价表格数据 + dataList: [], + // 弹出层标题 + title: "", + // 是否显示弹出层 + open: false, + // 查询参数 + queryParams: { + yearMonth: undefined, + communityId: undefined, + communityName: undefined, + pageIndex: 1, + pageSize: 10 + }, + statusOptions: [ + { value: 1, text: "正常" }, + { value: 1, text: "失效" } + ], + upload: { + // 是否显示弹出层(用户导入) + open: false, + // 弹出层标题(用户导入) + title: "", + // 是否禁用上传 + isUploading: false, + // 设置上传的请求头部 + headers: { Authorization: "Bearer " + getToken() }, + // 上传的地址 + url: + process.env.VUE_APP_BASE_API + + "/data/rentprice/residence/artificial/importData" + }, + // 表单参数 + form: {}, + // 表单校验 + rules: { + yearMonth: [{ validator: checkYearMonth, trigger: "blur" }] + } + }; + }, + created() { + this.loading = false; + // this.getList(); + }, + methods: { + yesOrNotFormatter: function(row, column, cellValue, index) { + if (cellValue) return "是"; + return "否"; + }, + statusFormatter: function(row, column, cellValue, index) { + if (cellValue) return "正常"; + return "失效"; + }, + dateFormatter: function(row, column, cellValue, index) { + if (cellValue) { + return cellValue.substring(0, 10); + } + return ""; + }, + /** 查询办公基价列表 */ + getList() { + this.loading = true; + this.$refs["queryForm"].validate(valid => { + if (valid) { + list(this.queryParams).then(response => { + this.dataList = response.rows; + this.total = response.total; + this.loading = false; + }); + } + }); + }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + // 表单重置 + reset() { + this.form = { + id: undefined + }; + this.resetForm("form"); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageIndex = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.id); + this.single = selection.length != 1; + this.multiple = !selection.length; + } + } +}; +</script> diff --git a/ruoyi-ui/src/views/data/price/ComputeOfficeBasePrice.vue b/ruoyi-ui/src/views/data/price/ComputeOfficeBasePrice.vue new file mode 100644 index 000000000..ce2f40e67 --- /dev/null +++ b/ruoyi-ui/src/views/data/price/ComputeOfficeBasePrice.vue @@ -0,0 +1,405 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px"> + <el-form-item label="年月" prop="yearMonth" clearable> + <el-date-picker + v-model="queryParams.yearMonth" + format="yyyyMM" + type="month" + placeholder="选择年月" + @keyup.enter.native="handleQuery" + ></el-date-picker> + </el-form-item> + <el-form-item label="联城小区ID" prop="communityId" clearable> + <el-input + v-model="queryParams.communityId" + placeholder="请输入案例小区名称" + clearable + size="small" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="联城楼栋ID" prop="buildingId" clearable> + <el-input + v-model="queryParams.buildingId" + placeholder="请输入联城楼栋ID" + clearable + size="small" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="状态"> + <el-select v-model="queryParams.status" clearable> + <el-option label="正常" value="1"></el-option> + <el-option label="失效" value="0"></el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="success" + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['system:ultimate:edit']" + >修改</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + icon="el-icon-download" + size="mini" + @click="handleExport" + v-hasPermi="['system:user:export']" + >导出</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="info" + icon="el-icon-upload2" + size="mini" + @click="handleImport" + v-hasPermi="['system:user:import']" + >导入</el-button> + </el-col> + </el-row> + + <el-table v-loading="loading" :data="ultimateList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column label="年月" align="center" prop="yearMonth" /> + <el-table-column label="小区ID" align="center" prop="communityId" /> + <el-table-column label="楼栋ID" align="center" prop="buildingId" /> + <el-table-column label="主力基价" align="center" prop="mainPrice" /> + <el-table-column label="主力租金" align="center" prop="mainPriceRent" /> + <el-table-column label="主力基价涨跌幅" align="center" prop="mainPricePst" /> + <el-table-column label="主力租金涨跌幅" align="center" prop="mainPriceRentPst" /> + <el-table-column label="主力基价类型" align="center" prop="mainPriceType" /> + <el-table-column label="主力租金类型" align="center" prop="mainPriceRentType" /> + <el-table-column label="状态" align="center" prop="status" :formatter="statusFormatter" /> + <el-table-column + label="标准楼栋" + align="center" + prop="standardBuilding" + :formatter="yesOrNotFormatter" + /> + <el-table-column label="价格更改说明" align="center" prop="adjustPriceComment" /> + <el-table-column label="更新日期" align="center" prop="updateDate" :formatter="dateFormatter" /> + <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['system:user:edit']" + >修改</el-button> + <!-- <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['system:user:remove']" + >删除</el-button>--> + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- 添加或修改办公基价对话框 --> + <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="160px"> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="小区ID"> + <el-input v-model="form.communityId" disabled="true" readonly /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="楼栋ID"> + <el-input v-model="form.buildingId" disabled="true" readonly /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="主力基价(元/㎡)"> + <el-input v-model="form.mainPrice" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="主力租金(元/月·㎡)"> + <el-input v-model="form.mainPriceRent" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="主力基价涨跌幅"> + <el-input v-model="form.mainPricePst" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="主力租金涨跌幅"> + <el-input v-model="form.mainPriceRentPst" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="主力基价类型"> + <el-input v-model="form.mainPriceType" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="主力租金类型"> + <el-input v-model="form.mainPriceRentType" /> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">确 定</el-button> + <el-button @click="cancel">取 消</el-button> + </div> + </el-dialog> + + <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> + <el-upload + ref="upload" + :limit="1" + accept=".xlsx, .xls" + :headers="upload.headers" + :action="upload.url + '?updateSupport=' + upload.updateSupport" + :disabled="upload.isUploading" + :on-progress="handleFileUploadProgress" + :on-success="handleFileSuccess" + :auto-upload="false" + drag + > + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 将文件拖到此处,或 + <em>点击上传</em> + </div> + <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div> + </el-upload> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitFileForm">确 定</el-button> + <el-button @click="upload.open = false">取 消</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { getToken } from "@/utils/auth"; +import { + listUltimate, + getUltimate, + updateUltimate, + exportUltimate +} from "@/api/data/ultimateOfficeBasePrice"; + +export default { + name: "Ultimate", + data() { + return { + // 遮罩层 + loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 总条数 + total: 0, + // 办公基价表格数据 + ultimateList: [], + // 弹出层标题 + title: "", + // 是否显示弹出层 + open: false, + // 查询参数 + queryParams: { + yearMonth: undefined, + communityId: undefined, + buildingId: undefined, + pageNum: 1, + pageSize: 10 + }, + statusOptions: [ + { value: 1, text: "正常" }, + { value: 1, text: "失效" } + ], + upload: { + // 是否显示弹出层(用户导入) + open: false, + // 弹出层标题(用户导入) + title: "", + // 是否禁用上传 + isUploading: false, + // 设置上传的请求头部 + headers: { Authorization: "Bearer " + getToken() }, + // 上传的地址 + url: + process.env.VUE_APP_BASE_API + "/data/compute/price/office/importData" + }, + // 表单参数 + form: {}, + // 表单校验 + rules: {} + }; + }, + created() { + this.getList(); + }, + methods: { + yesOrNotFormatter: function(row, column, cellValue, index) { + if (cellValue) return "是"; + return "否"; + }, + statusFormatter: function(row, column, cellValue, index) { + if (cellValue) return "正常"; + return "失效"; + }, + dateFormatter: function(row, column, cellValue, index) { + if (cellValue) { + return cellValue.substring(0, 10); + } + return ""; + }, + /** 查询办公基价列表 */ + getList() { + this.loading = true; + listUltimate(this.queryParams).then(response => { + this.ultimateList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + // 表单重置 + reset() { + this.form = { + id: undefined + }; + this.resetForm("form"); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.id); + this.single = selection.length != 1; + this.multiple = !selection.length; + }, + /** 新增按钮操作 */ + // handleAdd() { + // this.reset(); + // this.open = true; + // this.title = "添加办公基价"; + // }, + /** 修改按钮操作 */ + handleUpdate(row) { + this.reset(); + const id = row.id || this.ids; + getUltimate(id).then(response => { + this.form = response.data; + this.open = true; + this.title = "修改办公基价"; + }); + }, + /** 提交按钮 */ + submitForm: function() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.id != undefined) { + updateUltimate(this.form).then(response => { + if (response.code === 200) { + this.msgSuccess("修改成功"); + this.open = false; + this.getList(); + } else { + this.msgError(response.msg); + } + }); + } else { + addUltimate(this.form).then(response => { + if (response.code === 200) { + this.msgSuccess("新增成功"); + this.open = false; + this.getList(); + } else { + this.msgError(response.msg); + } + }); + } + } + }); + }, + /** 导出按钮操作 */ + handleExport() { + const queryParams = this.queryParams; + this.$confirm("是否确认导出所有办公基价数据项?", "警告", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(function() { + return exportUltimate(queryParams); + }) + .then(response => { + this.download(response.msg); + }) + .catch(function() {}); + }, + handleImport() { + this.upload.title = "办公基价导入"; + this.upload.open = true; + }, + // 文件上传中处理 + handleFileUploadProgress(event, file, fileList) { + this.upload.isUploading = true; + }, + // 文件上传成功处理 + handleFileSuccess(response, file, fileList) { + this.upload.open = false; + this.upload.isUploading = false; + this.$refs.upload.clearFiles(); + this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true }); + this.getList(); + }, + // 提交上传文件 + submitFileForm() { + this.$refs.upload.submit(); + } + } +}; +</script> diff --git a/ruoyi-ui/src/views/data/price/ComputeResidenceRentPrice.vue b/ruoyi-ui/src/views/data/price/ComputeResidenceRentPrice.vue new file mode 100644 index 000000000..9ff7ffebf --- /dev/null +++ b/ruoyi-ui/src/views/data/price/ComputeResidenceRentPrice.vue @@ -0,0 +1,471 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="100px"> + <el-form-item label="年月" prop="yearMonth" clearable> + <el-date-picker + v-model="queryParams.yearMonth" + format="yyyyMM" + value-format="yyyyMM" + type="month" + placeholder="选择年月" + @keyup.enter.native="handleQuery" + ></el-date-picker> + </el-form-item> + <el-form-item label="联城小区ID" prop="communityId" clearable> + <el-input + v-model="queryParams.communityId" + placeholder="请输入案例小区名称" + clearable + size="small" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="联城小区名称" prop="communityName" clearable> + <el-input + v-model="queryParams.communityName" + placeholder="请输入小区名称" + clearable + size="small" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="success" + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['system:user:edit']" + >修改</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + icon="el-icon-download" + size="mini" + @click="handleExport" + v-hasPermi="['system:user:export']" + >导出</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="info" + icon="el-icon-upload2" + size="mini" + @click="handleImport" + v-hasPermi="['system:user:import']" + >导入</el-button> + </el-col> + </el-row> + + <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column label="年月" align="center" prop="yearMonth" /> + <el-table-column label="小区ID" align="center" prop="communityId" /> + <el-table-column label="小区名称" align="center" prop="communityName" /> + <el-table-column label="小区地址" align="center" prop="communityAddress" /> + + <el-table-column label="区域" align="center" prop="county" /> + <el-table-column label="板块" align="center" prop="block" /> + <el-table-column label="环线" align="center" prop="loop" /> + + <el-table-column + label="是否生成索引" + align="center" + prop="isIndxGen" + :formatter="yesOrNotFormatter" + /> + <el-table-column + label="参与涨幅计算" + align="center" + prop="isPstCalc" + :formatter="yesOrNotFormatter" + /> + <el-table-column label="运行状态" align="center" prop="statusRun" /> + <el-table-column label="物业类型" align="center" prop="propertyType" /> + <el-table-column label="小区类型" align="center" prop="projectType" /> + <el-table-column label="小区类型细分" align="center" prop="projectTypeDtl" /> + <el-table-column label="物业档次" align="center" prop="projectLevel" /> + <el-table-column label="物业开发期数" align="center" prop="propertyDevPeriod" /> + <el-table-column label="绑定聚类ID" align="center" prop="bindClassID" /> + <el-table-column label="租金主力面积系数" align="center" prop="mainCoefficientRent" /> + <el-table-column label="AI租金(草稿)" align="center" prop="rentPriceDft" /> + <el-table-column label="主力面积租金(草稿)" align="center" prop="mainRentPriceDft" /> + <el-table-column label="上月AI租金" align="center" prop="rentPrice_1" /> + <el-table-column label="成交均价(上周期)" align="center" prop="priceDealMean_1" /> + <el-table-column label="成交最大价(上周期)" align="center" prop="priceDealMax_1" /> + <el-table-column label="成交数量(上周期)" align="center" prop="sumDeal_1" /> + <el-table-column label="成交均价相对AI租金涨跌幅(上周期)" align="center" prop="priceDeal_1_ToAI_Pst" /> + <el-table-column label="成交均价" align="center" prop="priceDealMean" /> + <el-table-column label="成交最大价" align="center" prop="priceDealMax" /> + <el-table-column label="成交数量" align="center" prop="sumDeal" /> + <el-table-column label="成交均价相对AI租金涨跌幅" align="center" prop="priceDeal_ToAI_Pst" /> + <el-table-column label="当月比上月成交案例价调整比例" align="center" prop="priceDeal_ToLst_Pst" /> + <el-table-column label="挂牌下架案例均价" align="center" prop="priceCaseOff" /> + <el-table-column label="当月比上月挂牌下架案例价调整比例" align="center" prop="priceCaseOff_ToLst_Pst" /> + <el-table-column label="挂牌最低价" align="center" prop="priceListedMin" /> + <el-table-column label="挂牌最低价相对AI租金涨跌幅" align="center" prop="priceLstMn_ToAI_Pst" /> + <el-table-column label="与上月AI租金比链家1案例价格价调整比例" align="center" prop="priceCase1_ToAI_Pst" /> + <el-table-column label="与上月AI租金比链家2案例价格价调整比例" align="center" prop="priceCase2_ToAI_Pst" /> + <el-table-column label="当月比上月链家1案例价调整比例" align="center" prop="priceCase1_ToLst_Pst" /> + <el-table-column label="当月比上月链家2案例价调整比例" align="center" prop="priceCase2_ToLst_Pst" /> + <el-table-column label="链家1案例价" align="center" prop="priceCase1" /> + <el-table-column label="链家1调价幅度" align="center" prop="priceCase1AdjPst" /> + <el-table-column label="链家1案例总量" align="center" prop="sumCase1" /> + <el-table-column label="链家2案例价" align="center" prop="priceCase2" /> + <el-table-column label="链家2调价幅度" align="center" prop="priceCase2AdjPst" /> + <el-table-column label="链家2案例总量" align="center" prop="sumCase2" /> + <el-table-column label="价格涨跌幅类型-调整前" align="center" prop="voppbt" /> + <el-table-column label="价格涨跌幅-调整前" align="center" prop="voppb" /> + <el-table-column label="绑定小区编号" align="center" prop="bindProjID" /> + <el-table-column label="绑定小区涨跌幅" align="center" prop="bind_Proj_Pst" /> + <el-table-column label="绑定板块+聚类ID" align="center" prop="bind_Block_Class" /> + <el-table-column label="绑定板块+聚类ID的涨跌幅" align="center" prop="bind_Block_Class_Pst" /> + <el-table-column label="绑定板块+物业档次" align="center" prop="bind_Block_Plevel" /> + <el-table-column label="绑定板块+物业档次的涨跌幅" align="center" prop="bind_Block_Plevel_Pst" /> + <el-table-column label="绑定板块+小区类型" align="center" prop="bind_Block_PType" /> + <el-table-column label="绑定板块+小区类型的涨跌幅" align="center" prop="bind_Block_Ptype_Pst" /> + <el-table-column label="绑定区县+小区类型" align="center" prop="bind_County_PType" /> + <el-table-column label="绑定区县+小区类型的涨跌幅" align="center" prop="bind_County_Ptype_Pst" /> + <el-table-column label="绑定混合小区ID" align="center" prop="bind_MixProject_PType" /> + <el-table-column label="绑定混合小区涨跌幅" align="center" prop="bind_MixProject_Pst" /> + <el-table-column label="价格涨跌幅类型-调整后" align="center" prop="voppat" /> + <el-table-column label="价格涨跌幅-调整后" align="center" prop="voppa" /> + <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['system:user:edit']" + >修改</el-button> + <!-- <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['system:user:remove']" + >删除</el-button>--> + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageIndex" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- 添加或修改办公基价对话框 --> + <!-- <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="160px"> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="小区ID"> + <el-input v-model="form.communityId" disabled="true" readonly /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="楼栋ID"> + <el-input v-model="form.buildingId" disabled="true" readonly /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="主力基价(元/㎡)"> + <el-input v-model="form.mainPrice" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="主力租金(元/月·㎡)"> + <el-input v-model="form.mainPriceRent" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="主力基价涨跌幅"> + <el-input v-model="form.mainPricePst" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="主力租金涨跌幅"> + <el-input v-model="form.mainPriceRentPst" /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="主力基价类型"> + <el-input v-model="form.mainPriceType" /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="主力租金类型"> + <el-input v-model="form.mainPriceRentType" /> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">确 定</el-button> + <el-button @click="cancel">取 消</el-button> + </div> + </el-dialog> + + <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> + <el-upload + ref="upload" + :limit="1" + accept=".xlsx, .xls" + :headers="upload.headers" + :action="upload.url + '?updateSupport=' + upload.updateSupport" + :disabled="upload.isUploading" + :on-progress="handleFileUploadProgress" + :on-success="handleFileSuccess" + :auto-upload="false" + drag + > + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 将文件拖到此处,或 + <em>点击上传</em> + </div> + <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div> + </el-upload> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitFileForm">确 定</el-button> + <el-button @click="upload.open = false">取 消</el-button> + </div> + </el-dialog>--> + </div> +</template> + +<script> +import { getToken } from "@/utils/auth"; +import { + list, + get, + update, + export2File +} from "@/api/data/computeResidenceRentPrice"; + +export default { + name: "computeResidenceRentBasePrice", + data() { + // 年月 + var checkYearMonth = (rule, value, callback) => { + console.log(value); + if (value === "" || !isNaN(parseInt(value))) { + callback(new Error("请输入年月")); + } else { + callback(); + } + }; + + return { + // 遮罩层 + loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 总条数 + total: 0, + // 办公基价表格数据 + dataList: [], + // 弹出层标题 + title: "", + // 是否显示弹出层 + open: false, + // 查询参数 + queryParams: { + yearMonth: undefined, + communityId: undefined, + communityName: undefined, + pageIndex: 1, + pageSize: 10 + }, + statusOptions: [ + { value: 1, text: "正常" }, + { value: 1, text: "失效" } + ], + upload: { + // 是否显示弹出层(用户导入) + open: false, + // 弹出层标题(用户导入) + title: "", + // 是否禁用上传 + isUploading: false, + // 设置上传的请求头部 + headers: { Authorization: "Bearer " + getToken() }, + // 上传的地址 + url: + process.env.VUE_APP_BASE_API + + "/data/compute/rentprice/residence/importData" + }, + // 表单参数 + form: {}, + // 表单校验 + rules: { + yearMonth: [{ validator: checkYearMonth, trigger: "blur" }] + } + }; + }, + created() { + this.loading = false; + // this.getList(); + }, + methods: { + yesOrNotFormatter: function(row, column, cellValue, index) { + if (cellValue) return "是"; + return "否"; + }, + statusFormatter: function(row, column, cellValue, index) { + if (cellValue) return "正常"; + return "失效"; + }, + dateFormatter: function(row, column, cellValue, index) { + if (cellValue) { + return cellValue.substring(0, 10); + } + return ""; + }, + /** 查询办公基价列表 */ + getList() { + this.loading = true; + this.$refs["queryForm"].validate(valid => { + if (valid) { + list(this.queryParams).then(response => { + this.dataList = response.rows; + this.total = response.total; + this.loading = false; + }); + } + }); + }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + // 表单重置 + reset() { + this.form = { + id: undefined + }; + this.resetForm("form"); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageIndex = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.id); + this.single = selection.length != 1; + this.multiple = !selection.length; + }, + /** 新增按钮操作 */ + // handleAdd() { + // this.reset(); + // this.open = true; + // this.title = "添加办公基价"; + // }, + /** 修改按钮操作 */ + handleUpdate(row) { + this.reset(); + const id = row.id || this.ids; + get(id).then(response => { + this.form = response.data; + this.open = true; + this.title = "修改办公基价"; + }); + }, + /** 提交按钮 */ + submitForm: function() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.id != undefined) { + update(this.form).then(response => { + if (response.code === 200) { + this.msgSuccess("修改成功"); + this.open = false; + this.getList(); + } else { + this.msgError(response.msg); + } + }); + } else { + // addUltimate(this.form).then(response => { + // if (response.code === 200) { + // this.msgSuccess("新增成功"); + // this.open = false; + // this.getList(); + // } else { + // this.msgError(response.msg); + // } + // }); + } + } + }); + }, + /** 导出按钮操作 */ + handleExport() { + const queryParams = this.queryParams; + this.$confirm("是否确认导出所有住宅租赁基价数据项?", "警告", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(function() { + return export2File(queryParams); + }) + .then(response => { + this.download(response.msg); + }) + .catch(function() {}); + }, + handleImport() { + this.upload.title = "办公基价导入"; + this.upload.open = true; + }, + // 文件上传中处理 + handleFileUploadProgress(event, file, fileList) { + this.upload.isUploading = true; + }, + // 文件上传成功处理 + handleFileSuccess(response, file, fileList) { + this.upload.open = false; + this.upload.isUploading = false; + this.$refs.upload.clearFiles(); + this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true }); + this.getList(); + }, + // 提交上传文件 + submitFileForm() { + this.$refs.upload.submit(); + } + } +}; +</script> diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/compute/service/IOfficeBasePriceUltimateService.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/compute/service/IOfficeBasePriceUltimateService.java deleted file mode 100644 index 39735e046..000000000 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/compute/service/IOfficeBasePriceUltimateService.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.ruoyi.project.data.price.compute.service; - -import com.ruoyi.project.data.price.compute.domain.OfficeBasePriceUltimate; -import com.ruoyi.project.system.domain.SysUser; - -import java.util.List; - -/** - * 【请填写功能名称】Service接口 - * - * @author ruoyi - * @date 2020-05-20 - */ -public interface IOfficeBasePriceUltimateService { - - /** - * 查询【请填写功能名称】列表 - * - * @param officeBasePriceUltimate 【请填写功能名称】 - * @return 【请填写功能名称】集合 - */ - List<OfficeBasePriceUltimate> selectOfficeBasePriceUltimateList(OfficeBasePriceUltimate officeBasePriceUltimate); - - int selectOfficeBasePriceUltimateListCount(OfficeBasePriceUltimate officeBasePriceUltimate); - - - OfficeBasePriceUltimate selectOfficeBasePriceUltimateById(String id); - - int updateOfficeBasePriceUltimate(OfficeBasePriceUltimate officeBasePriceUltimate); - - /** - * - * @param officeBasePriceUltimates - * @param operName - * @return - */ - String batchImport(List<OfficeBasePriceUltimate> officeBasePriceUltimates,String operName); - -} - - diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ArtificialOfficeBasePriceController.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ArtificialOfficeBasePriceController.java new file mode 100644 index 000000000..6bf035b3c --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ArtificialOfficeBasePriceController.java @@ -0,0 +1,107 @@ +//package com.ruoyi.project.data.price.controller; +// +//import com.ruoyi.common.utils.ServletUtils; +//import com.ruoyi.common.utils.poi.ExcelUtil; +//import com.ruoyi.framework.aspectj.lang.annotation.Log; +//import com.ruoyi.framework.aspectj.lang.enums.BusinessType; +//import com.ruoyi.framework.security.LoginUser; +//import com.ruoyi.framework.security.service.TokenService; +//import com.ruoyi.framework.web.controller.BaseController; +//import com.ruoyi.framework.web.domain.AjaxResult; +//import com.ruoyi.framework.web.page.TableDataInfo; +//import com.ruoyi.framework.web.page.TableSupport; +//import com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice; +//import com.ruoyi.project.data.price.service.IOfficeBasePriceUltimateService; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.security.access.prepost.PreAuthorize; +//import org.springframework.web.bind.annotation.*; +//import org.springframework.web.multipart.MultipartFile; +// +//import java.util.List; +// +///** +// * 【请填写功能名称】Controller +// * +// * @author ruoyi +// * @date 2020-05-20 +// */ +//@RestController +//@RequestMapping("/data/compute/price/office") +//public class ArtificialOfficeBasePriceController extends BaseController { +// @Autowired +// private IOfficeBasePriceUltimateService officeBasePriceUltimateService; +// @Autowired +// private TokenService tokenService; +// +// /** +// * 查询【请填写功能名称】列表 +// */ +// @PreAuthorize("@ss.hasPermi('system:user:list')") +// @GetMapping("/list") +// public TableDataInfo list(OfficeBasePriceUltimate officeBasePriceUltimate) { +// int pageIndex = ServletUtils.getParameterToInt(TableSupport.PAGE_NUM); +// int pageSize = ServletUtils.getParameterToInt(TableSupport.PAGE_SIZE); +// officeBasePriceUltimate.setPageIndex(pageIndex <= 1 ? 0 : (pageIndex - 1) * pageSize); +// officeBasePriceUltimate.setPageSize(pageSize); +// List<OfficeBasePriceUltimate> list = +// officeBasePriceUltimateService.selectOfficeBasePriceUltimateList(officeBasePriceUltimate); +// int total = officeBasePriceUltimateService.selectOfficeBasePriceUltimateListCount(officeBasePriceUltimate); +// return getDataTable(list, total); +// } +// +// +// /** +// * 获取【请填写功能名称】详细信息 +// */ +// @PreAuthorize("@ss.hasPermi('system:user:query')") +// @GetMapping(value = "/{id}") +// public AjaxResult getInfo(@PathVariable("id") String id) { +// return AjaxResult.success(officeBasePriceUltimateService.selectOfficeBasePriceUltimateById(id)); +// } +// +// /** +// * 修改【请填写功能名称】 +// */ +// @PreAuthorize("@ss.hasPermi('system:user:edit')") +// @Log(title = "办公基价", businessType = BusinessType.UPDATE) +// @PutMapping +// public AjaxResult edit(@RequestBody OfficeBasePriceUltimate officeBasePriceUltimate) { +// return toAjax(officeBasePriceUltimateService.updateOfficeBasePriceUltimate(officeBasePriceUltimate)); +// } +// +// /** +// * 导出【请填写功能名称】列表 +// */ +// @PreAuthorize("@ss.hasPermi('system:user:export')") +// @Log(title = "办公基价", businessType = BusinessType.EXPORT) +// @GetMapping("/export") +// public AjaxResult export(OfficeBasePriceUltimate officeBasePriceUltimate) { +// int total = officeBasePriceUltimateService.selectOfficeBasePriceUltimateListCount(officeBasePriceUltimate); +// officeBasePriceUltimate.setPageIndex(0); +// officeBasePriceUltimate.setPageSize(total); +// List<OfficeBasePriceUltimate> list = +// officeBasePriceUltimateService.selectOfficeBasePriceUltimateList(officeBasePriceUltimate); +// ExcelUtil<OfficeBasePriceUltimate> util = new ExcelUtil<OfficeBasePriceUltimate>(OfficeBasePriceUltimate.class); +// return util.exportExcel(list, "办公基价"); +// } +// +// /** +// * 办公基价导入 +// * @param file +// * @return +// * @throws Exception +// */ +// @Log(title = "办公基价", businessType = BusinessType.IMPORT) +// @PreAuthorize("@ss.hasPermi('system:user:import')") +// @PostMapping("/importData") +// public AjaxResult importData(MultipartFile file) throws Exception { +// ExcelUtil<OfficeBasePriceUltimate> util = new ExcelUtil<>(OfficeBasePriceUltimate.class); +// List<OfficeBasePriceUltimate> officeBasePriceUltimates = util.importExcel(file.getInputStream()); +// LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); +// String operName = loginUser.getUsername(); +// String message = officeBasePriceUltimateService.batchImport(officeBasePriceUltimates, operName); +// return AjaxResult.success(message); +// } +// +//} +// diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ArtificialResidenceSaleBasePriceController.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ArtificialResidenceSaleBasePriceController.java new file mode 100644 index 000000000..ae99d56a1 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ArtificialResidenceSaleBasePriceController.java @@ -0,0 +1,4 @@ +package com.ruoyi.project.data.price.controller; + +public class ArtificialResidenceSaleBasePriceController { +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/compute/controller/OfficeBasePriceUltimateController.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ComputeOfficeBasePriceController.java similarity index 79% rename from ruoyi/src/main/java/com/ruoyi/project/data/price/compute/controller/OfficeBasePriceUltimateController.java rename to ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ComputeOfficeBasePriceController.java index aa1a78248..ae9ab8a3d 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/compute/controller/OfficeBasePriceUltimateController.java +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ComputeOfficeBasePriceController.java @@ -1,4 +1,4 @@ -package com.ruoyi.project.data.price.compute.controller; +package com.ruoyi.project.data.price.controller; import java.util.List; @@ -6,15 +6,13 @@ import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.framework.security.LoginUser; import com.ruoyi.framework.security.service.TokenService; import com.ruoyi.framework.web.page.TableSupport; -import com.ruoyi.project.data.price.compute.domain.OfficeBasePriceUltimate; -import com.ruoyi.project.data.price.compute.service.IOfficeBasePriceUltimateService; -import com.ruoyi.project.system.domain.SysUser; +import com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice; +import com.ruoyi.project.data.price.service.IUltimateOfficeBasePriceService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -35,9 +33,9 @@ import org.springframework.web.multipart.MultipartFile; */ @RestController @RequestMapping("/data/compute/price/office") -public class OfficeBasePriceUltimateController extends BaseController { +public class ComputeOfficeBasePriceController extends BaseController { @Autowired - private IOfficeBasePriceUltimateService officeBasePriceUltimateService; + private IUltimateOfficeBasePriceService officeBasePriceUltimateService; @Autowired private TokenService tokenService; @@ -46,12 +44,12 @@ public class OfficeBasePriceUltimateController extends BaseController { */ @PreAuthorize("@ss.hasPermi('system:user:list')") @GetMapping("/list") - public TableDataInfo list(OfficeBasePriceUltimate officeBasePriceUltimate) { + public TableDataInfo list(UltimateOfficeBasePrice officeBasePriceUltimate) { int pageIndex = ServletUtils.getParameterToInt(TableSupport.PAGE_NUM); int pageSize = ServletUtils.getParameterToInt(TableSupport.PAGE_SIZE); officeBasePriceUltimate.setPageIndex(pageIndex <= 1 ? 0 : (pageIndex - 1) * pageSize); officeBasePriceUltimate.setPageSize(pageSize); - List<OfficeBasePriceUltimate> list = + List<UltimateOfficeBasePrice> list = officeBasePriceUltimateService.selectOfficeBasePriceUltimateList(officeBasePriceUltimate); int total = officeBasePriceUltimateService.selectOfficeBasePriceUltimateListCount(officeBasePriceUltimate); return getDataTable(list, total); @@ -73,7 +71,7 @@ public class OfficeBasePriceUltimateController extends BaseController { @PreAuthorize("@ss.hasPermi('system:user:edit')") @Log(title = "办公基价", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody OfficeBasePriceUltimate officeBasePriceUltimate) { + public AjaxResult edit(@RequestBody UltimateOfficeBasePrice officeBasePriceUltimate) { return toAjax(officeBasePriceUltimateService.updateOfficeBasePriceUltimate(officeBasePriceUltimate)); } @@ -83,18 +81,19 @@ public class OfficeBasePriceUltimateController extends BaseController { @PreAuthorize("@ss.hasPermi('system:user:export')") @Log(title = "办公基价", businessType = BusinessType.EXPORT) @GetMapping("/export") - public AjaxResult export(OfficeBasePriceUltimate officeBasePriceUltimate) { + public AjaxResult export(UltimateOfficeBasePrice officeBasePriceUltimate) { int total = officeBasePriceUltimateService.selectOfficeBasePriceUltimateListCount(officeBasePriceUltimate); officeBasePriceUltimate.setPageIndex(0); officeBasePriceUltimate.setPageSize(total); - List<OfficeBasePriceUltimate> list = + List<UltimateOfficeBasePrice> list = officeBasePriceUltimateService.selectOfficeBasePriceUltimateList(officeBasePriceUltimate); - ExcelUtil<OfficeBasePriceUltimate> util = new ExcelUtil<OfficeBasePriceUltimate>(OfficeBasePriceUltimate.class); + ExcelUtil<UltimateOfficeBasePrice> util = new ExcelUtil<>(UltimateOfficeBasePrice.class); return util.exportExcel(list, "办公基价"); } /** * 办公基价导入 + * * @param file * @return * @throws Exception @@ -103,13 +102,12 @@ public class OfficeBasePriceUltimateController extends BaseController { @PreAuthorize("@ss.hasPermi('system:user:import')") @PostMapping("/importData") public AjaxResult importData(MultipartFile file) throws Exception { - ExcelUtil<OfficeBasePriceUltimate> util = new ExcelUtil<>(OfficeBasePriceUltimate.class); - List<OfficeBasePriceUltimate> officeBasePriceUltimates = util.importExcel(file.getInputStream()); + ExcelUtil<UltimateOfficeBasePrice> util = new ExcelUtil<>(UltimateOfficeBasePrice.class); + List<UltimateOfficeBasePrice> officeBasePriceUltimates = util.importExcel(file.getInputStream()); LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); String operName = loginUser.getUsername(); String message = officeBasePriceUltimateService.batchImport(officeBasePriceUltimates, operName); return AjaxResult.success(message); } - } diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ComputeResidenceSaleBasePriceController.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ComputeResidenceSaleBasePriceController.java new file mode 100644 index 000000000..58115efad --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ComputeResidenceSaleBasePriceController.java @@ -0,0 +1,4 @@ +package com.ruoyi.project.data.price.controller; + +public class ComputeResidenceSaleBasePriceController { +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ResidenceRentBasePriceController.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ResidenceRentBasePriceController.java new file mode 100644 index 000000000..ed0e32062 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/ResidenceRentBasePriceController.java @@ -0,0 +1,189 @@ +package com.ruoyi.project.data.price.controller; + +import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.framework.aspectj.lang.annotation.Log; +import com.ruoyi.framework.aspectj.lang.enums.BusinessType; +import com.ruoyi.framework.security.LoginUser; +import com.ruoyi.framework.security.service.TokenService; +import com.ruoyi.framework.web.controller.BaseController; +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.framework.web.page.TableDataInfo; +import com.ruoyi.framework.web.page.TableSupport; +import com.ruoyi.project.data.price.domain.ArtificialResidenceRentBasePrice; +import com.ruoyi.project.data.price.domain.ComputeResidenceRentBasePrice; +import com.ruoyi.project.data.price.domain.UltimateResidenceRentBasePrice; +import com.ruoyi.project.data.price.service.IArtificialResidenceRentPriceService; +import com.ruoyi.project.data.price.service.IComputeResidenceRentPriceService; +import com.ruoyi.project.data.price.service.IUltimateResidenceRentBasePriceService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +@RestController +@RequestMapping("/data/rentprice/residence") +public class ResidenceRentBasePriceController extends BaseController { + @Autowired + private IComputeResidenceRentPriceService computeResidenceRentPriceService; + @Autowired + private IArtificialResidenceRentPriceService artificialResidenceRentPriceService; + @Autowired + private IUltimateResidenceRentBasePriceService ultimateResidenceRentBasePriceService; + + @Autowired + private TokenService tokenService; + + /** + * 查询 住宅租赁基价列表 + */ + @PreAuthorize("@ss.hasPermi('system:user:list')") + @GetMapping("/compute/list") + public TableDataInfo list(ComputeResidenceRentBasePrice computeResidenceRentBasePrice) { + int pageIndex = ServletUtils.getParameterToInt("pageIndex"); + int pageSize = ServletUtils.getParameterToInt(TableSupport.PAGE_SIZE); + computeResidenceRentBasePrice.setPageIndex(pageIndex <= 1 ? 0 : (pageIndex - 1) * pageSize); + computeResidenceRentBasePrice.setPageSize(pageSize); + + int total = computeResidenceRentPriceService.selectCount(computeResidenceRentBasePrice); + List<ComputeResidenceRentBasePrice> list = + computeResidenceRentPriceService.selectList(computeResidenceRentBasePrice); + list.forEach(x -> x.setYearMonth(computeResidenceRentBasePrice.getYearMonth())); + return getDataTable(list, total); + } + + + /** + * 获取 住宅租赁基价详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:user:query')") + @GetMapping(value = "/compute/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) { + return AjaxResult.success(computeResidenceRentPriceService.selectById(id)); + } + + /** + * 修改 住宅租赁基价 + */ + @PreAuthorize("@ss.hasPermi('system:user:edit')") + @Log(title = "住宅租赁基价", businessType = BusinessType.UPDATE) + @PutMapping(value = "/compute") + public AjaxResult edit(@RequestBody ComputeResidenceRentBasePrice computeResidenceRentBasePrice) { + return toAjax(computeResidenceRentPriceService.update(computeResidenceRentBasePrice)); + } + + /** + * 导出 住宅租赁基价列表 + */ + @PreAuthorize("@ss.hasPermi('system:user:export')") + @Log(title = "办公基价", businessType = BusinessType.EXPORT) + @GetMapping("/compute/export") + public AjaxResult export(ComputeResidenceRentBasePrice computeResidenceRentBasePrice) { + int total = computeResidenceRentPriceService.selectCount(computeResidenceRentBasePrice); + computeResidenceRentBasePrice.setPageIndex(0); + computeResidenceRentBasePrice.setPageSize(total); + List<ComputeResidenceRentBasePrice> list = + computeResidenceRentPriceService.selectList(computeResidenceRentBasePrice); + ExcelUtil<ComputeResidenceRentBasePrice> util = new ExcelUtil<>(ComputeResidenceRentBasePrice.class); + return util.exportExcel(list, "住宅租赁基价"); + } + + /** + * 办公基价导入 + * + * @param file + * @return + * @throws Exception + */ + @Log(title = "办公基价", businessType = BusinessType.IMPORT) + @PreAuthorize("@ss.hasPermi('system:user:import')") + @PostMapping("/compute/importData") + public AjaxResult importData(MultipartFile file) throws Exception { + ExcelUtil<ComputeResidenceRentBasePrice> util = new ExcelUtil<>(ComputeResidenceRentBasePrice.class); + List<ComputeResidenceRentBasePrice> computeResidenceRentBasePrices = util.importExcel(file.getInputStream()); + LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); + String operName = loginUser.getUsername(); + String message = computeResidenceRentPriceService.batchImport(computeResidenceRentBasePrices, operName); + return AjaxResult.success(message); + } + + + /** + * 人工修正住宅租赁 + * + * @param artificialResidenceRentBasePrice + * @return + */ + @PreAuthorize("@ss.hasPermi('system:user:list')") + @GetMapping("/artificial/list") + public TableDataInfo artificialByList(ArtificialResidenceRentBasePrice artificialResidenceRentBasePrice) { + int pageIndex = ServletUtils.getParameterToInt("pageIndex"); + int pageSize = ServletUtils.getParameterToInt(TableSupport.PAGE_SIZE); + artificialResidenceRentBasePrice.setPageIndex(pageIndex <= 1 ? 0 : (pageIndex - 1) * pageSize); + artificialResidenceRentBasePrice.setPageSize(pageSize); + + int total = artificialResidenceRentPriceService.selectCount(artificialResidenceRentBasePrice); + List<ArtificialResidenceRentBasePrice> list = + artificialResidenceRentPriceService.selectList(artificialResidenceRentBasePrice); + list.forEach(x -> x.setYearMonth(artificialResidenceRentBasePrice.getYearMonth())); + return getDataTable(list, total); + } + + + /** + * 查询 住宅租赁基价列表 + */ + @PreAuthorize("@ss.hasPermi('system:user:list')") + @GetMapping("/ultimate/list") + public TableDataInfo ultimateResidenceRentBasePriceList(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice) { + int pageIndex = ServletUtils.getParameterToInt("pageIndex"); + int pageSize = ServletUtils.getParameterToInt(TableSupport.PAGE_SIZE); + ultimateResidenceRentBasePrice.setPageIndex(pageIndex <= 1 ? 0 : (pageIndex - 1) * pageSize); + ultimateResidenceRentBasePrice.setPageSize(pageSize); + + int total = ultimateResidenceRentBasePriceService.selectCount(ultimateResidenceRentBasePrice); + List<UltimateResidenceRentBasePrice> list = + ultimateResidenceRentBasePriceService.selectList(ultimateResidenceRentBasePrice); + list.forEach(x -> x.setYearMonth(ultimateResidenceRentBasePrice.getYearMonth())); + return getDataTable(list, total); + } + + + /** + * 获取 住宅租赁基价详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:user:query')") + @GetMapping(value = "/ultimate/{id}") + public AjaxResult ultimateResidenceRentBasePriceGet(@PathVariable("id") Integer id) { + return AjaxResult.success(ultimateResidenceRentBasePriceService.selectById(id)); + } + + /** + * 修改 住宅租赁基价 + */ + @PreAuthorize("@ss.hasPermi('system:user:edit')") + @Log(title = "住宅租赁基价", businessType = BusinessType.UPDATE) + @PutMapping(value = "/ultimate") + public AjaxResult ultimateResidenceRentBasePriceEdit(@RequestBody UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice) { + return toAjax(ultimateResidenceRentBasePriceService.update(ultimateResidenceRentBasePrice)); + } + + /** + * 导出 住宅租赁基价列表 + */ + @PreAuthorize("@ss.hasPermi('system:user:export')") + @Log(title = "审核住宅租赁基价", businessType = BusinessType.EXPORT) + @GetMapping("/ultimate/export") + public AjaxResult ultimateResidenceRentBasePriceExport(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice) { + int total = ultimateResidenceRentBasePriceService.selectCount(ultimateResidenceRentBasePrice); + ultimateResidenceRentBasePrice.setPageIndex(0); + ultimateResidenceRentBasePrice.setPageSize(total); + List<UltimateResidenceRentBasePrice> list = + ultimateResidenceRentBasePriceService.selectList(ultimateResidenceRentBasePrice); + ExcelUtil<UltimateResidenceRentBasePrice> util = new ExcelUtil<>(UltimateResidenceRentBasePrice.class); + return util.exportExcel(list, "核准住宅租赁基价"); + } + +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/UltimateResidenceSaleBasePriceController.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/UltimateResidenceSaleBasePriceController.java new file mode 100644 index 000000000..7ca3fb3af --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/controller/UltimateResidenceSaleBasePriceController.java @@ -0,0 +1,4 @@ +package com.ruoyi.project.data.price.controller; + +public class UltimateResidenceSaleBasePriceController { +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ArtificialResidenceRentBasePrice.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ArtificialResidenceRentBasePrice.java new file mode 100644 index 000000000..d8972171b --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ArtificialResidenceRentBasePrice.java @@ -0,0 +1,127 @@ +package com.ruoyi.project.data.price.domain; + +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import com.ruoyi.framework.web.domain.BaseEntity; + +import java.math.BigDecimal; + +/** + * 人工修正住宅租赁对象 + * + * @author ruoyi + * @date 2020-05-20 + */ +public class ArtificialResidenceRentBasePrice extends BaseEntity { + + /** + * 年月 + */ + private Integer yearMonth; + private Integer pageIndex; + private Integer pageSize; + + @Excel(name = "id") + private String id; + @Excel(name = "小区ID") + private String communityId; + @Excel(name = "平均租金") + private BigDecimal rentPrice; + @Excel(name = "租金主力面积系数") + private BigDecimal mainRentCoefficient; + @Excel(name = "主力面积租金") + private BigDecimal mainRentPrice; + @Excel(name = "上月AI租金") + private BigDecimal rentPrice_1; + @Excel(name = "价格涨跌幅类型-调整后") + private String voppat; + @Excel(name = "价格涨跌幅-调整后") + private BigDecimal voppa; + + public Integer getYearMonth() { + return yearMonth; + } + + public void setYearMonth(Integer yearMonth) { + this.yearMonth = yearMonth; + } + + public Integer getPageIndex() { + return pageIndex; + } + + public void setPageIndex(Integer pageIndex) { + this.pageIndex = pageIndex; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getCommunityId() { + return communityId; + } + + public void setCommunityId(String communityId) { + this.communityId = communityId; + } + + public BigDecimal getMainRentCoefficient() { + return mainRentCoefficient; + } + + public void setMainRentCoefficient(BigDecimal mainRentCoefficient) { + this.mainRentCoefficient = mainRentCoefficient; + } + + public BigDecimal getRentPrice() { + return rentPrice; + } + + public void setRentPrice(BigDecimal rentPrice) { + this.rentPrice = rentPrice; + } + + public BigDecimal getMainRentPrice() { + return mainRentPrice; + } + + public void setMainRentPrice(BigDecimal mainRentPrice) { + this.mainRentPrice = mainRentPrice; + } + + public BigDecimal getRentPrice_1() { + return rentPrice_1; + } + + public void setRentPrice_1(BigDecimal rentPrice_1) { + this.rentPrice_1 = rentPrice_1; + } + + public String getVoppat() { + return voppat; + } + + public void setVoppat(String voppat) { + this.voppat = voppat; + } + + public BigDecimal getVoppa() { + return voppa; + } + + public void setVoppa(BigDecimal voppa) { + this.voppa = voppa; + } +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/compute/domain/OfficeBasePriceUltimate.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ArtificialResidenceSaleBasePrice.java similarity index 94% rename from ruoyi/src/main/java/com/ruoyi/project/data/price/compute/domain/OfficeBasePriceUltimate.java rename to ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ArtificialResidenceSaleBasePrice.java index b61716073..b595488a2 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/compute/domain/OfficeBasePriceUltimate.java +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ArtificialResidenceSaleBasePrice.java @@ -1,8 +1,6 @@ -package com.ruoyi.project.data.price.compute.domain; +package com.ruoyi.project.data.price.domain; import com.alibaba.fastjson.annotation.JSONField; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import com.ruoyi.framework.web.domain.BaseEntity; @@ -14,7 +12,7 @@ import java.util.Date; * @author ruoyi * @date 2020-05-20 */ -public class OfficeBasePriceUltimate extends BaseEntity { +public class ArtificialResidenceSaleBasePrice extends BaseEntity { private Integer pageIndex; private Integer pageSize; diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceRentBasePrice.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceRentBasePrice.java new file mode 100644 index 000000000..6206ec4db --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceRentBasePrice.java @@ -0,0 +1,646 @@ +package com.ruoyi.project.data.price.domain; + +import com.alibaba.fastjson.annotation.JSONField; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import com.ruoyi.framework.web.domain.BaseEntity; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 【请填写功能名称】对象 office_base_price_ultimate + * + * @author ruoyi + * @date 2020-05-20 + */ +public class ComputeResidenceRentBasePrice extends BaseEntity { + + /** + * 年月 + */ + private Integer yearMonth; + private Integer pageIndex; + private Integer pageSize; + + @Excel(name = "id") + private String id; + @Excel(name = "小区ID") + private String communityId; + @Excel(name = "小区名称") + private String communityName; + @Excel(name = "小区地址") + private String communityAddress; + @Excel(name = "区域") + private String county; + @Excel(name = "板块") + private String block; + @Excel(name = "环线") + private String loop; + @Excel(name = "是否生成索引") + private Integer isIndxGen; + @Excel(name = "参与涨幅计算") + private Integer isPstCalc; + @Excel(name = "运行状态") + private Integer statusRun; + @Excel(name = "物业类型") + private String propertyType; + @Excel(name = "小区类型") + private String projectType; + @Excel(name = "小区类型细分") + private String projectTypeDtl; + @Excel(name = "物业档次") + private String projectLevel; + @Excel(name = "物业开发期数") + private Integer propertyDevPeriod; + @Excel(name = "绑定聚类ID") + private String bindClassID; + @Excel(name = "租金主力面积系数") + private BigDecimal mainCoefficientRent; + @Excel(name = "AI租金(草稿)") + private BigDecimal rentPriceDft; + @Excel(name = "主力面积租金(草稿)") + private BigDecimal mainRentPriceDft; + + @Excel(name = "上月AI租金") + private BigDecimal rentPrice_1; + @Excel(name = "成交均价(上周期)") + private BigDecimal priceDealMean_1; + @Excel(name = "成交最大价(上周期)") + private BigDecimal priceDealMax_1; + @Excel(name = "成交数量(上周期)") + private Integer sumDeal_1; + @Excel(name = "成交均价相对AI租金涨跌幅(上周期)") + private BigDecimal priceDeal_1_ToAI_Pst; + + @Excel(name = "成交均价") + private BigDecimal priceDealMean; + @Excel(name = "成交最大价") + private BigDecimal priceDealMax; + @Excel(name = "成交数量") + private Integer sumDeal; + @Excel(name = "成交均价相对AI租金涨跌幅") + private BigDecimal priceDeal_ToAI_Pst; + @Excel(name = "当月比上月成交案例价调整比例") + private BigDecimal priceDeal_ToLst_Pst; + + @Excel(name = "挂牌下架案例均价") + private BigDecimal priceCaseOff; + @Excel(name = "当月比上月挂牌下架案例价调整比例") + private BigDecimal priceCaseOff_ToLst_Pst; + @Excel(name = "挂牌最低价") + private BigDecimal priceListedMin; + @Excel(name = "挂牌最低价相对AI租金涨跌幅") + private BigDecimal priceLstMn_ToAI_Pst; + + @Excel(name = "与上月AI租金比链家1案例价格价调整比例") + private BigDecimal priceCase1_ToAI_Pst; + @Excel(name = "与上月AI租金比链家2案例价格价调整比例") + private BigDecimal priceCase2_ToAI_Pst; + @Excel(name = "当月比上月链家1案例价调整比例") + private BigDecimal priceCase1_ToLst_Pst; + @Excel(name = "当月比上月链家2案例价调整比例") + private BigDecimal priceCase2_ToLst_Pst; + + @Excel(name = "链家1案例价") + private BigDecimal priceCase1; + @Excel(name = "链家1调价幅度") + private BigDecimal priceCase1AdjPst; + @Excel(name = "链家1案例总量") + private Integer sumCase1; + + @Excel(name = "链家2案例价") + private BigDecimal priceCase2; + @Excel(name = "链家2调价幅度") + private BigDecimal priceCase2AdjPst; + @Excel(name = "链家2案例总量") + private Integer sumCase2; + + @Excel(name = "价格涨跌幅类型-调整前") + private BigDecimal voppbt; + @Excel(name = "价格涨跌幅-调整前") + private String voppb; + @Excel(name = "绑定小区编号") + private String bindProjID; + @Excel(name = "绑定小区涨跌幅") + private BigDecimal bind_Proj_Pst; + @Excel(name = "绑定板块+聚类ID") + private String bind_Block_Class; + @Excel(name = "绑定板块+聚类ID的涨跌幅") + private BigDecimal bind_Block_Class_Pst; + @Excel(name = "绑定板块+物业档次") + private String bind_Block_Plevel; + @Excel(name = "绑定板块+物业档次的涨跌幅") + private BigDecimal bind_Block_Plevel_Pst; + @Excel(name = "绑定板块+小区类型") + private String bind_Block_PType; + @Excel(name = "绑定板块+小区类型的涨跌幅") + private BigDecimal bind_Block_Ptype_Pst; + @Excel(name = "绑定区县+小区类型") + private String bind_County_PType; + @Excel(name = "绑定区县+小区类型的涨跌幅") + private BigDecimal bind_County_Ptype_Pst; + @Excel(name = "绑定混合小区ID") + private String bind_MixProject_PType; + @Excel(name = "绑定混合小区涨跌幅") + private BigDecimal bind_MixProject_Pst; + @Excel(name = "价格涨跌幅类型-调整后") + private String voppat; + @Excel(name = "价格涨跌幅-调整后") + private BigDecimal voppa; + + public Integer getYearMonth() { + return yearMonth; + } + + public void setYearMonth(Integer yearMonth) { + this.yearMonth = yearMonth; + } + + public Integer getPageIndex() { + return pageIndex; + } + + public void setPageIndex(Integer pageIndex) { + this.pageIndex = pageIndex; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getCommunityId() { + return communityId; + } + + public void setCommunityId(String communityId) { + this.communityId = communityId; + } + + public String getCommunityName() { + return communityName; + } + + public void setCommunityName(String communityName) { + this.communityName = communityName; + } + + public String getCommunityAddress() { + return communityAddress; + } + + public void setCommunityAddress(String communityAddress) { + this.communityAddress = communityAddress; + } + + public String getCounty() { + return county; + } + + public void setCounty(String county) { + this.county = county; + } + + public String getBlock() { + return block; + } + + public void setBlock(String block) { + this.block = block; + } + + public String getLoop() { + return loop; + } + + public void setLoop(String loop) { + this.loop = loop; + } + + public Integer getIsIndxGen() { + return isIndxGen; + } + + public void setIsIndxGen(Integer isIndxGen) { + this.isIndxGen = isIndxGen; + } + + public Integer getIsPstCalc() { + return isPstCalc; + } + + public void setIsPstCalc(Integer isPstCalc) { + this.isPstCalc = isPstCalc; + } + + public Integer getStatusRun() { + return statusRun; + } + + public void setStatusRun(Integer statusRun) { + this.statusRun = statusRun; + } + + public String getPropertyType() { + return propertyType; + } + + public void setPropertyType(String propertyType) { + this.propertyType = propertyType; + } + + public String getProjectType() { + return projectType; + } + + public void setProjectType(String projectType) { + this.projectType = projectType; + } + + public String getProjectTypeDtl() { + return projectTypeDtl; + } + + public void setProjectTypeDtl(String projectTypeDtl) { + this.projectTypeDtl = projectTypeDtl; + } + + public String getProjectLevel() { + return projectLevel; + } + + public void setProjectLevel(String projectLevel) { + this.projectLevel = projectLevel; + } + + public Integer getPropertyDevPeriod() { + return propertyDevPeriod; + } + + public void setPropertyDevPeriod(Integer propertyDevPeriod) { + this.propertyDevPeriod = propertyDevPeriod; + } + + public String getBindClassID() { + return bindClassID; + } + + public void setBindClassID(String bindClassID) { + this.bindClassID = bindClassID; + } + + public BigDecimal getMainCoefficientRent() { + return mainCoefficientRent; + } + + public void setMainCoefficientRent(BigDecimal mainCoefficientRent) { + this.mainCoefficientRent = mainCoefficientRent; + } + + public BigDecimal getRentPriceDft() { + return rentPriceDft; + } + + public void setRentPriceDft(BigDecimal rentPriceDft) { + this.rentPriceDft = rentPriceDft; + } + + public BigDecimal getMainRentPriceDft() { + return mainRentPriceDft; + } + + public void setMainRentPriceDft(BigDecimal mainRentPriceDft) { + this.mainRentPriceDft = mainRentPriceDft; + } + + public BigDecimal getRentPrice_1() { + return rentPrice_1; + } + + public void setRentPrice_1(BigDecimal rentPrice_1) { + this.rentPrice_1 = rentPrice_1; + } + + public BigDecimal getPriceDealMean_1() { + return priceDealMean_1; + } + + public void setPriceDealMean_1(BigDecimal priceDealMean_1) { + this.priceDealMean_1 = priceDealMean_1; + } + + public BigDecimal getPriceDealMax_1() { + return priceDealMax_1; + } + + public void setPriceDealMax_1(BigDecimal priceDealMax_1) { + this.priceDealMax_1 = priceDealMax_1; + } + + public Integer getSumDeal_1() { + return sumDeal_1; + } + + public void setSumDeal_1(Integer sumDeal_1) { + this.sumDeal_1 = sumDeal_1; + } + + public BigDecimal getPriceDeal_1_ToAI_Pst() { + return priceDeal_1_ToAI_Pst; + } + + public void setPriceDeal_1_ToAI_Pst(BigDecimal priceDeal_1_ToAI_Pst) { + this.priceDeal_1_ToAI_Pst = priceDeal_1_ToAI_Pst; + } + + public BigDecimal getPriceDealMean() { + return priceDealMean; + } + + public void setPriceDealMean(BigDecimal priceDealMean) { + this.priceDealMean = priceDealMean; + } + + public BigDecimal getPriceDealMax() { + return priceDealMax; + } + + public void setPriceDealMax(BigDecimal priceDealMax) { + this.priceDealMax = priceDealMax; + } + + public Integer getSumDeal() { + return sumDeal; + } + + public void setSumDeal(Integer sumDeal) { + this.sumDeal = sumDeal; + } + + public BigDecimal getPriceDeal_ToAI_Pst() { + return priceDeal_ToAI_Pst; + } + + public void setPriceDeal_ToAI_Pst(BigDecimal priceDeal_ToAI_Pst) { + this.priceDeal_ToAI_Pst = priceDeal_ToAI_Pst; + } + + public BigDecimal getPriceDeal_ToLst_Pst() { + return priceDeal_ToLst_Pst; + } + + public void setPriceDeal_ToLst_Pst(BigDecimal priceDeal_ToLst_Pst) { + this.priceDeal_ToLst_Pst = priceDeal_ToLst_Pst; + } + + public BigDecimal getPriceCaseOff() { + return priceCaseOff; + } + + public void setPriceCaseOff(BigDecimal priceCaseOff) { + this.priceCaseOff = priceCaseOff; + } + + public BigDecimal getPriceCaseOff_ToLst_Pst() { + return priceCaseOff_ToLst_Pst; + } + + public void setPriceCaseOff_ToLst_Pst(BigDecimal priceCaseOff_ToLst_Pst) { + this.priceCaseOff_ToLst_Pst = priceCaseOff_ToLst_Pst; + } + + public BigDecimal getPriceListedMin() { + return priceListedMin; + } + + public void setPriceListedMin(BigDecimal priceListedMin) { + this.priceListedMin = priceListedMin; + } + + public BigDecimal getPriceLstMn_ToAI_Pst() { + return priceLstMn_ToAI_Pst; + } + + public void setPriceLstMn_ToAI_Pst(BigDecimal priceLstMn_ToAI_Pst) { + this.priceLstMn_ToAI_Pst = priceLstMn_ToAI_Pst; + } + + public BigDecimal getPriceCase1_ToAI_Pst() { + return priceCase1_ToAI_Pst; + } + + public void setPriceCase1_ToAI_Pst(BigDecimal priceCase1_ToAI_Pst) { + this.priceCase1_ToAI_Pst = priceCase1_ToAI_Pst; + } + + public BigDecimal getPriceCase2_ToAI_Pst() { + return priceCase2_ToAI_Pst; + } + + public void setPriceCase2_ToAI_Pst(BigDecimal priceCase2_ToAI_Pst) { + this.priceCase2_ToAI_Pst = priceCase2_ToAI_Pst; + } + + public BigDecimal getPriceCase1_ToLst_Pst() { + return priceCase1_ToLst_Pst; + } + + public void setPriceCase1_ToLst_Pst(BigDecimal priceCase1_ToLst_Pst) { + this.priceCase1_ToLst_Pst = priceCase1_ToLst_Pst; + } + + public BigDecimal getPriceCase2_ToLst_Pst() { + return priceCase2_ToLst_Pst; + } + + public void setPriceCase2_ToLst_Pst(BigDecimal priceCase2_ToLst_Pst) { + this.priceCase2_ToLst_Pst = priceCase2_ToLst_Pst; + } + + public BigDecimal getPriceCase1() { + return priceCase1; + } + + public void setPriceCase1(BigDecimal priceCase1) { + this.priceCase1 = priceCase1; + } + + public BigDecimal getPriceCase1AdjPst() { + return priceCase1AdjPst; + } + + public void setPriceCase1AdjPst(BigDecimal priceCase1AdjPst) { + this.priceCase1AdjPst = priceCase1AdjPst; + } + + public Integer getSumCase1() { + return sumCase1; + } + + public void setSumCase1(Integer sumCase1) { + this.sumCase1 = sumCase1; + } + + public BigDecimal getPriceCase2() { + return priceCase2; + } + + public void setPriceCase2(BigDecimal priceCase2) { + this.priceCase2 = priceCase2; + } + + public BigDecimal getPriceCase2AdjPst() { + return priceCase2AdjPst; + } + + public void setPriceCase2AdjPst(BigDecimal priceCase2AdjPst) { + this.priceCase2AdjPst = priceCase2AdjPst; + } + + public Integer getSumCase2() { + return sumCase2; + } + + public void setSumCase2(Integer sumCase2) { + this.sumCase2 = sumCase2; + } + + public BigDecimal getVoppbt() { + return voppbt; + } + + public void setVoppbt(BigDecimal voppbt) { + this.voppbt = voppbt; + } + + public String getVoppb() { + return voppb; + } + + public void setVoppb(String voppb) { + this.voppb = voppb; + } + + public String getBindProjID() { + return bindProjID; + } + + public void setBindProjID(String bindProjID) { + this.bindProjID = bindProjID; + } + + public BigDecimal getBind_Proj_Pst() { + return bind_Proj_Pst; + } + + public void setBind_Proj_Pst(BigDecimal bind_Proj_Pst) { + this.bind_Proj_Pst = bind_Proj_Pst; + } + + public String getBind_Block_Class() { + return bind_Block_Class; + } + + public void setBind_Block_Class(String bind_Block_Class) { + this.bind_Block_Class = bind_Block_Class; + } + + public BigDecimal getBind_Block_Class_Pst() { + return bind_Block_Class_Pst; + } + + public void setBind_Block_Class_Pst(BigDecimal bind_Block_Class_Pst) { + this.bind_Block_Class_Pst = bind_Block_Class_Pst; + } + + public String getBind_Block_Plevel() { + return bind_Block_Plevel; + } + + public void setBind_Block_Plevel(String bind_Block_Plevel) { + this.bind_Block_Plevel = bind_Block_Plevel; + } + + public BigDecimal getBind_Block_Plevel_Pst() { + return bind_Block_Plevel_Pst; + } + + public void setBind_Block_Plevel_Pst(BigDecimal bind_Block_Plevel_Pst) { + this.bind_Block_Plevel_Pst = bind_Block_Plevel_Pst; + } + + public String getBind_Block_PType() { + return bind_Block_PType; + } + + public void setBind_Block_PType(String bind_Block_PType) { + this.bind_Block_PType = bind_Block_PType; + } + + public BigDecimal getBind_Block_Ptype_Pst() { + return bind_Block_Ptype_Pst; + } + + public void setBind_Block_Ptype_Pst(BigDecimal bind_Block_Ptype_Pst) { + this.bind_Block_Ptype_Pst = bind_Block_Ptype_Pst; + } + + public String getBind_County_PType() { + return bind_County_PType; + } + + public void setBind_County_PType(String bind_County_PType) { + this.bind_County_PType = bind_County_PType; + } + + public BigDecimal getBind_County_Ptype_Pst() { + return bind_County_Ptype_Pst; + } + + public void setBind_County_Ptype_Pst(BigDecimal bind_County_Ptype_Pst) { + this.bind_County_Ptype_Pst = bind_County_Ptype_Pst; + } + + public String getBind_MixProject_PType() { + return bind_MixProject_PType; + } + + public void setBind_MixProject_PType(String bind_MixProject_PType) { + this.bind_MixProject_PType = bind_MixProject_PType; + } + + public BigDecimal getBind_MixProject_Pst() { + return bind_MixProject_Pst; + } + + public void setBind_MixProject_Pst(BigDecimal bind_MixProject_Pst) { + this.bind_MixProject_Pst = bind_MixProject_Pst; + } + + public String getVoppat() { + return voppat; + } + + public void setVoppat(String voppat) { + this.voppat = voppat; + } + + public BigDecimal getVoppa() { + return voppa; + } + + public void setVoppa(BigDecimal voppa) { + this.voppa = voppa; + } +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceSaleBasePrice.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceSaleBasePrice.java new file mode 100644 index 000000000..a437d20c5 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/ComputeResidenceSaleBasePrice.java @@ -0,0 +1,176 @@ +package com.ruoyi.project.data.price.domain; + +import com.alibaba.fastjson.annotation.JSONField; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import com.ruoyi.framework.web.domain.BaseEntity; + +import java.util.Date; + +/** + * 【请填写功能名称】对象 office_base_price_ultimate + * + * @author ruoyi + * @date 2020-05-20 + */ +public class ComputeResidenceSaleBasePrice extends BaseEntity { + + private Integer pageIndex; + private Integer pageSize; + @JSONField(serialize = false) + private Integer yearMonth; + + @Excel(name = "ID") + private String id; + @Excel(name = "楼栋ID") + private String buildingId; + @Excel(name = "小区ID") + private String communityId; + @Excel(name = "主力基价") + private String mainPrice; + @Excel(name = "主力租金") + private String mainPriceRent; + @Excel(name = "主力基价涨跌幅") + private String mainPricePst; + @Excel(name = "主力租金涨跌幅") + private String mainPriceRentPst; + @Excel(name = "主力基价类型") + private String mainPriceType; + @Excel(name = "主力租金类型") + private String mainPriceRentType; + @Excel(name = "更新日期") + private Date updateDate; + @Excel(name = "状态") + private Boolean status; + @Excel(name = "是否标准楼栋") + private Boolean isStandardBuilding; + @Excel(name = "更改价格说明") + private String adjustPriceComment; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getYearMonth() { + return yearMonth; + } + + public void setYearMonth(Integer yearMonth) { + this.yearMonth = yearMonth; + } + + public String getBuildingId() { + return buildingId; + } + + public void setBuildingId(String buildingId) { + this.buildingId = buildingId; + } + + public String getCommunityId() { + return communityId; + } + + public void setCommunityId(String communityId) { + this.communityId = communityId; + } + + public String getMainPrice() { + return mainPrice; + } + + public void setMainPrice(String mainPrice) { + this.mainPrice = mainPrice; + } + + public String getMainPriceRent() { + return mainPriceRent; + } + + public void setMainPriceRent(String mainPriceRent) { + this.mainPriceRent = mainPriceRent; + } + + public String getMainPricePst() { + return mainPricePst; + } + + public void setMainPricePst(String mainPricePst) { + this.mainPricePst = mainPricePst; + } + + public String getMainPriceRentPst() { + return mainPriceRentPst; + } + + public void setMainPriceRentPst(String mainPriceRentPst) { + this.mainPriceRentPst = mainPriceRentPst; + } + + public String getMainPriceType() { + return mainPriceType; + } + + public void setMainPriceType(String mainPriceType) { + this.mainPriceType = mainPriceType; + } + + public String getMainPriceRentType() { + return mainPriceRentType; + } + + public void setMainPriceRentType(String mainPriceRentType) { + this.mainPriceRentType = mainPriceRentType; + } + + public Date getUpdateDate() { + return updateDate; + } + + public void setUpdateDate(Date updateDate) { + this.updateDate = updateDate; + } + + public Boolean getStatus() { + return status; + } + + public void setStatus(Boolean status) { + this.status = status; + } + + public Boolean getStandardBuilding() { + return isStandardBuilding; + } + + public void setStandardBuilding(Boolean standardBuilding) { + isStandardBuilding = standardBuilding; + } + + public String getAdjustPriceComment() { + return adjustPriceComment; + } + + public void setAdjustPriceComment(String adjustPriceComment) { + this.adjustPriceComment = adjustPriceComment; + } + + public Integer getPageIndex() { + return pageIndex; + } + + public void setPageIndex(Integer pageIndex) { + this.pageIndex = pageIndex; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateOfficeBasePrice.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateOfficeBasePrice.java new file mode 100644 index 000000000..f57a9810d --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateOfficeBasePrice.java @@ -0,0 +1,357 @@ +package com.ruoyi.project.data.price.domain; + +import com.alibaba.fastjson.annotation.JSONField; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import com.ruoyi.framework.web.domain.BaseEntity; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 【请填写功能名称】对象 office_base_price_ultimate + * + * @author ruoyi + * @date 2020-05-20 + */ +public class UltimateOfficeBasePrice extends BaseEntity { + + private Integer pageIndex; + private Integer pageSize; + + @Excel(name = "ID") + private String id; + @JSONField(serialize = false) + private Integer yearMonth; + @Excel(name = "楼栋ID") + private String buildingId; + @Excel(name = "小区ID") + private String communityId; + @Excel(name = "项目名称") + private String communityName; + @Excel(name = "办公项目地址") + private String communityAddress; + @Excel(name = "楼栋地址") + private String buildingAddress; + @Excel(name = "楼栋地址") + private String countyName; + @Excel(name = "板块地址") + private String blockName; + @Excel(name = "街道地址") + private String streetName; + @Excel(name = "环线地址") + private String loopName; + @Excel(name = "建成年代") + private Integer year; + @Excel(name = "平均面积") + private BigDecimal avgArea; + @Excel(name = "总层数") + private String totalFloorSum; + @Excel(name = "地上层数") + private String upperFloorSum; + @Excel(name = "办公分类") + private String officeClass; + @Excel(name = "办公等级") + private String officeLevel; + @Excel(name = "主力基价(上期)") + private BigDecimal mainPrice_1; + @Excel(name = "主力租金(上期)") + private BigDecimal mainPriceRent_1; + @Excel(name = "主力基价") + private BigDecimal mainPrice; + @Excel(name = "主力租金") + private BigDecimal mainPriceRent; + @Excel(name = "主力基价涨跌幅") + private BigDecimal mainPricePst; + @Excel(name = "主力租金涨跌幅") + private BigDecimal mainPriceRentPst; + @Excel(name = "主力基价类型") + private String mainPriceType; + @Excel(name = "主力租金类型") + private String mainPriceRentType; + @Excel(name = "面积修正系数") + private BigDecimal areaCoefficient; + @Excel(name = "年份修正系数") + private BigDecimal yearCoefficient; + @Excel(name = "基价楼栋系数") + private BigDecimal buildingCoefficient; + @Excel(name = "更新日期") + private Date updateDate; + @Excel(name = "状态") + private Boolean status; + @Excel(name = "是否标准楼栋") + private Boolean isStandardBuilding; + @Excel(name = "更改价格说明") + private String adjustPriceComment; + + public Integer getPageIndex() { + return pageIndex; + } + + public void setPageIndex(Integer pageIndex) { + this.pageIndex = pageIndex; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getYearMonth() { + return yearMonth; + } + + public void setYearMonth(Integer yearMonth) { + this.yearMonth = yearMonth; + } + + public String getBuildingId() { + return buildingId; + } + + public void setBuildingId(String buildingId) { + this.buildingId = buildingId; + } + + public String getCommunityId() { + return communityId; + } + + public void setCommunityId(String communityId) { + this.communityId = communityId; + } + + public String getCommunityName() { + return communityName; + } + + public void setCommunityName(String communityName) { + this.communityName = communityName; + } + + public String getCommunityAddress() { + return communityAddress; + } + + public void setCommunityAddress(String communityAddress) { + this.communityAddress = communityAddress; + } + + public String getBuildingAddress() { + return buildingAddress; + } + + public void setBuildingAddress(String buildingAddress) { + this.buildingAddress = buildingAddress; + } + + public String getCountyName() { + return countyName; + } + + public void setCountyName(String countyName) { + this.countyName = countyName; + } + + public String getBlockName() { + return blockName; + } + + public void setBlockName(String blockName) { + this.blockName = blockName; + } + + public String getStreetName() { + return streetName; + } + + public void setStreetName(String streetName) { + this.streetName = streetName; + } + + public String getLoopName() { + return loopName; + } + + public void setLoopName(String loopName) { + this.loopName = loopName; + } + + public Integer getYear() { + return year; + } + + public void setYear(Integer year) { + this.year = year; + } + + public BigDecimal getAvgArea() { + return avgArea; + } + + public void setAvgArea(BigDecimal avgArea) { + this.avgArea = avgArea; + } + + public String getTotalFloorSum() { + return totalFloorSum; + } + + public void setTotalFloorSum(String totalFloorSum) { + this.totalFloorSum = totalFloorSum; + } + + public String getUpperFloorSum() { + return upperFloorSum; + } + + public void setUpperFloorSum(String upperFloorSum) { + this.upperFloorSum = upperFloorSum; + } + + public String getOfficeClass() { + return officeClass; + } + + public void setOfficeClass(String officeClass) { + this.officeClass = officeClass; + } + + public String getOfficeLevel() { + return officeLevel; + } + + public void setOfficeLevel(String officeLevel) { + this.officeLevel = officeLevel; + } + + public BigDecimal getMainPrice_1() { + return mainPrice_1; + } + + public void setMainPrice_1(BigDecimal mainPrice_1) { + this.mainPrice_1 = mainPrice_1; + } + + public BigDecimal getMainPriceRent_1() { + return mainPriceRent_1; + } + + public void setMainPriceRent_1(BigDecimal mainPriceRent_1) { + this.mainPriceRent_1 = mainPriceRent_1; + } + + public BigDecimal getMainPrice() { + return mainPrice; + } + + public void setMainPrice(BigDecimal mainPrice) { + this.mainPrice = mainPrice; + } + + public BigDecimal getMainPriceRent() { + return mainPriceRent; + } + + public void setMainPriceRent(BigDecimal mainPriceRent) { + this.mainPriceRent = mainPriceRent; + } + + public BigDecimal getMainPricePst() { + return mainPricePst; + } + + public void setMainPricePst(BigDecimal mainPricePst) { + this.mainPricePst = mainPricePst; + } + + public BigDecimal getMainPriceRentPst() { + return mainPriceRentPst; + } + + public void setMainPriceRentPst(BigDecimal mainPriceRentPst) { + this.mainPriceRentPst = mainPriceRentPst; + } + + public String getMainPriceType() { + return mainPriceType; + } + + public void setMainPriceType(String mainPriceType) { + this.mainPriceType = mainPriceType; + } + + public String getMainPriceRentType() { + return mainPriceRentType; + } + + public void setMainPriceRentType(String mainPriceRentType) { + this.mainPriceRentType = mainPriceRentType; + } + + public BigDecimal getAreaCoefficient() { + return areaCoefficient; + } + + public void setAreaCoefficient(BigDecimal areaCoefficient) { + this.areaCoefficient = areaCoefficient; + } + + public BigDecimal getYearCoefficient() { + return yearCoefficient; + } + + public void setYearCoefficient(BigDecimal yearCoefficient) { + this.yearCoefficient = yearCoefficient; + } + + public BigDecimal getBuildingCoefficient() { + return buildingCoefficient; + } + + public void setBuildingCoefficient(BigDecimal buildingCoefficient) { + this.buildingCoefficient = buildingCoefficient; + } + + public Date getUpdateDate() { + return updateDate; + } + + public void setUpdateDate(Date updateDate) { + this.updateDate = updateDate; + } + + public Boolean getStatus() { + return status; + } + + public void setStatus(Boolean status) { + this.status = status; + } + + public Boolean getStandardBuilding() { + return isStandardBuilding; + } + + public void setStandardBuilding(Boolean standardBuilding) { + isStandardBuilding = standardBuilding; + } + + public String getAdjustPriceComment() { + return adjustPriceComment; + } + + public void setAdjustPriceComment(String adjustPriceComment) { + this.adjustPriceComment = adjustPriceComment; + } +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceRentBasePrice.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceRentBasePrice.java new file mode 100644 index 000000000..31a391810 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceRentBasePrice.java @@ -0,0 +1,277 @@ +package com.ruoyi.project.data.price.domain; + +import com.alibaba.fastjson.annotation.JSONField; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import com.ruoyi.framework.web.domain.BaseEntity; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 核准的住宅租赁基价 + * + * @author ruoyi + * @date 2020-05-20 + */ +public class UltimateResidenceRentBasePrice extends BaseEntity { + @JSONField(serialize = false) + private Integer pageIndex; + @JSONField(serialize = false) + private Integer pageSize; + + private Integer yearMonth; + @Excel(name = "ID") + private Integer id; + @Excel(name = "小区ID") + private String communityId; + @Excel(name = "价格类型") + private String priceType; + @Excel(name = "标准基价") + private BigDecimal basePrice_1; + @Excel(name = "平均租金") + private BigDecimal rentPrice; + @Excel(name = "散租挂牌案例") + private Integer sumCase1; + @Excel(name = "租金涨跌幅") + private BigDecimal voppa; + @Excel(name = "租金涨跌幅-类型") + private String voppat; + @Excel(name = "租金-工房1室") + private BigDecimal gf_1Room; + @Excel(name = "租金-工房2室") + private BigDecimal gf_2Room; + @Excel(name = "租金-公寓2室") + private BigDecimal gy_2Room; + @Excel(name = "租金-公寓3室") + private BigDecimal gy_3Room; + @Excel(name = "租金-1房") + private BigDecimal one_Room; + @Excel(name = "租金-2房") + private BigDecimal two_Room; + @Excel(name = "租金-3房") + private BigDecimal three_Room; + @Excel(name = "整租比") + private BigDecimal entireRentRatio; + @Excel(name = "整租案例数") + private Integer entireRentNum; + @Excel(name = "分租比") + private BigDecimal shareRentRatio; + @Excel(name = "分租案例数") + private Integer shareRentNum; + @Excel(name = "租售比") + private BigDecimal saleRentRatio; + @Excel(name = "状态") + private Boolean status; + @Excel(name = "价格变更说明") + private String adjEvd; + @Excel(name = "修改日期") + private Date modifyDate; + + public Integer getPageIndex() { + return pageIndex; + } + + public void setPageIndex(Integer pageIndex) { + this.pageIndex = pageIndex; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public Integer getYearMonth() { + return yearMonth; + } + + public void setYearMonth(Integer yearMonth) { + this.yearMonth = yearMonth; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getCommunityId() { + return communityId; + } + + public void setCommunityId(String communityId) { + this.communityId = communityId; + } + + public String getPriceType() { + return priceType; + } + + public void setPriceType(String priceType) { + this.priceType = priceType; + } + + public BigDecimal getBasePrice_1() { + return basePrice_1; + } + + public void setBasePrice_1(BigDecimal basePrice_1) { + this.basePrice_1 = basePrice_1; + } + + public BigDecimal getRentPrice() { + return rentPrice; + } + + public void setRentPrice(BigDecimal rentPrice) { + this.rentPrice = rentPrice; + } + + public Integer getSumCase1() { + return sumCase1; + } + + public void setSumCase1(Integer sumCase1) { + this.sumCase1 = sumCase1; + } + + public String getVoppat() { + return voppat; + } + + public void setVoppat(String voppat) { + this.voppat = voppat; + } + + public BigDecimal getVoppa() { + return voppa; + } + + public void setVoppa(BigDecimal voppa) { + this.voppa = voppa; + } + + public BigDecimal getGf_1Room() { + return gf_1Room; + } + + public void setGf_1Room(BigDecimal gf_1Room) { + this.gf_1Room = gf_1Room; + } + + public BigDecimal getGf_2Room() { + return gf_2Room; + } + + public void setGf_2Room(BigDecimal gf_2Room) { + this.gf_2Room = gf_2Room; + } + + public BigDecimal getGy_2Room() { + return gy_2Room; + } + + public void setGy_2Room(BigDecimal gy_2Room) { + this.gy_2Room = gy_2Room; + } + + public BigDecimal getGy_3Room() { + return gy_3Room; + } + + public void setGy_3Room(BigDecimal gy_3Room) { + this.gy_3Room = gy_3Room; + } + + public BigDecimal getOne_Room() { + return one_Room; + } + + public void setOne_Room(BigDecimal one_Room) { + this.one_Room = one_Room; + } + + public BigDecimal getTwo_Room() { + return two_Room; + } + + public void setTwo_Room(BigDecimal two_Room) { + this.two_Room = two_Room; + } + + public BigDecimal getThree_Room() { + return three_Room; + } + + public void setThree_Room(BigDecimal three_Room) { + this.three_Room = three_Room; + } + + public BigDecimal getEntireRentRatio() { + return entireRentRatio; + } + + public void setEntireRentRatio(BigDecimal entireRentRatio) { + this.entireRentRatio = entireRentRatio; + } + + public Integer getEntireRentNum() { + return entireRentNum; + } + + public void setEntireRentNum(Integer entireRentNum) { + this.entireRentNum = entireRentNum; + } + + public BigDecimal getShareRentRatio() { + return shareRentRatio; + } + + public void setShareRentRatio(BigDecimal shareRentRatio) { + this.shareRentRatio = shareRentRatio; + } + + public Integer getShareRentNum() { + return shareRentNum; + } + + public void setShareRentNum(Integer shareRentNum) { + this.shareRentNum = shareRentNum; + } + + public BigDecimal getSaleRentRatio() { + return saleRentRatio; + } + + public void setSaleRentRatio(BigDecimal saleRentRatio) { + this.saleRentRatio = saleRentRatio; + } + + public Date getModifyDate() { + return modifyDate; + } + + public void setModifyDate(Date modifyDate) { + this.modifyDate = modifyDate; + } + + public Boolean getStatus() { + return status; + } + + public void setStatus(Boolean status) { + this.status = status; + } + + public String getAdjEvd() { + return adjEvd; + } + + public void setAdjEvd(String adjEvd) { + this.adjEvd = adjEvd; + } +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceSaleBasePrice.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceSaleBasePrice.java new file mode 100644 index 000000000..af764c558 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/domain/UltimateResidenceSaleBasePrice.java @@ -0,0 +1,176 @@ +package com.ruoyi.project.data.price.domain; + +import com.alibaba.fastjson.annotation.JSONField; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import com.ruoyi.framework.web.domain.BaseEntity; + +import java.util.Date; + +/** + * 【请填写功能名称】对象 office_base_price_ultimate + * + * @author ruoyi + * @date 2020-05-20 + */ +public class UltimateResidenceSaleBasePrice extends BaseEntity { + + private Integer pageIndex; + private Integer pageSize; + + @Excel(name = "ID") + private String id; + @JSONField(serialize = false) + private Integer yearMonth; + @Excel(name = "楼栋ID") + private String buildingId; + @Excel(name = "小区ID") + private String communityId; + @Excel(name = "主力基价") + private String mainPrice; + @Excel(name = "主力租金") + private String mainPriceRent; + @Excel(name = "主力基价涨跌幅") + private String mainPricePst; + @Excel(name = "主力租金涨跌幅") + private String mainPriceRentPst; + @Excel(name = "主力基价类型") + private String mainPriceType; + @Excel(name = "主力租金类型") + private String mainPriceRentType; + @Excel(name = "更新日期") + private Date updateDate; + @Excel(name = "状态") + private Boolean status; + @Excel(name = "是否标准楼栋") + private Boolean isStandardBuilding; + @Excel(name = "更改价格说明") + private String adjustPriceComment; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getYearMonth() { + return yearMonth; + } + + public void setYearMonth(Integer yearMonth) { + this.yearMonth = yearMonth; + } + + public String getBuildingId() { + return buildingId; + } + + public void setBuildingId(String buildingId) { + this.buildingId = buildingId; + } + + public String getCommunityId() { + return communityId; + } + + public void setCommunityId(String communityId) { + this.communityId = communityId; + } + + public String getMainPrice() { + return mainPrice; + } + + public void setMainPrice(String mainPrice) { + this.mainPrice = mainPrice; + } + + public String getMainPriceRent() { + return mainPriceRent; + } + + public void setMainPriceRent(String mainPriceRent) { + this.mainPriceRent = mainPriceRent; + } + + public String getMainPricePst() { + return mainPricePst; + } + + public void setMainPricePst(String mainPricePst) { + this.mainPricePst = mainPricePst; + } + + public String getMainPriceRentPst() { + return mainPriceRentPst; + } + + public void setMainPriceRentPst(String mainPriceRentPst) { + this.mainPriceRentPst = mainPriceRentPst; + } + + public String getMainPriceType() { + return mainPriceType; + } + + public void setMainPriceType(String mainPriceType) { + this.mainPriceType = mainPriceType; + } + + public String getMainPriceRentType() { + return mainPriceRentType; + } + + public void setMainPriceRentType(String mainPriceRentType) { + this.mainPriceRentType = mainPriceRentType; + } + + public Date getUpdateDate() { + return updateDate; + } + + public void setUpdateDate(Date updateDate) { + this.updateDate = updateDate; + } + + public Boolean getStatus() { + return status; + } + + public void setStatus(Boolean status) { + this.status = status; + } + + public Boolean getStandardBuilding() { + return isStandardBuilding; + } + + public void setStandardBuilding(Boolean standardBuilding) { + isStandardBuilding = standardBuilding; + } + + public String getAdjustPriceComment() { + return adjustPriceComment; + } + + public void setAdjustPriceComment(String adjustPriceComment) { + this.adjustPriceComment = adjustPriceComment; + } + + public Integer getPageIndex() { + return pageIndex; + } + + public void setPageIndex(Integer pageIndex) { + this.pageIndex = pageIndex; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/ArtificialResidenceRentPriceMapper.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/ArtificialResidenceRentPriceMapper.java new file mode 100644 index 000000000..1c5b55cad --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/ArtificialResidenceRentPriceMapper.java @@ -0,0 +1,20 @@ +package com.ruoyi.project.data.price.mapper; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.ruoyi.project.data.price.domain.ArtificialResidenceRentBasePrice; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2020-05-20 + */ +@DS("compute") +public interface ArtificialResidenceRentPriceMapper { + + List<ArtificialResidenceRentBasePrice> selectArtificialResidenceRentBasePriceList(ArtificialResidenceRentBasePrice artificialResidenceRentBasePrice); + + Integer selectArtificialResidenceRentBasePriceListCount(ArtificialResidenceRentBasePrice artificialResidenceRentBasePrice); +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/ComputeResidenceRentPriceMapper.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/ComputeResidenceRentPriceMapper.java new file mode 100644 index 000000000..b069187d8 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/ComputeResidenceRentPriceMapper.java @@ -0,0 +1,43 @@ +package com.ruoyi.project.data.price.mapper; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.ruoyi.project.data.price.domain.ComputeResidenceRentBasePrice; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2020-05-20 + */ +@DS("compute") +public interface ComputeResidenceRentPriceMapper { + + /** + * @param id + * @return + */ + ComputeResidenceRentBasePrice selectComputeResidenceRentBasePriceById(String id); + + /** + * 查询列表 + */ + List<ComputeResidenceRentBasePrice> selectComputeResidenceRentBasePriceList(ComputeResidenceRentBasePrice ComputeResidenceRentBasePrice); + + /** + * 求和 + * + * @param ComputeResidenceRentBasePrice + * @return + */ + Integer selectComputeResidenceRentBasePriceListCount(ComputeResidenceRentBasePrice ComputeResidenceRentBasePrice); + + /** + * 更新 + * + * @param ComputeResidenceRentBasePrice + * @return + */ + int updateComputeResidenceRentBasePrice(ComputeResidenceRentBasePrice ComputeResidenceRentBasePrice); +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/compute/mapper/OfficeBasePriceUltimateMapper.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/UltimateOfficeBasePriceMapper.java similarity index 54% rename from ruoyi/src/main/java/com/ruoyi/project/data/price/compute/mapper/OfficeBasePriceUltimateMapper.java rename to ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/UltimateOfficeBasePriceMapper.java index 1d5eb5a68..beba4c1e7 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/compute/mapper/OfficeBasePriceUltimateMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/UltimateOfficeBasePriceMapper.java @@ -1,9 +1,9 @@ -package com.ruoyi.project.data.price.compute.mapper; +package com.ruoyi.project.data.price.mapper; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; -import com.ruoyi.project.data.price.compute.domain.OfficeBasePriceUltimate; +import com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice; /** * 【请填写功能名称】Mapper接口 @@ -12,7 +12,7 @@ import com.ruoyi.project.data.price.compute.domain.OfficeBasePriceUltimate; * @date 2020-05-20 */ @DS("teemlink") -public interface OfficeBasePriceUltimateMapper +public interface UltimateOfficeBasePriceMapper { /** @@ -20,7 +20,7 @@ public interface OfficeBasePriceUltimateMapper * @param id * @return */ - OfficeBasePriceUltimate selectOfficeBasePriceUltimateById(String id); + UltimateOfficeBasePrice selectOfficeBasePriceUltimateById(String id); /** * 查询【请填写功能名称】列表 @@ -28,19 +28,19 @@ public interface OfficeBasePriceUltimateMapper * @param officeBasePriceUltimate 【请填写功能名称】 * @return 【请填写功能名称】集合 */ - List<OfficeBasePriceUltimate> selectOfficeBasePriceUltimateList(OfficeBasePriceUltimate officeBasePriceUltimate); + List<UltimateOfficeBasePrice> selectOfficeBasePriceUltimateList(UltimateOfficeBasePrice officeBasePriceUltimate); /** * 求和 * @param officeBasePriceUltimate * @return */ - Integer selectOfficeBasePriceUltimateListCount(OfficeBasePriceUltimate officeBasePriceUltimate); + Integer selectOfficeBasePriceUltimateListCount(UltimateOfficeBasePrice officeBasePriceUltimate); /** * 更新 * @param officeBasePriceUltimate * @return */ - int updateOfficeBasePriceUltimate(OfficeBasePriceUltimate officeBasePriceUltimate); + int updateOfficeBasePriceUltimate(UltimateOfficeBasePrice officeBasePriceUltimate); } diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/UltimateResidenceRentPriceMapper.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/UltimateResidenceRentPriceMapper.java new file mode 100644 index 000000000..31b5ba778 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/mapper/UltimateResidenceRentPriceMapper.java @@ -0,0 +1,35 @@ +package com.ruoyi.project.data.price.mapper; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.ruoyi.project.data.price.domain.ArtificialResidenceRentBasePrice; +import com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice; +import com.ruoyi.project.data.price.domain.UltimateResidenceRentBasePrice; + +import java.util.List; + +/** + * 【请填写功能名称】Mapper接口 + * + * @author ruoyi + * @date 2020-05-20 + */ +@DS("compute") +public interface UltimateResidenceRentPriceMapper { + + + List<UltimateResidenceRentBasePrice> selectListByRoute(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice); + + Integer selectCountByRoute(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice); + + /** + * @param id + * @return + */ + UltimateResidenceRentBasePrice selectByRoute(Integer id); + + /** + * @param ultimateResidenceRentBasePrice + * @return + */ + int updateByRoute(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice); +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/release/controller/HomeController.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/release/controller/HomeController.java deleted file mode 100644 index 3511f8dc1..000000000 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/release/controller/HomeController.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.ruoyi.project.data.price.release.controller; - -public class HomeController { -} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IArtificialResidenceRentPriceService.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IArtificialResidenceRentPriceService.java new file mode 100644 index 000000000..04bc34c78 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IArtificialResidenceRentPriceService.java @@ -0,0 +1,32 @@ +package com.ruoyi.project.data.price.service; + +import com.ruoyi.project.data.price.domain.ArtificialResidenceRentBasePrice; + +import java.util.List; + +/** + * 人工修正住宅租赁Service接口 + * + * @author ruoyi + * @date 2020-05-20 + */ +public interface IArtificialResidenceRentPriceService { + + /** + * 查询人工修正住宅租赁列表 + * + * @param officeBasePriceUltimate 人工修正住宅租赁 + * @return 人工修正住宅租赁集合 + */ + List<ArtificialResidenceRentBasePrice> selectList(ArtificialResidenceRentBasePrice officeBasePriceUltimate); + + /** + * @param officeBasePriceUltimate + * @return + */ + int selectCount(ArtificialResidenceRentBasePrice officeBasePriceUltimate); + + +} + + diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IComputeResidenceRentPriceService.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IComputeResidenceRentPriceService.java new file mode 100644 index 000000000..0c56aaf3c --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IComputeResidenceRentPriceService.java @@ -0,0 +1,52 @@ +package com.ruoyi.project.data.price.service; + +import com.ruoyi.project.data.price.domain.ComputeResidenceRentBasePrice; +import com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2020-05-20 + */ +public interface IComputeResidenceRentPriceService { + + /** + * 查询【请填写功能名称】列表 + * + * @param officeBasePriceUltimate 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + List<ComputeResidenceRentBasePrice> selectList(ComputeResidenceRentBasePrice officeBasePriceUltimate); + + /** + * @param officeBasePriceUltimate + * @return + */ + int selectCount(ComputeResidenceRentBasePrice officeBasePriceUltimate); + + /** + * @param id + * @return + */ + ComputeResidenceRentBasePrice selectById(String id); + + /** + * @param officeBasePriceUltimate + * @return + */ + int update(ComputeResidenceRentBasePrice officeBasePriceUltimate); + + /** + * @param officeBasePriceUltimates + * @param operName + * @return + */ + String batchImport(List<ComputeResidenceRentBasePrice> officeBasePriceUltimates, String operName); + +} + + diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateOfficeBasePriceService.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateOfficeBasePriceService.java new file mode 100644 index 000000000..509f9db84 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateOfficeBasePriceService.java @@ -0,0 +1,40 @@ +package com.ruoyi.project.data.price.service; + +import com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice; + +import java.util.List; + +/** + * 【请填写功能名称】Service接口 + * + * @author ruoyi + * @date 2020-05-20 + */ +public interface IUltimateOfficeBasePriceService { + + /** + * 查询【请填写功能名称】列表 + * + * @param officeBasePriceUltimate 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + List<UltimateOfficeBasePrice> selectOfficeBasePriceUltimateList(UltimateOfficeBasePrice officeBasePriceUltimate); + + int selectOfficeBasePriceUltimateListCount(UltimateOfficeBasePrice officeBasePriceUltimate); + + + UltimateOfficeBasePrice selectOfficeBasePriceUltimateById(String id); + + int updateOfficeBasePriceUltimate(UltimateOfficeBasePrice officeBasePriceUltimate); + + /** + * + * @param officeBasePriceUltimates + * @param operName + * @return + */ + String batchImport(List<UltimateOfficeBasePrice> officeBasePriceUltimates,String operName); + +} + + diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateResidenceRentBasePriceService.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateResidenceRentBasePriceService.java new file mode 100644 index 000000000..e3ebfa7ac --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/IUltimateResidenceRentBasePriceService.java @@ -0,0 +1,25 @@ +package com.ruoyi.project.data.price.service; + +import com.ruoyi.project.data.price.domain.UltimateResidenceRentBasePrice; + +import java.util.List; + +/** + * @author ruoyi + * @date 2020-05-20 + */ +public interface IUltimateResidenceRentBasePriceService { + + List<UltimateResidenceRentBasePrice> selectList(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice); + + int selectCount(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice); + + UltimateResidenceRentBasePrice selectById(Integer id); + + int update(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice); + + String batchImport(List<UltimateResidenceRentBasePrice> ultimateResidenceRentBasePrices, String operName); + +} + + diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ArtificialResidenceRentPriceServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ArtificialResidenceRentPriceServiceImpl.java new file mode 100644 index 000000000..7d7bbac2b --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ArtificialResidenceRentPriceServiceImpl.java @@ -0,0 +1,39 @@ +package com.ruoyi.project.data.price.service.impl; + +import com.ruoyi.project.data.price.domain.ArtificialResidenceRentBasePrice; +import com.ruoyi.project.data.price.mapper.ArtificialResidenceRentPriceMapper; +import com.ruoyi.project.data.price.service.IArtificialResidenceRentPriceService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2020-05-20 + */ +@Service +public class ArtificialResidenceRentPriceServiceImpl implements IArtificialResidenceRentPriceService { + + private static final Logger log = LoggerFactory.getLogger(ArtificialResidenceRentPriceServiceImpl.class); + + @Autowired + private ArtificialResidenceRentPriceMapper artificialResidenceRentPriceMapper; + + @Override + public List<ArtificialResidenceRentBasePrice> selectList(ArtificialResidenceRentBasePrice + ArtificialResidenceRentPrice) { + return artificialResidenceRentPriceMapper.selectArtificialResidenceRentBasePriceList + (ArtificialResidenceRentPrice); + } + + @Override + public int selectCount(ArtificialResidenceRentBasePrice ArtificialResidenceRentPrice) { + return artificialResidenceRentPriceMapper.selectArtificialResidenceRentBasePriceListCount + (ArtificialResidenceRentPrice); + } +} \ No newline at end of file diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ComputeResidenceRentPriceServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ComputeResidenceRentPriceServiceImpl.java new file mode 100644 index 000000000..857d0f1d4 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/ComputeResidenceRentPriceServiceImpl.java @@ -0,0 +1,51 @@ +package com.ruoyi.project.data.price.service.impl; + +import com.ruoyi.project.data.price.domain.ComputeResidenceRentBasePrice; +import com.ruoyi.project.data.price.mapper.ComputeResidenceRentPriceMapper; +import com.ruoyi.project.data.price.service.IComputeResidenceRentPriceService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 【请填写功能名称】Service业务层处理 + * + * @author ruoyi + * @date 2020-05-20 + */ +@Service +public class ComputeResidenceRentPriceServiceImpl implements IComputeResidenceRentPriceService { + + private static final Logger log = LoggerFactory.getLogger(ComputeResidenceRentPriceServiceImpl.class); + + @Autowired + private ComputeResidenceRentPriceMapper computeResidenceRentPriceMapper; + + @Override + public List<ComputeResidenceRentBasePrice> selectList(ComputeResidenceRentBasePrice computeResidenceRentBasePrice) { + return computeResidenceRentPriceMapper.selectComputeResidenceRentBasePriceList(computeResidenceRentBasePrice); + } + + @Override + public int selectCount(ComputeResidenceRentBasePrice computeResidenceRentBasePrice) { + return computeResidenceRentPriceMapper.selectComputeResidenceRentBasePriceListCount(computeResidenceRentBasePrice); + } + + @Override + public ComputeResidenceRentBasePrice selectById(String id) { + return computeResidenceRentPriceMapper.selectComputeResidenceRentBasePriceById(id); + } + + @Override + public int update(ComputeResidenceRentBasePrice officeBasePriceUltimate) { + return 0; + } + + @Override + public String batchImport(List<ComputeResidenceRentBasePrice> officeBasePriceUltimates, String operName) { + return null; + } +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/compute/service/impl/OfficeBasePriceUltimateServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/UltimateOfficeBasePriceServiceImpl.java similarity index 65% rename from ruoyi/src/main/java/com/ruoyi/project/data/price/compute/service/impl/OfficeBasePriceUltimateServiceImpl.java rename to ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/UltimateOfficeBasePriceServiceImpl.java index 97e25a946..11210cec8 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/data/price/compute/service/impl/OfficeBasePriceUltimateServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/UltimateOfficeBasePriceServiceImpl.java @@ -1,12 +1,12 @@ -package com.ruoyi.project.data.price.compute.service.impl; +package com.ruoyi.project.data.price.service.impl; import java.util.List; import com.ruoyi.common.exception.CustomException; import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.project.data.price.compute.domain.OfficeBasePriceUltimate; -import com.ruoyi.project.data.price.compute.mapper.OfficeBasePriceUltimateMapper; -import com.ruoyi.project.data.price.compute.service.IOfficeBasePriceUltimateService; +import com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice; +import com.ruoyi.project.data.price.mapper.UltimateOfficeBasePriceMapper; +import com.ruoyi.project.data.price.service.IUltimateOfficeBasePriceService; import com.ruoyi.project.system.service.impl.SysUserServiceImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -20,13 +20,12 @@ import org.springframework.stereotype.Service; * @date 2020-05-20 */ @Service - -public class OfficeBasePriceUltimateServiceImpl implements IOfficeBasePriceUltimateService { +public class UltimateOfficeBasePriceServiceImpl implements IUltimateOfficeBasePriceService { private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); @Autowired - private OfficeBasePriceUltimateMapper officeBasePriceUltimateMapper; + private UltimateOfficeBasePriceMapper officeBasePriceUltimateMapper; /** * 查询【请填写功能名称】列表 @@ -35,68 +34,58 @@ public class OfficeBasePriceUltimateServiceImpl implements IOfficeBasePriceUltim * @return 【请填写功能名称】 */ @Override - public List<OfficeBasePriceUltimate> selectOfficeBasePriceUltimateList(OfficeBasePriceUltimate officeBasePriceUltimate) { + public List<UltimateOfficeBasePrice> selectOfficeBasePriceUltimateList(UltimateOfficeBasePrice officeBasePriceUltimate) { return officeBasePriceUltimateMapper.selectOfficeBasePriceUltimateList(officeBasePriceUltimate); } @Override - public int selectOfficeBasePriceUltimateListCount(OfficeBasePriceUltimate officeBasePriceUltimate) { + public int selectOfficeBasePriceUltimateListCount(UltimateOfficeBasePrice officeBasePriceUltimate) { return officeBasePriceUltimateMapper.selectOfficeBasePriceUltimateListCount(officeBasePriceUltimate); } @Override - public OfficeBasePriceUltimate selectOfficeBasePriceUltimateById(String id) { + public UltimateOfficeBasePrice selectOfficeBasePriceUltimateById(String id) { return officeBasePriceUltimateMapper.selectOfficeBasePriceUltimateById(id); } @Override - public int updateOfficeBasePriceUltimate(OfficeBasePriceUltimate officeBasePriceUltimate) { + public int updateOfficeBasePriceUltimate(UltimateOfficeBasePrice officeBasePriceUltimate) { return officeBasePriceUltimateMapper.updateOfficeBasePriceUltimate(officeBasePriceUltimate); } @Override - public String batchImport(List<OfficeBasePriceUltimate> officeBasePriceUltimates, String operName) { - if (StringUtils.isNull(officeBasePriceUltimates) || officeBasePriceUltimates.size() == 0) - { + public String batchImport(List<UltimateOfficeBasePrice> officeBasePriceUltimates, String operName) { + if (StringUtils.isNull(officeBasePriceUltimates) || officeBasePriceUltimates.size() == 0) { throw new CustomException("导入办公数据不能为空!"); } int successNum = 0; int failureNum = 0; StringBuilder successMsg = new StringBuilder(); StringBuilder failureMsg = new StringBuilder(); - for (OfficeBasePriceUltimate officeBasePriceUltimate : officeBasePriceUltimates) - { - try - { + for (UltimateOfficeBasePrice officeBasePriceUltimate : officeBasePriceUltimates) { + try { // 验证是否存在这个用户 - OfficeBasePriceUltimate officeBasePriceUltimateInDb = officeBasePriceUltimateMapper.selectOfficeBasePriceUltimateById(officeBasePriceUltimate.getId()); - if (StringUtils.isNotNull(officeBasePriceUltimateInDb)) - { + UltimateOfficeBasePrice officeBasePriceUltimateInDb = + officeBasePriceUltimateMapper.selectOfficeBasePriceUltimateById(officeBasePriceUltimate.getId()); + if (StringUtils.isNotNull(officeBasePriceUltimateInDb)) { this.updateOfficeBasePriceUltimate(officeBasePriceUltimate); successNum++; successMsg.append("<br/>" + successNum + "、ID= " + officeBasePriceUltimate.getId() + " 更新成功"); - } - else - { + } else { failureNum++; failureMsg.append("<br/>" + failureNum + "、ID= " + officeBasePriceUltimate.getId() + " 已存在"); } - } - catch (Exception e) - { + } catch (Exception e) { failureNum++; String msg = "<br/>" + failureNum + "、ID= " + officeBasePriceUltimate.getId() + " 导入失败:"; failureMsg.append(msg + e.getMessage()); log.error(msg, e); } } - if (failureNum > 0) - { + if (failureNum > 0) { failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); throw new CustomException(failureMsg.toString()); - } - else - { + } else { successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); } return successMsg.toString(); diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/UltimateResidenceRentBasePriceServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/UltimateResidenceRentBasePriceServiceImpl.java new file mode 100644 index 000000000..5036bf0ec --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/data/price/service/impl/UltimateResidenceRentBasePriceServiceImpl.java @@ -0,0 +1,52 @@ +package com.ruoyi.project.data.price.service.impl; + +import com.ruoyi.project.data.price.domain.UltimateResidenceRentBasePrice; +import com.ruoyi.project.data.price.mapper.UltimateResidenceRentPriceMapper; +import com.ruoyi.project.data.price.service.IUltimateResidenceRentBasePriceService; +import com.ruoyi.project.system.service.impl.SysUserServiceImpl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 核准住宅租赁基价 Service业务层处理 + * + * @author ruoyi + * @date 2020-05-20 + */ +@Service +public class UltimateResidenceRentBasePriceServiceImpl implements IUltimateResidenceRentBasePriceService { + + private static final Logger log = LoggerFactory.getLogger(UltimateResidenceRentBasePriceServiceImpl.class); + + @Autowired + private UltimateResidenceRentPriceMapper ultimateResidenceRentPriceMapper; + + @Override + public List<UltimateResidenceRentBasePrice> selectList(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice) { + return ultimateResidenceRentPriceMapper.selectListByRoute(ultimateResidenceRentBasePrice); + } + + @Override + public int selectCount(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice) { + return ultimateResidenceRentPriceMapper.selectCountByRoute(ultimateResidenceRentBasePrice); + } + + @Override + public UltimateResidenceRentBasePrice selectById(Integer id) { + return ultimateResidenceRentPriceMapper.selectByRoute(id); + } + + @Override + public int update(UltimateResidenceRentBasePrice ultimateResidenceRentBasePrice) { + return ultimateResidenceRentPriceMapper.updateByRoute(ultimateResidenceRentBasePrice); + } + + @Override + public String batchImport(List<UltimateResidenceRentBasePrice> ultimateResidenceRentBasePrices, String operName) { + return null; + } +} diff --git a/ruoyi/src/main/resources/application-druid.yml b/ruoyi/src/main/resources/application-druid.yml index 9d44d990e..1e36704bb 100644 --- a/ruoyi/src/main/resources/application-druid.yml +++ b/ruoyi/src/main/resources/application-druid.yml @@ -48,7 +48,7 @@ spring: # 主库数据源 master: driver-class-name: com.mysql.jdbc.Driver - url: jdbc:mysql://localhost:6060/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://172.16.30.243:6060/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: LOLm2dI2UQF#RxOf # 从库数据源 @@ -62,4 +62,9 @@ spring: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://172.16.30.233:1433;DatabaseName=obpm_LianCheng_Data username: sa + password: Lcdatacenter_888 + compute: + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver + url: jdbc:sqlserver://172.16.30.233:1433;DatabaseName=uv_compute + username: sa password: Lcdatacenter_888 \ No newline at end of file diff --git a/ruoyi/src/main/resources/application.yml b/ruoyi/src/main/resources/application.yml index 89ea4a60a..13346695f 100644 --- a/ruoyi/src/main/resources/application.yml +++ b/ruoyi/src/main/resources/application.yml @@ -1,128 +1,128 @@ -# 项目相关配置 -ruoyi: - # 名称 - name: RuoYi - # 版本 - version: 2.2.0 - # 版权年份 - copyrightYear: 2019 - # 实例演示开关 - demoEnabled: true - # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) - profile: D:/ruoyi/uploadPath - # 获取ip地址开关 - addressEnabled: false - -# 开发环境配置 -server: - # 服务器的HTTP端口,默认为8080 - port: 8080 - servlet: - # 应用的访问路径 - context-path: / - tomcat: - # tomcat的URI编码 - uri-encoding: UTF-8 - # tomcat最大线程数,默认为200 - max-threads: 800 - # Tomcat启动初始化的线程数,默认值25 - min-spare-threads: 30 - -# 日志配置 -logging: - level: - com.ruoyi: debug - org.springframework: warn - -# Spring配置 -spring: - # 资源信息 - messages: - # 国际化资源文件路径 - basename: i18n/messages - profiles: - active: druid - # 文件上传 - servlet: - multipart: - # 单个文件大小 - max-file-size: 10MB - # 设置总上传的文件大小 - max-request-size: 20MB - # 服务模块 - devtools: - restart: - # 热部署开关 - enabled: true - # redis 配置 - redis: - # 地址 - host: localhost - # 端口,默认为6379 - port: 6379 - # 密码 - password: - # 连接超时时间 - timeout: 10s - lettuce: - pool: - # 连接池中的最小空闲连接 - min-idle: 0 - # 连接池中的最大空闲连接 - max-idle: 8 - # 连接池的最大数据库连接数 - max-active: 8 - # #连接池最大阻塞等待时间(使用负值表示没有限制) - max-wait: -1ms - -# token配置 -token: - # 令牌自定义标识 - header: Authorization - # 令牌秘钥 - secret: abcdefghijklmnopqrstuvwxyz - # 令牌有效期(默认30分钟) - expireTime: 30 - -# MyBatis配置 -mybatis: - # 搜索指定包别名 - typeAliasesPackage: com.ruoyi.project.**.domain - # 配置mapper的扫描,找到所有的mapper.xml映射文件 - mapperLocations: classpath*:mybatis/**/*Mapper.xml - # 加载全局的配置文件 - configLocation: classpath:mybatis/mybatis-config.xml - -# PageHelper分页插件 -pagehelper: - helperDialect: mysql - reasonable: true - supportMethodsArguments: true - params: count=countSql - -# Swagger配置 -swagger: - # 是否开启swagger - enabled: true - # 请求前缀 - pathMapping: /dev-api - -# 防止XSS攻击 -xss: - # 过滤开关 - enabled: true - # 排除链接(多个用逗号分隔) - excludes: /system/notice/* - # 匹配链接 - urlPatterns: /system/*,/monitor/*,/tool/* - -# 代码生成 -gen: - # 作者 - author: ruoyi - # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool - packageName: com.ruoyi.project.system - # 自动去除表前缀,默认是true - autoRemovePre: false - # 表前缀(生成类名不会包含表前缀,多个用逗号分隔) +# 项目相关配置 +ruoyi: + # 名称 + name: RuoYi + # 版本 + version: 2.2.0 + # 版权年份 + copyrightYear: 2019 + # 实例演示开关 + demoEnabled: true + # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) + profile: D:/ruoyi/uploadPath + # 获取ip地址开关 + addressEnabled: false + +# 开发环境配置 +server: + # 服务器的HTTP端口,默认为8080 + port: 8080 + servlet: + # 应用的访问路径 + context-path: / + tomcat: + # tomcat的URI编码 + uri-encoding: UTF-8 + # tomcat最大线程数,默认为200 + max-threads: 800 + # Tomcat启动初始化的线程数,默认值25 + min-spare-threads: 30 + +# 日志配置 +logging: + level: + com.ruoyi: debug + org.springframework: warn + +# Spring配置 +spring: + # 资源信息 + messages: + # 国际化资源文件路径 + basename: i18n/messages + profiles: + active: druid + # 文件上传 + servlet: + multipart: + # 单个文件大小 + max-file-size: 10MB + # 设置总上传的文件大小 + max-request-size: 20MB + # 服务模块 + devtools: + restart: + # 热部署开关 + enabled: true + # redis 配置 + redis: + # 地址 + host: 172.16.30.243 + # 端口,默认为6379 + port: 6030 + # 密码 + password: + # 连接超时时间 + timeout: 10s + lettuce: + pool: + # 连接池中的最小空闲连接 + min-idle: 0 + # 连接池中的最大空闲连接 + max-idle: 8 + # 连接池的最大数据库连接数 + max-active: 8 + # #连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms + +# token配置 +token: + # 令牌自定义标识 + header: Authorization + # 令牌秘钥 + secret: abcdefghijklmnopqrstuvwxyz + # 令牌有效期(默认30分钟) + expireTime: 30 + +# MyBatis配置 +mybatis: + # 搜索指定包别名 + typeAliasesPackage: com.ruoyi.project.**.domain + # 配置mapper的扫描,找到所有的mapper.xml映射文件 + mapperLocations: classpath*:mybatis/**/*Mapper.xml + # 加载全局的配置文件 + configLocation: classpath:mybatis/mybatis-config.xml + +# PageHelper分页插件 +pagehelper: + helperDialect: mysql + reasonable: true + supportMethodsArguments: true + params: count=countSql + +# Swagger配置 +swagger: + # 是否开启swagger + enabled: true + # 请求前缀 + pathMapping: /dev-api + +# 防止XSS攻击 +xss: + # 过滤开关 + enabled: true + # 排除链接(多个用逗号分隔) + excludes: /system/notice/* + # 匹配链接 + urlPatterns: /system/*,/monitor/*,/tool/* + +# 代码生成 +gen: + # 作者 + author: ruoyi + # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool + packageName: com.ruoyi.project.system + # 自动去除表前缀,默认是true + autoRemovePre: false + # 表前缀(生成类名不会包含表前缀,多个用逗号分隔) tablePrefix: sys_ \ No newline at end of file diff --git a/ruoyi/src/main/resources/mybatis/data/ArtificialResidenceRentPriceMapper.xml b/ruoyi/src/main/resources/mybatis/data/ArtificialResidenceRentPriceMapper.xml new file mode 100644 index 000000000..b178b8a19 --- /dev/null +++ b/ruoyi/src/main/resources/mybatis/data/ArtificialResidenceRentPriceMapper.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.project.data.price.mapper.ArtificialResidenceRentPriceMapper"> + + <resultMap type="com.ruoyi.project.data.price.domain.ArtificialResidenceRentBasePrice" + id="MainMappingResult"> + <result property="id" column="id"/> + <result property="communityId" column="ProjectID"/> + <result property="mainRentCoefficient" column="MainCoff_Rent"/> + <result property="mainRentPrice" column="MainRentPrice"/> + <result property="rentPrice" column="RentPrice"/> + <result property="rentPrice_1" column="rentPrice_1"/> + <result property="voppat" column="voppat"/> + <result property="voppa" column="voppa"/> + </resultMap> + + <select id="selectArtificialResidenceRentBasePriceListCount" + parameterType="com.ruoyi.project.data.price.domain.ArtificialResidenceRentBasePrice" resultType="int"> + select count(1) from DWA_PROJECTBASEPRICE_RENT_IMDT_${yearMonth} + <where> + <if test="communityId != null"> + AND ProjectID = #{communityId} + </if> + </where> + </select> + <!-- 分页 --> + <select id="selectArtificialResidenceRentBasePriceList" + parameterType="com.ruoyi.project.data.price.domain.ArtificialResidenceRentBasePrice" + resultMap="MainMappingResult"> + <![CDATA[ SELECT ID,ProjectID,MainCoff_Rent,RentPrice,MainRentPrice,RentPrice_1,VOPPAT,VOPPA ]]> + FROM dbo.DWA_PROJECTBASEPRICE_RENT_MANU_${yearMonth} + order by ProjectID ASC OFFSET #{pageIndex} rows fetch next #{pageSize} rows only + </select> + +</mapper> \ No newline at end of file diff --git a/ruoyi/src/main/resources/mybatis/data/ComputeResidenceRentPriceMapper.xml b/ruoyi/src/main/resources/mybatis/data/ComputeResidenceRentPriceMapper.xml new file mode 100644 index 000000000..86968c015 --- /dev/null +++ b/ruoyi/src/main/resources/mybatis/data/ComputeResidenceRentPriceMapper.xml @@ -0,0 +1,165 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.project.data.price.mapper.ComputeResidenceRentPriceMapper"> + + <resultMap type="com.ruoyi.project.data.price.domain.ComputeResidenceRentBasePrice" + id="MainMappingResult"> + <result property="id" column="id"/> + <result property="communityId" column="ProjectID"/> + <result property="communityName" column="ProjectName"/> + <result property="communityAddress" column="ProjectAddr"/> + <result property="county" column="county"/> + <result property="block" column="block"/> + <result property="loop" column="loopLine"/> + <result property="isIndxGen" column="isIndxGen"/> + <result property="isPstCalc" column="isPstCalc"/> + <result property="statusRun" column="statusRun"/> + <result property="propertyType" column="propertyType"/> + <result property="projectType" column="projectType"/> + <result property="projectTypeDtl" column="projectTypeDtl"/> + <result property="projectLevel" column="projectLevel"/> + <result property="propertyDevPeriod" column="propertyDevPeriod"/> + <result property="bindClassID" column="bindClassID"/> + <result property="mainCoefficientRent" column="mainCoffRent"/> + <result property="rentPriceDft" column="rentPriceDft"/> + <result property="mainRentPriceDft" column="mainRentPriceDft"/> + <result property="rentPrice_1" column="rentPrice_1"/> + <result property="priceDealMean_1" column="priceDealMean_1"/> + <result property="priceDealMax_1" column="priceDealMax_1"/> + <result property="sumDeal_1" column="sumDeal_1"/> + <result property="priceDeal_1_ToAI_Pst" column="priceDeal_1_ToAI_Pst"/> + <result property="priceDealMean" column="priceDealMean"/> + <result property="priceDealMax" column="priceDealMax"/> + <result property="sumDeal" column="sumDeal"/> + <result property="priceDeal_ToAI_Pst" column="priceDeal_ToAI_Pst"/> + <result property="priceDeal_ToLst_Pst" column="priceDeal_ToLst_Pst"/> + <result property="priceCaseOff" column="priceCaseOff"/> + <result property="priceCaseOff_ToLst_Pst" column="priceCaseOff_ToLst_Pst"/> + <result property="priceListedMin" column="priceListedMin"/> + <result property="priceLstMn_ToAI_Pst" column="priceLstMn_ToAI_Pst"/> + <result property="priceCase1_ToAI_Pst" column="priceCase1_ToAI_Pst"/> + <result property="priceCase2_ToAI_Pst" column="priceCase2_ToAI_Pst"/> + <result property="priceCase1_ToLst_Pst" column="priceCase1_ToLst_Pst"/> + <result property="priceCase2_ToLst_Pst" column="priceCase2_ToLst_Pst"/> + <result property="priceCase1" column="priceCase1"/> + <result property="priceCase1AdjPst" column="priceCase1AdjPst"/> + <result property="sumCase1" column="sumCase1"/> + <result property="priceCase2" column="priceCase2"/> + <result property="priceCase2AdjPst" column="priceCase2AdjPst"/> + <result property="sumCase2" column="sumCase2"/> + <result property="voppbt" column="voppbt"/> + <result property="voppb" column="voppb"/> + <result property="bindProjID" column="bindProjID"/> + <result property="bind_Proj_Pst" column="bind_Proj_Pst"/> + <result property="bind_Block_Class" column="bind_Block_Class"/> + <result property="bind_Block_Class_Pst" column="bind_Block_Class_Pst"/> + <result property="bind_Block_Plevel" column="bind_Block_Plevel"/> + <result property="bind_Block_Plevel_Pst" column="bind_Block_Plevel_Pst"/> + <result property="bind_Block_PType" column="bind_Block_PType"/> + <result property="bind_Block_Ptype_Pst" column="bind_Block_Ptype_Pst"/> + <result property="bind_County_PType" column="bind_County_PType"/> + <result property="bind_County_Ptype_Pst" column="bind_County_Ptype_Pst"/> + <result property="bind_MixProject_PType" column="bind_MixProject_PType"/> + <result property="bind_MixProject_Pst" column="bind_MixProject_Pst"/> + <result property="voppat" column="voppat"/> + <result property="voppa" column="voppa"/> + </resultMap> + + <sql id="selectOfficeBasePriceUltimateVo"> + SELECT ID + ,ProjectID + ,ProjectName + ,ProjectAddr + ,County + ,Block + ,Loop + ,IsIndxGen + ,IsPstCalc + ,StatusRun + ,PropertyType + ,ProjectType + ,ProjectTypeDtl + ,ProjectLevel + ,PropertyDevPeriod + ,BindClassID + ,MainCoff_Rent + ,RentPriceDft + ,MainRentPriceDft + ,RentPrice_1 + ,PriceDealMean_1 + ,PriceDealMax_1 + ,SumDeal_1 + ,PriceDeal_1_ToAI_Pst + ,PriceDealMean + ,PriceDealMax + ,SumDeal + ,PriceDeal_ToAI_Pst + ,PriceDeal_ToLst_Pst + ,PriceCaseOff + ,PriceCaseOff_ToLst_Pst + ,PriceListedMin + ,PriceLstMn_ToAI_Pst + ,PriceCase1_ToAI_Pst + ,PriceCase2_ToAI_Pst + ,PriceCase1_ToLst_Pst + ,PriceCase2_ToLst_Pst + ,PriceCase1 + ,PriceCase1AdjPst + ,SumCase1 + ,PriceCase2 + ,PriceCase2AdjPst + ,SumCase2 + ,VOPPBT + ,VOPPB + ,BindProjID + ,Bind_Proj_Pst + ,Bind_Block_Class + ,Bind_Block_Class_Pst + ,Bind_Block_Plevel + ,Bind_Block_Plevel_Pst + ,Bind_Block_PType + ,Bind_Block_Ptype_Pst + ,Bind_County_PType + ,Bind_County_Ptype_Pst + ,Bind_MixProject_PType + ,Bind_MixProject_Pst + ,VOPPAT + ,VOPPA + FROM dbo.DWA_PROJECTBASEPRICE_RENT_IMDT_${yearMonth} + </sql> + + <select id="selectComputeResidenceRentBasePriceListCount" + parameterType="com.ruoyi.project.data.price.domain.ComputeResidenceRentBasePrice" resultType="int"> + select count(1) from DWA_PROJECTBASEPRICE_RENT_IMDT_${yearMonth} + <where> + <if test="communityId != null"> + AND ProjectID = #{communityId} + </if> + </where> + </select> + <!-- 分页 --> + <select id="selectComputeResidenceRentBasePriceList" + parameterType="com.ruoyi.project.data.price.domain.ComputeResidenceRentBasePrice" + resultMap="MainMappingResult"> + <![CDATA[ SELECT ID,ProjectID,ProjectName,ProjectAddr,County,Block,[Loop] as loopLine,IsIndxGen,IsPstCalc,StatusRun,PropertyType,ProjectType,ProjectTypeDtl,ProjectLevel,PropertyDevPeriod,BindClassID,MainCoff_Rent,RentPriceDft,MainRentPriceDft,RentPrice_1,PriceDealMean_1,PriceDealMax_1,SumDeal_1,PriceDeal_1_ToAI_Pst,PriceDealMean,PriceDealMax,SumDeal,PriceDeal_ToAI_Pst,PriceDeal_ToLst_Pst,PriceCaseOff,PriceCaseOff_ToLst_Pst,PriceListedMin,PriceLstMn_ToAI_Pst,PriceCase1_ToAI_Pst,PriceCase2_ToAI_Pst,PriceCase1_ToLst_Pst,PriceCase2_ToLst_Pst,PriceCase1,PriceCase1AdjPst,SumCase1,PriceCase2,PriceCase2AdjPst,SumCase2,VOPPBT,VOPPB,BindProjID,Bind_Proj_Pst,Bind_Block_Class,Bind_Block_Class_Pst,Bind_Block_Plevel,Bind_Block_Plevel_Pst,Bind_Block_PType,Bind_Block_Ptype_Pst,Bind_County_PType,Bind_County_Ptype_Pst,Bind_MixProject_PType,Bind_MixProject_Pst,VOPPAT,VOPPA ]]> + FROM dbo.DWA_PROJECTBASEPRICE_RENT_IMDT_${yearMonth} + order by ProjectID ASC OFFSET #{pageIndex} rows fetch next #{pageSize} rows only + </select> + + <!-- --> + <select id="selectComputeResidenceRentBasePriceById" parameterType="String" resultMap="MainMappingResult"> + <include refid="selectOfficeBasePriceUltimateVo"/> + where id = #{id} + </select> + + + <!-- <update id="updateComputeResidenceRentBasePrice" parameterType="com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice">--> + <!-- update TLK_计价办公核准基价 set ITEM_YEARMONTH=ITEM_YEARMONTH--> + <!-- <trim prefix="SET" suffixOverrides=",">--> + <!-- </trim>--> + <!-- where id = #{id}--> + <!-- </update>--> + +</mapper> \ No newline at end of file diff --git a/ruoyi/src/main/resources/mybatis/data/OfficeBasePriceUltimateMapper.xml b/ruoyi/src/main/resources/mybatis/data/UltimateOfficeBasePriceMapper.xml similarity index 80% rename from ruoyi/src/main/resources/mybatis/data/OfficeBasePriceUltimateMapper.xml rename to ruoyi/src/main/resources/mybatis/data/UltimateOfficeBasePriceMapper.xml index fb34bf0de..674faf03d 100644 --- a/ruoyi/src/main/resources/mybatis/data/OfficeBasePriceUltimateMapper.xml +++ b/ruoyi/src/main/resources/mybatis/data/UltimateOfficeBasePriceMapper.xml @@ -2,9 +2,9 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.ruoyi.project.data.price.compute.mapper.OfficeBasePriceUltimateMapper"> +<mapper namespace="com.ruoyi.project.data.price.mapper.UltimateOfficeBasePriceMapper"> - <resultMap type="com.ruoyi.project.data.price.compute.domain.OfficeBasePriceUltimate" + <resultMap type="com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice" id="OfficeBasePriceUltimateResult"> <result property="id" column="id"/> <result property="yearMonth" column="ITEM_YEARMONTH"/> @@ -26,7 +26,7 @@ select ITEM_YEARMONTH,ITEM_BUILDINGID,ITEM_UNIFIEDID,ITEM_PROJECTID,ITEM_BUILDINGID_P,ITEM_PROJECTID_P,ITEM_MAINPRICE,ITEM_MAINPRICERENT,ITEM_MAINPRICEPST,ITEM_MAINPRICERENTPST,ITEM_MAINPRICETYPE,ITEM_MAINPRICERENTTYPE,ITEM_MODIFYDATE,ITEM_STATUS,ITEM_BUILDINGSTD,ITEM_ADJEVD,ID from TLK_计价办公核准基价 </sql> - <select id="selectOfficeBasePriceUltimateListCount" parameterType="OfficeBasePriceUltimate" resultType="int"> + <select id="selectOfficeBasePriceUltimateListCount" parameterType="com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice" resultType="int"> select count(1) from TLK_计价办公核准基价 <where> <if test="yearMonth != null"> @@ -44,7 +44,7 @@ </where> </select> - <select id="selectOfficeBasePriceUltimateList" parameterType="OfficeBasePriceUltimate" + <select id="selectOfficeBasePriceUltimateList" parameterType="com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice" resultMap="OfficeBasePriceUltimateResult"> <include refid="selectOfficeBasePriceUltimateVo"/> <where> @@ -75,22 +75,11 @@ <!-- </trim>--> <!-- </insert>--> - <update id="updateOfficeBasePriceUltimate" parameterType="OfficeBasePriceUltimate"> + <update id="updateOfficeBasePriceUltimate" parameterType="com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice"> update TLK_计价办公核准基价 set ITEM_YEARMONTH=ITEM_YEARMONTH <trim prefix="SET" suffixOverrides=","> </trim> where id = #{id} </update> - <!-- <delete id="deleteOfficeBasePriceUltimateById" parameterType="Integer">--> - <!-- delete from office_base_price_ultimate where id = #{id}--> - <!-- </delete>--> - - <!-- <delete id="deleteOfficeBasePriceUltimateByIds" parameterType="String">--> - <!-- delete from office_base_price_ultimate where id in--> - <!-- <foreach item="id" collection="array" open="(" separator="," close=")">--> - <!-- #{id}--> - <!-- </foreach>--> - <!-- </delete>--> - </mapper> \ No newline at end of file diff --git a/ruoyi/src/main/resources/mybatis/data/UltimateResidenceRentBasePriceMapper.xml b/ruoyi/src/main/resources/mybatis/data/UltimateResidenceRentBasePriceMapper.xml new file mode 100644 index 000000000..bf5c5ae1e --- /dev/null +++ b/ruoyi/src/main/resources/mybatis/data/UltimateResidenceRentBasePriceMapper.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.project.data.price.mapper.UltimateResidenceRentPriceMapper"> + + <resultMap type="com.ruoyi.project.data.price.domain.UltimateResidenceRentBasePrice" + id="MappingResult"> + <result property="id" column="id"/> + <result property="communityId" column="projectID"/> + <result property="priceType" column="priceType"/> + <result property="basePrice_1" column="basePrice_1"/> + <result property="rentPrice" column="rentPrice"/> + <result property="sumCase1" column="sumCase1"/> + <result property="voppa" column="voppa"/> + <result property="voppat" column="voppat"/> + <result property="gf_1Room" column="gf_1Room"/> + <result property="gf_2Room" column="gf_2Room"/> + <result property="gy_2Room" column="gy_2Room"/> + <result property="gy_3Room" column="gy_3Room"/> + <result property="one_Room" column="one_Room"/> + <result property="two_Room" column="two_Room"/> + <result property="three_Room" column="three_Room"/> + <result property="entireRentRatio" column="entireRentRatio"/> + <result property="entireRentNum" column="entireRentNum"/> + <result property="shareRentRatio" column="shareRentRatio"/> + <result property="shareRentNum" column="shareRentNum"/> + <result property="saleRentRatio" column="saleRentRatio"/> + <result property="status" column="status"/> + <result property="adjEvd" column="adjEvd"/> + <result property="modifyDate" column="modifyDate"/> + </resultMap> + + <sql id="selectAllColumn"> + select + ID,ProjectID,PriceType,BasePrice_1,RentPrice,SumCase1,VOPPAT,VOPPA,GF_1Room,GF_2Room,GY_2Room,GY_3Room,One_Room,Two_Room,Three_Room,EntireRentRatio,EntireRentNum,ShareRentRatio,ShareRentNum,SaleRentRatio,ModifyDate,Status,AdjEvd + from ODS_PROJECT_RENT_PRICE_INFO_${yearMonth} + </sql> + + <select id="selectCountByRoute" parameterType="com.ruoyi.project.data.price.domain.UltimateResidenceRentBasePrice" resultType="int"> + select count(1) from ODS_PROJECT_RENT_PRICE_INFO_${yearMonth} + <where> + <if test="communityId != null"> + AND ProjectID = #{communityId} + </if> + <if test="status != null"> + AND Status = #{status} + </if> + </where> + </select> + + <select id="selectListByRoute" parameterType="com.ruoyi.project.data.price.domain.UltimateResidenceRentBasePrice" + resultMap="MappingResult"> + <include refid="selectAllColumn"/> + <where> + <if test="communityId != null"> + AND ProjectID = #{communityId} + </if> + <if test="status != null"> + AND Status = #{status} + </if> + </where> + order by ProjectID ASC, status DESC OFFSET #{pageIndex} rows fetch next #{pageSize} rows only; + </select> +</mapper> \ No newline at end of file diff --git a/ruoyi/src/test/java/com/uvaluation/compute/MapperXmlGeneratorTests.java b/ruoyi/src/test/java/com/uvaluation/compute/MapperXmlGeneratorTests.java new file mode 100644 index 000000000..67f6cb663 --- /dev/null +++ b/ruoyi/src/test/java/com/uvaluation/compute/MapperXmlGeneratorTests.java @@ -0,0 +1,32 @@ +package com.uvaluation.compute; + +import com.ruoyi.project.data.price.domain.ComputeResidenceRentBasePrice; +import com.ruoyi.project.data.price.domain.UltimateResidenceRentBasePrice; +import org.junit.Test; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class MapperXmlGeneratorTests { + + @Test + public void generateBatchInsertSqL() { + Class targetClass = UltimateResidenceRentBasePrice .class; + List<Field> fieldList = new ArrayList<>(); + fieldList.addAll(new ArrayList<>(Arrays.asList(targetClass.getDeclaredFields()))); +// while (targetClass != null) { +// fieldList.addAll(new ArrayList<>(Arrays.asList(targetClass.getDeclaredFields()))); +// targetClass = targetClass.getSuperclass(); +// } + Field[] fields = new Field[fieldList.size()]; + fieldList.toArray(fields); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < fields.length; i++) { + String name = fields[i].getName(); + sb.append("<result property=\""+name+"\" column=\""+name+"\"/>\r\n"); + } + System.out.println(sb.toString()); + } +}