feat
This commit is contained in:
parent
009c391e44
commit
d65dedb62d
|
|
@ -875,4 +875,16 @@ public class OrderMasterController extends BaseController {
|
||||||
int i = orderMasterService.reject(orderMaster);
|
int i = orderMasterService.reject(orderMaster);
|
||||||
return AjaxResult.success(i);
|
return AjaxResult.success(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/differentStatus/count")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult differentStatusOrderCount() {
|
||||||
|
return AjaxResult.success(orderMasterService.differentStatusOrderCount());
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/count")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult OrderMasterCount(OrderMaster orderMaster) {
|
||||||
|
return AjaxResult.success(orderMasterService.countOrderMasterList(orderMaster));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||||
<head>
|
<head>
|
||||||
<th:block th:include="include :: header('模板新增')"/>
|
<th:block th:include="include :: header('模板新增')"/>
|
||||||
|
<th:block th:include="include :: layout-latest-css"/>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
|
|
@ -173,7 +174,7 @@
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<div class="input-group date">
|
<div class="input-group date">
|
||||||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
||||||
<input type="text" class="form-control" id="servDate" name="servDate" required>
|
<input type="text" class="form-control" id="servDate" name="servDate" required readonly style="background: white;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
|
|
@ -202,7 +203,7 @@
|
||||||
<label class="col-sm-2 control-label is-required">图片上传:</label>
|
<label class="col-sm-2 control-label is-required">图片上传:</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<div class="file-loading">
|
<div class="file-loading">
|
||||||
<input id="multipleFile" name="files" type="file" multiple>
|
<input id="multipleFile" name="files" type="file" multiple required>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -245,18 +246,15 @@
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-2 control-label is-required">下单模式:</label>
|
<label class="col-sm-2 control-label is-required">下单模式:</label>
|
||||||
<div class="col-sm-8 row">
|
<div class="col-sm-8 row" id="orderModeRadioGroup">
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<label><input type="radio" value="01" name="orderMode" checked=""> 线下到付</label>
|
<label><input id="publishWithPrice" type="radio" value="02" name="orderMode" checked onclick="selectPublishWithPrice(this)"> 带价发布</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<label><input type="radio" value="02" name="orderMode"> 带价发布</label>
|
<label><input type="radio" value="01" name="orderMode"> 一票价发布</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<label><input type="radio" value="03" name="orderMode"> 一票价发布</label>
|
<label><input type="radio" value="01" name="orderMode"> 回收模式</label>
|
||||||
</div>
|
|
||||||
<div class="col-sm-2">
|
|
||||||
<label><input type="radio" value="04" name="orderMode"> 回收模式</label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -348,12 +346,11 @@
|
||||||
<span class="yuan-symbol" id="totalMoney">0</span>
|
<span class="yuan-symbol" id="totalMoney">0</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="oper-banner-end col-sm-5">
|
<div class="oper-banner-end col-sm-5">
|
||||||
<!-- <div class="m-r">-->
|
<div class="m-r">
|
||||||
<!-- <div class="checkbox">-->
|
<div class="checkbox">
|
||||||
<!-- <label>-->
|
<label><input id="payOnDoorMode" type="checkbox" value="01" name="orderMode" onclick="changePayOnDoorMode(this)">上门到付/保外单</label>
|
||||||
<!-- <input type="checkbox" value="1" name="isPayOffline">线下到付</label>-->
|
</div>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- </div>-->
|
|
||||||
<div class="m-r">
|
<div class="m-r">
|
||||||
<button type="button" class="btn btn-w-m btn-success" onclick="submitOrder()">提交订单</button>
|
<button type="button" class="btn btn-w-m btn-success" onclick="submitOrder()">提交订单</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -367,6 +364,7 @@
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<th:block th:include="include :: footer"/>
|
<th:block th:include="include :: footer"/>
|
||||||
|
<th:block th:include="include :: layout-latest-js"/>
|
||||||
<th:block th:include="include :: jquery-cxselect-js" />
|
<th:block th:include="include :: jquery-cxselect-js" />
|
||||||
<th:block th:include="include :: datetimepicker-js" />
|
<th:block th:include="include :: datetimepicker-js" />
|
||||||
<script th:src="@{/js/plugins/miniCascader/cascader.js}"></script>
|
<script th:src="@{/js/plugins/miniCascader/cascader.js}"></script>
|
||||||
|
|
@ -534,29 +532,44 @@
|
||||||
<!-- })-->
|
<!-- })-->
|
||||||
<!-- }-->
|
<!-- }-->
|
||||||
|
|
||||||
|
function selectPublishWithPrice(e) {
|
||||||
|
if ($(e).is(':checked')) {
|
||||||
|
$('#payOnDoorMode').prop("checked", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function changePayOnDoorMode(e) {
|
||||||
|
if ($(e).is(':checked')) {
|
||||||
|
$('#publishWithPrice').prop("checked", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function validSpecialComponent() {
|
function validSpecialComponent() {
|
||||||
// 类目
|
// 类目
|
||||||
let categoryIds = categoryCascader.getCheckedByID();
|
let categoryIds = categoryCascader.getCheckedByID();
|
||||||
if (!categoryIds || categoryIds.length === 0) {
|
if (!categoryIds || categoryIds.length === 0) {
|
||||||
$.modal.msgError("服务类目不能为空")
|
$.modal.msgError("请录入完整必填信息")
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 地区
|
// 地区
|
||||||
let checkedAreaPathList = areaCascader.getCheckedPaths();
|
let checkedAreaPathList = areaCascader.getCheckedPaths();
|
||||||
if (!checkedAreaPathList || checkedAreaPathList.length === 0) {
|
if (!checkedAreaPathList || checkedAreaPathList.length === 0) {
|
||||||
$.modal.msgError("服务地址不能为空")
|
$.modal.msgError("请录入完整必填信息")
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 下单模式
|
||||||
|
if (!$('#orderModeRadioGroup input[name=orderMode]').is(':checked')) {
|
||||||
|
$.modal.msgError("请录入完整必填信息")
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function submitOrder() {
|
function translateForm(data) {
|
||||||
if (!validSpecialComponent()) return;
|
var params = {};
|
||||||
if ($.validate.form()) {
|
|
||||||
var data = $("#addTemplateForm").serializeArray();
|
|
||||||
var params= {};
|
|
||||||
data.forEach(function (item){
|
data.forEach(function (item){
|
||||||
params[item.name] = item.value;
|
params[item.name] = item.value;
|
||||||
});
|
});
|
||||||
|
|
@ -578,6 +591,15 @@
|
||||||
params.districtId = areaCascader.getCheckedPaths()[0][2];
|
params.districtId = areaCascader.getCheckedPaths()[0][2];
|
||||||
params.streetId = areaCascader.getCheckedPaths()[0][3];
|
params.streetId = areaCascader.getCheckedPaths()[0][3];
|
||||||
|
|
||||||
|
return params;
|
||||||
|
}
|
||||||
|
|
||||||
|
function submitOrder() {
|
||||||
|
if (!validSpecialComponent()) return;
|
||||||
|
if ($.validate.form()) {
|
||||||
|
var data = $("#addTemplateForm").serializeArray();
|
||||||
|
var params= translateForm(data);
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
dataType:"json",
|
dataType:"json",
|
||||||
|
|
@ -586,14 +608,29 @@
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
success: function (result) {
|
success: function (result) {
|
||||||
if (result.code == web_status.SUCCESS) {
|
if (result.code == web_status.SUCCESS) {
|
||||||
$.modal.confirm('发单成功,是否前往发单管理?', function() {
|
layer.open({
|
||||||
|
type: 0,
|
||||||
|
area: ['250px', '180px'],
|
||||||
|
fix: false,
|
||||||
|
//不固定
|
||||||
|
maxmin: true,
|
||||||
|
shade: 0.3,
|
||||||
|
title: '系统通知',
|
||||||
|
content: '发单成功,是否前往发单管理?',
|
||||||
|
btn: ['确定','继续下单'],
|
||||||
|
// 弹层外区域关闭
|
||||||
|
shadeClose: true,
|
||||||
|
yes: function(index) {
|
||||||
$.modal.parentTab('发单管理', 'order/master/pc');
|
$.modal.parentTab('发单管理', 'order/master/pc');
|
||||||
})
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
$.modal.msgError("请求失败")
|
$.modal.msgError("请求失败")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
$.modal.msgError("请录入完整必填信息")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -601,27 +638,7 @@
|
||||||
if (!validSpecialComponent()) return;
|
if (!validSpecialComponent()) return;
|
||||||
if ($.validate.form()) {
|
if ($.validate.form()) {
|
||||||
var data = $("#addTemplateForm").serializeArray();
|
var data = $("#addTemplateForm").serializeArray();
|
||||||
var params= {};
|
var params= translateForm(data);
|
||||||
data.forEach(function (item){
|
|
||||||
params[item.name] = item.value;
|
|
||||||
});
|
|
||||||
|
|
||||||
let categoryIds = categoryCascader.getCheckedByID();
|
|
||||||
let orderGoodsStandards = [];
|
|
||||||
categoryIds.forEach(function (item){
|
|
||||||
orderGoodsStandards.push({
|
|
||||||
deptCategoryId: item,
|
|
||||||
goodsStandardNum: $(".goodsNum[name=goodsNum" + item + "]").val()
|
|
||||||
});
|
|
||||||
});
|
|
||||||
params.orderGoodsStandards = orderGoodsStandards;
|
|
||||||
params.categoryId1 = categoryCascader.getCheckedPaths()[0][0];
|
|
||||||
params.categoryId2 = categoryCascader.getCheckedPaths()[0][1];
|
|
||||||
params.categoryId3 = categoryCascader.getCheckedPaths()[0][2];
|
|
||||||
params.provinceId = areaCascader.getCheckedPaths()[0][0];
|
|
||||||
params.cityId = areaCascader.getCheckedPaths()[0][1];
|
|
||||||
params.districtId = areaCascader.getCheckedPaths()[0][2];
|
|
||||||
params.streetId = areaCascader.getCheckedPaths()[0][3];
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
|
|
|
||||||
|
|
@ -74,12 +74,15 @@
|
||||||
</select>
|
</select>
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 0, sysPayStatus: 0, orderMode: '02'})">
|
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 0, sysPayStatus: 0, orderMode: '02'})">
|
||||||
待付款
|
待付款
|
||||||
|
(<span id="nonPaidOrderNum">0</span>)
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 0, workerId: -1})">
|
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 0, workerId: -1})">
|
||||||
已发布
|
已发布
|
||||||
|
(<span id="publishedOrderNum">0</span>)
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 1})">
|
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 1})">
|
||||||
已接单
|
已接单
|
||||||
|
(<span id="acceptedOrderNum">0</span>)
|
||||||
</a>
|
</a>
|
||||||
<!-- <a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 1, isCall: '01'})">-->
|
<!-- <a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 1, isCall: '01'})">-->
|
||||||
<!-- 未约时-->
|
<!-- 未约时-->
|
||||||
|
|
@ -89,30 +92,39 @@
|
||||||
<!-- </a>-->
|
<!-- </a>-->
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 2})">
|
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 2})">
|
||||||
待上门
|
待上门
|
||||||
|
(<span id="waitForDoorOrderNum">0</span>)
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 3})">
|
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 3})">
|
||||||
进行中
|
进行中
|
||||||
|
(<span id="servingOrderNum">0</span>)
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 4})">
|
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 4})">
|
||||||
确认审核
|
确认审核
|
||||||
|
(<span id="confirmingOrderNum">0</span>)
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 5})">
|
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 5})">
|
||||||
完成
|
完成
|
||||||
|
(<span id="finishedOrderNum">0</span>)
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 6})">
|
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this, {orderStatus: 6})">
|
||||||
关闭
|
关闭
|
||||||
|
(<span id="canceledOrderNum">0</span>)
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this)">
|
<a class="btn btn-default btn-outline" onclick="selectOnDoorOrderToday(this)">
|
||||||
今日待上门
|
今日待上门
|
||||||
|
(<span id="todayOrderNum">0</span>)
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this)">
|
<a class="btn btn-default btn-outline" onclick="selectOnDoorOrderTomorrow(this)">
|
||||||
明日待上门
|
明日待上门
|
||||||
|
(<span id="tomorrowOrderNum">0</span>)
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this)">
|
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this)">
|
||||||
售后
|
售后
|
||||||
|
(<span>0</span>)
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this)">
|
<a class="btn btn-default btn-outline" onclick="selectConditionBtn(this)">
|
||||||
急报中
|
急报中
|
||||||
|
(<span>0</span>)
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-board">
|
<div class="flex-board">
|
||||||
|
|
@ -197,7 +209,7 @@
|
||||||
};
|
};
|
||||||
$('#scroll-up').toTop(opt);
|
$('#scroll-up').toTop(opt);
|
||||||
}
|
}
|
||||||
queryOrderList();
|
initOrderList();
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
|
|
@ -245,6 +257,92 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
changeOrderMode();
|
changeOrderMode();
|
||||||
|
|
||||||
|
<!-- 不同状态订单数量统计-->
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
dataType:"json",
|
||||||
|
url: prefix + '/differentStatus/count',
|
||||||
|
success: function (result) {
|
||||||
|
if (result.code == web_status.SUCCESS) {
|
||||||
|
$('#acceptedOrderNum').text(result.data.acceptedOrderNum);
|
||||||
|
$('#canceledOrderNum').text(result.data.canceledOrderNum);
|
||||||
|
$('#confirmingOrderNum').text(result.data.confirmingOrderNum);
|
||||||
|
$('#finishedOrderNum').text(result.data.finishedOrderNum);
|
||||||
|
$('#servingOrderNum').text(result.data.servingOrderNum);
|
||||||
|
$('#waitForDoorOrderNum').text(result.data.waitForDoorOrderNum);
|
||||||
|
} else {
|
||||||
|
$.modal.msgError("数据加载错误,请重试!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
<!-- 待付款订单数量统计-->
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
dataType:"json",
|
||||||
|
url: prefix + '/count',
|
||||||
|
data: {orderStatus: 0, sysPayStatus: 0, orderMode: '02'},
|
||||||
|
success: function (result) {
|
||||||
|
if (result.code == web_status.SUCCESS) {
|
||||||
|
$('#nonPaidOrderNum').text(result.data);
|
||||||
|
} else {
|
||||||
|
$.modal.msgError("数据加载错误,请重试!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
<!-- 已发布订单数量统计-->
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
dataType:"json",
|
||||||
|
url: prefix + '/count',
|
||||||
|
data: {orderStatus: 0, workerId: -1},
|
||||||
|
success: function (result) {
|
||||||
|
if (result.code == web_status.SUCCESS) {
|
||||||
|
$('#publishedOrderNum').text(result.data);
|
||||||
|
} else {
|
||||||
|
$.modal.msgError("数据加载错误,请重试!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
<!-- 今日和明日单数量统计-->
|
||||||
|
var date = new Date();
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
dataType:"json",
|
||||||
|
url: prefix + '/count',
|
||||||
|
data: {
|
||||||
|
orderStatus: 2,
|
||||||
|
expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 00:00:00",
|
||||||
|
expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 23:59:59"
|
||||||
|
},
|
||||||
|
success: function (result) {
|
||||||
|
if (result.code == web_status.SUCCESS) {
|
||||||
|
$('#todayOrderNum').text(result.data);
|
||||||
|
} else {
|
||||||
|
$.modal.msgError("数据加载错误,请重试!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
dataType:"json",
|
||||||
|
url: prefix + '/count',
|
||||||
|
data: {
|
||||||
|
orderStatus: 2,
|
||||||
|
expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 00:00:00",
|
||||||
|
expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 23:59:59"
|
||||||
|
},
|
||||||
|
success: function (result) {
|
||||||
|
if (result.code == web_status.SUCCESS) {
|
||||||
|
$('#tomorrowOrderNum').text(result.data);
|
||||||
|
} else {
|
||||||
|
$.modal.msgError("数据加载错误,请重试!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
function changeOrderMode(orderMode) {
|
function changeOrderMode(orderMode) {
|
||||||
|
|
@ -287,7 +385,7 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function queryOrderList() {
|
function initOrderList() {
|
||||||
var options = {
|
var options = {
|
||||||
url: prefix + "/list",
|
url: prefix + "/list",
|
||||||
exportUrl: prefix + "/export",
|
exportUrl: prefix + "/export",
|
||||||
|
|
@ -423,12 +521,36 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function selectConditionBtn(e, params) {
|
function changeConditionBtnChosenStyle(e) {
|
||||||
$('.condition-btn .btn').removeClass('active-condition-btn');
|
$('.condition-btn .btn').removeClass('active-condition-btn');
|
||||||
$(e).addClass('active-condition-btn');
|
$(e).addClass('active-condition-btn');
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectConditionBtn(e, params = {}) {
|
||||||
|
changeConditionBtnChosenStyle(e);
|
||||||
searchOrderList(params)
|
searchOrderList(params)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function selectOnDoorOrderToday(e) {
|
||||||
|
changeConditionBtnChosenStyle(e);
|
||||||
|
var date = new Date();
|
||||||
|
selectConditionBtn(e, {
|
||||||
|
orderStatus: 2,
|
||||||
|
expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 00:00:00",
|
||||||
|
expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 23:59:59"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectOnDoorOrderTomorrow(e) {
|
||||||
|
changeConditionBtnChosenStyle(e);
|
||||||
|
var date = new Date();
|
||||||
|
selectConditionBtn(e, {
|
||||||
|
orderStatus: 2,
|
||||||
|
expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 00:00:00",
|
||||||
|
expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 23:59:59"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
function searchOrderList(params) {
|
function searchOrderList(params) {
|
||||||
customParams = params;
|
customParams = params;
|
||||||
$.table.search();
|
$.table.search();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.ghy.order.domain;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 主单统计实体
|
||||||
|
* @author: yangdanqi
|
||||||
|
* @date: 2023/6/7
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OrderMasterCount {
|
||||||
|
private Integer acceptedOrderNum;
|
||||||
|
|
||||||
|
private Integer waitForDoorOrderNum;
|
||||||
|
|
||||||
|
private Integer servingOrderNum;
|
||||||
|
|
||||||
|
private Integer confirmingOrderNum;
|
||||||
|
|
||||||
|
private Integer finishedOrderNum;
|
||||||
|
|
||||||
|
private Integer canceledOrderNum;
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.ghy.order.mapper;
|
package com.ghy.order.mapper;
|
||||||
|
|
||||||
import com.ghy.order.domain.OrderMaster;
|
import com.ghy.order.domain.OrderMaster;
|
||||||
|
import com.ghy.order.domain.OrderMasterCount;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
@ -107,4 +108,6 @@ public interface OrderMasterMapper {
|
||||||
* @return 1
|
* @return 1
|
||||||
*/
|
*/
|
||||||
int removeWorker(Long id);
|
int removeWorker(Long id);
|
||||||
|
|
||||||
|
OrderMasterCount differentStatusOrderCount();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.ghy.order.service;
|
||||||
|
|
||||||
import com.ghy.common.core.domain.AjaxResult;
|
import com.ghy.common.core.domain.AjaxResult;
|
||||||
import com.ghy.order.domain.OrderMaster;
|
import com.ghy.order.domain.OrderMaster;
|
||||||
|
import com.ghy.order.domain.OrderMasterCount;
|
||||||
import com.ghy.order.request.AppOrderRequest;
|
import com.ghy.order.request.AppOrderRequest;
|
||||||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||||||
|
|
||||||
|
|
@ -165,4 +166,6 @@ public interface OrderMasterService {
|
||||||
int removeWorker(Long id);
|
int removeWorker(Long id);
|
||||||
|
|
||||||
int reject(OrderMaster orderMaster);
|
int reject(OrderMaster orderMaster);
|
||||||
|
|
||||||
|
OrderMasterCount differentStatusOrderCount();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import com.ghy.common.utils.AdapayUtils;
|
||||||
import com.ghy.order.domain.OrderDetail;
|
import com.ghy.order.domain.OrderDetail;
|
||||||
import com.ghy.order.domain.OrderGoods;
|
import com.ghy.order.domain.OrderGoods;
|
||||||
import com.ghy.order.domain.OrderMaster;
|
import com.ghy.order.domain.OrderMaster;
|
||||||
|
import com.ghy.order.domain.OrderMasterCount;
|
||||||
import com.ghy.order.mapper.OrderMasterMapper;
|
import com.ghy.order.mapper.OrderMasterMapper;
|
||||||
import com.ghy.order.request.AppOrderRequest;
|
import com.ghy.order.request.AppOrderRequest;
|
||||||
import com.ghy.order.service.OrderDetailService;
|
import com.ghy.order.service.OrderDetailService;
|
||||||
|
|
@ -557,4 +558,9 @@ public class OrderMasterServiceImpl implements OrderMasterService {
|
||||||
orderDetailService.deleteByMaster(orderMaster.getId());
|
orderDetailService.deleteByMaster(orderMaster.getId());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public OrderMasterCount differentStatusOrderCount() {
|
||||||
|
return orderMasterMapper.differentStatusOrderCount();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -186,6 +186,12 @@
|
||||||
<if test="isCall != null">
|
<if test="isCall != null">
|
||||||
AND om.is_call = #{isCall}
|
AND om.is_call = #{isCall}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="expectTimeStart != null">
|
||||||
|
AND om.expect_time_start >= #{expectTimeStart}
|
||||||
|
</if>
|
||||||
|
<if test="expectTimeEnd != null">
|
||||||
|
AND om.expect_time_end <= #{expectTimeEnd}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by om.create_time
|
order by om.create_time
|
||||||
<trim suffixOverrides=",">
|
<trim suffixOverrides=",">
|
||||||
|
|
@ -201,7 +207,9 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="countOrderMasterList" parameterType="com.ghy.order.domain.OrderMaster" resultType="Long">
|
<select id="countOrderMasterList" parameterType="com.ghy.order.domain.OrderMaster" resultType="Long">
|
||||||
SELECT COUNT(*) FROM order_master om
|
SELECT COUNT(*)
|
||||||
|
FROM order_master om
|
||||||
|
LEFT JOIN financial_master fm ON om.id = fm.order_master_id
|
||||||
<where>
|
<where>
|
||||||
<if test="isMonitoredOrder">
|
<if test="isMonitoredOrder">
|
||||||
AND (om.all_self_assigned = 0 or om.all_self_assigned is null) AND om.order_status in (1,2,3,4)
|
AND (om.all_self_assigned = 0 or om.all_self_assigned is null) AND om.order_status in (1,2,3,4)
|
||||||
|
|
@ -238,6 +246,14 @@
|
||||||
</if>
|
</if>
|
||||||
<if test="workerId == -1">
|
<if test="workerId == -1">
|
||||||
AND om.worker_id IS NULL
|
AND om.worker_id IS NULL
|
||||||
|
AND ( (om.order_mode in ('01','03','04'))
|
||||||
|
OR (om.order_mode = '02' and fm.pay_status = 1) )
|
||||||
|
</if>
|
||||||
|
<if test="sysPayStatus != null">
|
||||||
|
AND fm.pay_status = #{sysPayStatus}
|
||||||
|
</if>
|
||||||
|
<if test="orderMode != null and orderMode != ''">
|
||||||
|
AND om.order_mode = #{orderMode}
|
||||||
</if>
|
</if>
|
||||||
<if test="exceptOrderStatus != null">
|
<if test="exceptOrderStatus != null">
|
||||||
AND om.order_status != #{exceptOrderStatus}
|
AND om.order_status != #{exceptOrderStatus}
|
||||||
|
|
@ -251,6 +267,12 @@
|
||||||
<if test="isCall != null">
|
<if test="isCall != null">
|
||||||
AND om.is_call = #{isCall}
|
AND om.is_call = #{isCall}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="expectTimeStart != null">
|
||||||
|
AND om.expect_time_start >= #{expectTimeStart}
|
||||||
|
</if>
|
||||||
|
<if test="expectTimeEnd != null">
|
||||||
|
AND om.expect_time_end <= #{expectTimeEnd}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
@ -401,4 +423,15 @@
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<select id="differentStatusOrderCount" resultType="com.ghy.order.domain.OrderMasterCount">
|
||||||
|
select
|
||||||
|
count(case when om.order_status = 1 then 1 else null end) as acceptedOrderNum,
|
||||||
|
count(case when om.order_status = 2 then 1 else null end) as waitForDoorOrderNum,
|
||||||
|
count(case when om.order_status = 3 then 1 else null end) as servingOrderNum,
|
||||||
|
count(case when om.order_status = 4 then 1 else null end) as confirmingOrderNum,
|
||||||
|
count(case when om.order_status = 5 then 1 else null end) as finishedOrderNum,
|
||||||
|
count(case when om.order_status = 6 then 1 else null end) as canceledOrderNum
|
||||||
|
from order_master om
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue