增加明天报餐的预测统计接口

This commit is contained in:
czx 2021-01-14 13:55:54 +08:00
parent c973e28951
commit ca96acdfd2
9 changed files with 110 additions and 7 deletions

View File

@ -540,11 +540,13 @@ public class ClientController extends BaseController {
*/
@GetMapping("/getStatisticsOrderOfTomorrow")
public AjaxResult getStatisticsReportMealsOfTomorrow() {
AjaxResult result = new AjaxResult();
result.success();
result.put("reports", orderDaoService.getStatisticsReportMealsOfTomorrow());
result.put("staffs", orderDaoService.getStatisticsStaffOfTomorrow());
result.put("stops", orderDaoService.getStopOrderOfTomorrow());
Date today = new Date();
Date tomorrow = DateUtil.offsetDay(today, 1);
return orderDaoService.statisGetOrderOfDate(tomorrow);
return result;
}

View File

@ -5,6 +5,7 @@ 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;
@ -74,7 +75,7 @@ public class FtOrderDao implements Serializable {
* 统计总数
*/
@TableField(exist = false)
private Integer total;
private Long total;
/**
* 报餐类型

View File

@ -1,6 +1,7 @@
package com.ruoyi.system.fantang.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.fantang.entity.BaseStaff;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@ -27,7 +28,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
@NoArgsConstructor
@Accessors(chain = true)
@TableName("ft_staff_demand")
public class FtStaffDemandDao implements Serializable {
public class FtStaffDemandDao extends BaseStaff implements Serializable {
private static final long serialVersionUID=1L;

View File

@ -4,6 +4,7 @@ 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;
@ -25,7 +26,7 @@ import java.util.Date;
@NoArgsConstructor
@Accessors(chain = true)
@TableName("ft_staff_stop_meals")
public class FtStaffStopMealsDao implements Serializable {
public class FtStaffStopMealsDao extends BaseStaff implements Serializable {
private static final long serialVersionUID=1L;

View File

@ -19,4 +19,6 @@ public class BasePatient {
public String departName;
@TableField(exist = false)
private Long departId;
@TableField(exist = false)
private Long total;
}

View File

@ -0,0 +1,20 @@
package com.ruoyi.system.fantang.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BaseStaff {
@TableField(exist = false)
public String name;
@TableField(exist = false)
public String departName;
@TableField(exist = false)
private Long departId;
@TableField(exist = false)
private Long total;
}

View File

@ -1,7 +1,10 @@
package com.ruoyi.system.fantang.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.fantang.domain.FtFoodDemandDao;
import com.ruoyi.system.fantang.domain.FtOrderDao;
import com.ruoyi.system.fantang.domain.FtStaffDemandDao;
import com.ruoyi.system.fantang.domain.FtStaffStopMealsDao;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -83,4 +86,50 @@ public interface FtOrderDaoMapper extends BaseMapper<FtOrderDao> {
"WHERE\n" +
"\tb.type = #{type}")
void insertOrderAndWriteOff(@Param("staffId") Long staffId, @Param("type") int type, @Param("deviceId") Long deviceId);
@Select("SELECT\n" +
"\tc.depart_name,\n" +
"\ta.type,\n" +
"\ta.flag,\n" +
"count(*) as total\n" +
"FROM\n" +
"\tft_food_demand a\n" +
"LEFT JOIN ft_patient b ON a.patient_id = b.patient_id\n" +
"LEFT JOIN ft_depart c ON b.depart_id = c.depart_id\n" +
"WHERE\n" +
"\tb.off_flag = 0\n" +
"AND a.flag = 1\n" +
"GROUP BY a.type, c.depart_name")
List<FtFoodDemandDao> getStatisticsReportMealsOfTomorrow();
@Select("SELECT\n" +
"\tc.depart_name,\n" +
"\ta.type,\n" +
"\tcount(*) as total\n" +
"FROM\n" +
"\tft_staff_demand a\n" +
"LEFT JOIN ft_staff_info b ON a.staff_id = b.staff_id\n" +
"LEFT JOIN ft_depart c ON b.depart_id = c.depart_id\n" +
"WHERE\n" +
"\ta.demand_mode = 1\n" +
"GROUP BY\n" +
"\tc.depart_name,\n" +
"\ta.type")
List<FtStaffDemandDao> getStatisticsStaffOfTomorrow();
@Select("SELECT\n" +
"\tc.depart_name,\n" +
"\ta.type,\n" +
"\tcount(*) as total\n" +
"FROM\n" +
"\tft_staff_stop_meals a\n" +
"LEFT JOIN ft_staff_info b ON a.staff_id = b.staff_id\n" +
"LEFT JOIN ft_depart c ON b.depart_id = c.depart_id\n" +
"WHERE\n" +
"demand_date BETWEEN date_add(NOW(), INTERVAL 1 DAY)\n" +
"AND date_add(now(), INTERVAL 2 DAY)\n" +
"GROUP BY\n" +
"\tc.depart_name,\n" +
"\ta.type\n")
List<FtStaffStopMealsDao> getStopOrderOfTomorrow();
}

View File

@ -2,7 +2,10 @@ package com.ruoyi.system.fantang.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.fantang.domain.FtFoodDemandDao;
import com.ruoyi.system.fantang.domain.FtOrderDao;
import com.ruoyi.system.fantang.domain.FtStaffDemandDao;
import com.ruoyi.system.fantang.domain.FtStaffStopMealsDao;
import java.util.Date;
import java.util.List;
@ -48,4 +51,10 @@ public interface IFtOrderDaoService extends IService<FtOrderDao> {
List<FtOrderDao> listAllDetailedByDate(String start, String end);
String setWriteOff(Long staffId, int type, Long deviceId);
List<FtFoodDemandDao> getStatisticsReportMealsOfTomorrow();
List<FtStaffDemandDao> getStatisticsStaffOfTomorrow();
List<FtStaffStopMealsDao> getStopOrderOfTomorrow();
}

View File

@ -4,7 +4,9 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.fantang.domain.FtFoodDemandDao;
import com.ruoyi.system.fantang.domain.FtOrderDao;
import com.ruoyi.system.fantang.domain.FtStaffDemandDao;
import com.ruoyi.system.fantang.domain.FtStaffStopMealsDao;
import com.ruoyi.system.fantang.mapper.FtOrderDaoMapper;
import com.ruoyi.system.fantang.mapper.FtStaffStopMealsDaoMapper;
@ -203,4 +205,20 @@ public class FtOrderDaoServiceImpl extends ServiceImpl<FtOrderDaoMapper, FtOrder
return "已生产订单并核销";
}
}
@Override
public List<FtFoodDemandDao> getStatisticsReportMealsOfTomorrow() {
return this.baseMapper.getStatisticsReportMealsOfTomorrow();
}
@Override
public List<FtStaffDemandDao> getStatisticsStaffOfTomorrow() {
return this.baseMapper.getStatisticsStaffOfTomorrow();
}
@Override
public List<FtStaffStopMealsDao> getStopOrderOfTomorrow() {
return this.baseMapper.getStopOrderOfTomorrow();
}
}