From aa57a01ffaa7401792383bd44ebebcfc83d98e4f Mon Sep 17 00:00:00 2001 From: ryoeiken <754264374@qq.com> Date: Thu, 21 Jan 2021 09:54:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=90=A5=E5=85=BB=E9=A4=90=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FtReportMealsDaoController.java | 11 +- .../fantang/domain/FtReportMealsDao.java | 46 ++- .../mapper/FtReportMealsDaoMapper.java | 5 + .../service/IFtReportMealsDaoService.java | 4 + .../impl/FtReportMealsDaoServiceImpl.java | 38 +- .../mapper/fantang/FtReportMealsDaoMapper.xml | 73 ++++ ruoyi-ui/src/api/fantang/meals.js | 123 +++--- .../fantang/nutritionStatistics/index.vue | 360 ++++++++++++++++++ .../views/fantang/orderStatistics/index.vue | 4 +- ruoyi-ui/src/views/fantang/settle/index.vue | 10 +- 10 files changed, 605 insertions(+), 69 deletions(-) create mode 100644 ruoyi-ui/src/views/fantang/nutritionStatistics/index.vue diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtReportMealsDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtReportMealsDaoController.java index e5803f479..a12b964d3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtReportMealsDaoController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtReportMealsDaoController.java @@ -3,7 +3,6 @@ package com.ruoyi.system.fantang.controller; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; @@ -45,7 +44,7 @@ public class FtReportMealsDaoController extends BaseController { public AjaxResult getLastSettlementDate(@PathVariable("patientId") Long patientId) { // 获取最近一次已结算的报餐记录,如果首次结算则返回 - FtReportMealsDao reportMealsDao = iFtReportMealsDaoService.getLastReportMeals(patientId); + FtReportMealsDao reportMealsDao = iFtReportMealsDaoService.getLastReportMeals(patientId); Date createAt = reportMealsDao.getCreateAt(); Date settlementAt = reportMealsDao.getSettlementAt(); @@ -124,6 +123,14 @@ public class FtReportMealsDaoController extends BaseController { return getDataTable(list); } + @GetMapping("/listStatistics") + public TableDataInfo listStatistics(FtReportMealsDao ftReportMealsDao) { + + startPage(); + + return getDataTable(iFtReportMealsDaoService.listNutrition(ftReportMealsDao)); + } + @PreAuthorize("@ss.hasPermi('fantang:meals:list')") @GetMapping("/listMealsWithInSettle") public TableDataInfo listMealsWithInSettle(FtReportMealsDao ftReportMealsDao) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtReportMealsDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtReportMealsDao.java index b61d63f67..f7a960e46 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtReportMealsDao.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtReportMealsDao.java @@ -33,7 +33,7 @@ public class FtReportMealsDao implements Serializable { /** - * $column.columnComment + * id */ @TableId(value = "id") private Long id; @@ -86,18 +86,33 @@ public class FtReportMealsDao implements Serializable { private String settlementBy; + /** + * 住院号 + */ @TableField(exist = false) private String hospitalId; + /** + * 科室 id + */ @TableField(exist = false) private String departId; + /** + * 科室名 + */ @TableField(exist = false) private String departName; + /** + * 床号 + */ @TableField(exist = false) private String bedId; + /** + * 病人姓名 + */ @TableField(exist = false) private String name; @@ -136,6 +151,33 @@ public class FtReportMealsDao implements Serializable { @TableField(exist = false) private Integer total; - + private Boolean openFlag; + + @TableField(exist = false) + private Integer statisticsType; + + /** + * 营养餐名称 + */ + @TableField(exist = false) + private String nutritionName; + + @TableField(exist = false) + private Integer cateringUsage; + + @JsonFormat(pattern = "yyyy-MM-dd") + private Date diningAt; + + /** + * 用餐开始时间 + */ + @TableField(exist = false) + private Date beginOfDay; + + /** + * 用餐结束时间 + */ + @TableField(exist = false) + private Date endOfDay; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReportMealsDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReportMealsDaoMapper.java index 9d195aa98..ec9f2882b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReportMealsDaoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReportMealsDaoMapper.java @@ -1,5 +1,6 @@ package com.ruoyi.system.fantang.mapper; +import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.system.fantang.domain.FtReportMealsDao; import com.ruoyi.system.fantang.entity.ReportMealsPriceEntity; @@ -37,4 +38,8 @@ public interface FtReportMealsDaoMapper extends BaseMapper { */ @Select("SELECT a.patient_id,sum(a.price) as dinner_total_price , sum(a.nutrition_food_price ) as nutrition_total_price , sum(a.total_price) as sum_total_price FROM ft_report_meals a where a.patient_id = #{patientId} and a.create_at BETWEEN #{lastBillingDate} AND #{selectBillingDate}") ReportMealsPriceEntity sumTotalPrice(@Param("patientId") Long patientId, @Param("lastBillingDate") Date lastBillingDate, @Param("selectBillingDate") Date selectBillingDate); + + List listNutrition(@Param("beginOfDay") DateTime beginOfDay, @Param("endOfDay") DateTime endOfDay, FtReportMealsDao ftReportMealsDao); + + List listAllNutrition(FtReportMealsDao ftReportMealsDao); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtReportMealsDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtReportMealsDaoService.java index 951a3c3cc..713561d63 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtReportMealsDaoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtReportMealsDaoService.java @@ -33,5 +33,9 @@ public interface IFtReportMealsDaoService extends IService { ReportMealsPriceEntity sumTotalPrice(Long patientId, Date lastBillingDate, Date selectBillingDate); FtReportMealsDao getLastReportMeals(Long patientId); + + List listNutrition(FtReportMealsDao ftReportMealsDao); + + List listAllNutrition(FtReportMealsDao ftReportMealsDao); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtReportMealsDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtReportMealsDaoServiceImpl.java index 72e276d71..a90e2c9f2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtReportMealsDaoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtReportMealsDaoServiceImpl.java @@ -1,5 +1,7 @@ package com.ruoyi.system.fantang.service.impl; +import cn.hutool.core.date.DateTime; +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.system.fantang.domain.FtReportMealsDao; @@ -85,16 +87,44 @@ public class FtReportMealsDaoServiceImpl extends ServiceImpl flag0Wrapper = new QueryWrapper<>(); flag0Wrapper.eq("patient_id", patientId); - flag0Wrapper.eq("settlement_flag", 1); - flag0Wrapper.orderByDesc("settlement_at"); - flag0Wrapper.last("limit 0"); + flag0Wrapper.orderByAsc("dining_at"); + flag0Wrapper.last("limit 1"); return this.baseMapper.selectOne(flag0Wrapper); } return flag1ReportMealsDao; } + + @Override + public List listNutrition(FtReportMealsDao ftReportMealsDao) { + + List list; + + Date today = new Date(); + + if (ftReportMealsDao.getStatisticsType() == null) { + list = this.baseMapper.listAllNutrition(ftReportMealsDao); + } else { + if (ftReportMealsDao.getStatisticsType() == 1) { + ftReportMealsDao.setBeginOfDay(DateUtil.beginOfDay(today)); + ftReportMealsDao.setEndOfDay(DateUtil.endOfDay(today)); + } else { + DateTime tomorrow = DateUtil.offsetDay(today, 1); + ftReportMealsDao.setBeginOfDay(DateUtil.beginOfDay(tomorrow)); + ftReportMealsDao.setEndOfDay(DateUtil.endOfDay(tomorrow)); + } + list = this.baseMapper.listAllNutrition(ftReportMealsDao); + } + + return list; + } + + @Override + public List listAllNutrition(FtReportMealsDao ftReportMealsDao) { + return this.baseMapper.listAllNutrition(ftReportMealsDao); + } } diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtReportMealsDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtReportMealsDaoMapper.xml index a655f304a..ce498fb2b 100644 --- a/ruoyi-system/src/main/resources/mapper/fantang/FtReportMealsDaoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtReportMealsDaoMapper.xml @@ -26,6 +26,7 @@ + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/api/fantang/meals.js b/ruoyi-ui/src/api/fantang/meals.js index 8069f62da..d4e29ec52 100644 --- a/ruoyi-ui/src/api/fantang/meals.js +++ b/ruoyi-ui/src/api/fantang/meals.js @@ -2,107 +2,116 @@ import request from '@/utils/request' // 查询所有报餐管理列表 export function listAll(query) { - return request({ - url: '/fantang/meals/listAll', - method: 'get', - params: query - }) + return request({ + url: '/fantang/meals/listAll', + method: 'get', + params: query + }) +} + +// 查询所有统计报餐 +export function listStatistics(query) { + return request({ + url: '/fantang/meals/listStatistics', + method: 'get', + params: query + }) } // 查询未结算报餐记录 export function listNoPay(query) { - return request({ - url: '/fantang/meals/listNoPay', - method: 'get', - params: query - }) + return request({ + url: '/fantang/meals/listNoPay', + method: 'get', + params: query + }) } // 查询已结算报餐记录 export function listPayoff(query) { - return request({ - url: '/fantang/meals/listPayoff', - method: 'get', - params: query - }) + return request({ + url: '/fantang/meals/listPayoff', + method: 'get', + params: query + }) } // 查询报餐管理列表 export function listMeals(query) { - return request({ - url: '/fantang/meals/list', - method: 'get', - params: query - }) + return request({ + url: '/fantang/meals/list', + method: 'get', + params: query + }) } export function listMealsWithInSettle(query) { - return request({ - url: '/fantang/meals/listMealsWithInSettle', - method: 'get', - params: query - }) + return request({ + url: '/fantang/meals/listMealsWithInSettle', + method: 'get', + params: query + }) } // 查询报餐管理详细 export function getMeals(id) { - return request({ - url: '/fantang/meals/' + id, - method: 'get' - }) + return request({ + url: '/fantang/meals/' + id, + method: 'get' + }) } // 新增报餐管理 export function addMeals(data) { - return request({ - url: '/fantang/meals', - method: 'post', - data: data - }) + return request({ + url: '/fantang/meals', + method: 'post', + data: data + }) } // 修改报餐管理 export function updateMeals(data) { - return request({ - url: '/fantang/meals', - method: 'put', - data: data - }) + return request({ + url: '/fantang/meals', + method: 'put', + data: data + }) } // 删除报餐管理 export function delMeals(id) { - return request({ - url: '/fantang/meals/' + id, - method: 'delete' - }) + return request({ + url: '/fantang/meals/' + id, + method: 'delete' + }) } // 导出报餐管理 export function exportMeals(query) { - return request({ - url: '/fantang/meals/export', - method: 'get', - params: query - }) + return request({ + url: '/fantang/meals/export', + method: 'get', + params: query + }) } // 获取最后结算日期 export function getLastSettlementDate(patientId) { - return request({ - url: '/fantang/meals/getLastSettlementDate/' + patientId, - method: 'get', - }) + return request({ + url: '/fantang/meals/getLastSettlementDate/' + patientId, + method: 'get', + }) } // 计算两个日期之间的结算数据 export function countBillingBetween(query) { - return request({ - url: '/fantang/meals/countBillingBetween', - method: 'get', - params: query - }) + return request({ + url: '/fantang/meals/countBillingBetween', + method: 'get', + params: query + }) } diff --git a/ruoyi-ui/src/views/fantang/nutritionStatistics/index.vue b/ruoyi-ui/src/views/fantang/nutritionStatistics/index.vue new file mode 100644 index 000000000..b28dee9d5 --- /dev/null +++ b/ruoyi-ui/src/views/fantang/nutritionStatistics/index.vue @@ -0,0 +1,360 @@ + + + diff --git a/ruoyi-ui/src/views/fantang/orderStatistics/index.vue b/ruoyi-ui/src/views/fantang/orderStatistics/index.vue index 86bfa9531..2f039ae33 100644 --- a/ruoyi-ui/src/views/fantang/orderStatistics/index.vue +++ b/ruoyi-ui/src/views/fantang/orderStatistics/index.vue @@ -159,7 +159,9 @@ export default { }; }, created() { - this.getList(); + // this.getList(); + this.total = 0; + this.loading = false; this.getDicts("ft_book_type").then(response => { this.typeOptions = response.data; }); diff --git a/ruoyi-ui/src/views/fantang/settle/index.vue b/ruoyi-ui/src/views/fantang/settle/index.vue index 861d6be28..937995785 100644 --- a/ruoyi-ui/src/views/fantang/settle/index.vue +++ b/ruoyi-ui/src/views/fantang/settle/index.vue @@ -495,6 +495,10 @@ export default { // console.log("selectBillingDate", this.formAddNewSettlement.selectBillingDate) dateSpan = sDate2 - sDate1; + + console.log("sdate2-------", sDate2); + console.log("sdate1-------", sDate1); + if (dateSpan < 0) { this.msgError("你现在的结算日期小于上一次上次结算 / 用餐日期"); } else { @@ -625,9 +629,9 @@ export default { refund: null }; this.formAddNewSettlement = { - selectBillingDate:null, - payType:null, - netPeceipt:null, + selectBillingDate: null, + payType: null, + netPeceipt: null, }; this.resetForm("form");