员工订单导出

This commit is contained in:
ryoeiken 2021-01-29 11:20:07 +08:00
parent a425c40b21
commit 68ab632d1e
7 changed files with 196 additions and 27 deletions

View File

@ -137,12 +137,30 @@ public class FtOrderDaoController extends BaseController {
Integer pageSize = params.getInteger("pageSize");
if (statisticsType == 1) {
return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfDate(selectDay, pageNum, pageSize));
return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfDate(selectDay, pageNum, pageSize));
} else {
return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfDateByPerson(selectDay, pageNum, pageSize));
}
}
@PostMapping("/exportOrderOfDay")
public AjaxResult exportOrderOfDay(@RequestBody JSONObject params) {
Date selectDay = params.getDate("selectDay");
Integer statisticsType = params.getInteger("statisticsType");
List<FtOrderDao> list;
if (statisticsType != 1) {
list = iFtOrderDaoService.statisOrderOfDateByPersonNoPage(selectDay);
} else {
list = null;
}
ExcelUtil<FtOrderDao> util = new ExcelUtil<>(FtOrderDao.class);
return util.exportExcel(list, "员工用餐统计");
}
/**
* 统计周报餐信息
*/
@ -162,6 +180,24 @@ public class FtOrderDaoController extends BaseController {
}
@PostMapping("/exportOrderOfWeek")
public AjaxResult exportOrderOfWeek(@RequestBody JSONObject params) {
Date selectWeek = params.getDate("selectWeek");
Integer statisticsType = params.getInteger("statisticsType");
List<FtOrderDao> list;
if (statisticsType != 1) {
list = iFtOrderDaoService.statisOrderOfWeekByPersonNoPage(selectWeek);
} else {
list = null;
}
ExcelUtil<FtOrderDao> util = new ExcelUtil<>(FtOrderDao.class);
return util.exportExcel(list, "员工用餐统计");
}
/**
* 统计月报餐信息
*/
@ -175,8 +211,27 @@ public class FtOrderDaoController extends BaseController {
if (statisticsType == 1) {
return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfMonth(selectMonth, pageNum, pageSize));
}else {
} else {
return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfMonthByPerson(selectMonth, pageNum, pageSize));
}
}
@PostMapping("/exportOrderOfMonth")
public AjaxResult exportOrderOfMonth(@RequestBody JSONObject params){
Date selectMonth = params.getDate("selectMonth");
Integer statisticsType = params.getInteger("statisticsType");
List<FtOrderDao> list;
if (statisticsType != 1) {
list = iFtOrderDaoService.statisOrderOfMonthByPersonNoPage(selectMonth);
} else {
list = null;
}
ExcelUtil<FtOrderDao> util = new ExcelUtil<>(FtOrderDao.class);
return util.exportExcel(list, "员工用餐统计");
}
}

