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

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

View File

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

View File

@ -1,8 +1,7 @@
package com.ruoyi.system.fantang.mapper; package com.ruoyi.system.fantang.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.fantang.domain.FtPrepaymentDao; import com.ruoyi.system.fantang.domain.FtPrepaymentVo;
import com.ruoyi.system.fantang.vo.FtPrepaymentVo;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
@ -13,8 +12,14 @@ import java.util.List;
* @author ft * @author ft
* @date 2020-11-19 * @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 )") @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; package com.ruoyi.system.fantang.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.fantang.domain.FtPrepaymentDao; import com.ruoyi.system.fantang.domain.FtPrepaymentVo;
import com.ruoyi.system.fantang.vo.FtPrepaymentVo;
import java.util.List; import java.util.List;
@ -12,7 +11,11 @@ import java.util.List;
* @author ft * @author ft
* @date 2020-11-19 * @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; package com.ruoyi.system.fantang.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.mapper.FtPrepaymentDaoMapper;
import com.ruoyi.system.fantang.service.IFtPrepaymentDaoService; import com.ruoyi.system.fantang.service.IFtPrepaymentDaoService;
import com.ruoyi.system.fantang.vo.FtPrepaymentVo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -16,10 +15,20 @@ import java.util.List;
* @date 2020-11-19 * @date 2020-11-19
*/ */
@Service @Service
public class FtPrepaymentDaoServiceImpl extends ServiceImpl<FtPrepaymentDaoMapper, FtPrepaymentDao> implements IFtPrepaymentDaoService { public class FtPrepaymentDaoServiceImpl extends ServiceImpl<FtPrepaymentDaoMapper, FtPrepaymentVo> implements IFtPrepaymentDaoService {
@Override @Override
public List<FtPrepaymentVo> listNoPrepay() { public List<com.ruoyi.system.fantang.vo.FtPrepaymentVo> listNoPrepay() {
return this.baseMapper.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"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.fantang.mapper.FtPrepaymentDaoMapper"> <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="prepaymentId" column="prepayment_id" />
<result property="patientId" column="patient_id" /> <result property="patientId" column="patient_id" />
<result property="collectAt" column="collect_at" /> <result property="collectAt" column="collect_at" />

View File

@ -1,8 +1,5 @@
import request from '@/utils/request' import request from '@/utils/request'
// 查询所有未缴预付费病人列表 // 查询所有未缴预付费病人列表
export function listNoPrepayment() { export function listNoPrepayment() {
return request({ return request({
@ -10,6 +7,21 @@ export function listNoPrepayment() {
method: 'get', 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> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="收款时间" prop="collectAt"> <el-form-item label="住院号" prop="hospitalId">
<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-input <el-input
v-model="queryParams.settlementFlag" v-model="queryParams.hospitalId"
placeholder="请输入结算标志" placeholder="请输入住院号"
clearable clearable
size="small" size="small"
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </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-form-item label="预付费时间" prop="prepaidAt">
<el-date-picker clearable size="small" style="width: 200px" <el-date-picker clearable size="small" style="width: 200px"
v-model="queryParams.prepaidAt" v-model="queryParams.prepaidAt"
@ -89,23 +92,18 @@
<el-table v-loading="loading" :data="prepaymentList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="prepaymentList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/> <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="预付费id" align="center" prop="prepaymentId" v-if="false"/>
<el-table-column label="收款时间" align="center" prop="collectAt" width="180"> <el-table-column label="住院号" align="center" prop="hospitalId" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.collectAt, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column> </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"> <el-table-column label="结算时间" align="center" prop="settlementAt" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.settlementAt, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.settlementAt, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </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"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -194,13 +192,24 @@
listNoPrepayment, listNoPrepayment,
updatePrepayment updatePrepayment
} from "@/api/fantang/prepayment"; } from "@/api/fantang/prepayment";
import {listAllPrepay, listPrepay} from "../../../api/fantang/prepayment";
export default { export default {
name: "Prepayment", name: "Prepayment",
components: {}, components: {},
data() { data() {
return { return {
suggestionList:[], settlementFlagOptions: [{
value: null,
label: '未交费'
}, {
value: 0,
label: '未结算'
}, {
value: 1,
label: '已结算'
}, ],
suggestionList: [],
NoPrepayments: [], NoPrepayments: [],
state: '', state: '',
// //
@ -229,7 +238,9 @@
settlementAt: null, settlementAt: null,
settlementFlag: null, settlementFlag: null,
prepaid: null, prepaid: null,
prepaidAt: null prepaidAt: null,
hospitalId: null,
name: null,
}, },
// //
formAddPrepayment: {}, formAddPrepayment: {},
@ -248,13 +259,39 @@
}; };
}, },
created() { created() {
this.getList(); this.getDefaultNoPrepayment();
}, },
mounted() { mounted() {
this.loadAll();
}, },
methods: { 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) { querySearch(queryString, cb) {
var restaurants = this.suggestionList; var restaurants = this.suggestionList;
@ -274,9 +311,11 @@
}, },
// //
loadAll() { getDefaultNoPrepayment() {
this.loading = true;
listNoPrepayment().then(response => { listNoPrepayment().then(response => {
this.NoPrepayments = response.rows; this.NoPrepayments = response.rows;
this.prepaymentList = response.rows;
this.suggestionList = this.NoPrepayments.map(item => { this.suggestionList = this.NoPrepayments.map(item => {
return { return {
"value": item.hospitalId, "value": item.hospitalId,
@ -285,7 +324,9 @@
"bedId": item.bedId, "bedId": item.bedId,
} }
}); });
return response.rows; this.loading = false;
console.log("this.prepaymentList",this.prepaymentList);
return response.rows;
}); });
}, },