Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReportMealsDaoMapper.java
This commit is contained in:
czx 2021-01-22 10:51:42 +08:00
commit 1de3f40e97
10 changed files with 153 additions and 65 deletions

View File

@ -75,7 +75,27 @@ public class FtSettleDaoController extends BaseController {
ReportMealsPriceEntity reportMealsPrice = iFtReportMealsDaoService.sumTotalPrice(patientId, lastBillingDate, selectBillingDate);
Map<String, Object> data = new HashMap<>();
Map<String, Object> data = new HashMap<>(2);
data.put("reportMealsList", reportMealsList);
data.put("reportMealsPrice", reportMealsPrice);
return AjaxResult.success(data);
}
@GetMapping("/showAllMealsWithNoPay/{patientId}")
public AjaxResult showAllMealsWithNoPay(@PathVariable Long patientId) {
// 查找该病人所有已用餐未结算记录
QueryWrapper<FtReportMealsDao> wrapper = new QueryWrapper<>();
wrapper.eq("patient_id", patientId);
wrapper.eq("dining_flag",0);
wrapper.eq("settlement_flag",0);
List<FtReportMealsDao> reportMealsList = iFtReportMealsDaoService.list(wrapper);
ReportMealsPriceEntity reportMealsPrice = iFtReportMealsDaoService.sumAllTotalPrice(patientId);
Map<String, Object> data = new HashMap<>(2);
data.put("reportMealsList", reportMealsList);
data.put("reportMealsPrice", reportMealsPrice);

View File

@ -79,4 +79,9 @@ private static final long serialVersionUID=1L;
* 开票类型
*/
private Integer invoiceType;
/**
* 开票金额
*/
private BigDecimal invoiceAmount;
}

View File

@ -106,4 +106,14 @@ public class FtSettleDao implements Serializable {
@TableField(exist = false)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date selectBillingDate;
/**
* 开票标志
*/
private Boolean invoiceFlag;
/**
* 发票 id
*/
private Long invoiceId;
}

View File

@ -4,7 +4,6 @@ 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;
import com.ruoyi.system.fantang.vo.FtReportMealVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
@ -44,11 +43,6 @@ public interface FtReportMealsDaoMapper extends BaseMapper<FtReportMealsDao> {
List<FtReportMealsDao> listAllNutrition(FtReportMealsDao ftReportMealsDao);
@Select("SELECT a.type, a.foods, count(a.foods) as count, b.depart_id,c.depart_name\n" +
"from ft_report_meals 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 b.depart_id = #{departId} and a.dining_at BETWEEN #{beginOfDay} and #{endOfDay}\n" +
"GROUP BY a.type, foods")
List<FtReportMealVo> getStatisticsFoods(@Param("departId") Integer departId, @Param("beginOfDay") DateTime beginOfDay, @Param("endOfDay") DateTime endOfDay);
@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.settlement_flag = 0 AND a.dining_flag = 1")
ReportMealsPriceEntity sumAllTotalPrice(Long patientId);
}

View File

@ -31,6 +31,8 @@ public interface IFtReportMealsDaoService extends IService<FtReportMealsDao> {
ReportMealsPriceEntity sumTotalPrice(Long patientId, Date lastBillingDate, Date selectBillingDate);
ReportMealsPriceEntity sumAllTotalPrice(Long patientId);
FtReportMealsDao getLastReportMeals(Long patientId);
List<FtReportMealsDao> listNutrition(FtReportMealsDao ftReportMealsDao);

View File

@ -73,6 +73,11 @@ public class FtReportMealsDaoServiceImpl extends ServiceImpl<FtReportMealsDaoMap
return this.baseMapper.sumTotalPrice(patientId, lastBillingDate, selectBillingDate);
}
@Override
public ReportMealsPriceEntity sumAllTotalPrice(Long patientId) {
return this.baseMapper.sumAllTotalPrice(patientId);
}
@Override
public FtReportMealsDao getLastReportMeals(Long patientId) {

View File

@ -18,6 +18,7 @@
<result property="invoiceName" column="invoice_name"/>
<result property="taxId" column="tax_id"/>
<result property="invoiceType" column="invoice_type"/>
<result property="invoiceAmount" column="invoice_amount"/>
</resultMap>

View File

@ -16,6 +16,8 @@
<result property="type" column="type"/>
<result property="flag" column="flag"/>
<result property="refund" column="refund"/>
<result property="invoiceId" column="invoice_id"/>
<result property="invoiceFlag" column="invoice_flag"/>
</resultMap>

View File

@ -14,6 +14,13 @@ export function getLastBillingDateByPatientId(patientId) {
})
}
// 查看该病人所有已用餐未结算的记录
export function showAllMealsWithNoPay(patientId) {
return request({
url: '/fantang/settle/showAllMealsWithNoPay/' + patientId,
method: 'get'
})
}
// 查询结算报列表

View File

