病患报餐 api:报餐统计

This commit is contained in:
ryoeiken 2021-01-11 17:47:14 +08:00
parent 3b87010f24
commit 98ad6c297e
5 changed files with 94 additions and 9 deletions

View File

@ -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<FtOrderDao> list = iFtFoodDemandDaoService.getStatisticsOfDay(day);
return AjaxResult.success(list);
}
/**
* 病患报餐周统计
*/
@GetMapping("/getStatisticsReportMealsOfWeek")
public AjaxResult getStatisticsReportMealsOfWeek(@RequestParam("date") Date day) {
List<FtOrderDao> list = iFtFoodDemandDaoService.getStatisticsOfWeek(day);
return AjaxResult.success(list);
}
/**
* 病患报餐月统计
*/
@GetMapping("/getStatisticsReportMealsOfMonth")
public AjaxResult getStatisticsReportMealsOfMonth(@RequestParam("date") Date day) {
List<FtOrderDao> list = iFtFoodDemandDaoService.getStatisticsOfMonth(day);
return AjaxResult.success(list);
}
}

View File

@ -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;
/**
* 折扣
*/

View File

@ -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<FtFoodDemandDao> {
List<FtFoodDemandDao> 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<FtOrderDao> getStatisticsOfDate(@Param("start") String start, @Param("end") String end);
}

View File

@ -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<FtFoodDemandDao> {
public Integer GenerateOrderByPatientId(Long patientId);
public Integer GenerateOrderForNewPatient() ;
public Integer GenerateOrderForNewPatient();
List<FtFoodDemandDao> listNewFormatter(FtFoodDemandDao ftFoodDemandDao);
FtFoodDemandDao getByIdNewFormatter(Long id);
List<FtOrderDao> getStatisticsOfDay(Date day);
List<FtOrderDao> getStatisticsOfWeek(Date day);
List<FtOrderDao> getStatisticsOfMonth(Date day);
}

View File

@ -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<FtFoodDemandDaoMappe
public FtFoodDemandDao getByIdNewFormatter(Long id) {
return this.baseMapper.getByIdNewFormatter(id);
}
@Override
public List<FtOrderDao> getStatisticsOfDay(Date day) {
return this.baseMapper.getStatisticsOfDate(DateUtil.beginOfDay(day).toString(), DateUtil.endOfDay(day).toString());
}
@Override
public List<FtOrderDao> getStatisticsOfWeek(Date day) {
return this.baseMapper.getStatisticsOfDate(DateUtil.beginOfWeek(day).toString(), DateUtil.endOfWeek(day).toString());
}
@Override
public List<FtOrderDao> getStatisticsOfMonth(Date day) {
return this.baseMapper.getStatisticsOfDate(DateUtil.beginOfMonth(day).toString(), DateUtil.endOfMonth(day).toString());
}
}