todo:报餐统计

This commit is contained in:
ryoeiken 2021-01-09 12:06:45 +08:00
parent 3e76d01f84
commit 61ff8b7bcc
5 changed files with 471 additions and 1 deletions

View File

@ -17,6 +17,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
@ -122,4 +123,28 @@ public class FtOrderDaoController extends BaseController {
public AjaxResult remove(@PathVariable Long[] orderIds) {
return toAjax(iFtOrderDaoService.removeByIds(Arrays.asList(orderIds)) ? 1 : 0);
}
/**
* 统计日报餐信息
*/
@GetMapping("/getStatisGetOrderOfDay")
public AjaxResult getStatisGetOrderOfDay(@RequestParam Date date) {
return iFtOrderDaoService.statisGetOrderOfDate(date);
}
/**
* 统计周报餐信息
*/
@GetMapping("/getStatisGetOrderOfWeek")
public AjaxResult getStatisGetOrderOfWeek(@RequestParam Date date) {
return iFtOrderDaoService.statisGetOrderOfWeek(date);
}
/**
* 统计月报餐信息
*/
@GetMapping("/getStatisGetOrderOfMonth")
public AjaxResult getStatisGetOrderOfMonth(@RequestParam Date date) {
return iFtOrderDaoService.statisGetOrderOfMonth(date);
}
}

View File

