From 364d3221b9a8e6dd3a19701d30c4dc4239ef8abf Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 07 二月 2025 11:48:49 +0800
Subject: [PATCH] Merge branch '2.0.1' of http://139.186.142.91:10010/r/productDev/funingyunwei into 2.0.1
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java | 21
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java | 6
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java | 16
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java | 38 +
server/visits/dmvisit_service/src/main/resources/application-dev.yml | 12
server/visits/dmvisit_service/src/main/resources/application-pro.yml | 13
h5/pages/inventory/detail.vue | 1024 ++++++++++++++++++++--------------------
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java | 21
h5/pages/workOrder/wait.vue | 6
h5/pages/login.vue | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java | 47 +
admin/src/views/stock/components/AssetSel.vue | 16
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java | 32
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelOutVO.java | 52 ++
admin/src/views/stock/components/config.js | 4
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MemberExcelVO.java | 45 +
server/visits/dmvisit_service/src/main/resources/application-test.yml | 12
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java | 1
admin/src/api/store/index.js | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java | 12
h5/pages/polling/empty.vue | 15
admin/src/views/stock/components/OutEdit.vue | 2
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelInVO.java | 50 ++
admin/src/views/stock/out.vue | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java | 1
server/system_gateway/src/main/resources/application.yml | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java | 25
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwStockController.java | 5
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java | 3
31 files changed, 913 insertions(+), 584 deletions(-)
diff --git a/admin/src/api/store/index.js b/admin/src/api/store/index.js
index ae84b86..03aac7a 100644
--- a/admin/src/api/store/index.js
+++ b/admin/src/api/store/index.js
@@ -7,7 +7,8 @@
}
export function ywOutinboundEx (data) {
return request.post('/visitsAdmin/cloudService/business/ywOutinbound/exportExcel', data, {
- trim: true
+ trim: true,
+ download: true
})
}
export function ywOutinboundDetail (id) {
diff --git a/admin/src/views/stock/components/AssetSel.vue b/admin/src/views/stock/components/AssetSel.vue
index d4bb919..f06fbda 100644
--- a/admin/src/views/stock/components/AssetSel.vue
+++ b/admin/src/views/stock/components/AssetSel.vue
@@ -21,14 +21,14 @@
</el-form>
<!-- -->
<el-table @selection-change="handleSelectionChange" :data="list" stripe>
- <el-table-column type="selection" width="55" />
+ <el-table-column type="selection" width="55" />
<el-table-column prop="code" label="鐗╂枡缂栫爜" min-width="100px"></el-table-column>
<el-table-column prop="name" label="鐗╂枡鍚嶇О" min-width="80px"></el-table-column>
<el-table-column prop="qrcode" label="鏉$爜" min-width="100px"></el-table-column>
<el-table-column prop="brand" label="鍝佺墝" min-width="80px"></el-table-column>
<el-table-column prop="attr" label="瑙勬牸鍨嬪彿" min-width="80px"></el-table-column>
<el-table-column prop="unitName" label="鍗曚綅" min-width="80px"></el-table-column>
- <el-table-column prop="maxStock" label="搴撳瓨" min-width="80px"></el-table-column>
+ <el-table-column v-if="isOut" prop="maxStock" label="搴撳瓨" min-width="80px"></el-table-column>
</el-table>
<Pagination class="mt10" @size-change="handleSizeChange" @current-change="getList" :pagination="pagination">
</Pagination>
@@ -82,19 +82,19 @@
getList(page) {
const { pagination, searchForm, isOut, warehouseId } = this
this.listLoading = true
- if(page){pagination.page = page}
- console.log('isOut', isOut);
-
+ if (page) { pagination.page = page }
+ console.log('isOut', isOut)
+
let fn = isOut ? ywStockPage : fetchList
fn({
capacity: pagination.pageSize,
page: pagination.page,
- model: {...searchForm,status: 0, warehouseId}
+ model: { ...searchForm, status: 0, warehouseId }
}).then((res) => {
this.listLoading = false
this.list = res.records
this.pagination.total = res.total || 0
- if(isOut){
+ if (isOut) {
this.list.forEach(item => {
item.brand = item.materialBrand
item.attr = item.materialAttr
@@ -123,7 +123,7 @@
if (e && e.length == 2) {
this.$set(this.searchForm, 'cateId', e[1])
this.$set(this.searchForm, 'parentCateId', '')
- }else if((e && e.length == 1)){
+ } else if ((e && e.length == 1)) {
this.$set(this.searchForm, 'parentCateId', e[0])
this.$set(this.searchForm, 'cateId', '')
} else {
diff --git a/admin/src/views/stock/components/OutEdit.vue b/admin/src/views/stock/components/OutEdit.vue
index 0bad33c..6b6f47b 100644
--- a/admin/src/views/stock/components/OutEdit.vue
+++ b/admin/src/views/stock/components/OutEdit.vue
@@ -82,7 +82,7 @@
rules,
storeList: [],
list: [],
- StoreTypeOps: StoreTypeOps.filter(i => i.type == 1),
+ StoreTypeOps: StoreTypeOps.filter(i => i.type == 1 && i.id != 10),
dataList: [],
}
diff --git a/admin/src/views/stock/components/config.js b/admin/src/views/stock/components/config.js
index 819a718..5254e88 100644
--- a/admin/src/views/stock/components/config.js
+++ b/admin/src/views/stock/components/config.js
@@ -4,13 +4,13 @@
{ name: '搴撳瓨璋冩暣', id: 2, type: 0 },
{ name: '鍏跺畠鍏ュ簱', id: 3, type: 0 },
{ name: '鐩樼泩鍏ュ簱', id: 4, type: 0 },
-
+
{ name: '棰嗙敤鍑哄簱', id: 5, type: 1 },
{ name: '浠撳簱鍑哄崟', id: 6, type: 1 },
{ name: '璋冩暣鍑哄簱', id: 7, type: 1 },
{ name: '閲囪喘鍑哄簱', id: 8, type: 1 },
{ name: '鍏跺畠鍑哄簱', id: 9, type: 1 },
- { name: '鐩樺嚭鍑哄簱', id: 10, type: 1 },
+ { name: '鐩樹簭鍑哄簱', id: 10, type: 1 },
]
export const rules = {
warehouseId: [{ required: true, message: '璇烽�夋嫨', trigger: 'blur' }],
diff --git a/admin/src/views/stock/out.vue b/admin/src/views/stock/out.vue
index f181d40..aee91e5 100644
--- a/admin/src/views/stock/out.vue
+++ b/admin/src/views/stock/out.vue
@@ -40,7 +40,7 @@
import dayjs from 'dayjs'
import duration from 'dayjs/plugin/duration'
dayjs.extend(duration)
-import { ywOutinboundPage } from '@/api'
+import { ywOutinboundPage, ywOutinboundEx } from '@/api'
import { fetchList as getStoreList } from '@/api/ywWarehouse'
import { StoreTypeOps, rules } from './components/config'
export default {
diff --git a/h5/pages/inventory/detail.vue b/h5/pages/inventory/detail.vue
index 29a92e6..268f979 100644
--- a/h5/pages/inventory/detail.vue
+++ b/h5/pages/inventory/detail.vue
@@ -32,7 +32,7 @@
<view class="line">瑙勬牸鍨嬪彿锛歿{ item.materialAttr }}</view>
<view class="line" v-if="item.status == 0">
<view class="">璐﹂潰鏁伴噺锛歿{ item.stock }}{{ item.materialUnitName }}</view>
- <view @click.stop="openEheck(item)" class="btn">鎵ц鐩樼偣</view>
+ <view v-if="info.status == 1" @click.stop="openEheck(item)" class="btn">鎵ц鐩樼偣</view>
</view>
<view class="static" v-if="item.status == 1">
<view class="ite">
@@ -81,13 +81,15 @@
<view class="line">
<view class="la">鐩樼偣鏁伴噺锛�</view>
<view class="val">
- <view class="wrap">
- <template v-if="!modalForm.handleType">
- <image v-if="!modalForm.actStock" src="@/static/side/btn_jian_grey@2x.png" mode=""></image>
- <image v-else @click="changeAct(-1)" src="@/static/side/btn_jian@3x.png" mode=""></image>
+ <view class="wrap">
+ <template v-if="!modalForm.handleType">
+ <image v-if="!modalForm.actStock" src="@/static/side/btn_jian_grey@2x.png" mode=""></image>
+ <image v-else @click="changeAct(-1)" src="@/static/side/btn_jian@3x.png" mode=""></image>
</template>
- <input :disabled="Boolean(modalForm.handleType && modalForm.handleType == 'detail')" type="digit" v-model="modalForm.actStock"></input>
- <image v-if="!modalForm.handleType" @click="changeAct(1)" src="@/static/side/btn_jia@3x.png" mode=""></image>
+ <input :disabled="Boolean(modalForm.handleType && modalForm.handleType == 'detail')" type="digit"
+ v-model="modalForm.actStock"></input>
+ <image v-if="!modalForm.handleType" @click="changeAct(1)" src="@/static/side/btn_jia@3x.png" mode="">
+ </image>
</view>
<view class="unit">{{ modalForm.materialUnitName }}</view>
</view>
@@ -95,8 +97,9 @@
</view>
<view class="remark">
<view class="la">澶囨敞锛�</view>
- <textarea v-model="modalForm.remark" :disabled="Boolean(modalForm.handleType && modalForm.handleType == 'detail')" placeholder="璇峰~鍐欏娉�" :maxlength="-1" placeholder-class="placeholder9"
- cols="30" rows="10"></textarea>
+ <textarea v-model="modalForm.remark"
+ :disabled="Boolean(modalForm.handleType && modalForm.handleType == 'detail')" placeholder="璇峰~鍐欏娉�"
+ :maxlength="-1" placeholder-class="placeholder9" cols="30" rows="10"></textarea>
</view>
<view v-if="!modalForm.handleType" class="btns">
<view class="btn" @click="showModal = false">鍙栨秷</view>
@@ -127,557 +130,574 @@
</template>
<script>
-import {
- ywStocktakingDetail,
- getYwStocktakingRecord,
- takingDataOpen,
- ywStocktaFinishById
-} from '@/api'
-import {
- Html5Qrcode
-} from 'html5-qrcode'
-export default {
- data() {
- return {
- param: {},
- info: {},
- id: '',
- activeTab: 0,
+ import {
+ ywStocktakingDetail,
+ getYwStocktakingRecord,
+ takingDataOpen,
+ ywStocktaFinishById
+ } from '@/api'
+ import {
+ Html5Qrcode
+ } from 'html5-qrcode'
+ export default {
+ data() {
+ return {
+ param: {},
+ info: {},
+ id: '',
+ activeTab: 0,
- list: [],
- page: 0,
- total: 0,
+ list: [],
+ page: 0,
+ total: 0,
- showModal: false,
- showTip: false,
- modalForm: {},
+ showModal: false,
+ showTip: false,
+ modalForm: {},
- html5Qrcode: null,
- isScaning: false,
+ html5Qrcode: null,
+ isScaning: false,
- }
- },
- onLoad(op) {
- this.id = op.id
- this.getDetail()
- this.getList()
- },
- methods: {
- itemClick(item) {
- if(item.status == 1){
- this.showItem(item)
- }
- },
- showItem(item){
- this.showModal = true
- this.modalForm = {
- ...item,
- handleType: this.info.status != 1 ? 'detail' : ''
- }
- console.log('modalForm', this.modalForm);
- },
- getDetail() {
- const {
- id
- } = this
- ywStocktakingDetail(id).then(res => {
- this.info = res.data
-
- })
- },
- handleQuery(str) {
- this.list = []
- this.page = 1
- this.getList(str)
- },
- getList(str) {
- const {
- page,
- activeTab,
- id,
- param
- } = this
- getYwStocktakingRecord({
- capacity: 20,
- page,
- model: {
- status: str || activeTab,
- stocktakingId: id,
- ...param
- }
- }).then(res => {
- this.list = [...this.list, ...res.data.records]
- this.total = res.data.total
- if (this.param.materialQrcode && this.list.length == 1) {
- this.openEheck(this.list[0])
- this.$set(this.param, 'materialQrcode', null)
- }
- })
- },
- scrolltolower() {
- const {
- total,
- list
- } = this
- if (list.length < total) {
- this.page = this.page + 1
- this.getList()
- } else {
- this.showToast('鏆傛棤鏇村鏁版嵁')
}
},
- openEheck(item) {
- this.modalForm = {
- ...item
- }
- this.showModal = true
- },
- onSubmit() {
- const {
- modalForm
- } = this
- if (!modalForm.actStock) return this.showToast('璇疯緭鍏ユ纭殑鐩樼偣鏁伴噺')
- takingDataOpen({
- ...modalForm
- }).then(res => {
- if (res.code == 200) {
- this.showToast('鎻愪氦鎴愬姛')
- this.handleQuery()
- this.getDetail()
- this.showModal = false
- }
- })
- },
- changeAct(val) {
- const actStock = this.modalForm.actStock || 0
- this.$set(this.modalForm, 'actStock', actStock + val)
- },
- tabsClick(val) {
- this.activeTab = val
- this.page = 0
- this.list = []
+ onLoad(op) {
+ this.id = op.id
+ this.getDetail()
this.getList()
},
- tipSub() {
- const { info } = this
- ywStocktaFinishById(info.id).then(res => {
- this.showTip = false
- uni.navigateBack()
- })
-
- },
- openQrcode() {
- this.isScaning = true
- Html5Qrcode.getCameras().then((devices) => {
- if (devices && devices.length) {
- this.html5Qrcode = new Html5Qrcode('reader')
- this.html5Qrcode.start({
- facingMode: 'environment'
- }, {
- focusMode: 'continuous', //璁剧疆杩炵画鑱氱劍妯″紡
- fps: 5, //璁剧疆鎵爜璇嗗埆閫熷害
- qrbox: 280 //璁剧疆浜岀淮鐮佹壂鎻忔澶у皬
- },
- (decodeText, decodeResult) => {
- if (decodeText) { //杩欓噷decodeText灏辨槸閫氳繃鎵弿浜岀淮鐮佸緱鍒扮殑鍐呭
- this.stopScan()
- this.$set(this.param, 'materialQrcode', decodeText)
- this.handleQuery('null')
- }
- },
- (err) => {
- // console.log(err); //閿欒淇℃伅
- }
- )
+ methods: {
+ itemClick(item) {
+ if (item.status == 1) {
+ this.showItem(item)
}
- })
- },
+ },
+ showItem(item) {
+ this.showModal = true
+ this.modalForm = {
+ ...item,
+ handleType: this.info.status != 1 ? 'detail' : ''
+ }
+ console.log('modalForm', this.modalForm);
+ },
+ getDetail() {
+ const {
+ id
+ } = this
+ ywStocktakingDetail(id).then(res => {
+ this.info = res.data
- stopScan() {
- console.log('鍋滄鎵爜')
- this.isScaning = false
- if (this.html5Qrcode) {
- this.html5Qrcode.stop()
+ })
+ },
+ handleQuery() {
+ this.list = []
+ this.page = 1
+ this.getList()
+ },
+ getList() {
+ const {
+ page,
+ activeTab,
+ id,
+ param
+ } = this
+ getYwStocktakingRecord({
+ capacity: 20,
+ page,
+ model: {
+ status: activeTab,
+ stocktakingId: id,
+ ...param
+ }
+ }).then(res => {
+ this.list = [...this.list, ...res.data.records || []]
+ this.total = res.data.total
+ if (this.param.materialQrcode && this.total == 1) {
+ this.openEheck(this.list[0])
+ this.param = {}
+ } else if (this.param.materialQrcode && this.total == 0) {
+ this.param = {}
+ uni.showModal({
+ content: '鏈尮閰嶅埌鐗╂枡锛岃閲嶆柊鎵爜',
+ showCancel: false,
+ success: (res) => {
+ if (res.confirm) {
+ this.getList()
+ }
+ }
+ });
+ }
+
+ })
+ },
+ scrolltolower() {
+ const {
+ total,
+ list
+ } = this
+ if (list.length < total) {
+ this.page = this.page + 1
+ this.getList()
+ } else {
+ this.showToast('鏆傛棤鏇村鏁版嵁')
+ }
+ },
+ openEheck(item) {
+ this.modalForm = {
+ ...item
+ }
+ this.showModal = true
+ },
+ onSubmit() {
+ const {
+ modalForm
+ } = this
+ if (!modalForm.actStock) return this.showToast('璇疯緭鍏ユ纭殑鐩樼偣鏁伴噺')
+ takingDataOpen({
+ ...modalForm
+ }).then(res => {
+ if (res.code == 200) {
+ this.showToast('鎻愪氦鎴愬姛')
+ this.handleQuery()
+ this.getDetail()
+ this.showModal = false
+ }
+ })
+ },
+ changeAct(val) {
+ const actStock = this.modalForm.actStock || 0
+ this.$set(this.modalForm, 'actStock', actStock + val)
+ },
+ tabsClick(val) {
+ this.activeTab = val
+ this.page = 0
+ this.list = []
+ this.getList()
+ },
+ tipSub() {
+ const {
+ info
+ } = this
+ ywStocktaFinishById(info.id).then(res => {
+ this.showTip = false
+ uni.navigateBack()
+ })
+
+ },
+ openQrcode() {
+ this.isScaning = true
+ Html5Qrcode.getCameras().then((devices) => {
+ if (devices && devices.length) {
+ this.html5Qrcode = new Html5Qrcode('reader')
+ this.html5Qrcode.start({
+ facingMode: 'environment'
+ }, {
+ focusMode: 'continuous', //璁剧疆杩炵画鑱氱劍妯″紡
+ fps: 5, //璁剧疆鎵爜璇嗗埆閫熷害
+ qrbox: 280 //璁剧疆浜岀淮鐮佹壂鎻忔澶у皬
+ },
+ (decodeText, decodeResult) => {
+ if (decodeText) { //杩欓噷decodeText灏辨槸閫氳繃鎵弿浜岀淮鐮佸緱鍒扮殑鍐呭
+ this.stopScan()
+ this.$set(this.param, 'materialQrcode', decodeText)
+ this.handleQuery()
+ }
+ },
+ (err) => {
+ // console.log(err); //閿欒淇℃伅
+ }
+ )
+ }
+ })
+ },
+
+ stopScan() {
+ console.log('鍋滄鎵爜')
+ this.isScaning = false
+ if (this.html5Qrcode) {
+ this.html5Qrcode.stop()
+ }
}
}
}
-}
</script>
<style lang="scss">
-.main_app {
- padding: 0 30rpx;
- overflow: hidden;
-}
+ .main_app {
+ padding: 0 30rpx;
+ overflow: hidden;
+ }
-.tabs {
- display: flex;
- width: 750rpx;
- margin: 12rpx -30rpx 20rpx;
- border-bottom: 1rpx solid #E5E5E5;
-
- .tab {
- font-size: 30rpx;
- color: #666666;
- flex: 1;
+ .tabs {
display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: flex-end;
- height: 72rpx;
+ width: 750rpx;
+ margin: 12rpx -30rpx 20rpx;
+ border-bottom: 1rpx solid #E5E5E5;
- .name {
+ .tab {
+ font-size: 30rpx;
+ color: #666666;
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: flex-end;
+ height: 72rpx;
+
+ .name {
+ display: flex;
+ align-items: center;
+ }
+
+ .border {
+ width: 54rpx;
+ height: 6rpx;
+ background-color: #fff;
+ border-radius: 3rpx;
+ margin-top: 12rpx;
+ }
+ }
+
+ .active {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+
+ .border {
+ background-color: $primaryColor;
+ }
+
+ }
+
+ }
+
+ .head_wrap {
+ display: flex;
+ align-items: center;
+ margin-bottom: 36rpx;
+
+ .search_wrap {
display: flex;
align-items: center;
+ width: 100%;
+ height: 76rpx;
+ background: #F7F7F7;
+ border-radius: 38rpx;
+ padding-left: 30rpx;
+
+ input {
+ flex: 1;
+ }
+
+ .search {
+ width: 28rpx;
+ height: 28rpx;
+ }
}
- .border {
- width: 54rpx;
- height: 6rpx;
+ }
+
+ .scroll_Y {
+ height: calc(100vh - 350rpx);
+ }
+
+ .list {
+
+ .item {
+ border-bottom: 1rpx solid #E5E5E5;
+ padding-bottom: 24rpx;
+ margin-bottom: 16rpx;
+
+ .title {
+ font-weight: 600;
+ font-size: 34rpx;
+ color: #222222;
+ margin-bottom: 10rpx;
+ flex: 1;
+ }
+
+ .head {
+ display: flex;
+ // align-items: center;
+ justify-content: space-between;
+ color: #666666;
+
+ .status {
+ width: 76rpx;
+ text-align: right;
+ padding-top: 3rpx;
+ }
+ }
+
+ .line {
+ height: 60rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ color: #666666;
+
+ .btn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 60rpx;
+ padding: 0 20rpx;
+ background: #0068FF;
+ box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 104, 255, 0.3);
+ border-radius: 30rpx;
+ font-size: 26rpx;
+ color: #FFFFFF;
+ }
+ }
+
+ .static {
+ display: flex;
+ height: 84rpx;
+ background: #F7F7F7;
+ font-size: 30rpx;
+ margin-top: 12rpx;
+ padding: 16rpx 0;
+
+ .spi {
+ border: 1rpx solid #E5E5E5;
+ }
+
+ .ite {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .val {
+ font-weight: 500;
+ }
+ }
+ }
+ }
+ }
+
+ .footer_btn {
+ padding: 20rpx 40rpx 0;
+ border-top: 1px solid #e5e5e5;
+ width: 750rpx;
+ margin: 0 -30rpx;
+
+ .sweep {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ font-weight: 500;
+ width: 670rpx;
+ height: 88rpx;
+ background: #0068FF;
+ box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0, 104, 255, 0.3);
+ border-radius: 44rpx;
+ color: #FFFFFF;
+ }
+
+ .sub_result {
background-color: #fff;
- border-radius: 3rpx;
- margin-top: 12rpx;
+ color: #FF0000;
+ border: 1rpx solid #FF0000;
+ box-shadow: none
+ }
+
+ image {
+ width: 32rpx;
+ height: 32rpx;
+ margin-right: 6rpx;
}
}
- .active {
- font-weight: 600;
- font-size: 32rpx;
- color: #222222;
+ .modal_wrap {
+ padding: 36rpx 30rpx;
- .border {
- background-color: $primaryColor;
+ .modal_title {
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #222222;
+ margin-bottom: 40rpx;
+ text-align: center;
}
-
- }
-
-}
-
-.head_wrap {
- display: flex;
- align-items: center;
- margin-bottom: 36rpx;
-
- .search_wrap {
- display: flex;
- align-items: center;
- width: 100%;
- height: 76rpx;
- background: #F7F7F7;
- border-radius: 38rpx;
- padding-left: 30rpx;
-
- input {
- flex: 1;
- }
-
- .search {
- width: 28rpx;
- height: 28rpx;
- }
- }
-
-}
-
-.scroll_Y {
- height: calc(100vh - 350rpx);
-}
-
-.list {
-
- .item {
- border-bottom: 1rpx solid #E5E5E5;
- padding-bottom: 24rpx;
- margin-bottom: 16rpx;
.title {
font-weight: 600;
font-size: 34rpx;
color: #222222;
- margin-bottom: 10rpx;
- flex: 1;
}
- .head{
- display: flex;
- // align-items: center;
- justify-content: space-between;
- color: #666666;
- .status{
- width: 76rpx;
- text-align: right;
- padding-top: 3rpx;
- }
- }
- .line {
- height: 60rpx;
+
+ .item {
+ font-size: 28rpx;
+ color: #666666;
+ height: 56rpx;
display: flex;
align-items: center;
- justify-content: space-between;
- color: #666666;
-
- .btn {
- display: flex;
- align-items: center;
- justify-content: center;
- height: 60rpx;
- padding: 0 20rpx;
- background: #0068FF;
- box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 104, 255, 0.3);
- border-radius: 30rpx;
- font-size: 26rpx;
- color: #FFFFFF;
- }
}
- .static {
- display: flex;
- height: 84rpx;
- background: #F7F7F7;
- font-size: 30rpx;
- margin-top: 12rpx;
- padding: 16rpx 0;
+ .content {
+ border-top: 1rpx solid #E5E5E5;
+ margin-top: 16rpx;
- .spi {
- border: 1rpx solid #E5E5E5;
- }
-
- .ite {
- flex: 1;
+ .line {
+ height: 84rpx;
display: flex;
align-items: center;
- justify-content: center;
+ justify-content: space-between;
+
+ .la {
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #222222;
+ }
.val {
- font-weight: 500;
- }
- }
- }
- }
-}
-
-.footer_btn {
- padding: 20rpx 40rpx 0;
- border-top: 1px solid #e5e5e5;
- width: 750rpx;
- margin: 0 -30rpx;
-
- .sweep {
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 32rpx;
- font-weight: 500;
- width: 670rpx;
- height: 88rpx;
- background: #0068FF;
- box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0, 104, 255, 0.3);
- border-radius: 44rpx;
- color: #FFFFFF;
- }
-
- .sub_result {
- background-color: #fff;
- color: #FF0000;
- border: 1rpx solid #FF0000;
- box-shadow: none
- }
-
- image {
- width: 32rpx;
- height: 32rpx;
- margin-right: 6rpx;
- }
-}
-
-.modal_wrap {
- padding: 36rpx 30rpx;
-
- .modal_title {
- font-weight: 500;
- font-size: 32rpx;
- color: #222222;
- margin-bottom: 40rpx;
- text-align: center;
- }
-
- .title {
- font-weight: 600;
- font-size: 34rpx;
- color: #222222;
- }
-
- .item {
- font-size: 28rpx;
- color: #666666;
- height: 56rpx;
- display: flex;
- align-items: center;
- }
-
- .content {
- border-top: 1rpx solid #E5E5E5;
- margin-top: 16rpx;
-
- .line {
- height: 84rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
-
- .la {
- font-weight: 500;
- font-size: 32rpx;
- color: #222222;
- }
-
- .val {
- display: flex;
- justify-content: flex-end;
- align-items: center;
- flex: 1;
-
- .wrap {
display: flex;
+ justify-content: flex-end;
align-items: center;
+ flex: 1;
- input {
- width: 120rpx;
- height: 72rpx;
- border-radius: 8rpx;
- border: 2rpx solid #0068FF;
- margin: 0 16rpx;
- padding: 0 10rpx;
- text-align: center;
+ .wrap {
+ display: flex;
+ align-items: center;
+
+ input {
+ width: 120rpx;
+ height: 72rpx;
+ border-radius: 8rpx;
+ border: 2rpx solid #0068FF;
+ margin: 0 16rpx;
+ padding: 0 10rpx;
+ text-align: center;
+ }
+ }
+
+ .unit {
+ font-size: 30rpx;
+ color: #666666;
+ margin-left: 20rpx;
}
}
- .unit {
- font-size: 30rpx;
- color: #666666;
- margin-left: 20rpx;
+ image {
+ width: 72rpx;
+ height: 72rpx;
+ }
+ }
+ }
+
+ .remark {
+ margin-top: 16rpx;
+
+ .la {
+ font-size: 30rpx;
+ color: #222222;
+ margin-bottom: 16rpx;
+ }
+
+ textarea {
+ width: 690rpx;
+ height: 240rpx;
+ background: #F7F7F7;
+ border-radius: 12rpx;
+ padding: 10rpx 20rpx;
+ }
+ }
+
+ .btns {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-top: 80rpx;
+
+ .btn {
+ width: 336rpx;
+ height: 88rpx;
+ border-radius: 44rpx;
+ border: 2rpx solid $primaryColor;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: $primaryColor;
+ }
+
+ .sub {
+ background-color: $primaryColor;
+ color: #fff;
+ }
+ }
+ }
+
+
+ .modal_t {
+ width: 520rpx;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+
+ .h1 {
+ height: 86rpx;
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #333333;
+ display: flex;
+ align-items: flex-end;
+ justify-content: center;
+ }
+
+ .content {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding: 30rpx 0;
+ }
+
+ .btns {
+ height: 102rpx;
+ display: flex;
+ align-items: center;
+ border-top: 1rpx solid #E5E5E5;
+
+ .btn {
+ height: 102rpx;
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-right: 1rpx solid #E5E5E5;
+ font-weight: 400;
+ font-size: 32rpx;
+ color: #999999;
+
+ &:nth-last-child(1) {
+ border-right: none;
}
}
- image {
- width: 72rpx;
- height: 72rpx;
+ .sub {
+ color: $primaryColor;
}
}
}
- .remark {
- margin-top: 16rpx;
-
- .la {
- font-size: 30rpx;
- color: #222222;
- margin-bottom: 16rpx;
- }
-
- textarea {
- width: 690rpx;
- height: 240rpx;
- background: #F7F7F7;
- border-radius: 12rpx;
- padding: 10rpx 20rpx;
- }
+ .reader-box {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background-color: rgba(0, 0, 0, 0.5);
}
- .btns {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-top: 80rpx;
-
- .btn {
- width: 336rpx;
- height: 88rpx;
- border-radius: 44rpx;
- border: 2rpx solid $primaryColor;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 32rpx;
- color: $primaryColor;
- }
-
- .sub {
- background-color: $primaryColor;
- color: #fff;
- }
+ .reader {
+ width: 100%;
+ // width: 540rpx;
+ // height: 540rpx;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
}
-}
-
-
-.modal_t {
- width: 520rpx;
- text-align: center;
- display: flex;
- flex-direction: column;
-
- .h1 {
- height: 86rpx;
- font-weight: 500;
- font-size: 32rpx;
- color: #333333;
- display: flex;
- align-items: flex-end;
- justify-content: center;
- }
-
- .content {
- flex: 1;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- padding: 30rpx 0;
- }
-
- .btns {
- height: 102rpx;
- display: flex;
- align-items: center;
- border-top: 1rpx solid #E5E5E5;
-
- .btn {
- height: 102rpx;
- flex: 1;
- display: flex;
- align-items: center;
- justify-content: center;
- border-right: 1rpx solid #E5E5E5;
- font-weight: 400;
- font-size: 32rpx;
- color: #999999;
-
- &:nth-last-child(1) {
- border-right: none;
- }
- }
-
- .sub {
- color: $primaryColor;
- }
- }
-}
-
-.reader-box {
- position: fixed;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- background-color: rgba(0, 0, 0, 0.5);
-}
-
-.reader {
- width: 100%;
- // width: 540rpx;
- // height: 540rpx;
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
-}
</style>
\ No newline at end of file
diff --git a/h5/pages/login.vue b/h5/pages/login.vue
index 2a7e31a..134d69c 100644
--- a/h5/pages/login.vue
+++ b/h5/pages/login.vue
@@ -101,7 +101,7 @@
})
} else {
uni.redirectTo({
- url: "/pages/polling/empty"
+ url: "/pages/polling/empty?message=" + res.message
})
}
})
@@ -164,7 +164,7 @@
})
} else {
uni.redirectTo({
- url: "/pages/polling/empty"
+ url: "/pages/polling/empty?message=" + res.message
})
}
})
diff --git a/h5/pages/polling/empty.vue b/h5/pages/polling/empty.vue
index 00181a5..9b78f4f 100644
--- a/h5/pages/polling/empty.vue
+++ b/h5/pages/polling/empty.vue
@@ -1,6 +1,7 @@
<template>
<view class="main_app">
<image class="logo" src="@/static/side/default_empty@2x.png" mode=""></image>
+ <view class="message">{{message}}</view>
<view class="btn" @click="backHome">杩斿洖涓婚〉</view>
</view>
</template>
@@ -9,8 +10,11 @@
export default {
data() {
return {
-
- };
+ message: ''
+ };
+ },
+ onLoad(op) {
+ this.message = op.message || ''
},
methods: {
backHome(){
@@ -29,6 +33,13 @@
height: 228rpx;
margin: 60% auto 0;
}
+ .message{
+ font-weight: 500;
+ font-size: 30rpx;
+ color: #222222;
+ margin-top: 20rpx;
+ text-align: center;
+ }
.btn{
position: fixed;
bottom: 64rpx;
diff --git a/h5/pages/workOrder/wait.vue b/h5/pages/workOrder/wait.vue
index d3fd3e1..6d0ee7c 100644
--- a/h5/pages/workOrder/wait.vue
+++ b/h5/pages/workOrder/wait.vue
@@ -28,7 +28,7 @@
<view v-if="item.status == 0 && item.param3 == 0 && (item.type == 0 || item.type == 1)" class="status">鏈紑濮�
</view>
<view v-if="item.status == 0 && item.param3 == 1 && (item.type == 0 || item.type == 1)"
- class="status green">杩涜涓�</view>
+ class="status green">{{ item.type == 0 ? '鐩樼偣涓�' : '杩涜涓�' }}</view>
<view v-if="item.status == 1 && item.type == 2" class="status gray">宸插鐞�</view>
<view v-if="item.status == 1 && (item.type == 0 || item.type == 1)" class="status gray">宸插畬鎴�</view>
</view>
@@ -37,7 +37,7 @@
<view class="text">鎵ц鏃堕棿锛歿{item.obj.key3}}</view>
<view class="text">
<view class="">宸℃璐熻矗浜猴細{{item.obj.key4}}</view>
- <view class="btn" @click.stop="openSc(item)">
+ <view v-if="queryStatus == 0" class="btn" @click.stop="openSc(item)">
<image src="@/static/side/ic_saoma@2x.png" mode=""></image>
<view v-if="item.status == 0" class="">鎵爜宸℃</view>
</view>
@@ -249,7 +249,7 @@
.tabs {
display: flex;
width: 750rpx;
- margin: 12rpx 0rpx 0;
+ margin: 0rpx 0rpx 0;
border-bottom: 1rpx solid #E5E5E5;
background-color: #fff;
diff --git a/server/system_gateway/src/main/resources/application.yml b/server/system_gateway/src/main/resources/application.yml
index 6503fa3..8994b05 100644
--- a/server/system_gateway/src/main/resources/application.yml
+++ b/server/system_gateway/src/main/resources/application.yml
@@ -1,6 +1,6 @@
# 椤圭洰淇℃伅閰嶇疆
project:
- name: 瀹夋嘲鐗╂祦璁垮绯荤粺
+ name: 闃滃畞鍦洪杩愮淮
version: 1.0.0
env: development
# env: production
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
index e5f73cb..6386c16 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
@@ -20,6 +20,7 @@
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.MemberCard;
import com.doumee.dao.business.model.MemberRole;
+import com.doumee.dao.business.vo.MemberExcelVO;
import com.doumee.dao.system.dto.UpdatePwdDto;
import com.doumee.service.business.MemberService;
import com.doumee.service.business.ext.ERPSyncService;
@@ -27,6 +28,7 @@
import com.doumee.service.business.impl.hksync.fhk.HkSyncOrgUserFromSelfServiceImpl;
import io.swagger.annotations.*;
import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -412,4 +414,18 @@
return ApiResponse.success(memberService.ywFindPage(pageWrap));
}
+
+ @ApiOperation("闃滃畞 - 瀵煎嚭Excel")
+ @PostMapping("/ywExportExcel")
+ @CloudRequiredPermission("business:member:exportExcel")
+ public void ywExportExcel (@RequestBody PageWrap<Member> pageWrap, HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ List<Member> memberList = memberService.ywFindPage(pageWrap).getRecords();
+ List<MemberExcelVO> memberExcelVOList = new ArrayList<MemberExcelVO>();
+ for (Member member:memberList) {
+ MemberExcelVO memberExcelVO = new MemberExcelVO();
+ BeanUtils.copyProperties(member,memberExcelVO);
+ memberExcelVOList.add(memberExcelVO);
+ }
+ ExcelExporter.build(MemberExcelVO.class).export(memberExcelVOList, "浜哄憳淇℃伅琛�", response);
+ }
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java
index 23eccac..11c08ca 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java
@@ -49,11 +49,30 @@
@LoginNoRequired
@PreventRepeat
- @ApiOperation("鑷畾涔夌煭淇″唴瀹�")
- @PostMapping("/testSendSms")
- public ApiResponse testSendSms(@RequestBody SmsEmail smsEmail) {
+ @ApiOperation("鑷畾涔夌煭淇″唴瀹筯k")
+ @PostMapping("/testSendSmsHk")
+ public ApiResponse testSendSmsHk(@RequestBody SmsEmail smsEmail) {
emayService.sendSmsByHk(smsEmail.getPhone(),smsEmail.getContent());
return ApiResponse.success("鎿嶄綔鎴愬姛");
}
+
+
+ @LoginNoRequired
+ @PreventRepeat
+ @ApiOperation("鑷畾涔夌煭淇″唴瀹�")
+ @PostMapping("/testSendSms")
+ public ApiResponse testSendSms(@RequestBody SmsEmail smsEmail) {
+ smsEmailService.sendBillSms(smsEmail.getContent(),smsEmail.getPhone(),null);
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+ @LoginNoRequired
+ @PreventRepeat
+ @ApiOperation("鑷畾涔夐偖浠跺唴瀹�")
+ @PostMapping("/testSendEmail")
+ public ApiResponse testSendEmail(@RequestBody SmsEmail smsEmail) {
+ smsEmailService.sendEmail(smsEmail.getEmail(),smsEmail.getContent(),null);
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java
index 07544f7..9ac8faf 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java
@@ -1,5 +1,6 @@
package com.doumee.cloud.admin;
+import cn.emay.sdk.util.StringUtil;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
import com.doumee.core.annotation.excel.ExcelExporter;
@@ -9,10 +10,13 @@
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.YwOutinbound;
+import com.doumee.dao.business.model.YwOutinboundRecord;
+import com.doumee.dao.business.vo.YwOutinboundExcelInVO;
+import com.doumee.dao.business.vo.YwOutinboundExcelOutVO;
import com.doumee.service.business.YwOutinboundService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -82,7 +86,37 @@
@PostMapping("/exportExcel")
@CloudRequiredPermission("business:ywoutinbound:exportExcel")
public void exportExcel (@RequestBody PageWrap<YwOutinbound> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
- ExcelExporter.build(YwOutinbound.class).export(ywOutinboundService.findPage(pageWrap).getRecords(), "杩愮淮鍑哄叆搴撲俊鎭〃", response);
+ List<YwOutinbound> ywOutinboundList = ywOutinboundService.findPage(pageWrap).getRecords();
+ Integer inOut = pageWrap.getModel().getInOut();
+ if(Constants.equalsInteger(inOut,Constants.ZERO)){
+ List<YwOutinboundExcelInVO> inList = new ArrayList<>();
+ for (YwOutinbound ywOutinbound:ywOutinboundList) {
+ YwOutinboundExcelInVO inVO = new YwOutinboundExcelInVO();
+ BeanUtils.copyProperties(ywOutinbound,inVO);
+ List<YwOutinboundRecord> ywOutinboundRecordList = ywOutinbound.getRecordList();
+ StringBuffer stringBuffer = new StringBuffer();
+ for (YwOutinboundRecord ywOutinboundRecord:ywOutinboundRecordList) {
+ stringBuffer.append(ywOutinboundRecord.getMaterialName()+"["+ywOutinboundRecord.getMaterialCode()+"]*"+ywOutinboundRecord.getStock()+ywOutinboundRecord.getMaterialUnitName()+";");
+ }
+ inVO.setOutMaterialNum(stringBuffer.toString());
+ inList.add(inVO);
+ }
+ ExcelExporter.build(YwOutinboundExcelInVO.class).export(inList, "鍏ュ簱淇℃伅琛�", response);
+ }else{
+ List<YwOutinboundExcelOutVO> outList = new ArrayList<>();
+ for (YwOutinbound ywOutinbound:ywOutinboundList) {
+ YwOutinboundExcelOutVO ywOutinboundExcelOutVO = new YwOutinboundExcelOutVO();
+ BeanUtils.copyProperties(ywOutinbound,ywOutinboundExcelOutVO);
+ List<YwOutinboundRecord> ywOutinboundRecordList = ywOutinbound.getRecordList();
+ StringBuffer stringBuffer = new StringBuffer();
+ for (YwOutinboundRecord ywOutinboundRecord:ywOutinboundRecordList) {
+ stringBuffer.append(ywOutinboundRecord.getMaterialName()+"["+ywOutinboundRecord.getMaterialCode()+"]*"+ywOutinboundRecord.getStock()+ywOutinboundRecord.getMaterialUnitName()+";");
+ }
+ ywOutinboundExcelOutVO.setOutMaterialNum(stringBuffer.toString());
+ outList.add(ywOutinboundExcelOutVO);
+ }
+ ExcelExporter.build(YwOutinboundExcelOutVO.class).export(outList, "鍑哄簱淇℃伅琛�", response);
+ }
}
@ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwStockController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwStockController.java
index bfe3148..7676246 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwStockController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwStockController.java
@@ -8,7 +8,9 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.YwPatrolTask;
import com.doumee.dao.business.model.YwStock;
+import com.doumee.dao.business.model.YwWorkorder;
import com.doumee.service.business.YwStockService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -80,9 +82,10 @@
@PostMapping("/exportExcel")
@CloudRequiredPermission("business:ywstock:exportExcel")
public void exportExcel (@RequestBody PageWrap<YwStock> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
- ExcelExporter.build(YwStock.class).export(ywStockService.findPage(pageWrap).getRecords(), "杩愮淮搴撳瓨淇℃伅琛�", response);
+ ExcelExporter.build(YwStock.class).export(ywStockService.findPage(pageWrap).getRecords(), "搴撳瓨淇℃伅琛╛"+System.currentTimeMillis(), response);
}
+
@ApiOperation("鏍规嵁ID鏌ヨ")
@GetMapping("/{id}")
@CloudRequiredPermission("business:ywstock:query")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index 399570e..4e1b250 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -222,7 +222,6 @@
private String email;
-
@ApiModelProperty(value = "鏈�鍚庢搷浣滀汉")
@TableField(exist = false)
private String editorName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java
index 1ab32e6..7438d92 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java
@@ -32,7 +32,7 @@
private Integer creator;
@ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @ExcelColumn(name="鍒涘缓鏃堕棿",index = 5, dateFormat = "yyyy-MM-dd HH:mm:ss")
+ @ExcelColumn(name="鍒涘缓鏃堕棿",index = 5, dateFormat = "yyyy-MM-dd HH:mm:ss",width = 16)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createDate;
@@ -50,7 +50,7 @@
private String remark;
@ApiModelProperty(value = "鐘舵�� 0姝e父 1鎹熷潖 2鎶ュ簾", example = "1")
- @ExcelColumn(name="璁惧鐘舵��",index = 3, valueMapping = "0=姝e父;1=鎹熷潖;2=鎶ュ簾;")
+ @ExcelColumn(name="璁惧鐘舵��",index = 3, valueMapping = "0=姝e父;1=鎹熷潖;2=鎶ュ簾;",width = 10)
private Integer status;
@ApiModelProperty(value = "璁惧鍨嬪彿", example = "1")
@@ -67,7 +67,7 @@
private Date company;
@ApiModelProperty(value = "鎯呭喌璇存槑")
- @ExcelColumn(name="杩愮淮澶囨敞",index = 4)
+ @ExcelColumn(name="杩愮淮澶囨敞",index = 4,width = 30)
private String content;
@ApiModelProperty(value = "杩愮淮鏃堕棿")
@@ -75,17 +75,17 @@
private Date dealDate;
@ApiModelProperty(value = "璁惧鍚嶇О")
- @ExcelColumn(name="璁惧鍚嶇О",index = 2)
+ @ExcelColumn(name="璁惧鍚嶇О",index = 2,width = 20)
@TableField(exist = false)
private String deviceName;
@ApiModelProperty(value = "璁惧缂栧彿")
- @ExcelColumn(name="璁惧缂栧彿",index = 1)
+ @ExcelColumn(name="璁惧缂栧彿",index = 1,width = 10)
@TableField(exist = false)
private String deviceCode;
@ApiModelProperty(value = "杩愮淮浜哄悕绉�")
- @ExcelColumn(name="杩愮淮浜�",index = 0)
+ @ExcelColumn(name="杩愮淮浜�",index = 0,width = 10)
@TableField(exist = false)
private String realName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
index ef8a041..379c7ff 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
@@ -75,15 +75,15 @@
@ApiModelProperty(value = "澶勭悊鏃堕棿")
@ExcelColumn(name="澶勭悊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dealDate;
@ApiModelProperty(value = "鏄惁宸℃ 0=寰呭紑濮嬶紱1=宸插贰妫�锛�", example = "1")
@ExcelColumn(name="鏄惁宸℃ 0=寰呭紑濮嬶紱1=宸插贰妫�")
private Integer status;
- @ApiModelProperty(value = "宸℃缁撴灉 0=姝e父锛�1=寮傚父", example = "1")
- @ExcelColumn(name="宸℃缁撴灉 0=姝e父锛�1=寮傚父")
+ @ApiModelProperty(value = "宸℃缁撴灉 0=姝e父锛�1=寮傚父;2=璺宠繃锛�", example = "1")
+ @ExcelColumn(name="宸℃缁撴灉 0=姝e父锛�1=寮傚父锛�2=璺宠繃锛�")
private Integer dealStatus;
@ApiModelProperty(value = "澶勭悊澶囨敞")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java
index dc2ec33..16a6200 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -20,65 +21,60 @@
@Data
@ApiModel("杩愮淮搴撳瓨淇℃伅琛�")
@TableName("`yw_stock`")
-public class YwStock {
+public class YwStock extends LoginUserModel {
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "涓婚敭", example = "1")
- @ExcelColumn(name="涓婚敭")
private Integer id;
@ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
private Integer creator;
@ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @ExcelColumn(name="鍒涘缓鏃堕棿")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createDate;
@ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鏇存柊浜虹紪鐮�")
private Integer editor;
@ApiModelProperty(value = "鏇存柊鏃堕棿")
- @ExcelColumn(name="鏇存柊鏃堕棿")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date editDate;
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
- @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
private Integer isdeleted;
@ApiModelProperty(value = "澶囨敞")
- @ExcelColumn(name="澶囨敞")
private String remark;
@ApiModelProperty(value = "浠撳簱缂栫爜(鍏宠仈yw_warehouse)")
- @ExcelColumn(name="浠撳簱缂栫爜(鍏宠仈yw_warehouse)")
private Integer warehouseId;
@ApiModelProperty(value = "鐗╄祫缂栫爜锛堝叧鑱攜w_material)", example = "1")
- @ExcelColumn(name="鐗╄祫缂栫爜锛堝叧鑱攜w_material)")
private Integer materialId;
@ApiModelProperty(value = "鏁伴噺", example = "1")
- @ExcelColumn(name="鏁伴噺")
+ @ExcelColumn(name="鏁伴噺",index = 6,width = 10)
private BigDecimal stock;
- @ApiModelProperty(value = "璧勪骇缂栫爜")
+ @ApiModelProperty(value = "鐗╂枡缂栫爜")
+ @ExcelColumn(name="鐗╂枡缂栫爜",index = 0,width = 10)
@TableField(exist = false)
private String materialCode;
- @ApiModelProperty(value = "璧勪骇鍚嶇О")
+ @ApiModelProperty(value = "鐗╂枡鍚嶇О")
+ @ExcelColumn(name="鐗╂枡鍚嶇О",index = 1,width = 10)
@TableField(exist = false)
private String materialName;
- @ApiModelProperty(value = "璧勪骇鏉″舰鐮�")
+ @ApiModelProperty(value = "鏉$爜")
+ @ExcelColumn(name="鏉$爜",index = 2,width = 10)
@TableField(exist = false)
private String materialQrcode;
- @ApiModelProperty(value = "璧勪骇鍝佺墝")
+ @ApiModelProperty(value = "鍝佺墝")
+ @ExcelColumn(name="鍝佺墝",index = 3,width = 10)
@TableField(exist = false)
private String materialBrand;
@@ -86,11 +82,13 @@
@TableField(exist = false)
private String materialUnitName;
- @ApiModelProperty(value = "璧勪骇瑙勬牸鍨嬪彿")
+ @ApiModelProperty(value = "瑙勬牸鍨嬪彿")
+ @ExcelColumn(name="瑙勬牸鍨嬪彿",index = 4,width = 10)
@TableField(exist = false)
private String materialAttr;
- @ApiModelProperty(value = "浠撳簱鍚嶇О")
+ @ApiModelProperty(value = "鎵�鍦ㄤ粨搴�")
+ @ExcelColumn(name="鎵�鍦ㄤ粨搴�",index = 5,width = 10)
@TableField(exist = false)
private String warehouseName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MemberExcelVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MemberExcelVO.java
new file mode 100644
index 0000000..210cdc9
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MemberExcelVO.java
@@ -0,0 +1,45 @@
+package com.doumee.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 浜哄憳淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Data
+public class MemberExcelVO {
+
+ @ApiModelProperty(value = "瀹㈡埛鍚嶇О", example = "1")
+ @ExcelColumn(name="瀹㈡埛鍚嶇О",width = 10,index = 1)
+ private String customerName;
+
+ @ApiModelProperty(value = "鑱旂郴浜�", example = "1")
+ @ExcelColumn(name="鑱旂郴浜�",width = 10,index = 2)
+ private String name;
+
+ @ApiModelProperty(value = "鑱旂郴鐢佃瘽", example = "1")
+ @ExcelColumn(name="鑱旂郴鐢佃瘽",width = 10,index = 3)
+ private String phone;
+
+ @ApiModelProperty(value = "韬唤 0鑰佹澘/瓒呯骇绠$悊鍛� 1浜轰簨/绠$悊鍛� 2鍛樺伐/鏅�氬憳宸�", example = "1")
+ @ExcelColumn(name="韬唤",width = 10,index = 4,valueMapping = "0=鑰佹澘/瓒呯骇绠$悊鍛�;1=浜轰簨/绠$悊鍛�;2=鍛樺伐/鏅�氬憳宸�;")
+ private Integer highCheckor;
+
+ @ApiModelProperty(value = "鐘舵�� 0姝e父 1绂佺敤 2鎷夐粦/鍐荤粨", example = "1")
+ @ExcelColumn(name="韬唤",width = 10,index = 5,valueMapping = "0=姝e父;1=绂佺敤;")
+ private Integer status;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelInVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelInVO.java
new file mode 100644
index 0000000..1766d31
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelInVO.java
@@ -0,0 +1,50 @@
+package com.doumee.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 杩愮淮鍑哄叆搴撲俊鎭〃
+ * @author 姹熻箘韫�
+ * @date 2025/01/06 11:05
+ */
+@Data
+public class YwOutinboundExcelInVO {
+
+ @ApiModelProperty(value = "鍗曟嵁缂栧彿")
+ @ExcelColumn(name="鍏ュ簱鍗曞彿",index = 0,width = 16)
+ private String code;
+
+ @ApiModelProperty(value = "浠撳簱鍚嶇О", example = "1")
+ @ExcelColumn(name="鍏ュ簱浠撳簱",index = 1,width = 16)
+ private String warehouseName;
+
+ @ApiModelProperty(value = "绫诲瀷 0閲囪喘鍏ュ簱 1棰嗙敤閫�鍥� 2璋冩暣鍏ュ簱 3鍏朵粬鍏ュ簱 4鐩樼泩鍏ュ簱 5棰嗙敤鍑哄簱 6浠撳簱鍑哄簱 7璋冩暣鍑哄簱 8閲囪喘鍑哄簱 9鍏朵粬鍑哄簱 10鐩樹簭鍑哄簱", example = "1")
+ @ExcelColumn(name="鍏ュ簱绫诲瀷",index = 2,width = 10,valueMapping = "0=閲囪喘鍏ュ簱;1=棰嗙敤閫�鍥�;2=璋冩暣鍏ュ簱;3=鍏朵粬鍏ュ簱;4=鐩樼泩鍏ュ簱;5=棰嗙敤鍑哄簱;6=浠撳簱鍑哄簱;7=璋冩暣鍑哄簱;8=閲囪喘鍑哄簱;9=鍏朵粬鍑哄簱;10=鐩樹簭鍑哄簱;")
+ private Integer type;
+
+ @ApiModelProperty(value = "鍑哄簱鏃ユ湡")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ExcelColumn(name="鍏ュ簱鏃ユ湡",index = 3,width = 16,dateFormat = "yyyy-MM-dd")
+ private Date doneDate;
+
+ @ApiModelProperty(value = "鍑哄簱鏁伴噺")
+ @ExcelColumn(name="鍏ュ簱鏁伴噺",index = 4,width = 16)
+ private String outMaterialNum;
+
+ @ApiModelProperty(value = "鎿嶄綔浜哄悕绉�", example = "1")
+ @ExcelColumn(name="鎿嶄綔浜�",index = 5,width = 16)
+ private String createUserName;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ExcelColumn(name="鎿嶄綔鏃堕棿",index = 6,width = 16,dateFormat = "yyyy-MM-dd HH:mm:ss")
+ private Date createDate;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelOutVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelOutVO.java
new file mode 100644
index 0000000..23e6818
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelOutVO.java
@@ -0,0 +1,52 @@
+package com.doumee.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.dao.business.model.YwOutinboundRecord;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 杩愮淮鍑哄叆搴撲俊鎭〃
+ * @author 姹熻箘韫�
+ * @date 2025/01/06 11:05
+ */
+@Data
+public class YwOutinboundExcelOutVO {
+
+ @ApiModelProperty(value = "鍗曟嵁缂栧彿")
+ @ExcelColumn(name="鍑哄簱鍗曞彿",index = 0,width = 16)
+ private String code;
+
+ @ApiModelProperty(value = "浠撳簱鍚嶇О", example = "1")
+ @ExcelColumn(name="鍑哄簱浠撳簱",index = 1,width = 16)
+ private String warehouseName;
+
+ @ApiModelProperty(value = "绫诲瀷 0閲囪喘鍏ュ簱 1棰嗙敤閫�鍥� 2璋冩暣鍏ュ簱 3鍏朵粬鍏ュ簱 4鐩樼泩鍏ュ簱 5棰嗙敤鍑哄簱 6浠撳簱鍑哄簱 7璋冩暣鍑哄簱 8閲囪喘鍑哄簱 9鍏朵粬鍑哄簱 10鐩樹簭鍑哄簱", example = "1")
+ @ExcelColumn(name="鍑哄簱绫诲瀷",index = 2,width = 10,valueMapping = "0=閲囪喘鍏ュ簱;1=棰嗙敤閫�鍥�;2=璋冩暣鍏ュ簱;3=鍏朵粬鍏ュ簱;4=鐩樼泩鍏ュ簱;5=棰嗙敤鍑哄簱;6=浠撳簱鍑哄簱;7=璋冩暣鍑哄簱;8=閲囪喘鍑哄簱;9=鍏朵粬鍑哄簱;10=鐩樹簭鍑哄簱;")
+ private Integer type;
+
+ @ApiModelProperty(value = "鍑哄簱鏃ユ湡")
+ @ExcelColumn(name="鍑哄簱鏃ユ湡",index = 3,width = 16,dateFormat = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date doneDate;
+
+ @ApiModelProperty(value = "鍑哄簱鏁伴噺")
+ @ExcelColumn(name="鍑哄簱鏁伴噺",index = 4,width = 16)
+ private String outMaterialNum;
+
+ @ApiModelProperty(value = "鎿嶄綔浜哄悕绉�", example = "1")
+ @ExcelColumn(name="棰嗙敤浜�",index = 5,width = 16)
+ private String createUserName;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鎿嶄綔鏃堕棿",index = 6,width = 16,dateFormat = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createDate;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
index e75dac5..5ae4161 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -7,8 +7,9 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.CategoryMapper;
-import com.doumee.dao.business.model.Category;
+import com.doumee.dao.business.*;
+import com.doumee.dao.business.dao.CompanyMapper;
+import com.doumee.dao.business.model.*;
import com.doumee.service.business.CategoryService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -37,6 +38,22 @@
@Autowired
private CategoryMapper categoryMapper;
+ @Autowired
+ private YwCustomerMapper ywCustomerMapper;
+
+ @Autowired
+ private YwWorkorderMapper ywWorkorderMapper;
+
+ @Autowired
+ private YwPatrolPointMapper ywPatrolPointMapper;
+
+ @Autowired
+ private YwDeviceMapper ywDeviceMapper;
+
+ @Autowired
+ private YwMaterialMapper ywMaterialMapper;
+
+
@Override
public Integer create(Category category) {
checkUnique(category);
@@ -61,8 +78,32 @@
return insert.getId();
}
+
@Override
public void deleteById(Integer id) {
+ Category category = categoryMapper.selectById(id);
+ if(Objects.isNull(category)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+
+ if(categoryMapper.selectCount(new QueryWrapper<Category>().lambda()
+ .eq(Category::getIsdeleted,Constants.ZERO)
+ .eq(Category::getParentId,id)
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪瀛愰泦鏁版嵁,鏃犳硶杩涜鍒犻櫎");
+ }
+ //鏌ヨ鏁版嵁鏄惁宸蹭娇鐢� 3杩愮淮-宸ュ崟鍒嗙被 4杩愮淮-宸℃鍖哄煙 5杩愮淮-璁惧鍒嗙被 6=瀹㈡埛琛屼笟 7=璧勪骇鍒嗙被
+ if(Constants.equalsInteger(category.getType(),Constants.THREE)){
+ if(ywWorkorderMapper.selectCount(new QueryWrapper<YwWorkorder>().lambda().eq(YwWorkorder::getIsdeleted,Constants.ZERO).eq(YwWorkorder::getCateId,id))>Constants.ZERO) throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍒嗙被宸茶浣跨敤,鏃犳硶杩涜鍒犻櫎");
+ }else if (Constants.equalsInteger(category.getType(),Constants.FOUR)){
+ if(ywPatrolPointMapper.selectCount(new QueryWrapper<YwPatrolPoint>().lambda().eq(YwPatrolPoint::getIsdeleted,Constants.ZERO).eq(YwPatrolPoint::getAreaId,id))>Constants.ZERO) throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍒嗙被宸茶浣跨敤,鏃犳硶杩涜鍒犻櫎");
+ }else if (Constants.equalsInteger(category.getType(),Constants.FIVE)){
+ if(ywDeviceMapper.selectCount(new QueryWrapper<YwDevice>().lambda().eq(YwDevice::getIsdeleted,Constants.ZERO).eq(YwDevice::getCateId,id))>Constants.ZERO) throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍒嗙被宸茶浣跨敤,鏃犳硶杩涜鍒犻櫎");
+ }else if (Constants.equalsInteger(category.getType(),Constants.SIX)){
+ if(ywCustomerMapper.selectCount(new QueryWrapper<YwCustomer>().lambda().eq(YwCustomer::getIsdeleted,Constants.ZERO).eq(YwCustomer::getIndustryId,id))>Constants.ZERO) throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍒嗙被宸茶浣跨敤,鏃犳硶杩涜鍒犻櫎");
+ }else if (Constants.equalsInteger(category.getType(),Constants.SEVEN)){
+ if(ywMaterialMapper.selectCount(new QueryWrapper<YwMaterial>().lambda().eq(YwMaterial::getIsdeleted,Constants.ZERO).eq(YwMaterial::getCateId,id))>Constants.ZERO) throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍒嗙被宸茶浣跨敤,鏃犳硶杩涜鍒犻櫎");
+ }
categoryMapper.update(null,new UpdateWrapper<Category>().lambda().set(Category::getIsdeleted,Constants.ONE)
.eq(Category::getId,id)
);
@@ -195,6 +236,8 @@
wrapper.lambda()
.ne(Objects.nonNull(category.getId()),Category::getId,category.getId())
.eq(Category::getIsdeleted,Constants.ZERO)
+ .eq(Objects.nonNull(category.getParentId()),Category::getParentId,category.getParentId())
+ .isNull(Objects.isNull(category.getParentId()),Category::getParentId)
.eq(Category::getType,category.getType())
.eq(Category::getName,category.getName());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
index 4d4beaf..b760dd1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -106,10 +106,11 @@
String code = Constants.getRandom6Num();
SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getObjType,
SmsConstants.inventCode).last(" limit 1 "));
+ String comName = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode();
//寮�鍚煭淇¢�氱煡
if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){
if(StringUtils.isNotBlank(smsConfig.getContent())){
- String content = smsConfig.getContent().replace("{楠岃瘉鐮亇",code);
+ String content = comName + smsConfig.getContent().replace("{楠岃瘉鐮亇",code);
emayService.sendSingleSms(smsEmail.getPhone(),content);
smsEmail.setRemark(code);
smsEmail.setIsdeleted(Constants.ZERO);
@@ -617,6 +618,7 @@
if(result){
result= emailService.sendEmail(email,"璐﹀崟鍌垂",content,null);
}
+ content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + content;
SmsEmail smsEmail = new SmsEmail();
smsEmail.setRemark(result?"閭欢鍙戦�佹垚鍔�":"閭欢鍙戦�佸け璐�");
smsEmail.setIsdeleted(Constants.ZERO);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java
index 436e79a..5d36fa2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java
@@ -600,6 +600,7 @@
.leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
.leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId)
.eq(YwContractBill::getIsdeleted,Constants.ZERO)
+ .eq(YwContractBill::getStatus,Constants.ZERO)
.in(YwContractBill::getPayStatus,Constants.ZERO,Constants.TWO,Constants.THREE,Constants.FOUR)
.eq(YwContractBill::getContractId,contractId)
.orderByDesc(YwContractBill::getId);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
index d556571..b1fbb04 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
@@ -249,19 +249,6 @@
.set(YwPatrolTask::getEditor,loginUserInfo.getId())
);
-// if(ywPatrolTaskMapper.selectCount(new QueryWrapper<YwPatrolTask>().lambda()
-// .eq(YwPatrolTask::getSchemeId,ywPatrolTask.getSchemeId())
-// .in(YwPatrolTask::getStatus,Constants.ZERO,Constants.ONE)
-// .ne(YwPatrolTask::getId,ywPatrolTask.getId())
-// )==Constants.ZERO){
-// ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda()
-// .eq(YwPatrolScheme::getId,ywPatrolScheme.getId())
-// .set(YwPatrolScheme::getStatus,Constants.TWO)
-// .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime())
-// .set(YwPatrolScheme::getEditor,loginUserInfo.getId())
-// );
-// }
-
//鏍囪寰呭姙宸插鐞�
noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
.set(Notices::getStatus,Constants.ONE)
@@ -279,14 +266,6 @@
.set(YwPatrolTask::getEditor,loginUserInfo.getId())
);
}
-// if(Constants.equalsInteger(ywPatrolScheme.getStatus(),Constants.ZERO)){
-// ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda()
-// .eq(YwPatrolScheme::getId,ywPatrolScheme.getId())
-// .set(YwPatrolScheme::getStatus,Constants.ONE)
-// .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime())
-// .set(YwPatrolScheme::getEditor,loginUserInfo.getId())
-// );
-// }
//鏍囪寰呭姙宸插鐞�
noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
.set(Notices::getParam3,Constants.ONE)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
index 2c33a6c..1571556 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
@@ -263,7 +263,26 @@
.le(Objects.nonNull(model.getDealDateEnd()),YwProblem::getDealDate, Utils.Date.getEnd(model.getDealDateEnd()))
.eq(Objects.nonNull(model.getDealStatus()),YwProblem::getDealStatus,model.getDealStatus())
;
- IPage iPage = ywProblemMapper.selectJoinPage(page,YwProblem.class,queryWrapper);
+ IPage<YwProblem> iPage = ywProblemMapper.selectJoinPage(page,YwProblem.class,queryWrapper);
+ for (YwProblem ywProblem:iPage.getRecords()) {
+ List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
+ .eq(Multifile::getObjId, ywProblem.getId() )
+ .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.PROBLEM_FILE.getKey() }))
+ .eq(Multifile::getIsdeleted,Constants.ZERO));
+ if(multifiles!=null){
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_WORKORDER_FILE).getCode();
+ for(Multifile f : multifiles){
+ if(StringUtils.isBlank(f.getFileurl())){
+ continue;
+ }
+ f.setFileurlFull(path+f.getFileurl());
+ }
+ ywProblem.setFileList(multifiles);
+ }
+ }
+
+
return PageData.from(iPage);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
index b5c03ed..1b7a0a9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
@@ -138,6 +138,9 @@
queryWrapper.selectAll(YwRoom.class )
.selectAs(YwProject::getName,YwRoom::getProjectName)
.selectAs(YwFloor::getName,YwRoom::getFloorName)
+ .select(" ifnull( ( select case when y1.status = 3 then now() BETWEEN y1.START_DATE and y1.BT_DATE else now() BETWEEN y1.START_DATE and y1.END_DATE END " +
+ "from yw_contract y1 left join yw_contract_room y2 on y1.id = y2.CONTRACT_ID and y2.TYPE = 0 " +
+ "where y1.`STATUS` <> 4 and y2.room_id = t.id order by y1.create_date desc limit 1 ) ,0) ",YwRoom::getLeaseStatus)
.selectAs(YwBuilding::getName,YwRoom::getBuildingName)
.leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId)
.leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
index 58d10e9..07ad32d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
@@ -503,6 +503,9 @@
if (pageWrap.getModel().getRoomId() != null) {
queryWrapper.eq(YwWorkorder::getRoomId, pageWrap.getModel().getRoomId());
}
+ if (pageWrap.getModel().getFloorId() != null) {
+ queryWrapper.eq(YwWorkorder::getFloorId, pageWrap.getModel().getFloorId());
+ }
if (pageWrap.getModel().getUserId() != null) {
queryWrapper.eq(YwWorkorder::getUserId, pageWrap.getModel().getUserId());
}
diff --git a/server/visits/dmvisit_service/src/main/resources/application-dev.yml b/server/visits/dmvisit_service/src/main/resources/application-dev.yml
index 29d1baf..b3984c7 100644
--- a/server/visits/dmvisit_service/src/main/resources/application-dev.yml
+++ b/server/visits/dmvisit_service/src/main/resources/application-dev.yml
@@ -15,7 +15,15 @@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
-
+ mail:
+ default-encoding: UTF-8
+ host: smtp.exmail.qq.com
+ username: jp@doumee.com
+ password: p7iKUE8VvQQpY58S
+ properties:
+ mail:
+ smtp:
+ auth: true
debug_model: true
@@ -26,6 +34,8 @@
need-deal-img: true #鏄惁闇�瑕佸鐞嗗浘鐗囨暟鎹�
+########################鍘嬬缉鍖呮枃浠朵綅缃� ########################
+zip_file_path: d://
# Swagger閰嶇疆
swagger:
host: 127.0.0.1
diff --git a/server/visits/dmvisit_service/src/main/resources/application-pro.yml b/server/visits/dmvisit_service/src/main/resources/application-pro.yml
index b27c85b..eeed79a 100644
--- a/server/visits/dmvisit_service/src/main/resources/application-pro.yml
+++ b/server/visits/dmvisit_service/src/main/resources/application-pro.yml
@@ -15,10 +15,21 @@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
-
+ mail:
+ default-encoding: UTF-8
+ host: smtp.exmail.qq.com
+ username: jp@doumee.com
+ password: p7iKUE8VvQQpY58S
+ properties:
+ mail:
+ smtp:
+ auth: true
debug_model: true
+########################鍘嬬缉鍖呮枃浠朵綅缃� ########################
+zip_file_path: d://
+
########################鍚屾鏁版嵁妯″紡 ########################
data-sync:
org-user-data-origin: 0 #缁勭粐鏁版嵁 0鑷缓 2浠ユ捣搴蜂负涓� 1鍗庢櫉ERP绯荤粺
diff --git a/server/visits/dmvisit_service/src/main/resources/application-test.yml b/server/visits/dmvisit_service/src/main/resources/application-test.yml
index 6bc2caa..a8d00a5 100644
--- a/server/visits/dmvisit_service/src/main/resources/application-test.yml
+++ b/server/visits/dmvisit_service/src/main/resources/application-test.yml
@@ -15,10 +15,20 @@
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
-
+ mail:
+ default-encoding: UTF-8
+ host: smtp.exmail.qq.com
+ username: jp@doumee.com
+ password: p7iKUE8VvQQpY58S
+ properties:
+ mail:
+ smtp:
+ auth: true
debug_model: true
+########################鍘嬬缉鍖呮枃浠朵綅缃� ########################
+zip_file_path: d://
########################鍚屾鏁版嵁妯″紡 ########################
data-sync:
org-user-data-origin: 0 #缁勭粐鏁版嵁 0鑷缓 2浠ユ捣搴蜂负涓� 1鍗庢櫉ERP绯荤粺
--
Gitblit v1.9.3