便利店
This commit is contained in:
parent
ec60b58193
commit
5e06f4582f
@ -17,6 +17,15 @@ export function getLJGoods(id) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 根据商品条码查询商品详细
|
||||||
|
export function queryLJGoods(data) {
|
||||||
|
return request({
|
||||||
|
url: '/business/convenience/goods/getGoods',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 生成13位二维码
|
// 生成13位二维码
|
||||||
export function createGoodsNo() {
|
export function createGoodsNo() {
|
||||||
return request({
|
return request({
|
||||||
|
11
fuintAdmin/src/api/convenienceStore/saledetail.js
Normal file
11
fuintAdmin/src/api/convenienceStore/saledetail.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询库存统计列表
|
||||||
|
export function listSaleDetail(query) {
|
||||||
|
return request({
|
||||||
|
url: '/business/convenience/saleDetail/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
20
fuintAdmin/src/api/convenienceStore/salestatistic.js
Normal file
20
fuintAdmin/src/api/convenienceStore/salestatistic.js
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询销售统计信息
|
||||||
|
export function listSale(query) {
|
||||||
|
return request({
|
||||||
|
url: '/business/convenience/saleStatistic/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出销售统计信息
|
||||||
|
export function exportSale(data) {
|
||||||
|
return request({
|
||||||
|
url: '/business/convenience/saleStatistic/export',
|
||||||
|
method: 'post',
|
||||||
|
responseType:'blob',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
@ -19,11 +19,12 @@ export function getStock(id) {
|
|||||||
|
|
||||||
|
|
||||||
// 导出库存统计信息
|
// 导出库存统计信息
|
||||||
export function exportStocks() {
|
export function exportStocks(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/business/convenience/stockStatistic/export',
|
url: '/business/convenience/stockStatistic/export',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
responseType:'blob'
|
responseType:'blob',
|
||||||
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,15 @@ export function getSupplier(id) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 新增供应商
|
||||||
|
export function querySupplier(data) {
|
||||||
|
return request({
|
||||||
|
url: '/business/convenience/supplier/byName',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 新增供应商
|
// 新增供应商
|
||||||
export function addSupplier(data) {
|
export function addSupplier(data) {
|
||||||
return request({
|
return request({
|
||||||
|
@ -17,6 +17,15 @@ export function getFixingLevel(id) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 根据固定等级名称查询固定等级信息
|
||||||
|
export function queryFixingLevel(data) {
|
||||||
|
return request({
|
||||||
|
url: '/business/userManager/fixingLevel/getName',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 新增固定等级
|
// 新增固定等级
|
||||||
export function addFixingLevel(data) {
|
export function addFixingLevel(data) {
|
||||||
return request({
|
return request({
|
||||||
|
@ -7,15 +7,18 @@
|
|||||||
<el-tab-pane label="商品回收站" name="recovery"></el-tab-pane>
|
<el-tab-pane label="商品回收站" name="recovery"></el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<el-form-item label="商品分类" prop="cvsGoodId">
|
<el-form-item label="商品分类" prop="cvsGoodId">
|
||||||
<!-- <el-cascader :options="cvsGoodOptions" clearable></el-cascader>-->
|
<el-cascader v-model="cvsGoodId"
|
||||||
<el-select
|
:options="cvsGoodOptions"
|
||||||
v-model="queryParams.cvsGoodId"
|
:props="{ checkStrictly: true }"
|
||||||
placeholder="全部"
|
clearable></el-cascader>
|
||||||
clearable
|
<!-- <el-select-->
|
||||||
style="width: 300px"
|
<!-- v-model="queryParams.cvsGoodId"-->
|
||||||
>
|
<!-- placeholder="全部"-->
|
||||||
<el-option v-for="item in cvsGoodList" :key="item.id" :label="item.name" :value="item.id"/>
|
<!-- clearable-->
|
||||||
</el-select>
|
<!-- style="width: 300px"-->
|
||||||
|
<!-- >-->
|
||||||
|
<!-- <el-option v-for="item in cvsGoodList" :key="item.id" :label="item.name" :value="item.id"/>-->
|
||||||
|
<!-- </el-select>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="供应商" prop="supplierId">
|
<el-form-item label="供应商" prop="supplierId">
|
||||||
<el-select
|
<el-select
|
||||||
@ -182,6 +185,7 @@
|
|||||||
<el-form-item label="商品条码" prop="goodsNo">
|
<el-form-item label="商品条码" prop="goodsNo">
|
||||||
<el-input v-model="form.goodsNo"
|
<el-input v-model="form.goodsNo"
|
||||||
@keydown.enter.native="getGoods(form)"
|
@keydown.enter.native="getGoods(form)"
|
||||||
|
v-focus
|
||||||
placeholder="商品的条码信息">
|
placeholder="商品的条码信息">
|
||||||
<el-button slot="append" @click="getGoods(form)">查询</el-button>
|
<el-button slot="append" @click="getGoods(form)">查询</el-button>
|
||||||
</el-input>
|
</el-input>
|
||||||
@ -269,9 +273,11 @@
|
|||||||
<el-form-item label="供应商" prop="supplierId">
|
<el-form-item label="供应商" prop="supplierId">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.supplierId"
|
v-model="form.supplierId"
|
||||||
|
filterable
|
||||||
placeholder="全部"
|
placeholder="全部"
|
||||||
clearable
|
clearable
|
||||||
style="width: 300px"
|
style="width: 300px"
|
||||||
|
@change="selectSupplier"
|
||||||
>
|
>
|
||||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id"/>
|
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -319,16 +325,24 @@ import {
|
|||||||
createGoodsNo,
|
createGoodsNo,
|
||||||
delLJGoods,
|
delLJGoods,
|
||||||
getLJGoods,
|
getLJGoods,
|
||||||
listLJGoods, scanCode,
|
listLJGoods, queryLJGoods, scanCode,
|
||||||
updateLJGoods
|
updateLJGoods
|
||||||
} from "@/api/convenienceStore/ljgoods";
|
} from "@/api/convenienceStore/ljgoods";
|
||||||
import {getSysConfig} from "@/api/staff/user/sysconfig";
|
import {getSysConfig} from "@/api/staff/user/sysconfig";
|
||||||
import pinyin from "js-pinyin";
|
import pinyin from "js-pinyin";
|
||||||
|
import Vue from 'vue'
|
||||||
|
|
||||||
|
Vue.directive('focus', {
|
||||||
|
inserted(el, binding, vnode) {
|
||||||
|
el.querySelector('input').focus()
|
||||||
|
},
|
||||||
|
})
|
||||||
export default {
|
export default {
|
||||||
dicts: ['zhzt','yes_or_no'],
|
dicts: ['zhzt','yes_or_no'],
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
|
// 商品分类id
|
||||||
|
cvsGoodId:"",
|
||||||
cvsGoodOptions:[],
|
cvsGoodOptions:[],
|
||||||
isAdd:false,
|
isAdd:false,
|
||||||
activeName: 'goods',
|
activeName: 'goods',
|
||||||
@ -376,6 +390,7 @@ export default {
|
|||||||
rules: {
|
rules: {
|
||||||
goodsNo: [
|
goodsNo: [
|
||||||
{ required: true, message: "商品条码不能为空", trigger: "blur" },
|
{ required: true, message: "商品条码不能为空", trigger: "blur" },
|
||||||
|
{ required: true, validator: this.checkGoodsNo, trigger: "blur" },
|
||||||
],
|
],
|
||||||
name: [
|
name: [
|
||||||
{ required: true, message: "商品名称不能为空", trigger: "blur" },
|
{ required: true, message: "商品名称不能为空", trigger: "blur" },
|
||||||
@ -414,14 +429,28 @@ export default {
|
|||||||
this.getList();
|
this.getList();
|
||||||
this.getQueryList();
|
this.getQueryList();
|
||||||
this.getType();
|
this.getType();
|
||||||
// this.getTree();
|
this.getTree();
|
||||||
},
|
},
|
||||||
computed:{
|
computed:{
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
checkGoodsNo(rule, value, callback){
|
||||||
|
queryLJGoods({goodsNo:this.form.goodsNo}).then( response => {
|
||||||
|
if(response.data!=null){
|
||||||
|
callback(new Error("商品已存在"))
|
||||||
|
}else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 查询供应商信息
|
||||||
|
selectSupplier(data){
|
||||||
|
console.log(data)
|
||||||
|
},
|
||||||
|
// 获取分类菜单
|
||||||
getTree(){
|
getTree(){
|
||||||
cvsGoodsTree().then(response => {
|
cvsGoodsTree().then(response => {
|
||||||
console.log(response)
|
this.cvsGoodOptions = response.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 价格填写
|
// 价格填写
|
||||||
@ -520,10 +549,16 @@ export default {
|
|||||||
// 搜索按钮操作
|
// 搜索按钮操作
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.queryParams.page = 1;
|
this.queryParams.page = 1;
|
||||||
|
if (this.cvsGoodId.length==1){
|
||||||
|
this.queryParams.cvsGoodId = this.cvsGoodId[0]
|
||||||
|
}else {
|
||||||
|
this.queryParams.cvsGoodId = this.cvsGoodId[1]
|
||||||
|
}
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
// 重置按钮操作
|
// 重置按钮操作
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
this.cvsGoodId = ""
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order);
|
this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order);
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
@ -591,6 +626,7 @@ export default {
|
|||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
// console.log(this.form.supplierId)
|
||||||
if (this.form.id) {
|
if (this.form.id) {
|
||||||
updateLJGoods(this.form).then(response => {
|
updateLJGoods(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("商品信息更新成功");
|
this.$modal.msgSuccess("商品信息更新成功");
|
||||||
|
@ -123,11 +123,12 @@
|
|||||||
<el-form :model="form" :inline="true" :rules="rules" ref="form" >
|
<el-form :model="form" :inline="true" :rules="rules" ref="form" >
|
||||||
<el-form-item label="上级分类" >
|
<el-form-item label="上级分类" >
|
||||||
<el-select v-model="form.pid" placeholder="请选择上级分类">
|
<el-select v-model="form.pid" placeholder="请选择上级分类">
|
||||||
<el-option
|
<el-option label="无上级" :value="0">无上级</el-option>
|
||||||
v-for="item in goodsOptions"
|
<el-option
|
||||||
:label="item.name"
|
v-for="item in goodsOptions"
|
||||||
:value="item.id">
|
:label="item.name"
|
||||||
</el-option>
|
:value="item.id">
|
||||||
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="分类名称" prop="name" style="margin-left: -8px;">
|
<el-form-item label="分类名称" prop="name" style="margin-left: -8px;">
|
||||||
@ -392,7 +393,6 @@ export default {
|
|||||||
this.reset();
|
this.reset();
|
||||||
const id = row.id || this.ids;
|
const id = row.id || this.ids;
|
||||||
selectParentById(id).then(response => {
|
selectParentById(id).then(response => {
|
||||||
console.log(response)
|
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "编辑分类";
|
this.title = "编辑分类";
|
||||||
|
261
fuintAdmin/src/views/convenienceStore/saleStatistic.vue
Normal file
261
fuintAdmin/src/views/convenienceStore/saleStatistic.vue
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!-- 搜索框-->
|
||||||
|
<el-card >
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
|
||||||
|
<el-form-item label="商品名称" prop="name">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.name"
|
||||||
|
placeholder="请输入商品名称"
|
||||||
|
clearable
|
||||||
|
style="width: 240px;"
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="拼音码" prop="pinyinCode">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.pinyinCode"
|
||||||
|
placeholder="请输入拼音码"
|
||||||
|
clearable
|
||||||
|
style="width: 240px;"
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="条形码" prop="goodsNo">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.goodsNo"
|
||||||
|
placeholder="请输入商品条形码"
|
||||||
|
clearable
|
||||||
|
style="width: 240px;"
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="销售时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dateRange"
|
||||||
|
style="width: 240px"
|
||||||
|
size="medium"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 列表-->
|
||||||
|
<el-card style="margin-top: 20px" >
|
||||||
|
<div style="display: flex;justify-content: space-between">
|
||||||
|
<div style="font-size: 18px">列表</div>
|
||||||
|
<el-button type="primary" @click="dialogVisible = true">导出</el-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-table ref="tables" v-loading="loading" :data="list"
|
||||||
|
@selection-change="handleSelectionChange" :default-sort="defaultSort"
|
||||||
|
@sort-change="handleSortChange">
|
||||||
|
<el-table-column label="ID" align="center" prop="id" width="40"/>
|
||||||
|
<el-table-column label="商品名称" align="center" prop="name" width="300" />
|
||||||
|
<el-table-column label="条码" align="center" prop="goodsNo" width="160" />
|
||||||
|
<el-table-column label="拼音码" align="center" prop="pinyinCode" />
|
||||||
|
<el-table-column label="单位" align="center" prop="unit" />
|
||||||
|
<el-table-column label="销售数量" align="center" prop="saleNumber" />
|
||||||
|
<el-table-column label="销售总额" align="center" prop="saleTotal" />
|
||||||
|
<el-table-column label="成本总额" align="center" prop="costTotal" />
|
||||||
|
<el-table-column label="盈利总额" align="center" prop="profitTotal" />
|
||||||
|
<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-document"
|
||||||
|
@click="detail(scope.row)"
|
||||||
|
>详细信息</el-button>
|
||||||
|
<!-- -->
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.page"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
<el-drawer
|
||||||
|
title="销售详情信息"
|
||||||
|
:visible.sync="table"
|
||||||
|
direction="rtl"
|
||||||
|
size="60%">
|
||||||
|
<el-card style="width: 98%;margin: 0px auto">
|
||||||
|
<el-table ref="tables"
|
||||||
|
v-loading="loading"
|
||||||
|
:data="detailList"
|
||||||
|
:default-sort="defaultSort">
|
||||||
|
<el-table-column
|
||||||
|
lable="#"
|
||||||
|
type="index"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="销售商品名称" align="center" prop="name" width="140" />
|
||||||
|
<el-table-column label="销售数量" align="center" prop="saleNumber" />
|
||||||
|
<el-table-column label="销售总额" align="center" prop="saleTotal" />
|
||||||
|
<el-table-column label="销售单价" align="center" prop="retailPrice" />
|
||||||
|
<el-table-column label="销售会员单价" align="center" prop="memberPrice" width="100" />
|
||||||
|
<el-table-column label="成本单价" align="center" prop="buyingPrice" />
|
||||||
|
<el-table-column label="成本总额" align="center" prop="costTotal" />
|
||||||
|
<el-table-column label="盈利总额" align="center" prop="profitTotal" />
|
||||||
|
<el-table-column label="销售时间" align="center" prop="createTime" width="150">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total1>0"
|
||||||
|
:total="total1"
|
||||||
|
:page.sync="queryParam.page"
|
||||||
|
:limit.sync="queryParam.pageSize"
|
||||||
|
@pagination="getDetailList"
|
||||||
|
/>
|
||||||
|
</el-card>
|
||||||
|
</el-drawer>
|
||||||
|
|
||||||
|
<el-dialog
|
||||||
|
title="导出状态"
|
||||||
|
:visible.sync="dialogVisible"
|
||||||
|
width="20%"
|
||||||
|
style="margin-top: 200px"
|
||||||
|
:before-close="handleClose">
|
||||||
|
<span>导出文档已生成,请点击下载按钮进行下载</span>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="exportSale">
|
||||||
|
确 定
|
||||||
|
<!-- <a href="/dev-api/business/convenience/stockStatistic/export">确 定</a>-->
|
||||||
|
</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {exportSale, listSale} from "@/api/convenienceStore/salestatistic";
|
||||||
|
import {addSaleDetail, listSaleDetail} from "@/api/convenienceStore/saledetail";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
table: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
page: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
id: '',
|
||||||
|
name: '',
|
||||||
|
pinyinCode: '',
|
||||||
|
goodsNo: '',
|
||||||
|
},
|
||||||
|
// 查询参数
|
||||||
|
queryParam: {
|
||||||
|
page: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
id: '',
|
||||||
|
saleId: '',
|
||||||
|
},
|
||||||
|
// 日期范围
|
||||||
|
dateRange: [],
|
||||||
|
dialogVisible: false,
|
||||||
|
// 遮罩层
|
||||||
|
loading: false,
|
||||||
|
// 默认排序
|
||||||
|
defaultSort: {prop: 'createTime', order: 'descending'},
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
total1: 0,
|
||||||
|
// 表格数据
|
||||||
|
list: [],
|
||||||
|
detailList: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 导出信息
|
||||||
|
exportSale(){
|
||||||
|
exportSale(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
|
||||||
|
const blob = new Blob([response], { type: 'application/json' })
|
||||||
|
this.$download.saveAs(blob,'商品销售统计.xlsx')
|
||||||
|
})
|
||||||
|
this.dialogVisible = false
|
||||||
|
},
|
||||||
|
// 弹出框
|
||||||
|
detail(data){
|
||||||
|
this.table = true;
|
||||||
|
this.queryParam.saleId = data.id;
|
||||||
|
listSaleDetail(this.queryParam).then(response => {
|
||||||
|
this.detailList = response.data.records;
|
||||||
|
this.total1 = response.data.total;
|
||||||
|
this.loading = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取销售统计列表
|
||||||
|
getList(){
|
||||||
|
this.loading = true;
|
||||||
|
listSale(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
|
||||||
|
this.list = response.data.records;
|
||||||
|
this.total = response.data.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 获取销售商品详情信息
|
||||||
|
getDetailList(){
|
||||||
|
|
||||||
|
},
|
||||||
|
// 搜索按钮操作
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.page = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
// 重置按钮操作
|
||||||
|
resetQuery() {
|
||||||
|
this.dateRange = [];
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order);
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 是否关闭弹框
|
||||||
|
handleClose(done) {
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.id)
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
// 排序触发事件
|
||||||
|
handleSortChange(column, prop, order) {
|
||||||
|
this.queryParams.orderByColumn = column.prop;
|
||||||
|
this.queryParams.isAsc = column.order;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.app-container{
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
background: #f6f8f9;
|
||||||
|
}
|
||||||
|
</style>
|
@ -4,14 +4,18 @@
|
|||||||
<el-card >
|
<el-card >
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
<el-form-item label="商品分类" prop="cvsGoodId">
|
<el-form-item label="商品分类" prop="cvsGoodId">
|
||||||
<el-select
|
<el-cascader v-model="cvsGoodId"
|
||||||
v-model="queryParams.cvsGoodId"
|
:options="cvsGoodOptions"
|
||||||
placeholder="全部"
|
:props="{ checkStrictly: true }"
|
||||||
clearable
|
clearable></el-cascader>
|
||||||
style="width: 300px"
|
<!-- <el-select-->
|
||||||
>
|
<!-- v-model="queryParams.cvsGoodId"-->
|
||||||
<el-option v-for="item in cvsGoodList" :key="item.id" :label="item.name" :value="item.id"/>
|
<!-- placeholder="全部"-->
|
||||||
</el-select>
|
<!-- clearable-->
|
||||||
|
<!-- style="width: 300px"-->
|
||||||
|
<!-- >-->
|
||||||
|
<!-- <el-option v-for="item in cvsGoodList" :key="item.id" :label="item.name" :value="item.id"/>-->
|
||||||
|
<!-- </el-select>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="供应商" prop="supplierId">
|
<el-form-item label="供应商" prop="supplierId">
|
||||||
<el-select
|
<el-select
|
||||||
@ -225,7 +229,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {selectTree} from "@/api/convenienceStore/goods";
|
import {cvsGoodsTree, selectTree} from "@/api/convenienceStore/goods";
|
||||||
import {listSupplier} from "@/api/convenienceStore/supplier";
|
import {listSupplier} from "@/api/convenienceStore/supplier";
|
||||||
import {exportStocks, getStock, listStock} from "@/api/convenienceStore/stockstatistic";
|
import {exportStocks, getStock, listStock} from "@/api/convenienceStore/stockstatistic";
|
||||||
import {listTrack} from "@/api/convenienceStore/stocktrack";
|
import {listTrack} from "@/api/convenienceStore/stocktrack";
|
||||||
@ -236,6 +240,9 @@ export default {
|
|||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
// 商品分类id
|
||||||
|
cvsGoodId:"",
|
||||||
|
cvsGoodOptions:[],
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
// 显示搜索条件
|
// 显示搜索条件
|
||||||
showSearch: true,
|
showSearch: true,
|
||||||
@ -280,10 +287,18 @@ export default {
|
|||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.getQueryList();
|
this.getQueryList();
|
||||||
|
this.getTree();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 获取分类菜单
|
||||||
|
getTree(){
|
||||||
|
cvsGoodsTree().then(response => {
|
||||||
|
this.cvsGoodOptions = response.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 导出信息
|
||||||
exportStock(){
|
exportStock(){
|
||||||
exportStocks().then(response => {
|
exportStocks(this.queryParams).then(response => {
|
||||||
const blob = new Blob([response], { type: 'application/json' })
|
const blob = new Blob([response], { type: 'application/json' })
|
||||||
this.$download.saveAs(blob,'商品-库存统计.xlsx')
|
this.$download.saveAs(blob,'商品-库存统计.xlsx')
|
||||||
})
|
})
|
||||||
@ -318,6 +333,11 @@ export default {
|
|||||||
// 搜索按钮操作
|
// 搜索按钮操作
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.queryParams.page = 1;
|
this.queryParams.page = 1;
|
||||||
|
if (this.cvsGoodId.length==1){
|
||||||
|
this.queryParams.cvsGoodId = this.cvsGoodId[0]
|
||||||
|
}else {
|
||||||
|
this.queryParams.cvsGoodId = this.cvsGoodId[1]
|
||||||
|
}
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
// 查询搜索列表信息
|
// 查询搜索列表信息
|
||||||
@ -331,6 +351,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 重置按钮操作
|
// 重置按钮操作
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
this.cvsGoodId = ""
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order);
|
this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order);
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-hasPermi="['member:add']"
|
v-hasPermi="['member:add']"
|
||||||
>新增会员</el-button>
|
>新增供应商</el-button>
|
||||||
<el-table ref="tables" v-loading="loading" :data="list"
|
<el-table ref="tables" v-loading="loading" :data="list"
|
||||||
@selection-change="handleSelectionChange" :default-sort="defaultSort"
|
@selection-change="handleSelectionChange" :default-sort="defaultSort"
|
||||||
@sort-change="handleSortChange">
|
@sort-change="handleSortChange">
|
||||||
@ -146,7 +146,14 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import {addSupplier, delSupplier, getSupplier, listSupplier, updateSupplier} from "@/api/convenienceStore/supplier";
|
import {
|
||||||
|
addSupplier,
|
||||||
|
delSupplier,
|
||||||
|
getSupplier,
|
||||||
|
listSupplier,
|
||||||
|
querySupplier,
|
||||||
|
updateSupplier
|
||||||
|
} from "@/api/convenienceStore/supplier";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
// dicts: ['zhzt'],
|
// dicts: ['zhzt'],
|
||||||
@ -181,6 +188,7 @@ export default {
|
|||||||
rules: {
|
rules: {
|
||||||
name: [
|
name: [
|
||||||
{ required: true, message: "供应商名称不能为空", trigger: "blur" },
|
{ required: true, message: "供应商名称不能为空", trigger: "blur" },
|
||||||
|
{ required: true, validator: this.checkName, trigger: "blur" },
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -189,6 +197,15 @@ export default {
|
|||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
checkName(rule, value, callback){
|
||||||
|
querySupplier({name:this.form.name}).then( response => {
|
||||||
|
if(response.data!=null){
|
||||||
|
callback(new Error("供应商名称已存在"))
|
||||||
|
}else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
// 查询列表
|
// 查询列表
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
@ -814,7 +814,7 @@ import {
|
|||||||
addFixingLevel,
|
addFixingLevel,
|
||||||
delFixingLevel,
|
delFixingLevel,
|
||||||
getFixingLevel,
|
getFixingLevel,
|
||||||
listFixingLevel,
|
listFixingLevel, queryFixingLevel,
|
||||||
updateFixingLevel
|
updateFixingLevel
|
||||||
} from "@/api/staff/user/fixinglevel";
|
} from "@/api/staff/user/fixinglevel";
|
||||||
import {
|
import {
|
||||||
@ -928,6 +928,7 @@ export default {
|
|||||||
rules: {
|
rules: {
|
||||||
name: [
|
name: [
|
||||||
{ required: true, message: "请填写认证名称", trigger: "blur" },
|
{ required: true, message: "请填写认证名称", trigger: "blur" },
|
||||||
|
{ required: true, validator: this.checkName, trigger: "blur" },
|
||||||
],
|
],
|
||||||
discountType: [
|
discountType: [
|
||||||
{ required: true, message: "请选择优惠类型", trigger: "blur" },
|
{ required: true, message: "请选择优惠类型", trigger: "blur" },
|
||||||
@ -993,6 +994,16 @@ export default {
|
|||||||
this.getUserList();
|
this.getUserList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 检验固定等级名称是否存在
|
||||||
|
checkName(rule, value, callback){
|
||||||
|
queryFixingLevel({name:this.form.name}).then( response => {
|
||||||
|
if(response.data!=null){
|
||||||
|
callback(new Error("固定等级名称不可重复"))
|
||||||
|
}else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
handleClick(tab, event) {
|
handleClick(tab, event) {
|
||||||
// console.log(tab, event);
|
// console.log(tab, event);
|
||||||
},
|
},
|
||||||
|
@ -44,11 +44,23 @@ public class LJGoodsController extends BaseController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ResponseObject staffInfo(@PathVariable Integer id){
|
public ResponseObject goodsInfo(@PathVariable Integer id){
|
||||||
LJGoods goods = goodsService.selectLJGoodsById(id);
|
LJGoods goods = goodsService.selectLJGoodsById(id);
|
||||||
return getSuccessResult(goods);
|
return getSuccessResult(goods);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据id查询商品信息
|
||||||
|
* @param map
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/getGoods")
|
||||||
|
public ResponseObject getGoods(@Validated @RequestBody Map<String ,String > map){
|
||||||
|
String goodsNo = map.get("goodsNo");
|
||||||
|
LJGoods goods = goodsService.selectLJGoodsByGoodsNo(goodsNo);
|
||||||
|
return getSuccessResult(goods);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成13位数字条码信息
|
* 生成13位数字条码信息
|
||||||
* @return
|
* @return
|
||||||
|
@ -0,0 +1,38 @@
|
|||||||
|
package com.fuint.business.convenienceSore.controller;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.fuint.business.convenienceSore.entity.SaleDetail;
|
||||||
|
import com.fuint.business.convenienceSore.service.SaleDetailService;
|
||||||
|
import com.fuint.business.convenienceSore.vo.SaleDetailVo;
|
||||||
|
import com.fuint.business.convenienceSore.vo.SaleStatisticVo;
|
||||||
|
import com.fuint.framework.web.BaseController;
|
||||||
|
import com.fuint.framework.web.ResponseObject;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/business/convenience/saleDetail")
|
||||||
|
public class SaleDetailController extends BaseController {
|
||||||
|
@Autowired
|
||||||
|
private SaleDetailService saleDetailService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件查询库存商品信息
|
||||||
|
* @param saleDetailVo
|
||||||
|
* @param pageNo
|
||||||
|
* @param pageSize
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public ResponseObject list(SaleDetailVo saleDetailVo,
|
||||||
|
@RequestParam(value = "page",defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize){
|
||||||
|
Page page =new Page(pageNo,pageSize);
|
||||||
|
IPage<SaleDetailVo> list = saleDetailService.selectSaleDetailList(page, saleDetailVo);
|
||||||
|
return getSuccessResult(list);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,72 @@
|
|||||||
|
package com.fuint.business.convenienceSore.controller;
|
||||||
|
|
||||||
|
import com.alibaba.excel.EasyExcel;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.fuint.business.convenienceSore.service.SaleStatisticService;
|
||||||
|
import com.fuint.business.convenienceSore.vo.SaleStatisticVo;
|
||||||
|
import com.fuint.business.convenienceSore.vo.StockStatisticVo;
|
||||||
|
import com.fuint.framework.web.BaseController;
|
||||||
|
import com.fuint.framework.web.ResponseObject;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 销售统计信息 controller层
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/business/convenience/saleStatistic")
|
||||||
|
public class SaleStatisticController extends BaseController {
|
||||||
|
@Autowired
|
||||||
|
private SaleStatisticService saleService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件查询销售统计信息
|
||||||
|
* @param saleVo
|
||||||
|
* @param pageNo
|
||||||
|
* @param pageSize
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public ResponseObject list(SaleStatisticVo saleVo,
|
||||||
|
@RequestParam(value = "page",defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize){
|
||||||
|
Page page =new Page(pageNo,pageSize);
|
||||||
|
IPage<SaleStatisticVo> list = saleService.selectSaleList(page, saleVo);
|
||||||
|
return getSuccessResult(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出销售统计信息
|
||||||
|
* @param response
|
||||||
|
* @param request
|
||||||
|
*/
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(@Validated @RequestBody SaleStatisticVo saleVo, HttpServletResponse response, HttpServletRequest request) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
String filenames = "商品销售统计";
|
||||||
|
String userAgent = request.getHeader("User-Agent");
|
||||||
|
if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {
|
||||||
|
filenames = URLEncoder.encode(filenames, "UTF-8");
|
||||||
|
} else {
|
||||||
|
filenames = new String(filenames.getBytes("UTF-8"), "ISO-8859-1");
|
||||||
|
}
|
||||||
|
response.setContentType("application/json.ms-exce");
|
||||||
|
response.setCharacterEncoding("utf-8");
|
||||||
|
response.addHeader("Content-Disposition", "filename=" + filenames + ".xlsx");
|
||||||
|
|
||||||
|
List<SaleStatisticVo> list = saleService.selectSales(saleVo);
|
||||||
|
|
||||||
|
EasyExcel.write(response.getOutputStream(), SaleStatisticVo.class).sheet("sheet").doWrite(list);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -9,6 +9,7 @@ import com.fuint.business.userManager.listener.EasyExcelListener;
|
|||||||
import com.fuint.framework.web.BaseController;
|
import com.fuint.framework.web.BaseController;
|
||||||
import com.fuint.framework.web.ResponseObject;
|
import com.fuint.framework.web.ResponseObject;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
@ -52,7 +53,7 @@ public class StockStatisticController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/export")
|
@PostMapping("/export")
|
||||||
public void export(HttpServletResponse response, HttpServletRequest request) {
|
public void export(@Validated @RequestBody StockStatisticVo stockStatisticVo, HttpServletResponse response, HttpServletRequest request) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String filenames = "商品-库存统计";
|
String filenames = "商品-库存统计";
|
||||||
@ -66,7 +67,7 @@ public class StockStatisticController extends BaseController {
|
|||||||
response.setCharacterEncoding("utf-8");
|
response.setCharacterEncoding("utf-8");
|
||||||
response.addHeader("Content-Disposition", "filename=" + filenames + ".xlsx");
|
response.addHeader("Content-Disposition", "filename=" + filenames + ".xlsx");
|
||||||
|
|
||||||
List<StockStatisticVo> list = stockService.selectStocks();
|
List<StockStatisticVo> list = stockService.selectStocks(stockStatisticVo);
|
||||||
|
|
||||||
EasyExcel.write(response.getOutputStream(), StockStatisticVo.class).sheet("sheet").doWrite(list);
|
EasyExcel.write(response.getOutputStream(), StockStatisticVo.class).sheet("sheet").doWrite(list);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供应商 controller层
|
* 供应商 controller层
|
||||||
*/
|
*/
|
||||||
@ -41,11 +43,23 @@ public class SupplierController extends BaseController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ResponseObject staffInfo(@PathVariable Integer id){
|
public ResponseObject supplierInfo(@PathVariable Integer id){
|
||||||
Supplier supplier = supplierService.selectSupplierById(id);
|
Supplier supplier = supplierService.selectSupplierById(id);
|
||||||
return getSuccessResult(supplier);
|
return getSuccessResult(supplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据id查询供应商信息
|
||||||
|
* @param map
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/byName")
|
||||||
|
public ResponseObject supplierByName(@Validated @RequestBody Map<String ,String > map){
|
||||||
|
String name = map.get("name");
|
||||||
|
Supplier supplier = supplierService.selectSupplierByName(name);
|
||||||
|
return getSuccessResult(supplier);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除供应商信息
|
* 删除供应商信息
|
||||||
* @return
|
* @return
|
||||||
|
@ -50,10 +50,4 @@ public class CvsGoods extends BaseEntity implements Serializable {
|
|||||||
@ApiModelProperty("商品状态")
|
@ApiModelProperty("商品状态")
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
@TableField(exist = false)
|
|
||||||
private Integer pageNum;
|
|
||||||
|
|
||||||
@TableField(exist = false)
|
|
||||||
private Integer pageSize;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,64 @@
|
|||||||
|
package com.fuint.business.convenienceSore.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fuint.framework.entity.BaseEntity;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 销售详情表(SaleDetail)实体类
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("sale_detail")
|
||||||
|
@ApiModel(value = "SaleDetail对象", description = "销售详情表")
|
||||||
|
public class SaleDetail extends BaseEntity implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
/**
|
||||||
|
* 主键
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("自增ID")
|
||||||
|
@TableId(value = "ID", type = IdType.AUTO)
|
||||||
|
private Integer id;
|
||||||
|
/**
|
||||||
|
* 商品id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("商品id")
|
||||||
|
private Integer goodsId;
|
||||||
|
/**
|
||||||
|
* 销售统计id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("销售统计id")
|
||||||
|
private Integer saleId;
|
||||||
|
/**
|
||||||
|
* 商铺id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("商铺id")
|
||||||
|
private Integer storeId;
|
||||||
|
/**
|
||||||
|
* 销售数量
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("销售数量")
|
||||||
|
private Integer saleNumber;
|
||||||
|
/**
|
||||||
|
* 销售总额
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("销售总额")
|
||||||
|
private Double saleTotal;
|
||||||
|
/**
|
||||||
|
* 成本总额
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("成本总额")
|
||||||
|
private Double costTotal;
|
||||||
|
/**
|
||||||
|
* 盈利总额
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("盈利总额")
|
||||||
|
private Double profitTotal;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,60 @@
|
|||||||
|
package com.fuint.business.convenienceSore.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fuint.framework.entity.BaseEntity;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 销售统计表(SaleStatistic)实体类
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("sale_statistic")
|
||||||
|
@ApiModel(value = "SaleStatistic对象", description = "销售统计表")
|
||||||
|
public class SaleStatistic extends BaseEntity implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
/**
|
||||||
|
* 主键
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("自增ID")
|
||||||
|
@TableId(value = "ID", type = IdType.AUTO)
|
||||||
|
private Integer id;
|
||||||
|
/**
|
||||||
|
* 商品id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("商品id")
|
||||||
|
private Integer goodsId;
|
||||||
|
/**
|
||||||
|
* 商铺id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("商铺id")
|
||||||
|
private Integer storeId;
|
||||||
|
/**
|
||||||
|
* 销售数量
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("销售数量")
|
||||||
|
private Integer saleNumber;
|
||||||
|
/**
|
||||||
|
* 销售总额
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("销售总额")
|
||||||
|
private Double saleTotal;
|
||||||
|
/**
|
||||||
|
* 成本总额
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("成本总额")
|
||||||
|
private Double costTotal;
|
||||||
|
/**
|
||||||
|
* 盈利总额
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("盈利总额")
|
||||||
|
private Double profitTotal;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.fuint.business.convenienceSore.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.fuint.business.convenienceSore.entity.SaleDetail;
|
||||||
|
import com.fuint.business.convenienceSore.vo.SaleDetailVo;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
public interface SaleDetailMapper extends BaseMapper<SaleDetail> {
|
||||||
|
/**
|
||||||
|
* 根据条件分页查询销售详情信息
|
||||||
|
* @param page
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public IPage<SaleDetailVo> selectSaleDetailList(Page page, @Param("saleDetail") SaleDetailVo saleDetail);
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
package com.fuint.business.convenienceSore.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.fuint.business.convenienceSore.entity.SaleStatistic;
|
||||||
|
import com.fuint.business.convenienceSore.vo.SaleStatisticVo;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface SaleStatisticMapper extends BaseMapper<SaleStatistic> {
|
||||||
|
/**
|
||||||
|
* 根据条件分页查询库存统计信息
|
||||||
|
* @param page
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public IPage<SaleStatisticVo> selectSaleList(Page page, @Param("sale") SaleStatisticVo saleStatisticVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件分页查询库存统计信息
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SaleStatisticVo> selectSales(@Param("sale") SaleStatisticVo saleStatisticVo);
|
||||||
|
}
|
@ -20,10 +20,10 @@ public interface StockStatisticMapper extends BaseMapper<StockStatistic> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param storeId
|
* @param stock
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<StockStatisticVo> selectStocks(@Param("storeId") Integer storeId);
|
public List<StockStatisticVo> selectStocks(@Param("stock") StockStatisticVo stock);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id查询库存统计信息
|
* 根据id查询库存统计信息
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
<?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.fuint.business.convenienceSore.mapper.SaleDetailMapper">
|
||||||
|
<sql id="selectSaleDetail">
|
||||||
|
select sd.*,mg.name,mg.buying_price,mg.retail_price,mg.member_price from sale_detail sd
|
||||||
|
inner join mt_goods mg on sd.goods_id = mg.id
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectSaleDetailList" resultType="com.fuint.business.convenienceSore.vo.SaleDetailVo">
|
||||||
|
<include refid="selectSaleDetail"></include>
|
||||||
|
<where>
|
||||||
|
sd.store_id = #{saleDetail.storeId}
|
||||||
|
and sd.sale_id = #{saleDetail.saleId}
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
</mapper>
|
@ -0,0 +1,52 @@
|
|||||||
|
<?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.fuint.business.convenienceSore.mapper.SaleStatisticMapper">
|
||||||
|
<sql id="selectSale">
|
||||||
|
select sa.*,mg.name,mg.goods_no,mg.pinyin_code,mg.unit from sale_statistic sa
|
||||||
|
inner join mt_goods mg on sa.goods_id = mg.id
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectSaleList" resultType="com.fuint.business.convenienceSore.vo.SaleStatisticVo">
|
||||||
|
<include refid="selectSale"></include>
|
||||||
|
<where>
|
||||||
|
sa.store_id = #{sale.storeId}
|
||||||
|
<if test="sale.name != null and sale.name != ''">
|
||||||
|
and mg.name like concat('%', #{sale.name}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="sale.pinyinCode != null and sale.pinyinCode != ''">
|
||||||
|
and mg.pinyin_code like concat('%', #{sale.pinyinCode}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="sale.goodsNo != null and sale.goodsNo != ''">
|
||||||
|
and mg.goods_no like concat('%', #{sale.goodsNo}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="sale.params.beginTime != null and sale.params.beginTime != ''"><!-- 开始时间检索 -->
|
||||||
|
and date_format(sa.update_time,'%y%m%d') >= date_format(#{sale.params.beginTime},'%y%m%d')
|
||||||
|
</if>
|
||||||
|
<if test="sale.params.endTime != null and sale.params.endTime != ''"><!-- 结束时间检索 -->
|
||||||
|
and date_format(sa.update_time,'%y%m%d') <= date_format(#{sale.params.endTime},'%y%m%d')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
<select id="selectSales" resultType="com.fuint.business.convenienceSore.vo.SaleStatisticVo"
|
||||||
|
parameterType="com.fuint.business.convenienceSore.vo.SaleStatisticVo">
|
||||||
|
<include refid="selectSale"></include>
|
||||||
|
<where>
|
||||||
|
sa.store_id = #{sale.storeId}
|
||||||
|
<if test="sale.name != null and sale.name != ''">
|
||||||
|
and mg.name like concat('%', #{sale.name}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="sale.pinyinCode != null and sale.pinyinCode != ''">
|
||||||
|
and mg.pinyin_code like concat('%', #{sale.pinyinCode}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="sale.goodsNo != null and sale.goodsNo != ''">
|
||||||
|
and mg.goods_no like concat('%', #{sale.goodsNo}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="sale.params.beginTime != null and sale.params.beginTime != ''"><!-- 开始时间检索 -->
|
||||||
|
and date_format(sa.update_time,'%y%m%d') >= date_format(#{sale.params.beginTime},'%y%m%d')
|
||||||
|
</if>
|
||||||
|
<if test="sale.params.endTime != null and sale.params.endTime != ''"><!-- 结束时间检索 -->
|
||||||
|
and date_format(sa.update_time,'%y%m%d') <= date_format(#{sale.params.endTime},'%y%m%d')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
</mapper>
|
@ -46,7 +46,28 @@
|
|||||||
parameterType="java.lang.Integer">
|
parameterType="java.lang.Integer">
|
||||||
<include refid="selectStock"></include>
|
<include refid="selectStock"></include>
|
||||||
<where>
|
<where>
|
||||||
st.store_id = #{storeId}
|
st.store_id = #{stock.storeId}
|
||||||
|
<if test="stock.cvsGoodId != null and stock.cvsGoodId != ''">
|
||||||
|
and st.cvs_good_id = #{stock.cvsGoodId}
|
||||||
|
</if>
|
||||||
|
<if test="stock.supplierId != null and stock.supplierId != ''">
|
||||||
|
and st.supplier_id = #{stock.supplierId}
|
||||||
|
</if>
|
||||||
|
<if test="stock.name != null and stock.name != ''">
|
||||||
|
and mg.name like concat('%', #{stock.name}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="stock.pinyinCode != null and stock.pinyinCode != ''">
|
||||||
|
and mg.pinyin_code like concat('%', #{stock.pinyinCode}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="stock.goodsNo != null and stock.goodsNo != ''">
|
||||||
|
and mg.goods_no like concat('%', #{stock.goodsNo}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="stock.shelfNumber != null and stock.shelfNumber != ''">
|
||||||
|
and mg.shelf_number like concat('%', #{stock.shelfNumber}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="stock.status != null and stock.status != ''">
|
||||||
|
and mg.status = #{stock.status}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
@ -24,6 +24,13 @@ public interface LJGoodsService extends IService<LJGoods> {
|
|||||||
*/
|
*/
|
||||||
public LJGoods selectLJGoodsById(int id);
|
public LJGoods selectLJGoodsById(int id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条码查询商品信息
|
||||||
|
* @param goodsNo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public LJGoods selectLJGoodsByGoodsNo(String goodsNo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成13位条码数字信息
|
* 生成13位条码数字信息
|
||||||
* @return
|
* @return
|
||||||
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.fuint.business.convenienceSore.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.fuint.business.convenienceSore.entity.SaleDetail;
|
||||||
|
import com.fuint.business.convenienceSore.vo.SaleDetailVo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 销售详情信息 业务层
|
||||||
|
*/
|
||||||
|
public interface SaleDetailService extends IService<SaleDetail> {
|
||||||
|
/**
|
||||||
|
* 根据条件分页查询销售详情信息
|
||||||
|
* @param page
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public IPage<SaleDetailVo> selectSaleDetailList(Page page, SaleDetailVo saleDetail);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加销售详情信息
|
||||||
|
* @param saleDetail
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int insertSaleDetail(SaleDetail saleDetail);
|
||||||
|
}
|
@ -0,0 +1,55 @@
|
|||||||
|
package com.fuint.business.convenienceSore.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.fuint.business.convenienceSore.entity.SaleStatistic;
|
||||||
|
import com.fuint.business.convenienceSore.vo.SaleStatisticVo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 销售统计信息 业务层
|
||||||
|
*/
|
||||||
|
public interface SaleStatisticService extends IService<SaleStatistic> {
|
||||||
|
/**
|
||||||
|
* 根据条件分页查询销售统计信息
|
||||||
|
* @param page
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public IPage<SaleStatisticVo> selectSaleList(Page page, SaleStatisticVo saleStatisticVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件查询销售统计信息
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<SaleStatisticVo> selectSales(SaleStatisticVo saleStatisticVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据id查询销售统计信息
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public SaleStatistic selectSaleById(int id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据商品id查询销售统计信息
|
||||||
|
* @param goodsId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public SaleStatistic selectSaleByGoodsId(int goodsId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 增加销售统计信息
|
||||||
|
* @param saleStatistic
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int insertSale(SaleStatistic saleStatistic);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改销售统计信息
|
||||||
|
* @param saleStatistic
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int updateSales(SaleStatistic saleStatistic);
|
||||||
|
}
|
@ -24,7 +24,7 @@ public interface StockStatisticService extends IService<StockStatistic> {
|
|||||||
* 查询所有库存统计信息
|
* 查询所有库存统计信息
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<StockStatisticVo> selectStocks();
|
public List<StockStatisticVo> selectStocks(StockStatisticVo stockStatisticVo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id查询库存统计信息
|
* 根据id查询库存统计信息
|
||||||
|
@ -23,6 +23,13 @@ public interface SupplierService extends IService<Supplier> {
|
|||||||
*/
|
*/
|
||||||
public Supplier selectSupplierById(int id);
|
public Supplier selectSupplierById(int id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据供应商名称查询供应商信息
|
||||||
|
* @param name
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Supplier selectSupplierByName(String name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id删除供应商信息
|
* 根据id删除供应商信息
|
||||||
* @param id
|
* @param id
|
||||||
|
@ -132,26 +132,21 @@ public class CvsGoodsServiceImpl extends ServiceImpl<CvsGoodsMapper,CvsGoods> im
|
|||||||
queryWrapper.eq("store_id",storeId);
|
queryWrapper.eq("store_id",storeId);
|
||||||
List<CvsGoods> cvsGoods = baseMapper.selectList(queryWrapper);
|
List<CvsGoods> cvsGoods = baseMapper.selectList(queryWrapper);
|
||||||
List<CvsGoodsTree> list = new ArrayList<>();
|
List<CvsGoodsTree> list = new ArrayList<>();
|
||||||
List<CvsGoodsVo> goodsVos = new ArrayList<>();
|
|
||||||
for (CvsGoods cvsGood : cvsGoods) {
|
for (CvsGoods cvsGood : cvsGoods) {
|
||||||
if (cvsGood.getPid()==0){
|
if (cvsGood.getPid()==0){
|
||||||
CvsGoodsTree cvsGoodsTree = new CvsGoodsTree();
|
CvsGoodsTree cvsGoodsTree = new CvsGoodsTree();
|
||||||
CvsGoodsVo cvsGoodsVo = new CvsGoodsVo();
|
|
||||||
|
|
||||||
cvsGoodsVo.setPid(cvsGood.getPid());
|
|
||||||
|
|
||||||
cvsGoodsTree.setValue(cvsGood.getId());
|
cvsGoodsTree.setValue(cvsGood.getId());
|
||||||
cvsGoodsTree.setLabel(cvsGood.getName());
|
cvsGoodsTree.setLabel(cvsGood.getName());
|
||||||
cvsGoodsTree.setChildren(new ArrayList<>());
|
cvsGoodsTree.setChildren(new ArrayList<>());
|
||||||
|
|
||||||
list.add(cvsGoodsTree);
|
list.add(cvsGoodsTree);
|
||||||
goodsVos.add(cvsGoodsVo);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i = 0; i < cvsGoods.size(); i++){
|
for (int i = 0; i < list.size(); i++){
|
||||||
List<CvsGoodsTree> children = new ArrayList<>();
|
List<CvsGoodsTree> children = new ArrayList<>();
|
||||||
for (CvsGoods cvsGood : cvsGoods) {
|
for (CvsGoods cvsGood : cvsGoods) {
|
||||||
if (goodsVos.get(i).getPid()==cvsGood.getPid()){
|
if (list.get(i).getValue()==cvsGood.getPid()){
|
||||||
CvsGoodsTree cvsGoodsTree = new CvsGoodsTree();
|
CvsGoodsTree cvsGoodsTree = new CvsGoodsTree();
|
||||||
cvsGoodsTree.setValue(cvsGood.getId());
|
cvsGoodsTree.setValue(cvsGood.getId());
|
||||||
cvsGoodsTree.setLabel(cvsGood.getName());
|
cvsGoodsTree.setLabel(cvsGood.getName());
|
||||||
|
@ -2,6 +2,7 @@ package com.fuint.business.convenienceSore.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@ -53,6 +54,22 @@ public class LJGoodsServiceImpl extends ServiceImpl<LJGoodsMapper, LJGoods> impl
|
|||||||
return baseMapper.selectById(id);
|
return baseMapper.selectById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条码查询商品信息
|
||||||
|
* @param goodsNo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public LJGoods selectLJGoodsByGoodsNo(String goodsNo) {
|
||||||
|
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||||
|
Integer storeId = nowAccountInfo.getStoreId();
|
||||||
|
QueryWrapper queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("goods_no",goodsNo);
|
||||||
|
queryWrapper.eq("store_id",storeId);
|
||||||
|
LJGoods ljGoods = baseMapper.selectOne(queryWrapper);
|
||||||
|
return ljGoods;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成13位条码数字信息
|
* 生成13位条码数字信息
|
||||||
* @return
|
* @return
|
||||||
|
@ -0,0 +1,97 @@
|
|||||||
|
package com.fuint.business.convenienceSore.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.fuint.business.convenienceSore.entity.LJGoods;
|
||||||
|
import com.fuint.business.convenienceSore.entity.SaleDetail;
|
||||||
|
import com.fuint.business.convenienceSore.entity.SaleStatistic;
|
||||||
|
import com.fuint.business.convenienceSore.mapper.SaleDetailMapper;
|
||||||
|
import com.fuint.business.convenienceSore.service.LJGoodsService;
|
||||||
|
import com.fuint.business.convenienceSore.service.SaleDetailService;
|
||||||
|
import com.fuint.business.convenienceSore.service.SaleStatisticService;
|
||||||
|
import com.fuint.business.convenienceSore.vo.SaleDetailVo;
|
||||||
|
import com.fuint.common.dto.AccountInfo;
|
||||||
|
import com.fuint.common.util.TokenUtil;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 销售详情信息 业务层
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class SaleDetailServiceImpl extends ServiceImpl<SaleDetailMapper, SaleDetail> implements SaleDetailService {
|
||||||
|
@Autowired
|
||||||
|
private SaleStatisticService saleStatisticService;
|
||||||
|
@Autowired
|
||||||
|
private LJGoodsService goodsService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件分页查询销售详情信息
|
||||||
|
* @param page
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<SaleDetailVo> selectSaleDetailList(Page page, SaleDetailVo saleDetail) {
|
||||||
|
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||||
|
Integer storeId = nowAccountInfo.getStoreId();
|
||||||
|
saleDetail.setStoreId(storeId);
|
||||||
|
IPage<SaleDetailVo> saleDetailVoIPage = baseMapper.selectSaleDetailList(page, saleDetail);
|
||||||
|
return saleDetailVoIPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加销售详情信息
|
||||||
|
* @param saleDetail
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insertSaleDetail(SaleDetail saleDetail) {
|
||||||
|
// 修改商品库存 库存不可小于0 小于0的话返回-1
|
||||||
|
LJGoods ljGoods = goodsService.selectLJGoodsById(saleDetail.getGoodsId());
|
||||||
|
int stock = ljGoods.getStock() - saleDetail.getSaleNumber();
|
||||||
|
if (stock>=0){
|
||||||
|
LJGoods goods = new LJGoods();
|
||||||
|
goods.setStock(stock);
|
||||||
|
goods.setId(ljGoods.getId());
|
||||||
|
goodsService.updateLJGoods(goods);
|
||||||
|
}else {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
// 根据商品id查询销售信息是否存在
|
||||||
|
SaleStatistic saleStatistic = saleStatisticService.selectSaleByGoodsId(saleDetail.getGoodsId());
|
||||||
|
SaleStatistic saleStatistic1 = new SaleStatistic();
|
||||||
|
SaleStatistic saleStatistic2 = null;
|
||||||
|
// 判断商品是否是第一次出售
|
||||||
|
if (saleStatistic==null){
|
||||||
|
// 为空则为第一次销售 添加销售统计记录
|
||||||
|
saleStatistic1.setGoodsId(saleDetail.getGoodsId());
|
||||||
|
saleStatistic1.setStoreId(saleDetail.getStoreId());
|
||||||
|
saleStatistic1.setSaleNumber(saleDetail.getSaleNumber());
|
||||||
|
saleStatistic1.setSaleTotal(saleDetail.getSaleTotal());
|
||||||
|
saleStatistic1.setCostTotal(saleDetail.getCostTotal());
|
||||||
|
saleStatistic1.setProfitTotal(saleDetail.getProfitTotal());
|
||||||
|
saleStatisticService.insertSale(saleStatistic1);
|
||||||
|
saleStatistic2 = saleStatisticService.selectSaleByGoodsId(saleDetail.getGoodsId());
|
||||||
|
saleDetail.setSaleId(saleStatistic2.getId());
|
||||||
|
}else {
|
||||||
|
// 不为空则修改销售统计记录
|
||||||
|
saleStatistic1.setGoodsId(saleDetail.getGoodsId());
|
||||||
|
saleStatistic1.setStoreId(saleDetail.getStoreId());
|
||||||
|
Integer saleNumber = saleStatistic.getSaleNumber() + saleDetail.getSaleNumber();
|
||||||
|
saleStatistic1.setSaleNumber(saleNumber);
|
||||||
|
Double saleTotal = saleStatistic.getSaleTotal() + saleDetail.getSaleTotal();
|
||||||
|
saleStatistic1.setSaleTotal(saleTotal);
|
||||||
|
Double costTotal = saleStatistic.getCostTotal() + saleDetail.getCostTotal();
|
||||||
|
saleStatistic1.setCostTotal(costTotal);
|
||||||
|
Double profitTotal = saleStatistic.getProfitTotal() + saleDetail.getProfitTotal();
|
||||||
|
saleStatistic1.setProfitTotal(profitTotal);
|
||||||
|
saleStatistic2 = saleStatisticService.selectSaleByGoodsId(saleDetail.getGoodsId());
|
||||||
|
saleStatistic1.setId(saleStatistic2.getId());
|
||||||
|
saleStatisticService.updateSales(saleStatistic1);
|
||||||
|
saleDetail.setSaleId(saleStatistic2.getId());
|
||||||
|
}
|
||||||
|
int row = baseMapper.insert(saleDetail);
|
||||||
|
return row;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,94 @@
|
|||||||
|
package com.fuint.business.convenienceSore.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.fuint.business.convenienceSore.entity.SaleStatistic;
|
||||||
|
import com.fuint.business.convenienceSore.mapper.SaleStatisticMapper;
|
||||||
|
import com.fuint.business.convenienceSore.service.SaleStatisticService;
|
||||||
|
import com.fuint.business.convenienceSore.vo.SaleStatisticVo;
|
||||||
|
import com.fuint.common.dto.AccountInfo;
|
||||||
|
import com.fuint.common.util.TokenUtil;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 销售统计信息 业务层
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class SaleStatisticServiceImpl extends ServiceImpl<SaleStatisticMapper, SaleStatistic> implements SaleStatisticService {
|
||||||
|
/**
|
||||||
|
* 根据条件分页查询销售统计信息
|
||||||
|
* @param page
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<SaleStatisticVo> selectSaleList(Page page, SaleStatisticVo saleStatisticVo) {
|
||||||
|
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||||
|
Integer storeId = nowAccountInfo.getStoreId();
|
||||||
|
saleStatisticVo.setStoreId(storeId);
|
||||||
|
IPage<SaleStatisticVo> saleStatisticVoIPage = baseMapper.selectSaleList(page, saleStatisticVo);
|
||||||
|
return saleStatisticVoIPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件查询销售统计信息
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SaleStatisticVo> selectSales(SaleStatisticVo saleStatisticVo) {
|
||||||
|
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||||
|
Integer storeId = nowAccountInfo.getStoreId();
|
||||||
|
saleStatisticVo.setStoreId(storeId);
|
||||||
|
List<SaleStatisticVo> list = baseMapper.selectSales(saleStatisticVo);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据id查询销售统计信息
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SaleStatistic selectSaleById(int id) {
|
||||||
|
SaleStatistic saleStatistic = baseMapper.selectById(id);
|
||||||
|
return saleStatistic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据商品id查询销售统计信息
|
||||||
|
* @param goodsId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SaleStatistic selectSaleByGoodsId(int goodsId) {
|
||||||
|
QueryWrapper queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("goods_id",goodsId);
|
||||||
|
SaleStatistic saleStatistic = baseMapper.selectOne(queryWrapper);
|
||||||
|
return saleStatistic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 增加销售统计信息
|
||||||
|
* @param saleStatistic
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insertSale(SaleStatistic saleStatistic) {
|
||||||
|
int row = baseMapper.insert(saleStatistic);
|
||||||
|
return row;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改销售统计信息
|
||||||
|
* @param saleStatistic
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int updateSales(SaleStatistic saleStatistic) {
|
||||||
|
int row = baseMapper.updateById(saleStatistic);
|
||||||
|
return row;
|
||||||
|
}
|
||||||
|
}
|
@ -38,10 +38,11 @@ public class StockStatisticServiceImpl extends ServiceImpl<StockStatisticMapper,
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<StockStatisticVo> selectStocks() {
|
public List<StockStatisticVo> selectStocks(StockStatisticVo stockStatisticVo) {
|
||||||
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||||
Integer storeId = nowAccountInfo.getStoreId();
|
Integer storeId = nowAccountInfo.getStoreId();
|
||||||
List<StockStatisticVo> list = baseMapper.selectStocks(storeId);
|
stockStatisticVo.setStoreId(storeId);
|
||||||
|
List<StockStatisticVo> list = baseMapper.selectStocks(stockStatisticVo);
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.fuint.business.convenienceSore.service.impl;
|
package com.fuint.business.convenienceSore.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@ -39,6 +40,22 @@ public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> i
|
|||||||
return baseMapper.selectById(id);
|
return baseMapper.selectById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据供应商名称查询供应商信息
|
||||||
|
* @param name
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Supplier selectSupplierByName(String name) {
|
||||||
|
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||||
|
Integer storeId = nowAccountInfo.getStoreId();
|
||||||
|
QueryWrapper queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("name",name);
|
||||||
|
queryWrapper.eq("store_id",storeId);
|
||||||
|
Supplier supplier = baseMapper.selectOne(queryWrapper);
|
||||||
|
return supplier;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id删除供应商信息
|
* 根据id删除供应商信息
|
||||||
* @param id
|
* @param id
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
package com.fuint.business.convenienceSore.vo;
|
package com.fuint.business.convenienceSore.vo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
public class CvsGoodsTree {
|
public class CvsGoodsTree {
|
||||||
private Integer value;
|
private Integer value;
|
||||||
private String label;
|
private String label;
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package com.fuint.business.convenienceSore.vo;
|
||||||
|
|
||||||
|
import com.fuint.framework.entity.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class SaleDetailVo extends BaseEntity {
|
||||||
|
// id
|
||||||
|
private Integer id;
|
||||||
|
// 店铺id
|
||||||
|
private Integer storeId;
|
||||||
|
// 商品id
|
||||||
|
private Integer goodsId;
|
||||||
|
// 销售统计id
|
||||||
|
private Integer saleId;
|
||||||
|
// 商品名称
|
||||||
|
private String name;
|
||||||
|
// 销售数量
|
||||||
|
private Integer saleNumber;
|
||||||
|
// 销售总额
|
||||||
|
private Double saleTotal;
|
||||||
|
// 成本总额
|
||||||
|
private Double costTotal;
|
||||||
|
// 盈利总额
|
||||||
|
private Double profitTotal;
|
||||||
|
// 成本单价
|
||||||
|
private Double buyingPrice;
|
||||||
|
// 销售单价
|
||||||
|
private Double retailPrice;
|
||||||
|
// 销售会员单价
|
||||||
|
private Double memberPrice;
|
||||||
|
}
|
@ -0,0 +1,50 @@
|
|||||||
|
package com.fuint.business.convenienceSore.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fuint.framework.entity.BaseEntity;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class SaleStatisticVo extends BaseEntity {
|
||||||
|
// id
|
||||||
|
private Integer id;
|
||||||
|
// 店铺id
|
||||||
|
private Integer storeId;
|
||||||
|
// 商品id
|
||||||
|
private Integer goodsId;
|
||||||
|
// 商品名称
|
||||||
|
@ExcelProperty(value = "商品名称")
|
||||||
|
private String name;
|
||||||
|
// 条码
|
||||||
|
@ExcelProperty(value = "条码")
|
||||||
|
private String goodsNo;
|
||||||
|
// 拼音码
|
||||||
|
@ExcelProperty(value = "拼音码")
|
||||||
|
private String pinyinCode;
|
||||||
|
// 单位
|
||||||
|
@ExcelProperty(value = "单位")
|
||||||
|
private String unit;
|
||||||
|
// 销售数量
|
||||||
|
@ExcelProperty(value = "销售数量")
|
||||||
|
private Integer saleNumber;
|
||||||
|
// 销售总额
|
||||||
|
@ExcelProperty(value = "销售总额")
|
||||||
|
private Double saleTotal;
|
||||||
|
// 成本总额
|
||||||
|
@ExcelProperty(value = "成本总额")
|
||||||
|
private Double costTotal;
|
||||||
|
// 盈利总额
|
||||||
|
@ExcelProperty(value = "盈利总额")
|
||||||
|
private Double profitTotal;
|
||||||
|
// 销售时间
|
||||||
|
@ExcelProperty(value = "销售时间")
|
||||||
|
private Date createTime;
|
||||||
|
}
|
@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 固定等级 controller层
|
* 固定等级 controller层
|
||||||
*/
|
*/
|
||||||
@ -41,11 +43,23 @@ public class FixingLevelController extends BaseController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ResponseObject staffInfo(@PathVariable Integer id){
|
public ResponseObject fixingLevelInfo(@PathVariable Integer id){
|
||||||
FixingLevel fixingLevel = fixingLevelService.selectFixingLevelById(id);
|
FixingLevel fixingLevel = fixingLevelService.selectFixingLevelById(id);
|
||||||
return getSuccessResult(fixingLevel);
|
return getSuccessResult(fixingLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据固定等级名称查询固定等级信息
|
||||||
|
* @param map
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/getName")
|
||||||
|
public ResponseObject fixingLevelByName(@Validated @RequestBody Map<String ,String> map){
|
||||||
|
String name = map.get("name");
|
||||||
|
FixingLevel fixingLevel = fixingLevelService.selectFixingLevelByName(name);
|
||||||
|
return getSuccessResult(fixingLevel);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除固定等级信息
|
* 删除固定等级信息
|
||||||
* @return
|
* @return
|
||||||
|
@ -23,6 +23,13 @@ public interface FixingLevelService extends IService<FixingLevel> {
|
|||||||
*/
|
*/
|
||||||
public FixingLevel selectFixingLevelById(int id);
|
public FixingLevel selectFixingLevelById(int id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据固定等级名称查询固定等级信息
|
||||||
|
* @param name
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public FixingLevel selectFixingLevelByName(String name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id删除固定等级信息
|
* 根据id删除固定等级信息
|
||||||
* @param id
|
* @param id
|
||||||
|
@ -2,6 +2,7 @@ package com.fuint.business.userManager.service.impl;
|
|||||||
|
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@ -59,6 +60,19 @@ public class FixingLevelServiceImpl extends ServiceImpl<FixingLevelMapper, Fixin
|
|||||||
return baseMapper.selectById(id);
|
return baseMapper.selectById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据固定等级名称查询固定等级信息
|
||||||
|
* @param name
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public FixingLevel selectFixingLevelByName(String name) {
|
||||||
|
QueryWrapper queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("name",name);
|
||||||
|
FixingLevel fixingLevel = baseMapper.selectOne(queryWrapper);
|
||||||
|
return fixingLevel;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id删除固定等级信息
|
* 根据id删除固定等级信息
|
||||||
* @param id
|
* @param id
|
||||||
|
@ -37,7 +37,7 @@ public class SysDictDataController extends BaseController
|
|||||||
|
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public ResponseObject list(SysDictData dictData,
|
public ResponseObject list(SysDictData dictData,
|
||||||
@RequestParam(value = "pageNum",defaultValue = "1") Integer pageNo,
|
@RequestParam(value = "page",defaultValue = "1") Integer pageNo,
|
||||||
@RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize)
|
@RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize)
|
||||||
{
|
{
|
||||||
Page page =new Page(pageNo,pageSize);
|
Page page =new Page(pageNo,pageSize);
|
||||||
|
Loading…
Reference in New Issue
Block a user