预付费管理模块增加结算类型切换

This commit is contained in:
czx 2020-11-30 11:24:12 +08:00
parent acf6cf7298
commit f248b7d4af
8 changed files with 158 additions and 71 deletions

View File

@ -8,9 +8,8 @@ import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.fantang.domain.FtPrepaymentDao;
import com.ruoyi.system.fantang.domain.FtPrepaymentVo;
import com.ruoyi.system.fantang.service.IFtPrepaymentDaoService;
import com.ruoyi.system.fantang.vo.FtPrepaymentVo;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@ -35,8 +34,23 @@ public class FtPrepaymentDaoController extends BaseController {
// 查询所有待缴费列表
@PreAuthorize("@ss.hasPermi('fantang:prepayment:list')")
@GetMapping("/listNoPrepay")
public TableDataInfo listNoPrepay(FtPrepaymentDao ftPrepaymentDao) {
List<FtPrepaymentVo> list = iFtPrepaymentDaoService.listNoPrepay();
public TableDataInfo listNoPrepay() {
List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> list = iFtPrepaymentDaoService.listNoPrepay();
return getDataTable(list);
}
// 查询所有已缴费列表
@PreAuthorize("@ss.hasPermi('fantang:prepayment:list')")
@GetMapping("/listPrepay")
public TableDataInfo listPrepay() {
List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> list = iFtPrepaymentDaoService.listPrepay();
return getDataTable(list);
}
// 查询所有已结算列表
@PreAuthorize("@ss.hasPermi('fantang:prepayment:list')")
@GetMapping("/listAllPrepay")
public TableDataInfo listAllPrepay() {
List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> list = iFtPrepaymentDaoService.listAllPrepay();
return getDataTable(list);
}
@ -46,25 +60,28 @@ public class FtPrepaymentDaoController extends BaseController {
*/
@PreAuthorize("@ss.hasPermi('fantang:prepayment:list')")
@GetMapping("/list")
public TableDataInfo list(FtPrepaymentDao ftPrepaymentDao) {
public TableDataInfo list(FtPrepaymentVo ftPrepaymentDao) {
startPage();
LambdaQueryWrapper<FtPrepaymentDao> lqw = Wrappers.lambdaQuery(ftPrepaymentDao);
LambdaQueryWrapper<FtPrepaymentVo> lqw = Wrappers.lambdaQuery(ftPrepaymentDao);
if (ftPrepaymentDao.getCollectAt() != null) {
lqw.eq(FtPrepaymentDao::getCollectAt, ftPrepaymentDao.getCollectAt());
lqw.eq(FtPrepaymentVo::getCollectAt, ftPrepaymentDao.getCollectAt());
}
if (ftPrepaymentDao.getSettlementAt() != null) {
lqw.eq(FtPrepaymentDao::getSettlementAt, ftPrepaymentDao.getSettlementAt());
lqw.eq(FtPrepaymentVo::getSettlementAt, ftPrepaymentDao.getSettlementAt());
}
if (ftPrepaymentDao.getSettlementFlag() != null) {
lqw.eq(FtPrepaymentDao::getSettlementFlag, ftPrepaymentDao.getSettlementFlag());
lqw.eq(FtPrepaymentVo::getSettlementFlag, ftPrepaymentDao.getSettlementFlag());
}
if (ftPrepaymentDao.getPrepaid() != null) {
lqw.eq(FtPrepaymentDao::getPrepaid, ftPrepaymentDao.getPrepaid());
lqw.eq(FtPrepaymentVo::getPrepaid, ftPrepaymentDao.getPrepaid());
}
if (ftPrepaymentDao.getPrepaidAt() != null) {
lqw.eq(FtPrepaymentDao::getPrepaidAt, ftPrepaymentDao.getPrepaidAt());
lqw.eq(FtPrepaymentVo::getPrepaidAt, ftPrepaymentDao.getPrepaidAt());
}
List<FtPrepaymentDao> list = iFtPrepaymentDaoService.list(lqw);
if (ftPrepaymentDao.getPrepaidAt() != null) {
lqw.eq(FtPrepaymentVo::getPrepaidAt, ftPrepaymentDao.getPrepaidAt());
}
List<FtPrepaymentVo> list = iFtPrepaymentDaoService.list(lqw);
return getDataTable(list);
}
@ -74,10 +91,10 @@ public class FtPrepaymentDaoController extends BaseController {
@PreAuthorize("@ss.hasPermi('fantang:prepayment:export')")
@Log(title = "收费管理", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(FtPrepaymentDao ftPrepaymentDao) {
LambdaQueryWrapper<FtPrepaymentDao> lqw = new LambdaQueryWrapper<FtPrepaymentDao>(ftPrepaymentDao);
List<FtPrepaymentDao> list = iFtPrepaymentDaoService.list(lqw);
ExcelUtil<FtPrepaymentDao> util = new ExcelUtil<FtPrepaymentDao>(FtPrepaymentDao.class);
public AjaxResult export(FtPrepaymentVo ftPrepaymentDao) {
LambdaQueryWrapper<FtPrepaymentVo> lqw = new LambdaQueryWrapper<FtPrepaymentVo>(ftPrepaymentDao);
List<FtPrepaymentVo> list = iFtPrepaymentDaoService.list(lqw);
ExcelUtil<FtPrepaymentVo> util = new ExcelUtil<FtPrepaymentVo>(FtPrepaymentVo.class);
return util.exportExcel(list, "prepayment");
}
@ -96,7 +113,7 @@ public class FtPrepaymentDaoController extends BaseController {
@PreAuthorize("@ss.hasPermi('fantang:prepayment:add')")
@Log(title = "收费管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody FtPrepaymentDao ftPrepaymentDao) {
public AjaxResult add(@RequestBody FtPrepaymentVo ftPrepaymentDao) {
return toAjax(iFtPrepaymentDaoService.save(ftPrepaymentDao) ? 1 : 0);
}
@ -106,7 +123,7 @@ public class FtPrepaymentDaoController extends BaseController {
@PreAuthorize("@ss.hasPermi('fantang:prepayment:edit')")
@Log(title = "收费管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody FtPrepaymentDao ftPrepaymentDao) {
public AjaxResult edit(@RequestBody FtPrepaymentVo ftPrepaymentDao) {
return toAjax(iFtPrepaymentDaoService.updateById(ftPrepaymentDao) ? 1 : 0);
}

View File

@ -26,7 +26,7 @@ import java.util.Date;
@NoArgsConstructor
@Accessors(chain = true)
@TableName("ft_prepayment")
public class FtPrepaymentDao implements Serializable {
public class FtPrepaymentVo implements Serializable {
private static final long serialVersionUID = 1L;

View File

@ -1,8 +1,7 @@
package com.ruoyi.system.fantang.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.fantang.domain.FtPrepaymentDao;
import com.ruoyi.system.fantang.vo.FtPrepaymentVo;
import com.ruoyi.system.fantang.domain.FtPrepaymentVo;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@ -13,8 +12,14 @@ import java.util.List;
* @author ft
* @date 2020-11-19
*/
public interface FtPrepaymentDaoMapper extends BaseMapper<FtPrepaymentDao> {
public interface FtPrepaymentDaoMapper extends BaseMapper<FtPrepaymentVo> {
@Select("select a.patient_id , a.name, a.hospital_id, a.bed_id, b.depart_name, b.depart_code from ft_patient a LEFT JOIN ft_depart b on a.depart_id = b.depart_id where a.patient_id not in (select patient_id from ft_prepayment )")
public List<FtPrepaymentVo> listNoPrepay();
public List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> listNoPrepay();
@Select("SELECT a.*,b.hospital_id, b.name, b.bed_id, c.depart_name from ft_prepayment a LEFT JOIN ft_patient b on a.patient_id = b.patient_id LEFT JOIN ft_depart c on b.depart_id = c.depart_id where a.settlement_flag = 0")
List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> listPrepay();
@Select("SELECT a.*,b.hospital_id, b.name, b.bed_id, c.depart_name from ft_prepayment a LEFT JOIN ft_patient b on a.patient_id = b.patient_id LEFT JOIN ft_depart c on b.depart_id = c.depart_id where a.settlement_flag = 1")
List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> listAllPrepay();
}

View File

@ -1,8 +1,7 @@
package com.ruoyi.system.fantang.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.fantang.domain.FtPrepaymentDao;
import com.ruoyi.system.fantang.vo.FtPrepaymentVo;
import com.ruoyi.system.fantang.domain.FtPrepaymentVo;
import java.util.List;
@ -12,7 +11,11 @@ import java.util.List;
* @author ft
* @date 2020-11-19
*/
public interface IFtPrepaymentDaoService extends IService<FtPrepaymentDao> {
public interface IFtPrepaymentDaoService extends IService<FtPrepaymentVo> {
List<FtPrepaymentVo> listNoPrepay();
List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> listNoPrepay();
List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> listPrepay();
List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> listAllPrepay();
}

View File

@ -1,10 +1,9 @@
package com.ruoyi.system.fantang.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.fantang.domain.FtPrepaymentDao;
import com.ruoyi.system.fantang.domain.FtPrepaymentVo;
import com.ruoyi.system.fantang.mapper.FtPrepaymentDaoMapper;
import com.ruoyi.system.fantang.service.IFtPrepaymentDaoService;
import com.ruoyi.system.fantang.vo.FtPrepaymentVo;
import org.springframework.stereotype.Service;
import java.util.List;
@ -16,10 +15,20 @@ import java.util.List;
* @date 2020-11-19
*/
@Service
public class FtPrepaymentDaoServiceImpl extends ServiceImpl<FtPrepaymentDaoMapper, FtPrepaymentDao> implements IFtPrepaymentDaoService {
public class FtPrepaymentDaoServiceImpl extends ServiceImpl<FtPrepaymentDaoMapper, FtPrepaymentVo> implements IFtPrepaymentDaoService {
@Override
public List<FtPrepaymentVo> listNoPrepay() {
public List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> listNoPrepay() {
return this.baseMapper.listNoPrepay();
}
@Override
public List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> listPrepay() {
return this.baseMapper.listPrepay();
}
@Override
public List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> listAllPrepay() {
return this.baseMapper.listAllPrepay();
}
}

View File

@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.fantang.mapper.FtPrepaymentDaoMapper">
<resultMap type="FtPrepaymentDao" id="FtPrepaymentDaoResult">
<resultMap type="FtPrepaymentVo" id="FtPrepaymentDaoResult">
<result property="prepaymentId" column="prepayment_id" />
<result property="patientId" column="patient_id" />
<result property="collectAt" column="collect_at" />

View File

@ -1,8 +1,5 @@
import request from '@/utils/request'
// 查询所有未缴预付费病人列表
export function listNoPrepayment() {
return request({
@ -10,6 +7,21 @@ export function listNoPrepayment() {
method: 'get',
})
}
// 查询所有已缴预付费病人列表
export function listPrepay() {
return request({
url: '/fantang/prepayment/listPrepay',
method: 'get',
})
}
// 查询所有已结算
export function listAllPrepay() {
return request({
url: '/fantang/prepayment/listAllPrepay',
method: 'get',
})
}

View File

@ -1,31 +1,34 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="收款时间" prop="collectAt">
<el-date-picker clearable size="small" style="width: 200px"
v-model="queryParams.collectAt"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择收款时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结算时间" prop="settlementAt">
<el-date-picker clearable size="small" style="width: 200px"
v-model="queryParams.settlementAt"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择结算时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结算标志" prop="settlementFlag">
<el-form-item label="住院号" prop="hospitalId">
<el-input
v-model="queryParams.settlementFlag"
placeholder="请输入结算标志"
v-model="queryParams.hospitalId"
placeholder="请输入住院号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入姓名"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="结算标志" prop="settlementFlag">
<el-select v-model="queryParams.settlementFlag" @change="selectSettlementFlag" placeholder="请选择">
<el-option
v-for="item in settlementFlagOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="预付费时间" prop="prepaidAt">
<el-date-picker clearable size="small" style="width: 200px"
v-model="queryParams.prepaidAt"
@ -89,23 +92,18 @@
<el-table v-loading="loading" :data="prepaymentList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="预付费id" align="center" prop="prepaymentId" v-if="false"/>
<el-table-column label="收款时间" align="center" prop="collectAt" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.collectAt, '{y}-{m}-{d}') }}</span>
</template>
<el-table-column label="住院号" align="center" prop="hospitalId" width="180">
</el-table-column>
<el-table-column label="姓名" align="center" prop="name"/>
<el-table-column label="科室" align="center" prop="departName" width="180">
</el-table-column>
<el-table-column label="床号" align="center" prop="bedId"/>
<el-table-column label="结算" align="center" prop="settlementFlag" :formatter="formatSettlementFlag"/>
<el-table-column label="结算时间" align="center" prop="settlementAt" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.settlementAt, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="结算标志" align="center" prop="settlementFlag"/>
<el-table-column label="预付费金额" align="center" prop="prepaid"/>
<el-table-column label="预付费时间" align="center" prop="prepaidAt" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.prepaidAt, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -194,13 +192,24 @@
listNoPrepayment,
updatePrepayment
} from "@/api/fantang/prepayment";
import {listAllPrepay, listPrepay} from "../../../api/fantang/prepayment";
export default {
name: "Prepayment",
components: {},
data() {
return {
suggestionList:[],
settlementFlagOptions: [{
value: null,
label: '未交费'
}, {
value: 0,
label: '未结算'
}, {
value: 1,
label: '已结算'
}, ],
suggestionList: [],
NoPrepayments: [],
state: '',
//
@ -229,7 +238,9 @@
settlementAt: null,
settlementFlag: null,
prepaid: null,
prepaidAt: null
prepaidAt: null,
hospitalId: null,
name: null,
},
//
formAddPrepayment: {},
@ -248,13 +259,39 @@
};
},
created() {
this.getList();
this.getDefaultNoPrepayment();
},
mounted() {
this.loadAll();
},
methods: {
//
selectSettlementFlag(value) {
console.log("value", value)
if (value === null) {
this.getDefaultNoPrepayment();
} else if (value === 0) {
this.loading = true;
listPrepay().then(response => {
this.prepaymentList = response.rows;
this.loading = false;});
} else {
this.loading = true;
listAllPrepay().then(response => {
this.prepaymentList = response.rows;
this.loading = false;
});
}
},
//
formatSettlementFlag(row) {
if (row.settlementFlag === null)
return "未交费";
if (row.settlementFlag === 1)
return "已结算";
return "未结算";
},
//
querySearch(queryString, cb) {
var restaurants = this.suggestionList;
@ -274,9 +311,11 @@
},
//
loadAll() {
getDefaultNoPrepayment() {
this.loading = true;
listNoPrepayment().then(response => {
this.NoPrepayments = response.rows;
this.prepaymentList = response.rows;
this.suggestionList = this.NoPrepayments.map(item => {
return {
"value": item.hospitalId,
@ -285,7 +324,9 @@
"bedId": item.bedId,
}
});
return response.rows;
this.loading = false;
console.log("this.prepaymentList",this.prepaymentList);
return response.rows;
});
},