From 68ab632d1e3fc8bbfb468daf04c15761774d1e0b Mon Sep 17 00:00:00 2001 From: ryoeiken <754264374@qq.com> Date: Fri, 29 Jan 2021 11:20:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=98=E5=B7=A5=E8=AE=A2=E5=8D=95=E5=AF=BC?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FtOrderDaoController.java | 59 ++++++++++++++++++- .../system/fantang/domain/FtOrderDao.java | 49 ++++++++------- .../fantang/mapper/FtOrderDaoMapper.java | 13 ++++ .../fantang/service/IFtOrderDaoService.java | 6 ++ .../service/impl/FtOrderDaoServiceImpl.java | 15 +++++ ruoyi-ui/src/api/fantang/order.js | 27 +++++++++ .../views/fantang/orderStatistics/index.vue | 54 +++++++++++++++++ 7 files changed, 196 insertions(+), 27 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtOrderDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtOrderDaoController.java index 50ef0c54b..89b024114 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtOrderDaoController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtOrderDaoController.java @@ -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 list; + + if (statisticsType != 1) { + list = iFtOrderDaoService.statisOrderOfDateByPersonNoPage(selectDay); + } else { + list = null; + } + + ExcelUtil 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 list; + + if (statisticsType != 1) { + list = iFtOrderDaoService.statisOrderOfWeekByPersonNoPage(selectWeek); + } else { + list = null; + } + + ExcelUtil 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 list; + + if (statisticsType != 1) { + list = iFtOrderDaoService.statisOrderOfMonthByPersonNoPage(selectMonth); + } else { + list = null; + } + + ExcelUtil util = new ExcelUtil<>(FtOrderDao.class); + return util.exportExcel(list, "员工用餐统计"); + + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtOrderDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtOrderDao.java index 53f1318fa..44c785b19 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtOrderDao.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtOrderDao.java @@ -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; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtOrderDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtOrderDaoMapper.java index 2bf0b220f..c2e77c840 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtOrderDaoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtOrderDaoMapper.java @@ -134,4 +134,17 @@ public interface FtOrderDaoMapper extends BaseMapper { "\tc.depart_name,\n" + "\ta.type\n") List 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 statisOrderOfDateByPersonNoPage( @Param("start") String start, @Param("end") String end); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtOrderDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtOrderDaoService.java index 695c301fa..606d0c6c6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtOrderDaoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtOrderDaoService.java @@ -39,6 +39,8 @@ public interface IFtOrderDaoService extends IService { IPage statisGetOrderOfDateByPerson(Date date, Integer pageNum, Integer pageSize); + List statisOrderOfDateByPersonNoPage(Date date); + IPage statisGetOrderOfWeek(Date date, Integer pageNum, Integer pageSize); IPage statisGetOrderOfWeekByPerson(Date date, Integer pageNum, Integer pageSize); @@ -58,4 +60,8 @@ public interface IFtOrderDaoService extends IService { List getStatisticsStaffOfTomorrow(); List getStopOrderOfTomorrow(); + + List statisOrderOfWeekByPersonNoPage(Date selectWeek); + + List statisOrderOfMonthByPersonNoPage(Date selectMonth); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtOrderDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtOrderDaoServiceImpl.java index a3ef83173..ce1f58fef 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtOrderDaoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtOrderDaoServiceImpl.java @@ -145,6 +145,11 @@ public class FtOrderDaoServiceImpl extends ServiceImpl statisOrderOfDateByPersonNoPage(Date date) { + return this.baseMapper.statisOrderOfDateByPersonNoPage(DateUtil.beginOfDay(date).toString(), DateUtil.endOfDay(date).toString()); + } + @Override public IPage statisGetOrderOfWeek(Date date, Integer pageNum, Integer pageSize) { Page page = new Page<>(pageNum, pageSize); @@ -226,4 +231,14 @@ public class FtOrderDaoServiceImpl extends ServiceImpl getStopOrderOfTomorrow() { return this.baseMapper.getStopOrderOfTomorrow(); } + + @Override + public List statisOrderOfWeekByPersonNoPage(Date selectWeek) { + return this.baseMapper.statisOrderOfDateByPersonNoPage(DateUtil.beginOfWeek(selectWeek).toString(), DateUtil.endOfWeek(selectWeek).toString()); + } + + @Override + public List statisOrderOfMonthByPersonNoPage(Date selectMonth) { + return this.baseMapper.statisOrderOfDateByPersonNoPage(DateUtil.beginOfMonth(selectMonth).toString(), DateUtil.endOfMonth(selectMonth).toString()); + } } diff --git a/ruoyi-ui/src/api/fantang/order.js b/ruoyi-ui/src/api/fantang/order.js index 379d885a4..149b8414f 100644 --- a/ruoyi-ui/src/api/fantang/order.js +++ b/ruoyi-ui/src/api/fantang/order.js @@ -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({ diff --git a/ruoyi-ui/src/views/fantang/orderStatistics/index.vue b/ruoyi-ui/src/views/fantang/orderStatistics/index.vue index 722a14011..f9889c97b 100644 --- a/ruoyi-ui/src/views/fantang/orderStatistics/index.vue +++ b/ruoyi-ui/src/views/fantang/orderStatistics/index.vue @@ -24,6 +24,7 @@ 统计 + 导出 @@ -42,6 +43,7 @@ 统计 + 导出 @@ -55,6 +57,7 @@ 统计 + 导出 重置 @@ -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 => {