@ -33,6 +33,10 @@ public interface IFtOrderDaoService extends IService<FtOrderDao> {
AjaxResult statisGetOrderOfDate(Date date);
AjaxResult statisGetOrderOfWeek(Date date);
AjaxResult statisGetOrderOfMonth(Date date);
List<FtOrderDao> listDetailedByDate(Integer orderType, String start, String end);
List<FtOrderDao> listAllDetailedByDate(String start, String end);

View File

@ -130,6 +130,16 @@ public class FtOrderDaoServiceImpl extends ServiceImpl<FtOrderDaoMapper, FtOrder
return AjaxResult.success(this.baseMapper.statisGetOrderOfDate(DateUtil.beginOfDay(date).toString(), DateUtil.endOfDay(date).toString()));
}
@Override
public AjaxResult statisGetOrderOfWeek(Date date) {
return AjaxResult.success(this.baseMapper.statisGetOrderOfDate(DateUtil.beginOfWeek(date).toString(), DateUtil.endOfWeek(date).toString()));
}
@Override
public AjaxResult statisGetOrderOfMonth(Date date) {
return AjaxResult.success(this.baseMapper.statisGetOrderOfDate(DateUtil.beginOfMonth(date).toString(), DateUtil.endOfMonth(date).toString()));
}
@Override
public List<FtOrderDao> listDetailedByDate(Integer orderType, String start, String end) {
return this.baseMapper.listDetailedByDate(orderType, start, end);

View File

@ -50,4 +50,31 @@ export function exportOrder(query) {
method: 'get',
params: query
})
}
}
// 日报餐信息
export function getStatisGetOrderOfDay() {
return request({
url: '/fantang/order/getStatisGetOrderOfDay',
method: 'get',
params: query
})
}
// 周报餐信息
export function getStatisGetOrderOfWeek() {
return request({
url: '/fantang/order/getStatisGetOrderOfWeek',
method: 'get',
params: query
})
}
// 月报餐信息
export function getStatisGetOrderOfMonth() {
return request({
url: '/fantang/order/getStatisGetOrderOfMonth',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,404 @@
<template>
<div class="app-container">
<el-row>
<el-col>
选择统计日期
</el-col>
<el-col>
<el-date-picker
v-model="selectDay"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-col>
</el-row>
<el-row>
<el-col>
选择统计周
</el-col>
<el-col>
<el-date-picker
v-model="selectWeek"
type="week"
format="yyyy 第 WW 周"
placeholder="选择周">
</el-date-picker>
</el-col>
</el-row>
<el-row>
<el-col>
选择统计月
</el-col>
<el-col>
<el-date-picker
v-model="selectMonth"
type="month"
placeholder="选择月">
</el-date-picker>
</el-col>
</el-row>
<!-- <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">-->
<!-- <el-form-item label="订单类型" prop="orderType">-->
<!-- <el-select v-model="queryParams.orderType" placeholder="请选择订单类型" clearable-->
<!-- size="small">-->
<!-- <el-option-->
<!-- v-for="item in orderTypeOptions"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="总价" prop="totalPrice">-->
<!-- <el-input-->
<!-- v-model="queryParams.totalPrice"-->
<!-- placeholder="请输入总价"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="折扣" prop="discount">-->
<!-- <el-input-->
<!-- v-model="queryParams.discount"-->
<!-- placeholder="请输入折扣"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="实收" prop="receipts">-->
<!-- <el-input-->
<!-- v-model="queryParams.receipts"-->
<!-- placeholder="请输入实收"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="创建时间" prop="createAt">-->
<!-- <el-date-picker clearable size="small" style="width: 200px"-->
<!-- v-model="queryParams.createAt"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="选择创建时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="订单来源" prop="orderSrc">-->
<!-- <el-input-->
<!-- v-model="queryParams.orderSrc"-->
<!-- placeholder="请输入订单来源"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="订单现售" prop="currentPrice">-->
<!-- <el-input-->
<!-- v-model="queryParams.currentPrice"-->
<!-- placeholder="请输入订单现售"-->
<!-- clearable-->
<!-- size="small"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付方式" prop="payType">-->
<!-- <el-select v-model="queryParams.payType" placeholder="请选择支付方式" clearable size="small">-->
<!-- <el-option label="请选择字典生成" value=""/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="核销时间" prop="writeOffAt">-->
<!-- <el-date-picker clearable size="small" style="width: 200px"-->
<!-- v-model="queryParams.writeOffAt"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="选择核销时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item>-->
<!-- <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>-->
<!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <el-row :gutter="10" class="mb8">-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['fantang:order:add']"-->
<!-- >新增-->
<!-- </el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['fantang:order:edit']"-->
<!-- >修改-->
<!-- </el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="danger"-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['fantang:order:remove']"-->
<!-- >删除-->
<!-- </el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['fantang:order:export']"-->
<!-- >导出-->
<!-- </el-button>-->
<!-- </el-col>-->
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
<!-- </el-row>-->
<!-- <el-table v-loading="loading" :data="orderList" @selection-change="handleSelectionChange">-->
<!-- <el-table-column type="selection" width="55" align="center"/>-->
<!-- <el-table-column label="订单 id" align="center" prop="orderId" v-if="false"/>-->
<!-- <el-table-column label="订单类型" align="center" prop="orderType" :formatter="orderTypeFormat"/>-->
<!-- <el-table-column label="清单" align="center" prop="orderList"/>-->
<!-- <el-table-column label="总价" align="center" prop="totalPrice"/>-->
<!-- <el-table-column label="折扣" align="center" prop="discount"/>-->
<!-- <el-table-column label="实收" align="center" prop="receipts"/>-->
<!-- <el-table-column label="创建时间" align="center" prop="createAt" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.createAt, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="订单来源" align="center" prop="orderSrc"/>-->
<!-- <el-table-column label="订单现售" align="center" prop="currentPrice"/>-->
<!-- <el-table-column label="支付方式" align="center" prop="payType"/>-->
<!-- <el-table-column label="核销时间" align="center" prop="writeOffAt" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.writeOffAt, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="是否过期" align="center" prop="isExpired"/>-->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['fantang:order:edit']"-->
<!-- >修改-->
<!-- </el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['fantang:order:remove']"-->
<!-- >删除-->
<!-- </el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<!-- <pagination-->
<!-- v-show="total>0"-->
<!-- :total="total"-->
<!-- :page.sync="queryParams.pageNum"-->
<!-- :limit.sync="queryParams.pageSize"-->
<!-- @pagination="getList"-->
<!-- />-->
</div>
</template>
<script>
import {addOrder, delOrder, exportOrder, getOrder, listOrder, updateOrder} from "@/api/fantang/order";
export default {
name: "Order",
components: {},
data() {
return {
selectDay: null,
selectWeek:null,
selectMonth:null,
orderTypeOptions: [],
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
orderList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
orderType: null,
totalPrice: null,
discount: null,
receipts: null,
createAt: null,
orderSrc: null,
currentPrice: null,
payType: null,
writeOffAt: null,
},
//
form: {},
//
rules: {}
};
},
created() {
this.getList();
},
methods: {
/** 查询订单管理列表 */
getList() {
this.loading = true;
listOrder(this.queryParams).then(response => {
this.orderList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
orderId: null,
orderType: null,
workerId: null,
orderList: null,
totalPrice: null,
discount: null,
receipts: null,
createAt: null,
createBy: null,
orderSrc: null,
currentPrice: null,
payType: null,
payFlag: null,
expiredFlag: null,
writeOffFlag: null,
writeOffAt: null,
isExpired: null,
deviceId: null
};
this.resetForm("form");
},
/** 订单类型回显**/
orderTypeFormat(row, column) {
return this.selectDictLabel(this.orderTypeOptions, row.orderType);
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.orderId)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加订单管理";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const orderId = row.orderId || this.ids
getOrder(orderId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改订单管理";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.orderId != null) {
updateOrder(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addOrder(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const orderIds = row.orderId || this.ids;
this.$confirm('是否确认删除订单管理编号为"' + orderIds + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function () {
return delOrder(orderIds);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有订单管理数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function () {
return exportOrder(queryParams);
}).then(response => {
this.download(response.msg);
})
}
}
};
</script>