no message

This commit is contained in:
wangh 2024-05-22 17:12:19 +08:00
parent 74a67d07e3
commit 963c46324c
32 changed files with 1929 additions and 186 deletions

View File

@ -88,3 +88,30 @@ export function getOilNumberGun() {
}) })
} }
export function getgetInfoByEmApi(query) {
return request({
url: '/business/oilOrder/getInfoByEm',
method: 'get',
params: query
})
}
export function getInfoByOilTypeApi(query) {
return request({
url: '/business/oilOrder/getInfoByOilType',
method: 'get',
params: query
})
}
export function getInfoByOilGunApi(query) {
return request({
url: '/business/oilOrder/getInfoByOilGun',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,70 @@
<template>
<div class="app-center">
<div class="app-top">
<el-card>
<el-radio-group v-model="radio1">
<el-radio-button label="油品销售统计"></el-radio-button>
<el-radio-button label="油枪销售统计"></el-radio-button>
<!-- <el-radio-button label="无流水门店"></el-radio-button>-->
<el-radio-button label="员工销售统计"></el-radio-button>
</el-radio-group>
</el-card>
</div>
<buy-oil v-if="radio1 == '油品销售统计'"></buy-oil>
<buy-gun v-if="radio1 == '油枪销售统计'"></buy-gun>
<buy-em v-if="radio1 == '员工销售统计'"></buy-em>
</div>
</template>
<script>
import RunningWaterInstitution from "@/views/financialStatement/runningWater/tab/instituion.vue";
import RunningWaterOilDepot from "@/views/financialStatement/runningWater/tab/oilDepot.vue";
import RunningWaterDay from "@/views/financialStatement/runningWater/tab/day.vue";
import RunningWaterNone from "@/views/financialStatement/runningWater/tab/none.vue";
import BuyOil from "@/views/financialStatement/buy/tab/oil.vue";
import BuyGun from "@/views/financialStatement/buy/tab/gun.vue";
import BuyEm from "@/views/financialStatement/buy/tab/em.vue";
export default {
name: "buy-list",
data(){
return{
radio1:'油品销售统计'
}
},
components:{
BuyEm,
BuyGun,
BuyOil,
RunningWaterNone,
RunningWaterDay,
RunningWaterOilDepot,
RunningWaterInstitution
},
methods: {
handleClick(tab, event) {
console.log(tab, event);
}
}
}
</script>
<style scoped>
.app-center{
width: 100%;
box-sizing: border-box;
padding: 10px;
}
.app-top{
width: 100%;
margin-bottom: 20px;
height: 60px;
box-sizing: border-box;
}
</style>

View File

@ -0,0 +1,452 @@
<!-- 收银台订单-->
<template>
<div style="margin-top: 30px">
<el-card class="box-card">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<!-- <el-form-item label="流水编号:">-->
<!-- <el-input v-model="queryParams.orderNo"></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="交易时间:">
<!-- <el-date-picker-->
<!-- v-model="dateRange"-->
<!-- style="width: 400px"-->
<!-- size="medium"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- type="datetimerange"-->
<!-- range-separator="至"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期"-->
<!-- ></el-date-picker>-->
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="机构:" prop="deptId">-->
<!-- <el-select-->
<!-- v-model="queryParams.deptId"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付渠道:" prop="payChannel">-->
<!-- <el-select-->
<!-- v-model="queryParams.payChannel"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option label="小程序" value="applet"/>-->
<!-- <el-option label="收银台" value="cashier"/>-->
<!-- <el-option label="POS端" value="POS"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付方式:" prop="payType">-->
<!-- <el-select-->
<!-- v-model="queryParams.payType"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option label="现金" value="CASH"/>-->
<!-- <el-option label="微信" value="WECHAT"/>-->
<!-- <el-option label="支付宝" value="ALIPAY"/>-->
<!-- <el-option label="余额" value="balance"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付状态 " prop="status">-->
<!-- <el-select-->
<!-- v-model="queryParams.status"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option label="已支付" value="paid"/>-->
<!-- <el-option label="未支付" value="unpaid"/>-->
<!-- <el-option label="已退款" value="refund"/>-->
<!-- </el-select>-->
<!-- </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-button type="primary" icon="el-icon-plus" @click = "exportExcelCashier()">导出订单</el-button>-->
</el-form-item>
</el-form>
</el-card>
<el-card class="box-card">
<!-- <div slot="header" class="clearfix">-->
<!-- <span>收银台订单统计</span>-->
<!-- </div>-->
<div class="box-gang">
<div class="box">
<div class="size-hui">总加油升数</div>
<div class="size-bole">{{ sum.sumL.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">总加油笔数</div>
<div class="size-bole">{{ sum.sumOil.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">总实收金额</div>
<div class="size-bole">{{ sum.sumPayMoney.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">总油惠金额</div>
<div class="size-bole">{{ sum.sumDis.toFixed(2) }}</div>
</div>
<!-- <div class="box">-->
<!-- <div class="size-hui">银联云闪付收款</div>-->
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>-->
<!-- </div>-->
</div>
</el-card>
<el-card class="box-card">
<div class="wgang">
<div>交易明细分析列表</div>
</div>
<div class="table-box">
<el-table
:data="orderList"
style="width: 100%">
<el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column prop="realName" align="center" label="员工"> </el-table-column>
<el-table-column prop="sumOilNum" align="center" label="加油升数"> </el-table-column>
<el-table-column prop="sumCoumnt" align="center" label="加油笔数"> </el-table-column>
<el-table-column prop="sumOrderAnount" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="sumDisCount" align="center" label="优惠金额"> </el-table-column>
<el-table-column prop="sumRefPayAmount" align="center" label="退款金额"> </el-table-column>
<el-table-column prop="sumPayAmount" align="center" label="实收金额"> </el-table-column>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button style="width: 60px" size="mini"-->
<!-- @click="getOrdersInfo(scope.row)"-->
<!-- type="success" plain round>详情</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<!-- <div class="pagination-box">-->
<!-- <el-pagination-->
<!-- background-->
<!-- v-show="total>0"-->
<!-- layout="prev, pager, next"-->
<!-- :total="total"-->
<!-- :page.sync="queryParams.page"-->
<!-- :limit.sync="queryParams.pageSize"-->
<!-- @current-change="getList">-->
<!-- </el-pagination>-->
<!-- </div>-->
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-card>
<el-dialog
title="订单信息"
:visible.sync="dialogVisible">
<el-descriptions :title="'订单号:'+ordersInfo.orderNo">
<el-descriptions-item label="门店">{{ordersInfo.storeName}}</el-descriptions-item>
<el-descriptions-item label="收银员">{{ordersInfo.createBy}}</el-descriptions-item>
<el-descriptions-item label="支付渠道">{{ordersInfo.payChannel}}</el-descriptions-item>
<el-descriptions-item label="商户号">{{ordersInfo.mchntCd}}</el-descriptions-item>
<el-descriptions-item label="费率">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="订单来源">{{ordersInfo.type}}</el-descriptions-item>
<el-descriptions-item label="所属模块">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="支付方式">{{ordersInfo.payType}}</el-descriptions-item>
<el-descriptions-item label="付款用户">{{ordersInfo.userName}}</el-descriptions-item>
<el-descriptions-item label="支付状态">{{ordersInfo.status}}</el-descriptions-item>
<el-descriptions-item label="备注">{{ordersInfo.content}}</el-descriptions-item>
<!-- <el-descriptions-item label="备注">-->
<!-- <el-tag size="small">学校</el-tag>-->
<!-- </el-descriptions-item>-->
</el-descriptions>
<el-descriptions class="margin-top" title="金额详情" :column="3" border>
<el-descriptions-item>
<template slot="label">
订单金额
</template>
{{ordersInfo.goodsMoney?ordersInfo.goodsMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
优惠后应付金额
</template>
{{ordersInfo.payMoney?ordersInfo.payMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
退款金额
</template>
{{ordersInfo.refMoney?ordersInfo.refMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
实收金额
</template>
{{ordersInfo.payMoney?ordersInfo.payMoney:"--"}}
</el-descriptions-item>
</el-descriptions>
</el-dialog>
</div>
</template>
<script>
import {
exportExcelTradingApi, getmyDataApi,
getRunningWaterByTissueApi,
getTissueByDataApi,
getTradingPageApi
} from "@/api/allOrder";
import {getgetInfoByEmApi} from "@/api/order/oilorder";
export default {
name: "buy-em",
data(){
return{
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
deptList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
},
orderStatistics:{
CASH:"0",
WECHAT:"0",
ALIPAY:"0",
balance:"0",
CASHCount:"0",
WECHATCount:"0",
ALIPAYCount:"0",
balanceCount:"0",
refBalance:"0",
refBalanceCount:"0",
},
total:0,
sum: {
//
//
//
//
sumL:'0',
sumOil:'0',
sumPayMoney:'0',
sumDis:'0',
}
}
},
async created() {
let start = new Date();
start.setHours(0)
start.setMinutes(0)
start.setSeconds(0)
start.setMilliseconds(0)
this.dateRange = [start,new Date()];
this.beginTime = start
this.endTime = new Date()
this.isSysDate = true
await this.getDeptList();
this.getList();
},
methods:{
async getDeptList() {
// getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
// this.deptList = response.data.records;
// })
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelTradingApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'交易明细统计.xLsx')
})
},
//
getOrderStatistics() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getTissueByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
//
getList(val){
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getgetInfoByEmApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data;
// this.total = response.data.total;/
this.isSysDate = false
this.sum.sumL=0
this.sum.sumOil = 0
this.sum.sumPayMoney =0
this.sum.sumDis =0
this.orderList.forEach(res=>{
this.sum.sumL=this.sum.sumL+res.sumOilNum
this.sum.sumOil = this.sum.sumOil+res.sumCoumnt
this.sum.sumPayMoney = this.sum.sumPayMoney + res.sumPayAmount
this.sum.sumDis =this.sum.sumDis + res.sumDisCount
})
})
this.getOrderStatistics()
},
getOrdersInfo(data) {
this.dialogVisible = true;
this.ordersInfo = data
},
//
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
}
this.beginTime = ""
this.endTime = ""
this.getDeptList()
this.handleQuery();
},
}
}
</script>
<style scoped>
.app-top{
width: 100%;
height: 60px;
box-sizing: border-box;
padding: 10px;
}
.clearfix{
width: 100%;
}
.box-card{
width: 100%;
margin-bottom: 15px;
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
}
.box{
width: 200px;
box-sizing: border-box;
padding: 10px;
background: #f9f9f9;
height: 86px;
margin-right: 10px;
}
.size-hui{
font-size: 14px;
margin-bottom: 10px;
margin-top: 10px;
}
.size-bole{
font-weight: bold;
}
.wgang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.table-box{
width: 100%;
}
.pagination-box{
width: 100%;
margin: 10px auto;
display: flex;
align-items: center;
justify-content: center;
}
.top-app-sou{
width: 20%;
}
.tk{
text-align: center;
color: grey;
margin: 10px 0;
}
</style>

View File

@ -0,0 +1,447 @@
<!-- 收银台订单-->
<template>
<div style="margin-top: 30px">
<el-card class="box-card">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<!-- <el-form-item label="流水编号:">-->
<!-- <el-input v-model="queryParams.orderNo"></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="交易时间:">
<!-- <el-date-picker-->
<!-- v-model="dateRange"-->
<!-- style="width: 400px"-->
<!-- size="medium"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- type="datetimerange"-->
<!-- range-separator="至"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期"-->
<!-- ></el-date-picker>-->
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="机构:" prop="deptId">-->
<!-- <el-select-->
<!-- v-model="queryParams.deptId"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付渠道:" prop="payChannel">-->
<!-- <el-select-->
<!-- v-model="queryParams.payChannel"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option label="小程序" value="applet"/>-->
<!-- <el-option label="收银台" value="cashier"/>-->
<!-- <el-option label="POS端" value="POS"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付方式:" prop="payType">-->
<!-- <el-select-->
<!-- v-model="queryParams.payType"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option label="现金" value="CASH"/>-->
<!-- <el-option label="微信" value="WECHAT"/>-->
<!-- <el-option label="支付宝" value="ALIPAY"/>-->
<!-- <el-option label="余额" value="balance"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付状态 " prop="status">-->
<!-- <el-select-->
<!-- v-model="queryParams.status"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option label="已支付" value="paid"/>-->
<!-- <el-option label="未支付" value="unpaid"/>-->
<!-- <el-option label="已退款" value="refund"/>-->
<!-- </el-select>-->
<!-- </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-button type="primary" icon="el-icon-plus" @click = "exportExcelCashier()">导出订单</el-button>-->
</el-form-item>
</el-form>
</el-card>
<el-card class="box-card">
<!-- <div slot="header" class="clearfix">-->
<!-- <span>收银台订单统计</span>-->
<!-- </div>-->
<div class="box-gang">
<div class="box">
<div class="size-hui">总加油升数</div>
<div class="size-bole">{{ sum.sumL.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">总加油笔数</div>
<div class="size-bole">{{ sum.sumOil.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">总实收金额</div>
<div class="size-bole">{{ sum.sumPayMoney.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">总油惠金额</div>
<div class="size-bole">{{ sum.sumDis.toFixed(2) }}</div>
</div>
</div>
</el-card>
<el-card class="box-card">
<div class="wgang">
<div>交易明细分析列表</div>
</div>
<div class="table-box">
<el-table
:data="orderList"
style="width: 100%">
<el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column prop="gunName" align="center" label="油枪名称"> </el-table-column>
<el-table-column prop="sumOilNum" align="center" label="加油升数"> </el-table-column>
<el-table-column prop="sumCoumnt" align="center" label="加油笔数"> </el-table-column>
<el-table-column prop="sumOrderAnount" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="sumDisCount" align="center" label="优惠金额"> </el-table-column>
<el-table-column prop="sumRefPayAmount" align="center" label="退款金额"> </el-table-column>
<el-table-column prop="sumPayAmount" align="center" label="实收金额"> </el-table-column>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button style="width: 60px" size="mini"-->
<!-- @click="getOrdersInfo(scope.row)"-->
<!-- type="success" plain round>详情</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<!-- <div class="pagination-box">-->
<!-- <el-pagination-->
<!-- background-->
<!-- v-show="total>0"-->
<!-- layout="prev, pager, next"-->
<!-- :total="total"-->
<!-- :page.sync="queryParams.page"-->
<!-- :limit.sync="queryParams.pageSize"-->
<!-- @current-change="getList">-->
<!-- </el-pagination>-->
<!-- </div>-->
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-card>
<el-dialog
title="订单信息"
:visible.sync="dialogVisible">
<el-descriptions :title="'订单号:'+ordersInfo.orderNo">
<el-descriptions-item label="门店">{{ordersInfo.storeName}}</el-descriptions-item>
<el-descriptions-item label="收银员">{{ordersInfo.createBy}}</el-descriptions-item>
<el-descriptions-item label="支付渠道">{{ordersInfo.payChannel}}</el-descriptions-item>
<el-descriptions-item label="商户号">{{ordersInfo.mchntCd}}</el-descriptions-item>
<el-descriptions-item label="费率">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="订单来源">{{ordersInfo.type}}</el-descriptions-item>
<el-descriptions-item label="所属模块">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="支付方式">{{ordersInfo.payType}}</el-descriptions-item>
<el-descriptions-item label="付款用户">{{ordersInfo.userName}}</el-descriptions-item>
<el-descriptions-item label="支付状态">{{ordersInfo.status}}</el-descriptions-item>
<el-descriptions-item label="备注">{{ordersInfo.content}}</el-descriptions-item>
<!-- <el-descriptions-item label="备注">-->
<!-- <el-tag size="small">学校</el-tag>-->
<!-- </el-descriptions-item>-->
</el-descriptions>
<el-descriptions class="margin-top" title="金额详情" :column="3" border>
<el-descriptions-item>
<template slot="label">
订单金额
</template>
{{ordersInfo.goodsMoney?ordersInfo.goodsMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
优惠后应付金额
</template>
{{ordersInfo.payMoney?ordersInfo.payMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
退款金额
</template>
{{ordersInfo.refMoney?ordersInfo.refMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
实收金额
</template>
{{ordersInfo.payMoney?ordersInfo.payMoney:"--"}}
</el-descriptions-item>
</el-descriptions>
</el-dialog>
</div>
</template>
<script>
import {
exportExcelTradingApi, getmyDataApi,
getRunningWaterByTissueApi,
getTissueByDataApi,
getTradingPageApi
} from "@/api/allOrder";
import {getInfoByOilGunApi} from "@/api/order/oilorder";
export default {
name: "buy-gun",
data(){
return{
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
deptList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
},
orderStatistics:{
CASH:"0",
WECHAT:"0",
ALIPAY:"0",
balance:"0",
CASHCount:"0",
WECHATCount:"0",
ALIPAYCount:"0",
balanceCount:"0",
refBalance:"0",
refBalanceCount:"0",
},
total:0,
sum: {
//
//
//
//
sumL:'0',
sumOil:'0',
sumPayMoney:'0',
sumDis:'0',
}
}
},
async created() {
let start = new Date();
start.setHours(0)
start.setMinutes(0)
start.setSeconds(0)
start.setMilliseconds(0)
this.dateRange = [start,new Date()];
this.beginTime = start
this.endTime = new Date()
this.isSysDate = true
await this.getDeptList();
this.getList();
},
methods:{
async getDeptList() {
// getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
// this.deptList = response.data.records;
// })
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelTradingApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'交易明细统计.xLsx')
})
},
//
getOrderStatistics() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getTissueByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
//
getList(val){
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getInfoByOilGunApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data;
// this.total = response.data.total;
this.isSysDate = false
this.sum.sumL=0
this.sum.sumOil = 0
this.sum.sumPayMoney =0
this.sum.sumDis =0
this.orderList.forEach(res=>{
this.sum.sumL=this.sum.sumL+res.sumOilNum
this.sum.sumOil = this.sum.sumOil+res.sumCoumnt
this.sum.sumPayMoney = this.sum.sumPayMoney + res.sumPayAmount
this.sum.sumDis =this.sum.sumDis + res.sumDisCount
})
})
// this.getOrderStatistics()
},
getOrdersInfo(data) {
this.dialogVisible = true;
this.ordersInfo = data
},
//
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
}
this.beginTime = ""
this.endTime = ""
this.getDeptList()
this.handleQuery();
},
}
}
</script>
<style scoped>
.app-top{
width: 100%;
height: 60px;
box-sizing: border-box;
padding: 10px;
}
.clearfix{
width: 100%;
}
.box-card{
width: 100%;
margin-bottom: 15px;
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
}
.box{
width: 200px;
box-sizing: border-box;
padding: 10px;
background: #f9f9f9;
height: 86px;
margin-right: 10px;
}
.size-hui{
font-size: 14px;
margin-bottom: 10px;
margin-top: 10px;
}
.size-bole{
font-weight: bold;
}
.wgang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.table-box{
width: 100%;
}
.pagination-box{
width: 100%;
margin: 10px auto;
display: flex;
align-items: center;
justify-content: center;
}
.top-app-sou{
width: 20%;
}
.tk{
text-align: center;
color: grey;
margin: 10px 0;
}
</style>

View File

@ -0,0 +1,467 @@
<!-- 收银台订单-->
<template>
<div style="margin-top: 30px">
<el-card class="box-card">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<!-- <el-form-item label="流水编号:">-->
<!-- <el-input v-model="queryParams.orderNo"></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="交易时间:">
<!-- <el-date-picker-->
<!-- v-model="dateRange"-->
<!-- style="width: 400px"-->
<!-- size="medium"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- type="datetimerange"-->
<!-- range-separator="至"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期"-->
<!-- ></el-date-picker>-->
<el-date-picker
v-model="beginTime"
style="width: 140px"
type="date"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-model="endTime"
style="width: 140px"
type="date"
placeholder="结束日期">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="机构:" prop="deptId">-->
<!-- <el-select-->
<!-- v-model="queryParams.deptId"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付渠道:" prop="payChannel">-->
<!-- <el-select-->
<!-- v-model="queryParams.payChannel"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option label="小程序" value="applet"/>-->
<!-- <el-option label="收银台" value="cashier"/>-->
<!-- <el-option label="POS端" value="POS"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付方式:" prop="payType">-->
<!-- <el-select-->
<!-- v-model="queryParams.payType"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option label="现金" value="CASH"/>-->
<!-- <el-option label="微信" value="WECHAT"/>-->
<!-- <el-option label="支付宝" value="ALIPAY"/>-->
<!-- <el-option label="余额" value="balance"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="支付状态 " prop="status">-->
<!-- <el-select-->
<!-- v-model="queryParams.status"-->
<!-- clearable-->
<!-- placeholder="全部"-->
<!-- >-->
<!-- <el-option label="已支付" value="paid"/>-->
<!-- <el-option label="未支付" value="unpaid"/>-->
<!-- <el-option label="已退款" value="refund"/>-->
<!-- </el-select>-->
<!-- </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-button type="primary" icon="el-icon-plus" @click = "exportExcelCashier()">导出订单</el-button>-->
</el-form-item>
</el-form>
</el-card>
<el-card class="box-card">
<!-- <div slot="header" class="clearfix">-->
<!-- <span>收银台订单统计</span>-->
<!-- </div>-->
<div class="box-gang">
<div class="box">
<div class="size-hui">总加油升数</div>
<div class="size-bole">{{ sum.sumL.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">总加油笔数</div>
<div class="size-bole">{{ sum.sumOil.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">总实收金额</div>
<div class="size-bole">{{ sum.sumPayMoney.toFixed(2) }}</div>
</div>
<div class="box">
<div class="size-hui">总油惠金额</div>
<div class="size-bole">{{ sum.sumDis.toFixed(2) }}</div>
</div>
<!-- <div class="box">-->
<!-- <div class="size-hui">银联云闪付收款</div>-->
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>-->
<!-- </div>-->
</div>
</el-card>
<el-card class="box-card">
<div class="wgang">
<div>交易明细分析列表</div>
</div>
<div class="table-box">
<el-table
:data="orderList"
style="width: 100%">
<el-table-column type="index" width="50" align="center" label="序号"/>
<!-- <el-table-column prop="payTime" align="center" label="支付时间" width="220"> </el-table-column>-->
<!-- <el-table-column prop="orderNo" align="center" label="订单号" width="220"> </el-table-column>-->
<el-table-column prop="oilName" align="center" label="油品名称"> </el-table-column>
<el-table-column prop="sumOilNum" align="center" label="加油升数"> </el-table-column>
<el-table-column prop="sumCoumnt" align="center" label="加油笔数"> </el-table-column>
<el-table-column prop="sumOrderAnount" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="sumDisCount" align="center" label="优惠金额"> </el-table-column>
<el-table-column prop="sumRefPayAmount" align="center" label="退款金额">
<template slot-scope="scope">
<span v-if="scope.row.sumRefPayAmount">{{ scope.row.sumRefPayAmount }}</span>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column prop="sumPayAmount" align="center" label="实收金额"> </el-table-column>
<!-- <el-table-column prop="userName" align="center" label="付款用户" > </el-table-column>-->
<!-- <el-table-column prop="content" align="content" label="备注" > </el-table-column>-->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button style="width: 60px" size="mini"-->
<!-- @click="getOrdersInfo(scope.row)"-->
<!-- type="success" plain round>详情</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<!-- <div class="pagination-box">-->
<!-- <el-pagination-->
<!-- background-->
<!-- v-show="total>0"-->
<!-- layout="prev, pager, next"-->
<!-- :total="total"-->
<!-- :page.sync="queryParams.page"-->
<!-- :limit.sync="queryParams.pageSize"-->
<!-- @current-change="getList">-->
<!-- </el-pagination>-->
<!-- </div>-->
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-card>
<el-dialog
title="订单信息"
:visible.sync="dialogVisible">
<el-descriptions :title="'订单号:'+ordersInfo.orderNo">
<el-descriptions-item label="门店">{{ordersInfo.storeName}}</el-descriptions-item>
<el-descriptions-item label="收银员">{{ordersInfo.createBy}}</el-descriptions-item>
<el-descriptions-item label="支付渠道">{{ordersInfo.payChannel}}</el-descriptions-item>
<el-descriptions-item label="商户号">{{ordersInfo.mchntCd}}</el-descriptions-item>
<el-descriptions-item label="费率">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="订单来源">{{ordersInfo.type}}</el-descriptions-item>
<el-descriptions-item label="所属模块">{{ordersInfo.amount}}</el-descriptions-item>
<el-descriptions-item label="支付方式">{{ordersInfo.payType}}</el-descriptions-item>
<el-descriptions-item label="付款用户">{{ordersInfo.userName}}</el-descriptions-item>
<el-descriptions-item label="支付状态">{{ordersInfo.status}}</el-descriptions-item>
<el-descriptions-item label="备注">{{ordersInfo.content}}</el-descriptions-item>
<!-- <el-descriptions-item label="备注">-->
<!-- <el-tag size="small">学校</el-tag>-->
<!-- </el-descriptions-item>-->
</el-descriptions>
<el-descriptions class="margin-top" title="金额详情" :column="3" border>
<el-descriptions-item>
<template slot="label">
订单金额
</template>
{{ordersInfo.goodsMoney?ordersInfo.goodsMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
优惠后应付金额
</template>
{{ordersInfo.payMoney?ordersInfo.payMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
退款金额
</template>
{{ordersInfo.refMoney?ordersInfo.refMoney:"--"}}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
实收金额
</template>
{{ordersInfo.payMoney?ordersInfo.payMoney:"--"}}
</el-descriptions-item>
</el-descriptions>
</el-dialog>
</div>
</template>
<script>
import {
exportExcelTradingApi, getmyDataApi,
getRunningWaterByTissueApi,
getTissueByDataApi,
getTradingPageApi
} from "@/api/allOrder";
import {getInfoByOilTypeApi} from "@/api/order/oilorder";
export default {
name: "buy-oil",
data(){
return{
radio1:"油号选错",
loading:false,
dialogVisible:false,
//
staffList:[],
ordersInfo:{},
//
dateRange: [],
beginTime:"",
endTime:"",
//
isSysDate:false,
//
orderList:[],
deptList:[],
//
queryParams: {
page: 1,
pageSize: 10,
beginTime:"",
endTime:"",
orderNo:"",
status:"",
payType:"",
payChannel:"",
deptType:"3",
storeId:"",
deptId:"",
},
orderStatistics:{
CASH:"0",
WECHAT:"0",
ALIPAY:"0",
balance:"0",
CASHCount:"0",
WECHATCount:"0",
ALIPAYCount:"0",
balanceCount:"0",
refBalance:"0",
refBalanceCount:"0",
},
total:0,
sum: {
//
//
//
//
sumL:'0',
sumOil:'0',
sumPayMoney:'0',
sumDis:'0',
}
}
},
async created() {
let start = new Date();
start.setHours(0)
start.setMinutes(0)
start.setSeconds(0)
start.setMilliseconds(0)
this.dateRange = [start,new Date()];
this.beginTime = start
this.endTime = new Date()
this.isSysDate = true
await this.getDeptList();
this.getList();
},
methods:{
async getDeptList() {
// getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
// this.deptList = response.data.records;
// })
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
exportExcelCashier() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
exportExcelTradingApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
this.$download.saveAs(blob,'交易明细统计.xLsx')
})
},
//
getOrderStatistics() {
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getInfoByOilTypeApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data
})
},
//
getList(val){
let dateRange = []
if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getInfoByOilTypeApi(this.addDateRange(this.queryParams,dateRange)).then(response => {
this.orderList = response.data;
// this.total = response.data.total;
this.isSysDate = false
this.sum.sumL=0
this.sum.sumOil = 0
this.sum.sumPayMoney =0
this.sum.sumDis =0
this.orderList.forEach(res=>{
this.sum.sumL=this.sum.sumL+res.sumOilNum
this.sum.sumOil = this.sum.sumOil+res.sumCoumnt
this.sum.sumPayMoney = this.sum.sumPayMoney + res.sumPayAmount
this.sum.sumDis =this.sum.sumDis + res.sumDisCount
})
})
this.getOrderStatistics()
},
getOrdersInfo(data) {
this.dialogVisible = true;
this.ordersInfo = data
},
//
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
//
resetQuery() {
this.dateRange = [];
this.queryParams = {
page: 1,
pageSize: 10,
}
this.beginTime = ""
this.endTime = ""
this.getDeptList()
this.handleQuery();
},
}
}
</script>
<style scoped>
.app-top{
width: 100%;
height: 60px;
box-sizing: border-box;
padding: 10px;
}
.clearfix{
width: 100%;
}
.box-card{
width: 100%;
margin-bottom: 15px;
}
.box-gang{
width: 100%;
display: flex;
align-items: center;
}
.box{
width: 200px;
box-sizing: border-box;
padding: 10px;
background: #f9f9f9;
height: 86px;
margin-right: 10px;
}
.size-hui{
font-size: 14px;
margin-bottom: 10px;
margin-top: 10px;
}
.size-bole{
font-weight: bold;
}
.wgang{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.table-box{
width: 100%;
}
.pagination-box{
width: 100%;
margin: 10px auto;
display: flex;
align-items: center;
justify-content: center;
}
.top-app-sou{
width: 20%;
}
.tk{
text-align: center;
color: grey;
margin: 10px 0;
}
</style>

View File

@ -29,18 +29,18 @@
placeholder="结束日期"> placeholder="结束日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="机构:" prop="deptId"> <!-- <el-form-item label="机构:" prop="deptId">-->
<el-select <!-- <el-select-->
v-model="queryParams.deptId" <!-- v-model="queryParams.deptId"-->
clearable <!-- clearable-->
placeholder="全部" <!-- placeholder="全部"-->
> <!-- >-->
<el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId"> <!-- <el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId">-->
</el-option> <!-- </el-option>-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="支付渠道:" prop="payChannel"> <el-form-item label="支付渠道:" prop="payChannel">
<el-select <el-select
v-model="queryParams.payChannel" v-model="queryParams.payChannel"
@ -221,7 +221,7 @@
<script> <script>
import {getRunningWaterByTissueApi, getTissueByDataApi, getTradingPageApi} from "@/api/allOrder"; import {getmyDataApi, getRunningWaterByTissueApi, getTissueByDataApi, getTradingPageApi} from "@/api/allOrder";
export default { export default {
name: "reconciliation-ref", name: "reconciliation-ref",
@ -260,7 +260,7 @@ import {getRunningWaterByTissueApi, getTissueByDataApi, getTradingPageApi} from
total:0, total:0,
} }
}, },
created() { async created() {
let start = new Date(); let start = new Date();
start.setHours(0) start.setHours(0)
start.setMinutes(0) start.setMinutes(0)
@ -270,8 +270,9 @@ import {getRunningWaterByTissueApi, getTissueByDataApi, getTradingPageApi} from
this.beginTime = start this.beginTime = start
this.endTime = new Date() this.endTime = new Date()
this.isSysDate = true this.isSysDate = true
await this.getDeptList();
this.getList(); this.getList();
this.getDeptList();
}, },
methods:{ methods:{
@ -306,17 +307,24 @@ import {getRunningWaterByTissueApi, getTissueByDataApi, getTradingPageApi} from
// //
getList(val){ getList(val){
let dateRange = []
getTradingPageApi(this.addDateRange(this.queryParams)).then( response => { if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getTradingPageApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records; this.orderList = response.data.records;
this.total = response.data.total; this.total = response.data.total;
this.isSysDate = false this.isSysDate = false
}) })
this.getOrderStatistics() this.getOrderStatistics()
}, },
getDeptList() { async getDeptList() {
getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => { // getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
this.deptList = response.data.records; // this.deptList = response.data.records;
// })
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
}) })
}, },
// //
@ -333,6 +341,10 @@ import {getRunningWaterByTissueApi, getTissueByDataApi, getTradingPageApi} from
} }
this.beginTime = "" this.beginTime = ""
this.endTime = "" this.endTime = ""
this.status = "refund"
this.getDeptList()
this.handleQuery(); this.handleQuery();
}, },
} }

View File

@ -92,27 +92,27 @@
<div class="box-gang"> <div class="box-gang">
<div class="box"> <div class="box">
<div class="size-hui">微信收款</div> <div class="size-hui">微信收款</div>
<div class="size-bole">{{ orderStatistics.cash?orderStatistics.cash:0 }}/{{orderStatistics.cashcount}}</div>
</div>
<div class="box">
<div class="size-hui">支付宝收款</div>
<div class="size-bole">{{ orderStatistics.wechat?orderStatistics.wechat:0 }}/{{orderStatistics.wechatcount}}</div> <div class="size-bole">{{ orderStatistics.wechat?orderStatistics.wechat:0 }}/{{orderStatistics.wechatcount}}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">会员钱包收款</div> <div class="size-hui">支付宝收款</div>
<div class="size-bole">{{ orderStatistics.alipay?orderStatistics.alipay:0 }}/{{orderStatistics.alipaycount}}</div> <div class="size-bole">{{ orderStatistics.alipay?orderStatistics.alipay:0 }}/{{orderStatistics.alipaycount}}</div>
</div> </div>
<!-- <div class="box">--> <div class="box">
<!-- <div class="size-hui">银行卡收款</div>--> <div class="size-hui">会员钱包收款</div>
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>--> <div class="size-bole">{{ orderStatistics.balance?orderStatistics.balance:0 }}/{{orderStatistics.balanceCount}}</div>
<!-- </div>--> </div>
<!-- <div class="box">--> <!-- <div class="box">-->
<!-- <div class="size-hui">银联云闪付收款</div>--> <!-- <div class="size-hui">银行卡收款</div>-->
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>--> <!-- <div class="size-bole">{{ 0 }}/{{0}}</div>-->
<!-- </div>--> <!-- </div>-->
<!-- <div class="box">-->
<!-- <div class="size-hui">银联云闪付收款</div>-->
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>-->
<!-- </div>-->
<div class="box"> <div class="box">
<div class="size-hui">现金支付收款</div> <div class="size-hui">现金支付收款</div>
<div class="size-bole">{{ orderStatistics.balance?orderStatistics.balance:0 }}/{{orderStatistics.balanceCount}}</div> <div class="size-bole">{{ orderStatistics.cash?orderStatistics.cash:0 }}/{{orderStatistics.cashcount}}</div>
</div> </div>
</div> </div>
</el-card> </el-card>
@ -320,7 +320,7 @@ import {
total:0, total:0,
} }
}, },
created() { async created() {
let start = new Date(); let start = new Date();
start.setHours(0) start.setHours(0)
start.setMinutes(0) start.setMinutes(0)
@ -330,16 +330,17 @@ import {
this.beginTime = start this.beginTime = start
this.endTime = new Date() this.endTime = new Date()
this.isSysDate = true this.isSysDate = true
await this.getDeptList();
this.getList(); this.getList();
this.getDeptList();
}, },
methods:{ methods:{
getDeptList() { async getDeptList() {
// getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => { // getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
// this.deptList = response.data.records; // this.deptList = response.data.records;
// }) // })
getmyDataApi(this.addDateRange(this.queryParams)).then( response => { await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId; this.queryParams.deptId = response.data.deptId;
}) })
}, },
@ -374,7 +375,7 @@ import {
dateRange.push(this.beginTime.toLocaleDateString()) dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString()) dateRange.push(this.endTime.toLocaleDateString())
} }
getTradingPageApi(this.addDateRange(this.queryParams,dateRange)).then( response => { getTradingPageApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records; this.orderList = response.data.records;
this.total = response.data.total; this.total = response.data.total;
this.isSysDate = false this.isSysDate = false
@ -399,6 +400,8 @@ import {
} }
this.beginTime = "" this.beginTime = ""
this.endTime = "" this.endTime = ""
this.getDeptList()
this.handleQuery(); this.handleQuery();
}, },
} }