@ -3,11 +3,11 @@
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="住院号" prop="hospitalId">
<el-input
v-model="queryParams.hospitalId"
placeholder="请输入住院号"
clearable
size="small"
@keyup.enter.native="handleQuery"
v-model="queryParams.hospitalId"
placeholder="请输入住院号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -17,21 +17,21 @@
size="small"
@keyup.enter.native="handleQuery">
<el-option
v-for="item in departOptions"
:key="item.departName"
:label="item.departName"
:value="item.departId">
v-for="item in departOptions"
:key="item.departName"
:label="item.departName"
:value="item.departId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入姓名"
clearable
size="small"
@keyup.enter.native="handleQuery"
v-model="queryParams.name"
placeholder="请输入姓名"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="结算标志" prop="settlementFlag">-->
@ -56,11 +56,11 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['fantang:settle:export']"
type="warning"
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['fantang:settle:export']"
>导出
</el-button>
</el-col>
@ -78,19 +78,19 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="clickAddNewSettlement(scope.row)"
v-hasPermi="['fantang:settle:AddNewSettlement']"
size="mini"
type="text"
icon="el-icon-edit"
@click="clickAddNewSettlement(scope.row)"
v-hasPermi="['fantang:settle:AddNewSettlement']"
>收费
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="clickAddLeaveSettlement(scope.row)"
v-hasPermi="['fantang:settle:AddLeaveSettlement']"
size="mini"
type="text"
icon="el-icon-edit"
@click="clickAddLeaveSettlement(scope.row)"
v-hasPermi="['fantang:settle:AddLeaveSettlement']"
>查看详情
</el-button>
</template>
@ -98,11 +98,11 @@
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 日常收费弹出层对话框-->
@ -134,11 +134,11 @@
<el-form-item label="上次结算 / 首次用餐" prop="lastBillingDate">
<!-- <el-input v-model="formAddNewSettlement.lastBillingDate" :disabled="true"/>-->
<el-date-picker
v-model="formAddNewSettlement.lastBillingDate"
align="right"
type="date"
value-format="yyyy-MM-dd"
:disabled="true">
v-model="formAddNewSettlement.lastBillingDate"
align="right"
type="date"
value-format="yyyy-MM-dd"
:disabled="true">
</el-date-picker>
</el-form-item>
</el-col>
@ -161,13 +161,13 @@
<el-col :span="8">
<el-form-item label="结算日期" prop="selectBillingDate">
<el-date-picker
v-model="formAddNewSettlement.selectBillingDate"
align="right"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
@change="changeBillingDate"
:picker-options="pickerOptions">
v-model="formAddNewSettlement.selectBillingDate"
align="right"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
@change="changeBillingDate"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
</el-col>
@ -175,10 +175,10 @@
<el-form-item label="支付方式" prop="payType">
<el-select v-model="formAddNewSettlement.payType" placeholder="请选择支付方式">
<el-option
v-for="item in payTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value">
v-for="item in payTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
@ -246,11 +246,11 @@
<el-col :span="8">
<el-form-item label="上次结算 / 首次用餐" prop="lastBillingDate">
<el-date-picker
v-model="leaveForm.lastBillingDate"
align="right"
type="date"
value-format="yyyy-MM-dd"
:disabled="true">
v-model="leaveForm.lastBillingDate"
align="right"
type="date"
value-format="yyyy-MM-dd"
:disabled="true">
</el-date-picker>
</el-form-item>
</el-col>
@ -298,7 +298,14 @@
</template>
<script>
import {addSettle, delSettle, exportSettle, getSettle, showMealsWithSelect} from "@/api/fantang/settle";
import {
addSettle,
delSettle,
exportSettle,
getSettle,
showAllMealsWithNoPay,
showMealsWithSelect
} from "../../../api/fantang/settle";
import {getLastSettlementDate, listAll, listMealsWithInSettle, listNoPay, listPayoff} from "@/api/fantang/meals";
import {getUserProfile} from "@/api/system/user";
import {listDepart} from "@/api/fantang/depart";
@ -532,6 +539,13 @@ export default {
//
clickAddNewSettlement(row) {
//
this.mealsList = null;
this.sumTotalPrice = 0;
this.dinnerTotalPrice = 0;
this.nutritionTotalPrice = 0;
getLastSettlementDate(row.patientId).then(response => {
console.log("getLastBillingDateByPatientId-->", response);
if (response.reportMeals.settlementAt === null) {
@ -565,6 +579,14 @@ export default {
//
clickAddLeaveSettlement(row) {
//
this.mealsList = null;
this.sumTotalPrice = 0;
this.dinnerTotalPrice = 0;
this.nutritionTotalPrice = 0;
// /
getLastSettlementDate(row.patientId).then(response => {
if (response.reportMeals.settlementAt === null) {
this.lastBillFlag = false;
@ -574,12 +596,31 @@ export default {
this.leaveForm.lastBillingDate = response.reportMeals.settlementAt;
}
//
if (response.prepayment === null) {
this.leaveForm.prepayment = 0;
} else {
this.leaveForm.prepayment = response.prepayment.prepaid;
}
showAllMealsWithNoPay(row.patientId).then(response => {
console.log(response);
this.mealsList = response.data.reportMealsList;
if (response.data.reportMealsPrice == null) {
this.dinnerTotalPrice = 0;
this.nutritionTotalPrice = 0;
this.sumTotalPrice = 0;
}
if (response.data.reportMealsPrice != null) {
this.dinnerTotalPrice = response.data.reportMealsPrice.dinnerTotalPrice;
this.nutritionTotalPrice = response.data.reportMealsPrice.nutritionTotalPrice;
this.sumTotalPrice = response.data.reportMealsPrice.sumTotalPrice;
this.formAddNewSettlement.netPeceipt = this.sumTotalPrice;
}
})
this.leaveForm.settlementDays = response.reportMeals.days;
this.open = true;
this.leaveForm.hospitalId = row.hospitalId;
@ -651,6 +692,7 @@ export default {
flag: null,
refund: null
};
this.formAddNewSettlement = {
selectBillingDate: null,
payType: null,