From 98ad6c297e2f88dc805eef779d0385f27eecc475 Mon Sep 17 00:00:00 2001 From: ryoeiken <754264374@qq.com> Date: Mon, 11 Jan 2021 17:47:14 +0800 Subject: [PATCH] =?UTF-8?q?=E7=97=85=E6=82=A3=E6=8A=A5=E9=A4=90=20api?= =?UTF-8?q?=EF=BC=9A=E6=8A=A5=E9=A4=90=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ClientPatientController.java | 39 ++++++++++++++++--- .../system/fantang/domain/FtOrderDao.java | 12 ++++++ .../fantang/mapper/FtFoodDemandDaoMapper.java | 21 +++++++++- .../service/IFtFoodDemandDaoService.java | 13 +++++-- .../impl/FtFoodDemandDaoServiceImpl.java | 18 +++++++++ 5 files changed, 94 insertions(+), 9 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientPatientController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientPatientController.java index 09daf870e..73d70620c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientPatientController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientPatientController.java @@ -7,12 +7,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.system.fantang.domain.FtFoodDao; -import com.ruoyi.system.fantang.domain.FtFoodDemandDao; -import com.ruoyi.system.fantang.domain.FtReportMealsDao; -import com.ruoyi.system.fantang.domain.FtStaffInfoDao; +import com.ruoyi.system.fantang.domain.*; import com.ruoyi.system.fantang.service.*; -import com.ruoyi.system.fantang.vo.FtDepartVo; import com.ruoyi.system.fantang.vo.FtPatientVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -162,4 +158,37 @@ public class ClientPatientController extends BaseController { wrapper.eq("type", 1); return AjaxResult.success(iftFoodDaoService.list(wrapper)); } + + /** + * 病患报餐日统计 + */ + @GetMapping("/getStatisticsReportMealsOfDay") + public AjaxResult getStatisticsReportMealsOfDay(@RequestParam("date") Date day) { + + List list = iFtFoodDemandDaoService.getStatisticsOfDay(day); + + return AjaxResult.success(list); + } + + /** + * 病患报餐周统计 + */ + @GetMapping("/getStatisticsReportMealsOfWeek") + public AjaxResult getStatisticsReportMealsOfWeek(@RequestParam("date") Date day) { + + List list = iFtFoodDemandDaoService.getStatisticsOfWeek(day); + + return AjaxResult.success(list); + } + + /** + * 病患报餐月统计 + */ + @GetMapping("/getStatisticsReportMealsOfMonth") + public AjaxResult getStatisticsReportMealsOfMonth(@RequestParam("date") Date day) { + + List list = iFtFoodDemandDaoService.getStatisticsOfMonth(day); + + return AjaxResult.success(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 1705cbbb3..af8d5f7bd 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 @@ -70,6 +70,18 @@ public class FtOrderDao implements Serializable { @Excel(name = "总价") private BigDecimal totalPrice; + /** + * 统计总数 + */ + @TableField(exist = false) + private Integer total; + + /** + * 报餐类型 + */ + @TableField(exist = false) + private Integer type; + /** * 折扣 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDemandDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDemandDaoMapper.java index b6dd8f646..abd5776ad 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDemandDaoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDemandDaoMapper.java @@ -1,8 +1,8 @@ package com.ruoyi.system.fantang.mapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.domain.FtOrderDao; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -25,4 +25,23 @@ public interface FtFoodDemandDaoMapper extends BaseMapper { List listNewFormatter(FtFoodDemandDao ftFoodDemandDao); FtFoodDemandDao getByIdNewFormatter(Long id); + + @Select("SELECT\n" + + "\td.depart_name,\n" + + "\tcount(*) AS total,\n" + + "\ta.type \n" + + "FROM\n" + + "\tft_report_meals a\n" + + "\tLEFT JOIN ft_food_demand b ON a.patient_id = b.patient_id\n" + + "\tLEFT JOIN ft_patient c ON a.patient_id = c.patient_id\n" + + "\tLEFT JOIN ft_depart d ON c.depart_id = d.depart_id \n" + + "WHERE\n" + + "\tb.flag = 1 \n" + + "\tAND a.type = b.type \n" + + "\tAND c.depart_id = d.depart_id and a.create_at BETWEEN #{start} and #{end}\n" + + "\t\n" + + "GROUP BY\n" + + "\td.depart_name,\n" + + "\ta.type") + List getStatisticsOfDate(@Param("start") String start, @Param("end") String end); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDemandDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDemandDaoService.java index 7f32a640e..cc4fbc6b1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDemandDaoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDemandDaoService.java @@ -1,9 +1,10 @@ package com.ruoyi.system.fantang.service; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.ruoyi.system.fantang.domain.FtFoodDemandDao; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.domain.FtOrderDao; +import java.util.Date; import java.util.List; /** @@ -15,9 +16,15 @@ import java.util.List; public interface IFtFoodDemandDaoService extends IService { public Integer GenerateOrderByPatientId(Long patientId); - public Integer GenerateOrderForNewPatient() ; + public Integer GenerateOrderForNewPatient(); List listNewFormatter(FtFoodDemandDao ftFoodDemandDao); FtFoodDemandDao getByIdNewFormatter(Long id); + + List getStatisticsOfDay(Date day); + + List getStatisticsOfWeek(Date day); + + List getStatisticsOfMonth(Date day); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDemandDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDemandDaoServiceImpl.java index db318bcfd..3090e5899 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDemandDaoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDemandDaoServiceImpl.java @@ -1,11 +1,14 @@ package com.ruoyi.system.fantang.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.domain.FtOrderDao; import com.ruoyi.system.fantang.mapper.FtFoodDemandDaoMapper; import com.ruoyi.system.fantang.service.IFtFoodDemandDaoService; import org.springframework.stereotype.Service; +import java.util.Date; import java.util.List; /** @@ -42,4 +45,19 @@ public class FtFoodDemandDaoServiceImpl extends ServiceImpl getStatisticsOfDay(Date day) { + return this.baseMapper.getStatisticsOfDate(DateUtil.beginOfDay(day).toString(), DateUtil.endOfDay(day).toString()); + } + + @Override + public List getStatisticsOfWeek(Date day) { + return this.baseMapper.getStatisticsOfDate(DateUtil.beginOfWeek(day).toString(), DateUtil.endOfWeek(day).toString()); + } + + @Override + public List getStatisticsOfMonth(Date day) { + return this.baseMapper.getStatisticsOfDate(DateUtil.beginOfMonth(day).toString(), DateUtil.endOfMonth(day).toString()); + } }