View File

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.system.fantang.entity.BaseStaff;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@ -39,10 +38,25 @@ public class FtOrderDao implements Serializable {
@TableId(value = "order_id")
private Long orderId;
@TableField(exist = false)
@Excel(name = "部门名称")
private String departName;
/**
* 员工姓名
*/
@TableField(exist = false)
@Excel(name = "员工姓名")
private String name;
@TableField(exist = false)
@Excel(name = "电话")
private String tel;
/**
* 订单类型
*/
@Excel(name = "订单类型")
@Excel(name = "订单类型", readConverterExp = "1=早餐,2=午餐,3=晚餐")
private Integer orderType;
@TableField(exist = false)
@ -53,22 +67,15 @@ public class FtOrderDao implements Serializable {
*/
private Long staffId;
/**
* 员工姓名
*/
@TableField(exist = false)
private String name;
/**
* 清单
*/
@Excel(name = "清单")
private String orderList;
/**
* 总价
*/
@Excel(name = "")
@Excel(name = "")
private BigDecimal totalPrice;
/**
@ -86,13 +93,11 @@ public class FtOrderDao implements Serializable {
/**
* 折扣
*/
@Excel(name = "折扣")
private BigDecimal discount;
/**
* 实收
*/
@Excel(name = "实收")
private BigDecimal receipts;
/**
@ -102,6 +107,11 @@ public class FtOrderDao implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createAt;
// 订用餐日期
@Excel(name = "订用餐日期", width = 30, dateFormat = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date orderDate;
/**
* 创建人
*/
@ -110,19 +120,16 @@ public class FtOrderDao implements Serializable {
/**
* 订单来源
*/
@Excel(name = "订单来源")
private String orderSrc;
/**
* 订单现售
*/
@Excel(name = "订单现售")
private BigDecimal currentPrice;
/**
* 支付方式
*/
@Excel(name = "支付方式")
private Integer payType;
/**
@ -138,19 +145,19 @@ public class FtOrderDao implements Serializable {
/**
* 核销标志
*/
@Excel(name = "是否核销", readConverterExp = "0=否,1=是")
private Integer writeOffFlag;
/**
* 核销时间
*/
@Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd")
@Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date writeOffAt;
/**
* 是否过期
*/
@Excel(name = "是否过期")
private Integer isExpired;
/**
@ -158,21 +165,13 @@ public class FtOrderDao implements Serializable {
*/
private Long deviceId;
// 订用餐日期
private Date orderDate;
@TableField(exist = false)
private Integer countOrder;
@TableField(exist = false)
private String departName;
@TableField(exist = false)
private Long departId;
@TableField(exist = false)
private String staffName;
@TableField(exist = false)
private String tel;
}

View File

@ -134,4 +134,17 @@ public interface FtOrderDaoMapper extends BaseMapper<FtOrderDao> {
"\tc.depart_name,\n" +
"\ta.type\n")
List<FtStaffStopMealsDao> getStopOrderOfTomorrow();
@Select("SELECT\n" +
"\tc.depart_name,\n" +
"\tb.`name`, b.tel,\n" +
"\ta.* \n" +
"FROM\n" +
"\tft_order a\n" +
"\tLEFT JOIN ft_staff_info b ON b.staff_id = a.staff_id\n" +
"\tLEFT JOIN ft_depart c ON c.depart_id = b.depart_id \n" +
"WHERE\n" +
"\ta.order_date BETWEEN #{start} \n" +
"\tAND #{end}")
List<FtOrderDao> statisOrderOfDateByPersonNoPage( @Param("start") String start, @Param("end") String end);
}

View File

@ -39,6 +39,8 @@ public interface IFtOrderDaoService extends IService<FtOrderDao> {
IPage<FtOrderDao> statisGetOrderOfDateByPerson(Date date, Integer pageNum, Integer pageSize);
List<FtOrderDao> statisOrderOfDateByPersonNoPage(Date date);
IPage<FtOrderDao> statisGetOrderOfWeek(Date date, Integer pageNum, Integer pageSize);
IPage<FtOrderDao> statisGetOrderOfWeekByPerson(Date date, Integer pageNum, Integer pageSize);
@ -58,4 +60,8 @@ public interface IFtOrderDaoService extends IService<FtOrderDao> {
List<FtStaffDemandDao> getStatisticsStaffOfTomorrow();
List<FtStaffStopMealsDao> getStopOrderOfTomorrow();
List<FtOrderDao> statisOrderOfWeekByPersonNoPage(Date selectWeek);
List<FtOrderDao> statisOrderOfMonthByPersonNoPage(Date selectMonth);
}

View File

@ -145,6 +145,11 @@ public class FtOrderDaoServiceImpl extends ServiceImpl<FtOrderDaoMapper, FtOrder
return this.baseMapper.statisGetOrderOfDateByPerson(page, DateUtil.beginOfDay(date).toString(), DateUtil.endOfDay(date).toString());
}
@Override
public List<FtOrderDao> statisOrderOfDateByPersonNoPage(Date date) {
return this.baseMapper.statisOrderOfDateByPersonNoPage(DateUtil.beginOfDay(date).toString(), DateUtil.endOfDay(date).toString());
}
@Override
public IPage<FtOrderDao> statisGetOrderOfWeek(Date date, Integer pageNum, Integer pageSize) {
Page<FtOrderDao> page = new Page<>(pageNum, pageSize);
@ -226,4 +231,14 @@ public class FtOrderDaoServiceImpl extends ServiceImpl<FtOrderDaoMapper, FtOrder
public List<FtStaffStopMealsDao> getStopOrderOfTomorrow() {
return this.baseMapper.getStopOrderOfTomorrow();
}
@Override
public List<FtOrderDao> statisOrderOfWeekByPersonNoPage(Date selectWeek) {
return this.baseMapper.statisOrderOfDateByPersonNoPage(DateUtil.beginOfWeek(selectWeek).toString(), DateUtil.endOfWeek(selectWeek).toString());
}
@Override
public List<FtOrderDao> statisOrderOfMonthByPersonNoPage(Date selectMonth) {
return this.baseMapper.statisOrderOfDateByPersonNoPage(DateUtil.beginOfMonth(selectMonth).toString(), DateUtil.endOfMonth(selectMonth).toString());
}
}

View File

@ -61,6 +61,33 @@ export function getStatisGetOrderOfDay(data) {
})
}
// 导出日报餐信息
export function exportOrderOfDay(data) {
return request({
url: '/fantang/order/exportOrderOfDay',
method: 'post',
data: data
})
}
// 导出周报餐信息
export function exportOrderOfWeek(data) {
return request({
url: '/fantang/order/exportOrderOfWeek',
method: 'post',
data: data
})
}
// 导出月报餐信息
export function exportOrderOfMonth(data) {
return request({
url: '/fantang/order/exportOrderOfMonth',
method: 'post',
data: data
})
}
// 周报餐信息
export function getStatisGetOrderOfWeek(data) {
return request({

View File

@ -24,6 +24,7 @@
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onDaySubmit">统计</el-button>
<el-button type="warning" @click="onDayExport">导出</el-button>
</el-form-item>
</el-form>
@ -42,6 +43,7 @@
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onWeekSubmit">统计</el-button>
<el-button type="warning" @click="onWeekExport">导出</el-button>
</el-form-item>
</el-form>
@ -55,6 +57,7 @@
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onMonthSubmit">统计</el-button>
<el-button type="warning" @click="onMonthExport">导出</el-button>
</el-form-item>
<el-form-item>
<el-button @click="resetCount">重置</el-button>
@ -85,6 +88,9 @@ import {
addOrder,
delOrder,
exportOrder,
exportOrderOfDay,
exportOrderOfMonth,
exportOrderOfWeek,
getOrder,
getStatisGetOrderOfDay,
getStatisGetOrderOfMonth,
@ -210,6 +216,8 @@ export default {
selectMonth: null
}
this.orderCountList = null
this.total = 0;
},
formatOrderType(row) {
return this.selectDictLabel(this.typeOptions, row.orderType);
@ -229,6 +237,20 @@ export default {
})
}
},
onMonthExport() {
if (this.formMonth.statisticsType == null) {
this.msgError("请选择统计方式")
}
if (this.formMonth.selectMonth != null && this.formMonth.statisticsType != null && this.formMonth.statisticsType !== 1) {
console.log(this.formMonth)
this.queryParams.selectMonth = this.formMonth.selectMonth;
this.queryParams.statisticsType = this.formMonth.statisticsType;
exportOrderOfMonth(this.queryParams).then(response => {
this.download(response.msg);
})
}
},
onWeekSubmit() {
if (this.formWeek.statisticsType == null) {
this.msgError("请选择统计方式")
@ -245,6 +267,22 @@ export default {
})
}
},
onWeekExport() {
if (this.formWeek.statisticsType == null) {
this.msgError("请选择统计方式")
} else if (this.formWeek.statisticsType === 1) {
this.msgError("请选择按人统计")
}
if (this.formWeek.selectWeek != null && this.formWeek.statisticsType != null && this.formWeek.statisticsType !== 1) {
console.log(this.formWeek)
this.queryParams.selectWeek = this.formWeek.selectWeek;
this.queryParams.statisticsType = this.formWeek.statisticsType;
exportOrderOfWeek(this.queryParams).then(response => {
this.download(response.msg);
})
}
},
onDaySubmit() {
if (this.formDay.statisticsType == null) {
this.msgError("请选择统计方式")
@ -262,6 +300,22 @@ export default {
}
},
/** 查询订单管理列表 */
onDayExport() {
if (this.formDay.statisticsType == null) {
this.msgError("请选择统计方式")
} else if (this.formDay.statisticsType === 1) {
this.msgError("请选择按人统计")
}
if (this.formDay.selectDay != null && this.formDay.statisticsType != null && this.formDay.statisticsType !== 1) {
console.log(this.formDay)
this.queryParams.selectDay = this.formDay.selectDay;
this.queryParams.statisticsType = this.formDay.statisticsType;
exportOrderOfDay(this.queryParams).then(response => {
this.download(response.msg);
})
}
},
getList() {
this.loading = false;
listOrder(this.queryParams).then(response => {