View File

@ -5,7 +5,7 @@
<el-radio-group v-model="radio1"> <el-radio-group v-model="radio1">
<!-- <el-radio-button label="机构流水分析"></el-radio-button>--> <!-- <el-radio-button label="机构流水分析"></el-radio-button>-->
<el-radio-button label="油站流水分析"></el-radio-button> <el-radio-button label="油站流水分析"></el-radio-button>
<el-radio-button label="无流水门店"></el-radio-button> <!-- <el-radio-button label="无流水门店"></el-radio-button>-->
<el-radio-button label="日流水分析"></el-radio-button> <el-radio-button label="日流水分析"></el-radio-button>
</el-radio-group> </el-radio-group>
</el-card> </el-card>
@ -29,7 +29,7 @@ export default {
name: "runningWater-list", name: "runningWater-list",
data(){ data(){
return{ return{
radio1:'机构流水分析' radio1:'油站流水分析'
} }
}, },
components:{ components:{

View File

@ -85,7 +85,7 @@
<el-table-column type="index" width="50" align="center" label="序号"/> <el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column prop="payTime" align="center" label="日期"></el-table-column> <el-table-column prop="payTime" align="center" label="日期"></el-table-column>
<!-- <el-table-column prop="seekZero" align="center" label="活跃机构数量"> </el-table-column>--> <!-- <el-table-column prop="seekZero" align="center" label="活跃机构数量"> </el-table-column>-->
<el-table-column prop="storeCount" align="center" label="活跃门店数量"> </el-table-column> <!-- <el-table-column prop="storeCount" align="center" label="活跃门店数量"> </el-table-column>-->
<el-table-column prop="amount" align="center" label="交易金额"> </el-table-column> <el-table-column prop="amount" align="center" label="交易金额"> </el-table-column>
<el-table-column prop="strokeCount" align="center" label="交易笔数"> </el-table-column> <el-table-column prop="strokeCount" align="center" label="交易笔数"> </el-table-column>
<el-table-column prop="unitPrice" align="center" label="笔单价"> <el-table-column prop="unitPrice" align="center" label="笔单价">
@ -93,16 +93,16 @@
<span>{{scope.row.unitPrice}}</span> <span>{{scope.row.unitPrice}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="dailyAmount" align="center" label="日均交易金额"> <!-- <el-table-column prop="dailyAmount" align="center" label="日均交易金额">-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<span>{{ (scope.row.amount / scope.row.storeCount).toFixed(2) }}</span> <!-- <span>{{ (scope.row.amount / scope.row.storeCount).toFixed(2) }}</span>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column prop="strokesPerDay" align="center" label="日均交易笔数"> <!-- <el-table-column prop="strokesPerDay" align="center" label="日均交易笔数">-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<span>{{ (scope.row.strokeCount / scope.row.storeCount).toFixed(2) }}</span> <!-- <span>{{ (scope.row.strokeCount / scope.row.storeCount).toFixed(2) }}</span>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<!-- <el-table-column prop="seekZero" align="center" label="机构日均交易金额"> </el-table-column>--> <!-- <el-table-column prop="seekZero" align="center" label="机构日均交易金额"> </el-table-column>-->
<!-- <el-table-column prop="seekZero" align="center" label="机构日均交易笔数"> </el-table-column>--> <!-- <el-table-column prop="seekZero" align="center" label="机构日均交易笔数"> </el-table-column>-->
<!-- <el-table-column prop="seekZero" align="center" label="门店日均交易金额"> </el-table-column>--> <!-- <el-table-column prop="seekZero" align="center" label="门店日均交易金额"> </el-table-column>-->
@ -126,7 +126,13 @@
<script> <script>
import {exportExcelDayApi, getDayDatyListApi, getDayListApi, getRunningWaterByTissueApi} from "@/api/allOrder"; import {
exportExcelDayApi,
getDayDatyListApi,
getDayListApi,
getmyDataApi,
getRunningWaterByTissueApi
} from "@/api/allOrder";
export default { export default {
name: "runningWater-day", name: "runningWater-day",
@ -163,7 +169,7 @@ import {exportExcelDayApi, getDayDatyListApi, getDayListApi, getRunningWaterByTi
total:0, total:0,
} }
}, },
created() { async created() {
let start = new Date(); let start = new Date();
start.setHours(0) start.setHours(0)
start.setMinutes(0) start.setMinutes(0)
@ -173,14 +179,19 @@ import {exportExcelDayApi, getDayDatyListApi, getDayListApi, getRunningWaterByTi
this.beginTime = start this.beginTime = start
this.endTime = new Date() this.endTime = new Date()
this.isSysDate = true this.isSysDate = true
await this.getDeptList();
this.getList(); this.getList();
this.getDeptList();
}, },
methods:{ methods:{
async getDeptList() {
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
exportExcelCashier() { exportExcelCashier() {
let dateRange = [] let dateRange = []
if (this.beginTime && this.endTime) { if (this.beginTime && this.endTime) {
@ -192,11 +203,11 @@ import {exportExcelDayApi, getDayDatyListApi, getDayListApi, getRunningWaterByTi
this.$download.saveAs(blob,'日流水分析.xLsx') this.$download.saveAs(blob,'日流水分析.xLsx')
}) })
}, },
getDeptList() { // getDeptList() {
getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => { // getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
this.deptList = response.data.records; // this.deptList = response.data.records;
}) // })
}, // },
// //

View File

@ -63,18 +63,18 @@
placeholder="结束日期"> placeholder="结束日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="机构:" prop="staffId"> <!-- <el-form-item label="机构:" prop="staffId">-->
<el-select <!-- <el-select-->
v-model="queryParams.staffId" <!-- v-model="queryParams.staffId"-->
clearable <!-- clearable-->
placeholder="全部" <!-- placeholder="全部"-->
> <!-- >-->
<el-option v-for="item in staffList" :key="item.id" :label="item.realName" :value="item.id"> <!-- <el-option v-for="item in staffList" :key="item.id" :label="item.realName" :value="item.id">-->
<span style="float: left">{{ item.realName }}</span> <!-- <span style="float: left">{{ item.realName }}</span>-->
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.mobile }}</span> <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.mobile }}</span>-->
</el-option> <!-- </el-option>-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
@ -122,7 +122,7 @@
<script> <script>
import {getInstituionListApi, getRunningWaterByDataApi,exportExcelOilDeptApi} from "@/api/allOrder"; import {getInstituionListApi, getRunningWaterByDataApi, exportExcelOilDeptApi, getmyDataApi} from "@/api/allOrder";
export default { export default {
name: "runningWater-oilDepot", name: "runningWater-oilDepot",
@ -159,7 +159,7 @@ import {getInstituionListApi, getRunningWaterByDataApi,exportExcelOilDeptApi} fr
total:0, total:0,
} }
}, },
created() { async created() {
let start = new Date(); let start = new Date();
start.setHours(0) start.setHours(0)
start.setMinutes(0) start.setMinutes(0)
@ -169,6 +169,7 @@ import {getInstituionListApi, getRunningWaterByDataApi,exportExcelOilDeptApi} fr
this.beginTime = start this.beginTime = start
this.endTime = new Date() this.endTime = new Date()
this.isSysDate = true this.isSysDate = true
await this.getDeptList();
this.getList(); this.getList();
}, },
@ -197,6 +198,11 @@ import {getInstituionListApi, getRunningWaterByDataApi,exportExcelOilDeptApi} fr
this.orderStatistics = res.data this.orderStatistics = res.data
}) })
}, },
async getDeptList() {
await getmyDataApi(this.addDateRange(this.queryParams)).then( response => {
this.queryParams.deptId = response.data.deptId;
})
},
// //
getList(val){ getList(val){
@ -214,12 +220,14 @@ import {getInstituionListApi, getRunningWaterByDataApi,exportExcelOilDeptApi} fr
}, },
// //
handleQuery() { async handleQuery() {
this.queryParams.page = 1; this.queryParams.page = 1;
await this.getDeptList();
this.getList(); this.getList();
}, },
// //
resetQuery() {
async resetQuery() {
this.dateRange = []; this.dateRange = [];
this.queryParams = { this.queryParams = {
page: 1, page: 1,
@ -227,6 +235,7 @@ import {getInstituionListApi, getRunningWaterByDataApi,exportExcelOilDeptApi} fr
} }
this.beginTime = "" this.beginTime = ""
this.endTime = "" this.endTime = ""
await this.getDeptList()
this.handleQuery(); this.handleQuery();
}, },
} }

View File

@ -306,8 +306,12 @@ import {getRunningWaterByTissueApi, getTissueByDataApi, getTradingPageApi} from
// //
getList(val){ getList(val){
let dateRange = []
getTradingPageApi(this.addDateRange(this.queryParams)).then( response => { if (this.beginTime && this.endTime) {
dateRange.push(this.beginTime.toLocaleDateString())
dateRange.push(this.endTime.toLocaleDateString())
}
getTradingPageApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
this.orderList = response.data.records; this.orderList = response.data.records;
this.total = response.data.total; this.total = response.data.total;
this.isSysDate = false this.isSysDate = false

View File

@ -92,16 +92,16 @@
<div class="box-gang"> <div class="box-gang">
<div class="box"> <div class="box">
<div class="size-hui">微信收款</div> <div class="size-hui">微信收款</div>
<div class="size-bole">{{ orderStatistics.cash?orderStatistics.cash:0 }}/{{orderStatistics.cashcount}}</div>
</div>
<div class="box">
<div class="size-hui">支付宝收款</div>
<div class="size-bole">{{ orderStatistics.wechat?orderStatistics.wechat:0 }}/{{orderStatistics.wechatcount}}</div> <div class="size-bole">{{ orderStatistics.wechat?orderStatistics.wechat:0 }}/{{orderStatistics.wechatcount}}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">会员钱包收款</div> <div class="size-hui">支付宝收款</div>
<div class="size-bole">{{ orderStatistics.alipay?orderStatistics.alipay:0 }}/{{orderStatistics.alipaycount}}</div> <div class="size-bole">{{ orderStatistics.alipay?orderStatistics.alipay:0 }}/{{orderStatistics.alipaycount}}</div>
</div> </div>
<div class="box">
<div class="size-hui">会员钱包收款</div>
<div class="size-bole">{{ orderStatistics.balance?orderStatistics.balance:0 }}/{{orderStatistics.balanceCount}}</div>
</div>
<!-- <div class="box">--> <!-- <div class="box">-->
<!-- <div class="size-hui">银行卡收款</div>--> <!-- <div class="size-hui">银行卡收款</div>-->
<!-- <div class="size-bole">{{ 0 }}/{{0}}</div>--> <!-- <div class="size-bole">{{ 0 }}/{{0}}</div>-->
@ -112,7 +112,7 @@
<!-- </div>--> <!-- </div>-->
<div class="box"> <div class="box">
<div class="size-hui">现金支付收款</div> <div class="size-hui">现金支付收款</div>
<div class="size-bole">{{ orderStatistics.balance?orderStatistics.balance:0 }}/{{orderStatistics.balanceCount}}</div> <div class="size-bole">{{ orderStatistics.cash?orderStatistics.cash:0 }}/{{orderStatistics.cashcount}}</div>
</div> </div>
</div> </div>
</el-card> </el-card>
@ -361,6 +361,7 @@ import {
} }
getTissueByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{ getTissueByDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
this.orderStatistics = res.data this.orderStatistics = res.data
console.log("res.data1111",res.data)
}) })
}, },

