员工订单导出

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"); Integer pageSize = params.getInteger("pageSize");
if (statisticsType == 1) { if (statisticsType == 1) {
return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfDate(selectDay, pageNum, pageSize)); return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfDate(selectDay, pageNum, pageSize));
} else { } else {
return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfDateByPerson(selectDay, pageNum, pageSize)); 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) { if (statisticsType == 1) {
return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfMonth(selectMonth, pageNum, pageSize)); return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfMonth(selectMonth, pageNum, pageSize));
}else { } else {
return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfMonthByPerson(selectMonth, pageNum, pageSize)); 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.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.ruoyi.system.fantang.entity.BaseStaff;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -39,10 +38,25 @@ public class FtOrderDao implements Serializable {
@TableId(value = "order_id") @TableId(value = "order_id")
private Long orderId; 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; private Integer orderType;
@TableField(exist = false) @TableField(exist = false)
@ -53,22 +67,15 @@ public class FtOrderDao implements Serializable {
*/ */
private Long staffId; private Long staffId;
/**
* 员工姓名
*/
@TableField(exist = false)
private String name;
/** /**
* 清单 * 清单
*/ */
@Excel(name = "清单")
private String orderList; private String orderList;
/** /**
* 总价 * 总价
*/ */
@Excel(name = "") @Excel(name = "")
private BigDecimal totalPrice; private BigDecimal totalPrice;
/** /**
@ -86,13 +93,11 @@ public class FtOrderDao implements Serializable {
/** /**
* 折扣 * 折扣
*/ */
@Excel(name = "折扣")
private BigDecimal discount; private BigDecimal discount;
/** /**
* 实收 * 实收
*/ */
@Excel(name = "实收")
private BigDecimal receipts; private BigDecimal receipts;
/** /**
@ -102,6 +107,11 @@ public class FtOrderDao implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createAt; 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; private String orderSrc;
/** /**
* 订单现售 * 订单现售
*/ */
@Excel(name = "订单现售")
private BigDecimal currentPrice; private BigDecimal currentPrice;
/** /**
* 支付方式 * 支付方式
*/ */
@Excel(name = "支付方式")
private Integer payType; private Integer payType;
/** /**
@ -138,19 +145,19 @@ public class FtOrderDao implements Serializable {
/** /**
* 核销标志 * 核销标志
*/ */
@Excel(name = "是否核销", readConverterExp = "0=否,1=是")
private Integer writeOffFlag; 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") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date writeOffAt; private Date writeOffAt;
/** /**
* 是否过期 * 是否过期
*/ */
@Excel(name = "是否过期")
private Integer isExpired; private Integer isExpired;
/** /**
@ -158,21 +165,13 @@ public class FtOrderDao implements Serializable {
*/ */
private Long deviceId; private Long deviceId;
// 订用餐日期
private Date orderDate;
@TableField(exist = false) @TableField(exist = false)
private Integer countOrder; private Integer countOrder;
@TableField(exist = false)
private String departName;
@TableField(exist = false) @TableField(exist = false)
private Long departId; private Long departId;
@TableField(exist = false) @TableField(exist = false)
private String staffName; 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" + "\tc.depart_name,\n" +
"\ta.type\n") "\ta.type\n")
List<FtStaffStopMealsDao> getStopOrderOfTomorrow(); 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); 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> statisGetOrderOfWeek(Date date, Integer pageNum, Integer pageSize);
IPage<FtOrderDao> statisGetOrderOfWeekByPerson(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<FtStaffDemandDao> getStatisticsStaffOfTomorrow();
List<FtStaffStopMealsDao> getStopOrderOfTomorrow(); 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()); 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 @Override
public IPage<FtOrderDao> statisGetOrderOfWeek(Date date, Integer pageNum, Integer pageSize) { public IPage<FtOrderDao> statisGetOrderOfWeek(Date date, Integer pageNum, Integer pageSize) {
Page<FtOrderDao> page = new Page<>(pageNum, pageSize); Page<FtOrderDao> page = new Page<>(pageNum, pageSize);
@ -226,4 +231,14 @@ public class FtOrderDaoServiceImpl extends ServiceImpl<FtOrderDaoMapper, FtOrder
public List<FtStaffStopMealsDao> getStopOrderOfTomorrow() { public List<FtStaffStopMealsDao> getStopOrderOfTomorrow() {
return this.baseMapper.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) { export function getStatisGetOrderOfWeek(data) {
return request({ return request({

View File

@ -24,6 +24,7 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="onDaySubmit">统计</el-button> <el-button type="primary" @click="onDaySubmit">统计</el-button>
<el-button type="warning" @click="onDayExport">导出</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -42,6 +43,7 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="onWeekSubmit">统计</el-button> <el-button type="primary" @click="onWeekSubmit">统计</el-button>
<el-button type="warning" @click="onWeekExport">导出</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -55,6 +57,7 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="onMonthSubmit">统计</el-button> <el-button type="primary" @click="onMonthSubmit">统计</el-button>
<el-button type="warning" @click="onMonthExport">导出</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="resetCount">重置</el-button> <el-button @click="resetCount">重置</el-button>
@ -85,6 +88,9 @@ import {
addOrder, addOrder,
delOrder, delOrder,
exportOrder, exportOrder,
exportOrderOfDay,
exportOrderOfMonth,
exportOrderOfWeek,
getOrder, getOrder,
getStatisGetOrderOfDay, getStatisGetOrderOfDay,
getStatisGetOrderOfMonth, getStatisGetOrderOfMonth,
@ -210,6 +216,8 @@ export default {
selectMonth: null selectMonth: null
} }
this.orderCountList = null this.orderCountList = null
this.total = 0;
}, },
formatOrderType(row) { formatOrderType(row) {
return this.selectDictLabel(this.typeOptions, row.orderType); 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() { onWeekSubmit() {
if (this.formWeek.statisticsType == null) { if (this.formWeek.statisticsType == null) {
this.msgError("请选择统计方式") 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() { onDaySubmit() {
if (this.formDay.statisticsType == null) { if (this.formDay.statisticsType == null) {
this.msgError("请选择统计方式") 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() { getList() {
this.loading = false; this.loading = false;
listOrder(this.queryParams).then(response => { listOrder(this.queryParams).then(response => {