View File

@ -8,15 +8,15 @@
<div class="box-gang"> <div class="box-gang">
<div class="box"> <div class="box">
<div class="size-hui">交易金额</div> <div class="size-hui">交易金额</div>
<div class="size-bole">{{ orderStatistics.amount }}</div> <div class="size-bole">{{ isNaN(orderStatistics.amount) ? '0.00' : parseFloat(orderStatistics.amount).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">交易笔数</div> <div class="size-hui">交易笔数</div>
<div class="size-bole">{{ orderStatistics.strokeCount }}</div> <div class="size-bole">{{ isNaN(orderStatistics.strokeCount) ? '0.00' : parseFloat(orderStatistics.strokeCount).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">笔单价</div> <div class="size-hui">笔单价</div>
<div class="size-bole">{{ orderStatistics.unitPrice }}</div> <div class="size-bole">{{ isNaN(orderStatistics.unitPrice) ? '0.00' : parseFloat(orderStatistics.unitPrice).toFixed(2) }}</div>
</div> </div>
<!-- <div class="box">--> <!-- <div class="box">-->
<!-- <div class="size-hui">日均交易金额</div>--> <!-- <div class="size-hui">日均交易金额</div>-->

View File

@ -8,27 +8,33 @@
<div class="box-gang"> <div class="box-gang">
<div class="box"> <div class="box">
<div class="size-hui">交易金额</div> <div class="size-hui">交易金额</div>
<div class="size-bole">{{ orderStatistics.amount?orderStatistics.amount:0 }}</div> <div class="size-bole">{{ isNaN(orderStatistics.amount) ? '0.00' : parseFloat(orderStatistics.amount).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">交易笔数</div> <div class="size-hui">交易笔数</div>
<div class="size-bole">{{ orderStatistics.strokeCount?orderStatistics.strokeCount:0 }}</div> <div class="size-bole">{{ isNaN(orderStatistics.strokeCount) ? '0.00' : parseFloat(orderStatistics.strokeCount).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">笔单价</div> <div class="size-hui">笔单价</div>
<div class="size-bole">{{ orderStatistics.unitPrice?orderStatistics.unitPrice:0 }}</div> <div class="size-bole">{{ isNaN(orderStatistics.unitPrice) ? '0.00' : parseFloat(orderStatistics.unitPrice).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">日均交易金额</div> <div class="size-hui">日均交易金额</div>
<div class="size-bole">{{ orderStatistics.dailyAmount?orderStatistics.dailyAmount:0 }}</div> <div class="size-bole">{{ isNaN(orderStatistics.dailyAmount) ? '0.00' : parseFloat(orderStatistics.dailyAmount).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">日均交易笔数</div> <div class="size-hui">日均交易笔数</div>
<div class="size-bole">{{ orderStatistics.strokesPerDay?orderStatistics.strokesPerDay:0 }}</div> <div class="size-bole">{{ isNaN(orderStatistics.strokesPerDay) ? '0.00' : parseFloat(orderStatistics.strokesPerDay).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">活跃机构数</div> <div class="size-hui">活跃机构数</div>
<div class="size-bole">{{ orderStatistics.inertiaStore?orderStatistics.inertiaStore:0 }}</div> <div class="size-bole">{{ isNaN(orderStatistics.inertiaStore) ? '0.00' : parseFloat(orderStatistics.inertiaStore).toFixed(2) }}</div>
</div> </div>
</div> </div>
</el-card> </el-card>

View File

@ -8,27 +8,31 @@
<div class="box-gang"> <div class="box-gang">
<div class="box"> <div class="box">
<div class="size-hui">交易金额</div> <div class="size-hui">交易金额</div>
<div class="size-bole">{{ orderStatistics.amount }}</div> <div class="size-bole">{{ isNaN(orderStatistics.amount) ? '0.00' : parseFloat(orderStatistics.amount).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">交易笔数</div> <div class="size-hui">交易笔数</div>
<div class="size-bole">{{ orderStatistics.strokeCount }}</div> <div class="size-bole">{{ isNaN(orderStatistics.strokeCount) ? '0.00' : parseFloat(orderStatistics.strokeCount).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">笔单价</div> <div class="size-hui">笔单价</div>
<div class="size-bole">{{ orderStatistics.unitPrice }}</div> <div class="size-bole">{{ isNaN(orderStatistics.unitPrice) ? '0.00' : parseFloat(orderStatistics.unitPrice).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">日均交易金额</div> <div class="size-hui">日均交易金额</div>
<div class="size-bole">{{ orderStatistics.dailyAmount }}</div> <div class="size-bole">{{ isNaN(orderStatistics.dailyAmount) ? '0.00' : parseFloat(orderStatistics.dailyAmount).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">日均交易笔数</div> <div class="size-hui">日均交易笔数</div>
<div class="size-bole">{{ orderStatistics.strokesPerDay }}</div> <div class="size-bole">{{ isNaN(orderStatistics.strokesPerDay) ? '0.00' : parseFloat(orderStatistics.strokesPerDay).toFixed(2) }}</div>
</div> </div>
<div class="box"> <div class="box">
<div class="size-hui">活跃机构数</div> <div class="size-hui">活跃机构数</div>
<div class="size-bole">{{ orderStatistics.inertiaStore }}</div> <div class="size-bole">{{ isNaN(orderStatistics.inertiaStore) ? '0.00' : parseFloat(orderStatistics.inertiaStore).toFixed(2) }}</div>
</div> </div>
</div> </div>
</el-card> </el-card>

View File

@ -294,4 +294,32 @@ public class OilOrderController extends BaseController {
return getSuccessResult(orderService.getInfoByTime(time, oilGunId)); return getSuccessResult(orderService.getInfoByTime(time, oilGunId));
} }
/**
* 油品销售统计
* @param order
* @return
*/
@GetMapping("getInfoByOilType")
public ResponseObject getInfoByOilType(OilOrder order){
return getSuccessResult(orderService.getInfoByOilType(order));
}
/**
* 油枪销售统计
* @param order
* @return
*/
@GetMapping("getInfoByOilGun")
public ResponseObject getInfoByOilGun(OilOrder order){
return getSuccessResult(orderService.getInfoByOilGun(order));
}
/**
* 员工销售统计
* @param order
* @return
*/
@GetMapping("getInfoByEm")
public ResponseObject getInfoByEm(OilOrder order){
return getSuccessResult(orderService.getInfoByEm(order));
}
} }

View File

@ -10,4 +10,5 @@ public class AllOrderInfoDto extends AllOrderInfo {
private String deptType; //节点类型:1代理商2连锁店3基本门店4三方机构 private String deptType; //节点类型:1代理商2连锁店3基本门店4三方机构
private Long deptId; //节点类型:1代理商2连锁店3基本门店4三方机构 private Long deptId; //节点类型:1代理商2连锁店3基本门店4三方机构
private List<Long> storeIds; private List<Long> storeIds;
private String flag;
} }

View File

@ -125,4 +125,8 @@ public interface OilOrderMapper extends BaseMapper<OilOrder> {
OilOrderVo selectOilOrderDescByOrderId(@Param("orderNo") String orderNo); OilOrderVo selectOilOrderDescByOrderId(@Param("orderNo") String orderNo);
OilOrderVo getInfoByTime(@Param("time") Date time,@Param("list") List<OilGun> tankIds); OilOrderVo getInfoByTime(@Param("time") Date time,@Param("list") List<OilGun> tankIds);
List<OilOrderVo> getInfoByOilType(@Param("allOrderInfo") OilOrder oilOrder);
List<OilOrderVo> getInfoByOilGun(@Param("allOrderInfo") OilOrder oilOrder);
List<OilOrderVo> getInfoByEm(@Param("allOrderInfo") OilOrder oilOrder);
} }

View File

@ -13,7 +13,7 @@
</foreach> </foreach>
</where> </where>
</select> </select>
<select id="getTradingPage" resultType="com.fuint.business.order.vo.AllOrderInfoVo"> <select id="getTradingPage" resultType="com.fuint.business.order.vo.AllOrderInfoVo">
select select
aoi.id AS id, aoi.id AS id,
aoi.order_no AS orderNo, aoi.order_no AS orderNo,
@ -307,8 +307,8 @@
COUNT(CASE WHEN pay_type = 'WECHAT' THEN 0 END) AS WECHATCount, COUNT(CASE WHEN pay_type = 'WECHAT' THEN 0 END) AS WECHATCount,
COUNT(CASE WHEN pay_type = 'ALIPAY' THEN 0 END) AS ALIPAYCount, COUNT(CASE WHEN pay_type = 'ALIPAY' THEN 0 END) AS ALIPAYCount,
COUNT(CASE WHEN pay_type = 'balance' THEN 0 END) AS balanceCount, COUNT(CASE WHEN pay_type = 'balance' THEN 0 END) AS balanceCount,
SUM(CASE WHEN aoi.status = 'refunt' THEN pay_money ELSE 0 END) AS refBalance, SUM(CASE WHEN aoi.status = 'refund' THEN pay_money ELSE 0 END) AS refBalance,
COUNT(CASE WHEN aoi.status = 'refunt' THEN 0 END) AS refBalanceCount COUNT(CASE WHEN aoi.status = 'refund' THEN 0 END) AS refBalanceCount
from all_order_info aoi from all_order_info aoi
left join mt_user mu ON aoi.user_id = mu.id left join mt_user mu ON aoi.user_id = mu.id

View File

@ -582,4 +582,70 @@
</if> </if>
</where> </where>
</select> </select>
<select id="getInfoByOilType" resultType="com.fuint.business.order.vo.OilOrderVo">
select
na.oil_name oilName,
sum(oil_num) sumOilNum,
count(*) sumCoumnt,
sum(order_amount) sumOrderAnount,
sum(discount_amount) sumDisCount,
SUM(ref_money) sumRefMoney,
Sum(pay_amount) sumPayAmount,
SUM(CASE WHEN order_status = 'refund' THEN pay_amount ELSE 0 END) sumRefPayAmount
from oil_order oo left join
oil_name na on oo.oils = na.id
where oo.store_id = #{allOrderInfo.storeId}
<if test="allOrderInfo.params.beginTime != null and allOrderInfo.params.beginTime != ''"><!-- 开始时间检索 -->
and date_format(pay_time,'%y%m%d') &gt;= date_format(#{allOrderInfo.params.beginTime},'%y%m%d')
</if>
<if test="allOrderInfo.params.endTime != null and allOrderInfo.params.endTime != ''"><!-- 结束时间检索 -->
and date_format(pay_time,'%y%m%d') &lt;= date_format(#{allOrderInfo.params.endTime},'%y%m%d')
</if>
GROUP BY oils
</select>
<select id="getInfoByOilGun" resultType="com.fuint.business.order.vo.OilOrderVo">
select
na.gun_name gunName,
sum(oil_num) sumOilNum,
count(*) sumCoumnt,
sum(order_amount) sumOrderAnount,
sum(discount_amount) sumDisCount,
SUM(ref_money) sumRefMoney,
Sum(pay_amount) sumPayAmount,
SUM(CASE WHEN order_status = 'refund' THEN pay_amount ELSE 0 END) sumRefPayAmount
from oil_order oo left join
oil_gun na on oo.oil_gun_num = na.id
where oo.store_id = #{allOrderInfo.storeId}
<if test="allOrderInfo.params.beginTime != null and allOrderInfo.params.beginTime != ''"><!-- 开始时间检索 -->
and date_format(pay_time,'%y%m%d') &gt;= date_format(#{allOrderInfo.params.beginTime},'%y%m%d')
</if>
<if test="allOrderInfo.params.endTime != null and allOrderInfo.params.endTime != ''"><!-- 结束时间检索 -->
and date_format(pay_time,'%y%m%d') &lt;= date_format(#{allOrderInfo.params.endTime},'%y%m%d')
</if>
GROUP BY oil_gun_num
</select>
<select id="getInfoByEm" resultType="com.fuint.business.order.vo.OilOrderVo">
select
na.real_name realName,
sum(oil_num) sumOilNum,
count(*) sumCoumnt,
sum(order_amount) sumOrderAnount,
sum(discount_amount) sumDisCount,
SUM(ref_money) sumRefMoney,
Sum(pay_amount) sumPayAmount,
SUM(CASE WHEN order_status = 'refund' THEN pay_amount ELSE 0 END) sumRefPayAmount
from oil_order oo left join
mt_staff na on oo.staff_id = na.id
where oo.store_id = #{allOrderInfo.storeId}
<if test="allOrderInfo.params.beginTime != null and allOrderInfo.params.beginTime != ''"><!-- 开始时间检索 -->
and date_format(pay_time,'%y%m%d') &gt;= date_format(#{allOrderInfo.params.beginTime},'%y%m%d')
</if>
<if test="allOrderInfo.params.endTime != null and allOrderInfo.params.endTime != ''"><!-- 结束时间检索 -->
and date_format(pay_time,'%y%m%d') &lt;= date_format(#{allOrderInfo.params.endTime},'%y%m%d')
</if>
GROUP BY staff_id
</select>
</mapper> </mapper>

View File

@ -198,6 +198,10 @@ public interface OilOrderService extends IService<OilOrder> {
OilOrderVo getInfoByTime(Date time,Integer tankId); OilOrderVo getInfoByTime(Date time,Integer tankId);
List<OilOrderVo> getInfoByOilType(OilOrder oilOrder);
List<OilOrderVo> getInfoByOilGun(OilOrder oilOrder);
List<OilOrderVo> getInfoByEm(OilOrder oilOrder);
// pos端 // pos端
/** /**

View File

@ -33,12 +33,14 @@ import com.fuint.business.petrolStationManagement.service.OilGunService;
import com.fuint.business.petrolStationManagement.service.OilTankService; import com.fuint.business.petrolStationManagement.service.OilTankService;
import com.fuint.business.petrolStationManagement.service.OilTrackingService; import com.fuint.business.petrolStationManagement.service.OilTrackingService;
import com.fuint.business.store.entity.MtStore; import com.fuint.business.store.entity.MtStore;
import com.fuint.business.store.mapper.MtStoreMapper;
import com.fuint.business.store.service.StoreService; import com.fuint.business.store.service.StoreService;
import com.fuint.business.userManager.service.UserBalanceService; import com.fuint.business.userManager.service.UserBalanceService;
import com.fuint.common.dto.AccountInfo; import com.fuint.common.dto.AccountInfo;
import com.fuint.common.service.MemberService; import com.fuint.common.service.MemberService;
import com.fuint.common.service.StaffService; import com.fuint.common.service.StaffService;
import com.fuint.common.util.TokenUtil; import com.fuint.common.util.TokenUtil;
import com.fuint.repository.mapper.MtStaffMapper;
import com.fuint.repository.mapper.MtUserMapper; import com.fuint.repository.mapper.MtUserMapper;
import com.fuint.repository.model.MtStaff; import com.fuint.repository.model.MtStaff;
import com.fuint.repository.model.MtUser; import com.fuint.repository.model.MtUser;
@ -323,6 +325,9 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper,AllO
@Resource @Resource
StoreService storeService; StoreService storeService;
@Resource
MtStoreMapper mtStoreMapper;
// 处理油品 // 处理油品
private void disposeOil(OilOrder oilOrder,Map<String, String> map) { private void disposeOil(OilOrder oilOrder,Map<String, String> map) {
@ -427,17 +432,53 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper,AllO
public AllOrderInfoVo getTradingData(AllOrderInfoDto allOrderInfo) { public AllOrderInfoVo getTradingData(AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
if (ObjectUtil.isEmpty(allOrderInfo.getDeptId())) {
IPage<SysDeptVo> sysDepts = sysDeptMapper.selectChildrenDeptById2(new Page(1,10000),nowAccountInfo.getDeptId(),allOrderInfo.getDeptId(),allOrderInfo.getDeptType());
if (ObjectUtil.isEmpty(sysDepts.getRecords())) throw new RuntimeException("组织下没有油站!");
allOrderInfo.setStoreIds(sysDepts.getRecords().stream().map(SysDeptVo::getDeptId).collect(Collectors.toList()));
List<MtStore> mtStores = mtStoreMapper.queryStoresByDeptIds(allOrderInfo.getStoreIds());
if (ObjectUtil.isEmpty(mtStores)) throw new RuntimeException("组织下没有油站");
allOrderInfo.setStoreIds(mtStores.stream().map(MtStore::getId).map(Long::valueOf).collect(Collectors.toList()));
} else {
List<Long> depts = new ArrayList<>();
depts.add(Long.parseLong(nowAccountInfo.getStoreId().toString()));
allOrderInfo.setStoreIds(depts);
}
return allOrderInfoMapper.getTradingData(allOrderInfo); return allOrderInfoMapper.getTradingData(allOrderInfo);
} }
@Resource
MtStaffMapper mtStaffMapper;
@Override @Override
public IPage<AllOrderInfoVo> getTradingPage(Page page, AllOrderInfoDto allOrderInfo) { public IPage<AllOrderInfoVo> getTradingPage(Page page, AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
// IPage<SysDeptVo> sysDepts = sysDeptMapper.selectChildrenDeptById2( page,nowAccountInfo.getDeptId(),allOrderInfo.getDeptId(),allOrderInfo.getDeptType()); if (ObjectUtil.isEmpty(allOrderInfo.getDeptId())) {
// IPage<SysDeptVo> sysDepts = sysDeptMapper.selectChildrenDeptById2( new Page(1,10000),nowAccountInfo.getDeptId(),allOrderInfo.getDeptId(),allOrderInfo.getDeptType());
// allOrderInfo.setStoreIds(sysDepts.stream().map(SysDeptVo::getStoreId).collect(Collectors.toList()));
// if (ObjectUtil.isEmpty(sysDepts.getRecords())) throw new RuntimeException("组织下没有油站!");
allOrderInfo.setStoreIds(sysDepts.getRecords().stream().map(SysDeptVo::getDeptId).collect(Collectors.toList()));
List<MtStore> mtStores = mtStoreMapper.queryStoresByDeptIds(allOrderInfo.getStoreIds());
if (ObjectUtil.isEmpty(mtStores)) throw new RuntimeException("组织下没有油站");
allOrderInfo.setStoreIds(mtStores.stream().map(MtStore::getId).map(Long::valueOf).collect(Collectors.toList()));
} else {
List<Long> depts = new ArrayList<>();
depts.add(Long.parseLong(nowAccountInfo.getStoreId().toString()));
allOrderInfo.setStoreIds(depts);
}
IPage<AllOrderInfoVo> pageList = allOrderInfoMapper.getTradingPage(page, allOrderInfo); IPage<AllOrderInfoVo> pageList = allOrderInfoMapper.getTradingPage(page, allOrderInfo);
@ -451,13 +492,12 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper,AllO
record.setMchntCd("--"); record.setMchntCd("--");
} }
// 收银员 // 收银员
if (ObjectUtil.isNotEmpty(allOrderInfo.getCreateBy())) { if (ObjectUtil.isNotEmpty(record.getCreateBy())) {
MtStaff mtStaff = staffService.queryStaffById2(Integer.parseInt(allOrderInfo.getCreateBy())); MtStaff mtStaff = mtStaffMapper.queryStaffById(Integer.parseInt(record.getCreateBy()));
if(ObjectUtil.isNotEmpty(mtStaff)) { if(ObjectUtil.isNotEmpty(mtStaff)) {
record.setCreateBy(mtStaff.getRealName()); record.setCreateBy(mtStaff.getRealName());
}else { }else {
record.setCreateBy("--"); record.setCreateBy("--");
} }
} }
@ -534,8 +574,17 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper,AllO
@Override @Override
public IPage<SysDeptVo> runningWaterByInstituion(Page page, AllOrderInfoDto allOrderInfo) { public IPage<SysDeptVo> runningWaterByInstituion(Page page, AllOrderInfoDto allOrderInfo) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
IPage<SysDeptVo> sysDepts = new Page<>();
if (ObjectUtil.isEmpty(allOrderInfo.getDeptId())) {
sysDepts = sysDeptMapper.selectChildrenDeptById2( page,nowAccountInfo.getDeptId(),allOrderInfo.getDeptId(),allOrderInfo.getDeptType());
}else {
SysDeptVo sysDept = sysDeptMapper.selectDeptByIdVo(nowAccountInfo.getDeptId());
List<SysDeptVo> ssysDept = new ArrayList<>();
ssysDept.add(sysDept);
sysDepts.setRecords(ssysDept);
}
IPage<SysDeptVo> sysDepts = sysDeptMapper.selectChildrenDeptById2( page,nowAccountInfo.getDeptId(),allOrderInfo.getDeptId(),allOrderInfo.getDeptType());
for (SysDeptVo sysDept : sysDepts.getRecords()) { for (SysDeptVo sysDept : sysDepts.getRecords()) {
long dayNum = 0; long dayNum = 0;
@ -691,15 +740,23 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper,AllO
} }
public IPage<AllOrderInfoVo> runningWaterByDay(Page page, AllOrderInfoDto allOrderInfo) { public IPage<AllOrderInfoVo> runningWaterByDay(Page page, AllOrderInfoDto allOrderInfo) {
//计算天数 //计算天数
if (!ObjectUtil.isNotEmpty(allOrderInfo.getParams().get("beginTime")) && ObjectUtil.isNotEmpty(allOrderInfo.getParams().get("endTime"))) { if (ObjectUtil.isEmpty(allOrderInfo.getParams().get("beginTime")) || ObjectUtil.isEmpty(allOrderInfo.getParams().get("endTime"))) {
throw new RuntimeException(""); throw new RuntimeException("请选择时间范围");
}
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
if (ObjectUtil.isEmpty(allOrderInfo.getDeptId())) {
allOrderInfo.setDeptType("3");
List<SysDeptVo> sysDepts = sysDeptMapper.selectChildrenDeptByIdStore(nowAccountInfo.getDeptId());
allOrderInfo.setStoreIds(sysDepts.stream().map(SysDeptVo::getStoreId).collect(Collectors.toList()));
}else {
ArrayList<Long> longs = new ArrayList<>();
longs.add(Long.parseLong(nowAccountInfo.getStoreId().toString()));
allOrderInfo.setStoreIds(longs);
} }
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
allOrderInfo.setDeptType("3");
List<SysDeptVo> sysDepts = sysDeptMapper.selectChildrenDeptByIdStore(nowAccountInfo.getDeptId());
allOrderInfo.setStoreIds(sysDepts.stream().map(SysDeptVo::getStoreId).collect(Collectors.toList()));
// 数据查询 // 数据查询
IPage<AllOrderInfoVo> runningWaterByDay = allOrderInfoMapper.getRunningWaterByDay(page,allOrderInfo); IPage<AllOrderInfoVo> runningWaterByDay = allOrderInfoMapper.getRunningWaterByDay(page,allOrderInfo);

View File

@ -1965,6 +1965,24 @@ return stringDoubleMap;
return baseMapper.getInfoByTime(time,oilGuns); return baseMapper.getInfoByTime(time,oilGuns);
} }
@Override
public List<OilOrderVo> getInfoByOilType(OilOrder oilOrder) {
oilOrder.setStoreId(TokenUtil.getNowAccountInfo().getStoreId());
return baseMapper.getInfoByOilType(oilOrder);
}
@Override
public List<OilOrderVo> getInfoByOilGun(OilOrder oilOrder) {
oilOrder.setStoreId(TokenUtil.getNowAccountInfo().getStoreId());
return baseMapper.getInfoByOilGun(oilOrder);
}
@Override
public List<OilOrderVo> getInfoByEm(OilOrder oilOrder) {
oilOrder.setStoreId(TokenUtil.getNowAccountInfo().getStoreId());
return baseMapper.getInfoByEm(oilOrder);
}
// pos端 // pos端
@Override @Override

View File

@ -14,6 +14,13 @@ public class OilOrderVo extends OilOrder {
private String oilName; private String oilName;
private String gunName; private String gunName;
private String realName; private String realName;
private Double sumOilNum;
private Double sumCoumnt;
private Double sumOrderAnount;
private Double sumDisCount;
private Double sumRefMoney;
private Double sumPayAmount;
private Double sumRefPayAmount;
// 优惠券id // 优惠券id
private Integer cardFavorableId; private Integer cardFavorableId;
// 满减或折扣消费优惠金额 // 满减或折扣消费优惠金额
@ -22,4 +29,6 @@ public class OilOrderVo extends OilOrder {
// 优惠券优惠金额 // 优惠券优惠金额
@TableField(exist = false) @TableField(exist = false)
private Double couponAmount; private Double couponAmount;
} }

View File

@ -18,7 +18,7 @@ import com.fuint.framework.web.BaseController;
import com.fuint.framework.web.ResponseObject; import com.fuint.framework.web.ResponseObject;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import com.yly.print_sdk_library.RequestMethod; //import com.yly.print_sdk_librar.RequestMethod;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.cache.CacheProperties; import org.springframework.boot.autoconfigure.cache.CacheProperties;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

View File

@ -11,80 +11,97 @@ public class PrintOilOrderReport {
public static Map<String, Object> handover = new HashMap<>(); public static Map<String, Object> handover = new HashMap<>();
public static String printOilOrder(){ public static String printOilOrder(){
StringBuilder sb=new StringBuilder(); StringBuilder sb=new StringBuilder();
//
// 日期 2024-05-02
// 时间 12.59.49
// 车号 07609
// 毛重 48440(kg)
// 皮重 17900(kg)
// 净重: 30540(kg)
sb.append("<center>订单统计\r\n</center>"); sb.append("<FS><center>称 重 单\r\n</FS></center>");
sb.append("------------------------------------\r\n"); sb.append("<center>--------------------------\r\n</center>");
sb.append("<FS>日期: 2024-05-02\r\n</FS>");
sb.append("<FS>时间: 12.59.49\r\n</FS>");
sb.append("<FS>车号: 07609\r\n</FS>");
sb.append("<FS>毛重: 48440(kg)\r\n</FS>");
sb.append("<FS>皮重: 17900(kg)\r\n</FS>");
sb.append("<FS>净重: 30540(kg)\r\n</FS>");
sb.append("<center>--------------------------\r\n</center>");
if (ObjectUtil.isNotEmpty(handover.get("oilOrder"))) { // sb.append("<center>订单统计\r\n</center>");
sb.append("<table><tr><td>油品</td><td>金额</td></tr>"); // sb.append("------------------------------------\r\n");
List<Map<String,String>> o = (List<Map<String,String>>)handover.get("oilOrder"); //
for (Map<String, String> stringStringMap : o) { // if (ObjectUtil.isNotEmpty(handover.get("oilOrder"))) {
sb.append("<tr><td>"+stringStringMap.get("oilName")+"</td>"); // sb.append("<table><tr><td>油品</td><td>金额</td></tr>");
sb.append("<td>"+ stringStringMap.get("amount")+"</td></tr>"); // List<Map<String,String>> o = (List<Map<String,String>>)handover.get("oilOrder");
} // for (Map<String, String> stringStringMap : o) {
sb.append("</table>"); // sb.append("<tr><td>"+stringStringMap.get("oilName")+"</td>");
sb.append("------------------------------------\r\n"); // sb.append("<td>"+ stringStringMap.get("amount")+"</td></tr>");
// }
} // sb.append("</table>");
if (ObjectUtil.isNotEmpty(handover.get("goodsOrder"))) {
sb.append("<table><tr><td>商品</td><td>数量</td><td>单价</td></tr>");
List<Map<String,String>> o = (List<Map<String,String>>)handover.get("goodsOrder");
for (Map<String, String> stringStringMap : o) {
sb.append("<tr><td>"+stringStringMap.get("oilName")+"</td>");
sb.append("<td>"+stringStringMap.get("unit")+"</td>");
sb.append("<td>"+ stringStringMap.get("amount")+"</td></tr>");
}
sb.append("</table>");
sb.append("------------------------------------\r\n");
}
sb.append("支付方式:"+handover.get("payType")+"\r\n");
if ("credit".equals(handover.get("payType"))) {
sb.append("挂账单位:"+handover.get("unitName")+"\r\n");
sb.append("挂账金额:¥"+handover.get("creditAmount")+"\r\n");
sb.append("------------------------------------\r\n");
}
// if (ObjectUtil.isNotEmpty(handover.get("discount"))) {
// sb.append("订单总额:¥"+handover.get("discount")+"\r\n");
// sb.append("------------------------------------\r\n"); // sb.append("------------------------------------\r\n");
// //
// } // }
if (ObjectUtil.isNotEmpty(handover.get("discount"))) { // if (ObjectUtil.isNotEmpty(handover.get("goodsOrder"))) {
sb.append("优惠合计:¥"+handover.get("discount")+"\r\n"); // sb.append("<table><tr><td>商品</td><td>数量</td><td>单价</td></tr>");
sb.append("------------------------------------\r\n"); // List<Map<String,String>> o = (List<Map<String,String>>)handover.get("goodsOrder");
// for (Map<String, String> stringStringMap : o) {
} // sb.append("<tr><td>"+stringStringMap.get("oilName")+"</td>");
if (ObjectUtil.isNotEmpty(handover.get("amount"))) { // sb.append("<td>"+stringStringMap.get("unit")+"</td>");
sb.append("总金额:¥"+handover.get("amount")+"\r\n"); //
sb.append("------------------------------------\r\n"); // sb.append("<td>"+ stringStringMap.get("amount")+"</td></tr>");
// }
} // sb.append("</table>");
if (ObjectUtil.isNotEmpty(handover.get("consumeAmount"))) { // sb.append("------------------------------------\r\n");
sb.append("储值卡付款:¥"+handover.get("consumeAmount")+"\r\n"); //
sb.append("------------------------------------\r\n"); // }
//
} // sb.append("支付方式:"+handover.get("payType")+"\r\n");
if (ObjectUtil.isNotEmpty(handover.get("consumeRefuelMoney"))) { // if ("credit".equals(handover.get("payType"))) {
sb.append("囤油卡付款:"+handover.get("consumeRefuelMoney")+"L\r\n"); // sb.append("挂账单位:"+handover.get("unitName")+"\r\n");
sb.append("------------------------------------\r\n"); // sb.append("挂账金额:¥"+handover.get("creditAmount")+"\r\n");
// sb.append("------------------------------------\r\n");
} //
if (ObjectUtil.isNotEmpty(handover.get("actualPay"))) { // }
sb.append("实付款:¥"+handover.get("actualPay")+"\r\n"); //
sb.append("------------------------------------\r\n"); //// if (ObjectUtil.isNotEmpty(handover.get("discount"))) {
//// sb.append("订单总额:¥"+handover.get("discount")+"\r\n");
} //// sb.append("------------------------------------\r\n");
if (ObjectUtil.isNotEmpty(handover.get("seekZero"))) { ////
sb.append("找零:¥"+handover.get("seekZero")+"\r\n"); //// }
sb.append("------------------------------------\r\n"); // if (ObjectUtil.isNotEmpty(handover.get("discount"))) {
// sb.append("优惠合计:¥"+handover.get("discount")+"\r\n");
} // sb.append("------------------------------------\r\n");
//
sb.append("<center>谢谢惠顾,欢迎下次光临!</center>"); // }
// if (ObjectUtil.isNotEmpty(handover.get("amount"))) {
// sb.append("总金额:¥"+handover.get("amount")+"\r\n");
// sb.append("------------------------------------\r\n");
//
// }
// if (ObjectUtil.isNotEmpty(handover.get("consumeAmount"))) {
// sb.append("储值卡付款:¥"+handover.get("consumeAmount")+"\r\n");
// sb.append("------------------------------------\r\n");
//
// }
// if (ObjectUtil.isNotEmpty(handover.get("consumeRefuelMoney"))) {
// sb.append("囤油卡付款:"+handover.get("consumeRefuelMoney")+"L\r\n");
// sb.append("------------------------------------\r\n");
//
// }
// if (ObjectUtil.isNotEmpty(handover.get("actualPay"))) {
// sb.append("实付款:¥"+handover.get("actualPay")+"\r\n");
// sb.append("------------------------------------\r\n");
//
// }
// if (ObjectUtil.isNotEmpty(handover.get("seekZero"))) {
// sb.append("找零:¥"+handover.get("seekZero")+"\r\n");
// sb.append("------------------------------------\r\n");
//
// }
//
// sb.append("<center>谢谢惠顾,欢迎下次光临!</center>");
return sb.toString(); return sb.toString();
} }

View File

@ -46,4 +46,7 @@ public interface MtStoreMapper extends BaseMapper<MtStore> {
int ifDeleteByDeptId(@Param("deptId") Long deptId); int ifDeleteByDeptId(@Param("deptId") Long deptId);
MtStore getByStroeName(@Param("name") String name); MtStore getByStroeName(@Param("name") String name);
List<MtStore> queryStoresByDeptIds(@Param("list") List<Long> deptIds);
} }

View File

@ -28,4 +28,14 @@
where expiration_time &lt; NOW() and status = 'qy' and expiration_time is not null where expiration_time &lt; NOW() and status = 'qy' and expiration_time is not null
</update> </update>
<select id="queryStoresByDeptIds" resultType="com.fuint.business.store.entity.MtStore">
select * from mt_store
where
contract_dept_id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
</mapper> </mapper>

View File

@ -40,6 +40,7 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
* @return 部门信息 * @return 部门信息
*/ */
public SysDept selectDeptById(Long deptId); public SysDept selectDeptById(Long deptId);
public SysDeptVo selectDeptByIdVo(Long deptId);
/** /**
* 根据ID查询所有子部门 * 根据ID查询所有子部门

View File

@ -49,6 +49,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from sys_dept d from sys_dept d
where d.dept_id = #{deptId} where d.dept_id = #{deptId}
</select> </select>
<select id="checkDeptExistUser" parameterType="Long" resultType="int"> <select id="checkDeptExistUser" parameterType="Long" resultType="int">
select count(1) from t_account where dept_id = #{deptId} and account_status = 1 select count(1) from t_account where dept_id = #{deptId} and account_status = 1
@ -136,7 +138,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and dept_id = #{deptId} and dept_id = #{deptId}
</if> </if>
</select> </select>
<select id="selectDeptByIdVo" resultType="com.fuint.system.dept.vo.SysDeptVo">
select d.*,
(select dept_name from sys_dept where dept_id = d.parent_id) parent_name
from sys_dept d
where d.dept_id = #{deptId}
</select>
<update id="updateStatusByTurnoverTime" > <update id="updateStatusByTurnoverTime" >

View File

@ -19,4 +19,5 @@ public interface MtStaffMapper extends BaseMapper<MtStaff> {
MtStaff queryStaffByMobile(@Param("mobile") String mobile); MtStaff queryStaffByMobile(@Param("mobile") String mobile);
MtStaff queryStaffByUserId(@Param("userId") Integer userId); MtStaff queryStaffByUserId(@Param("userId") Integer userId);
MtStaff queryStaffById(@Param("id") Integer id);
} }

View File

@ -12,4 +12,8 @@
<select id="queryStaffByUserId" resultType="com.fuint.repository.model.MtStaff"> <select id="queryStaffByUserId" resultType="com.fuint.repository.model.MtStaff">
select * from mt_staff t where t.USER_ID = #{userId} and t.AUDITED_STATUS != 'D' select * from mt_staff t where t.USER_ID = #{userId} and t.AUDITED_STATUS != 'D'
</select> </select>
<select id="queryStaffById" resultType="com.fuint.repository.model.MtStaff">
select * from mt_staff t where t.id = #{id}
</select>
</mapper> </mapper>