Commit 22ef61f1 authored by 蔡镇泽's avatar 蔡镇泽

费用结算

parent 71430389
...@@ -4,9 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -4,9 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hungraim.ltc.account.service.AccountService; import com.hungraim.ltc.account.service.AccountService;
import com.hungraim.ltc.pojo.entity.account.ChDisabAccounts; import com.hungraim.ltc.pojo.entity.account.ChDisabAccounts;
import com.hungraim.ltc.pojo.vo.account.AccountOperVo; import com.hungraim.ltc.pojo.vo.account.*;
import com.hungraim.ltc.pojo.vo.account.SrvOrganListReq;
import com.hungraim.ltc.pojo.vo.account.SrvOrganListResp;
import com.hungraim.ltc.util.Result; import com.hungraim.ltc.util.Result;
import com.hungraim.ltc.util.ResultCode; import com.hungraim.ltc.util.ResultCode;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -78,4 +76,23 @@ public class AccountController { ...@@ -78,4 +76,23 @@ public class AccountController {
} }
return Result.success(accountService.getSrvOrganDetail(accountsId)); return Result.success(accountService.getSrvOrganDetail(accountsId));
} }
/**
* 费用结算
*
* @return 返回机构结当月算详情
*/
@GetMapping("/expenseSettlement")
public Result<List<ExpenseSettlementVo>> expenseSettlement(ExpenseSettlementReq req) {
if (null == req.getSrvOrganId() || null == req.getAccountsTime()) {
return Result.failed(ResultCode.REQUEST_PARAM_ERROR);
}
if (req.getPageNum() == null) {
req.setPageNum(1);
}
if (req.getPageSize() == null) {
req.setPageSize(10);
}
return Result.success(accountService.expenseSettlement(req));
}
} }
package com.hungraim.ltc.account.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvProgram;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface ChSrvProgramMapper extends BaseMapper<ChSrvProgram> {
}
\ No newline at end of file
package com.hungraim.ltc.account.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvProgramSet;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface ChSrvProgramSetMapper extends BaseMapper<ChSrvProgramSet> {
}
\ No newline at end of file
package com.hungraim.ltc.account.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvTaskDetail;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface ChSrvTaskDetailMapper extends BaseMapper<ChSrvTaskDetail> {
}
\ No newline at end of file
package com.hungraim.ltc.account.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvTaskFinishItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface ChSrvTaskFinishItemMapper extends BaseMapper<ChSrvTaskFinishItem> {
@Select("<script>" +
"SELECT " +
" count(*) " +//护理机构id
"FROM " +
" ch_srv_task_detail t1 " +
" LEFT JOIN CH_SRV_TASK_FINISH_ITEM t2 ON t1.task_detail_id = t2.task_detail_id " +
"<where> " +
" t1.srv_organ_id = #{srvTaskId} AND t2.task_finish_item_id not null" +
"</where></script>")
int selectDetailsFinishCount(Integer srvTaskId);
}
\ No newline at end of file
package com.hungraim.ltc.account.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvTask;
import com.hungraim.ltc.pojo.vo.account.ExpenseSettlementInfoBo;
import com.hungraim.ltc.pojo.vo.account.ExpenseSettlementReq;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface SrvTaskMapper extends BaseMapper<ChSrvTask> {
@Select("<script>" +
"SELECT " +
" t1.srv_task_id, " +//服务任务id
" t4.program_id, " +//服务方案id
" t3.real_name, " +//失能人员姓名
" t3.certi_code, " +//失能人员身份证号
" t4.srv_mode_id, " +//服务方式id
" t5.srv_mode_name, " +//服务方式名称
" t2.srv_start_time, " +//服务开始时间
" t2.srv_end_time, " +//服务结束时间
" t4.srv_organ_id " +//护理机构id
" t6.disable_level_id " +//失能等级id
" t7.item_id " +//服务项目id
" t7.item_times " +//服务频次
" t7.planning_frequency " +//计划频次
" t8.srv_level_id " +//服务等级id
"FROM " +
" ch_srv_task t1 " +
" LEFT JOIN ch_srv_task_detail t2 ON t1.srv_task_id = t2.srv_task_id " +
" LEFT JOIN ch_disable_info t3 ON t1.disab_info_id = t3.disab_info_id " +
" LEFT JOIN ch_srv_program t4 ON t1.program_id = t4.program_id" +
" LEFT JOIN ch_fnd_srv_mode t5 ON t4.srv_mode_id = t4.srv_mode_id" +
" LEFT JOIN ch_apr_report t6 ON t5.task_id = t1.srv_task_id" +
" LEFT JOIN ch_srv_program_set t7 ON t7.set_id = t4.program_id and t7.is_conf = 1" +
" LEFT JOIN ch_cfg_srv_item t8 ON t8.item_id = t7.item_id" +
"<where> " +
" t4.srv_organ_id = #{req.srvOrganId} AND t4.PROG_STATUS = '1' AND t2.srv_start_time &lt;= #{req.accountsTime} AND t2.srv_end_time &gt;= #{req.accountsTime}" +
"</where></script>")
Page<ExpenseSettlementInfoBo> getExpenseSettlementInfo(Page<ExpenseSettlementInfoBo> page, ExpenseSettlementReq req);
}
...@@ -3,9 +3,9 @@ package com.hungraim.ltc.account.service; ...@@ -3,9 +3,9 @@ package com.hungraim.ltc.account.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.hungraim.ltc.pojo.entity.account.ChDisabAccounts; import com.hungraim.ltc.pojo.entity.account.ChDisabAccounts;
import com.hungraim.ltc.pojo.vo.account.AccountOperVo; import com.hungraim.ltc.pojo.vo.account.*;
import com.hungraim.ltc.pojo.vo.account.SrvOrganListReq;
import com.hungraim.ltc.pojo.vo.account.SrvOrganListResp; import java.util.List;
public interface AccountService extends IService<ChDisabAccounts> { public interface AccountService extends IService<ChDisabAccounts> {
...@@ -17,4 +17,6 @@ public interface AccountService extends IService<ChDisabAccounts> { ...@@ -17,4 +17,6 @@ public interface AccountService extends IService<ChDisabAccounts> {
Page<SrvOrganListResp> searchSrvOrganList(SrvOrganListReq srvOrganListReq); Page<SrvOrganListResp> searchSrvOrganList(SrvOrganListReq srvOrganListReq);
AccountOperVo getSrvOrganDetail(Long accountsId); AccountOperVo getSrvOrganDetail(Long accountsId);
List<ExpenseSettlementVo> expenseSettlement(ExpenseSettlementReq req);
} }
package com.hungraim.ltc.account.service.impl; package com.hungraim.ltc.account.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hungraim.ltc.account.dao.ChDisabAccountsMapper; import com.hungraim.ltc.account.dao.*;
import com.hungraim.ltc.account.service.AccountService; import com.hungraim.ltc.account.service.AccountService;
import com.hungraim.ltc.account.service.BaseAccountService; import com.hungraim.ltc.account.service.BaseAccountService;
import com.hungraim.ltc.api.AttachFeignService; import com.hungraim.ltc.api.AttachFeignService;
import com.hungraim.ltc.pojo.entity.SysConfig.ChFndAttach; import com.hungraim.ltc.pojo.entity.SysConfig.ChFndAttach;
import com.hungraim.ltc.pojo.entity.account.ChDisabAccounts; import com.hungraim.ltc.pojo.entity.account.ChDisabAccounts;
import com.hungraim.ltc.pojo.vo.account.AccountOperVo; import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvProgramSet;
import com.hungraim.ltc.pojo.vo.account.SrvOrganListReq; import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvTaskDetail;
import com.hungraim.ltc.pojo.vo.account.SrvOrganListResp; import com.hungraim.ltc.pojo.vo.account.*;
import com.hungraim.ltc.util.AttachType; import com.hungraim.ltc.util.*;
import com.hungraim.ltc.util.Result;
import com.hungraim.ltc.util.ResultCode;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List; import java.util.List;
@Service @Service
...@@ -30,6 +35,11 @@ public class AccountServiceImpl extends ServiceImpl<ChDisabAccountsMapper, ChDis ...@@ -30,6 +35,11 @@ public class AccountServiceImpl extends ServiceImpl<ChDisabAccountsMapper, ChDis
private final AttachFeignService attachFeignService; private final AttachFeignService attachFeignService;
private final BaseAccountService baseAccountService; private final BaseAccountService baseAccountService;
private final ChDisabAccountsMapper disabAccountsMapper; private final ChDisabAccountsMapper disabAccountsMapper;
private final SrvTaskMapper srvTaskMapper;
private final ChSrvTaskDetailMapper taskDetailMapper;
private final ChSrvTaskFinishItemMapper taskFinishItemMapper;
private final ChSrvProgramMapper programMapper;
private final ChSrvProgramSetMapper programSetMapper;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -65,4 +75,198 @@ public class AccountServiceImpl extends ServiceImpl<ChDisabAccountsMapper, ChDis ...@@ -65,4 +75,198 @@ public class AccountServiceImpl extends ServiceImpl<ChDisabAccountsMapper, ChDis
return accountOperVo; return accountOperVo;
} }
@Override
public List<ExpenseSettlementVo> expenseSettlement(ExpenseSettlementReq req) {
Page<ExpenseSettlementInfoBo> page = new Page<>(req.getPageNum(), req.getPageSize());
Page<ExpenseSettlementInfoBo> expenseSettlementInfo = srvTaskMapper.getExpenseSettlementInfo(page, req);
List<ExpenseSettlementVo> vos = new ArrayList<>();
if (expenseSettlementInfo != null && expenseSettlementInfo.getRecords() != null) {
for (ExpenseSettlementInfoBo bo : expenseSettlementInfo.getRecords()) {
ExpenseSettlementVo vo = new ExpenseSettlementVo();
BeanUtil.copyProperties(bo, vo);
//服务开始时间
if (bo.getSrvStartTime() != null) {
if (bo.getSrvStartTime().getTime() > req.getAccountsTime().getTime()) {
vo.setSrvStartTime(bo.getSrvStartTime());
} else {
vo.setSrvStartTime(req.getAccountsTime());
}
}
//服务结束时间
if (bo.getSrvEndTime() != null) {
Date lastDayOfMonth = getLastDayOfMonth(req.getAccountsTime());
if (bo.getSrvEndTime().getTime() > lastDayOfMonth.getTime()) {
vo.setSrvEndTime(lastDayOfMonth);
} else {
vo.setSrvEndTime(bo.getSrvEndTime());
}
}
//有效结算日
int startDay = getDay(vo.getSrvStartTime());
int endDay = getDay(vo.getSrvEndTime());
vo.setEffectiveSettlementDate(endDay - startDay + 1);
//基护费用
Integer effectiveSettlementDate = vo.getEffectiveSettlementDate();
int costStandardOfFoundationProtection = 30;//基护费用标准(可配置)
BigDecimal foundation = BigDecimal.valueOf(costStandardOfFoundationProtection).multiply(BigDecimal.valueOf(effectiveSettlementDate));
vo.setFoundationProtectionCost(foundation.doubleValue());
//基护完成率
Integer srvTaskId = bo.getSrvTaskId();
int taskDetailsCount = taskDetailMapper.selectCount(new LambdaQueryWrapper<ChSrvTaskDetail>()//计划次数
.eq(ChSrvTaskDetail::getSrvTaskId, srvTaskId)
.ne(ChSrvTaskDetail::getStatus, 3));
List<ChSrvTaskDetail> taskDetails = taskDetailMapper.selectList(new LambdaQueryWrapper<ChSrvTaskDetail>()
.eq(ChSrvTaskDetail::getSrvTaskId, srvTaskId)
.eq(ChSrvTaskDetail::getStatus, 4));
int taskDetailsFinishCount = taskDetails.size();//完成次数
ChSrvProgramSet chSrvProgramSet = programSetMapper.selectOne(new LambdaQueryWrapper<ChSrvProgramSet>()
.eq(ChSrvProgramSet::getProgramId, bo.getProgramId())
.eq(ChSrvProgramSet::getIsConf, '1'));
BigDecimal divide = BigDecimal.valueOf(taskDetailsFinishCount).divide(BigDecimal.valueOf(taskDetailsCount), 2, BigDecimal.ROUND_DOWN);
BigDecimal divide1 = BigDecimal.valueOf(bo.getItemTimes()).divide(BigDecimal.valueOf(bo.getPlanningFrequency()), 2, BigDecimal.ROUND_DOWN);
if (divide.doubleValue() > 1) {
divide = BigDecimal.valueOf(1);
}
if (divide1.doubleValue() > 1) {
divide1 = BigDecimal.valueOf(1);
}
BigDecimal comp = divide.multiply(divide1).setScale(4, BigDecimal.ROUND_DOWN);//基护完成率
vo.setCompletionRateFoundationProtection(comp.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");
//巡护基护完成考核
BigDecimal patrolAndBasicProtectionCompletedAssessment = null;//巡护基护完成考核
if (FndSrvMode.PATROL.getCode().equals(bo.getSrvModeId())) {
long serviceTime = 0;//服务时长/毫秒
int serviceCount = 0;//服务次数
for (ChSrvTaskDetail taskDetail : taskDetails) {
long l = taskDetail.getSrvEndTime().getTime() - taskDetail.getSrvStartTime().getTime();
serviceTime += l;
if (l > 30 * 60 * 1000) {
serviceCount++;
}
}
long serviceTimeM = serviceTime / (1000 * 60 * 60);//服务时长/小时
boolean serviceCountK = false;//服务次数考核
boolean serviceTimeK = false;//服务时长考核
if (serviceCount >= 6) {
serviceCountK = true;
}
if (DisableLevel.ONE.getCode().equals(bo.getDisableLevelId())) {
if (serviceTimeM >= 8) {
serviceTimeK = true;
}
} else if (DisableLevel.TWO.getCode().equals(bo.getDisableLevelId())) {
if (serviceTimeM >= 10) {
serviceTimeK = true;
}
} else if (DisableLevel.THREE.getCode().equals(bo.getDisableLevelId())) {
if (serviceTimeM >= 12) {
serviceTimeK = true;
}
}
if (serviceCountK && serviceTimeK) {
patrolAndBasicProtectionCompletedAssessment = BigDecimal.valueOf(1);
vo.setPatrolAndBasicProtectionCompletedAssessment("100%");
} else if (serviceCountK || serviceTimeK) {
patrolAndBasicProtectionCompletedAssessment = BigDecimal.valueOf(0.9);
vo.setPatrolAndBasicProtectionCompletedAssessment("90%");
} else {
patrolAndBasicProtectionCompletedAssessment = BigDecimal.valueOf(0.8);
vo.setPatrolAndBasicProtectionCompletedAssessment("80%");
}
}
//基护应拨费用
BigDecimal foundationProtectionCost = BigDecimal.valueOf(vo.getFoundationProtectionCost());//基护费用
if (FndSrvMode.PATROL.getCode().equals(bo.getSrvModeId())) {//巡护
BigDecimal multiply = foundationProtectionCost.multiply(comp).multiply(patrolAndBasicProtectionCompletedAssessment).multiply(BigDecimal.valueOf(0.9)).setScale(2, BigDecimal.ROUND_DOWN);
vo.setExpensesPayableFoundationProtection(multiply.doubleValue());
} else if (FndSrvMode.HOME_CARE.getCode().equals(bo.getSrvModeId())
|| FndSrvMode.HOSPITAL_NURSING.getCode().equals(bo.getSrvModeId())) {//家护/院护
BigDecimal multiply = foundationProtectionCost.multiply(comp).multiply(BigDecimal.valueOf(0.9)).setScale(2, BigDecimal.ROUND_DOWN);
vo.setExpensesPayableFoundationProtection(multiply.doubleValue());
}
//照护费用标准
int standardCareCost = 0;
if (CfgSrvLevel.ONE.getCode().equals(bo.getSrvLevelId())) {//服务等级
standardCareCost = 25;
vo.setStandardCareCost("25元/人/天");
} else if (CfgSrvLevel.TWO.getCode().equals(bo.getSrvLevelId())) {
standardCareCost = 35;
vo.setStandardCareCost("35元/人/天");
} else if (CfgSrvLevel.THREE.getCode().equals(bo.getSrvLevelId())) {
standardCareCost = 45;
vo.setStandardCareCost("45元/人/天");
}
//照护费用
BigDecimal careCosts = BigDecimal.valueOf(standardCareCost).multiply(BigDecimal.valueOf(effectiveSettlementDate));
if (FndSrvMode.PATROL.getCode().equals(bo.getSrvModeId())) {//巡护
if (CfgSrvLevel.ONE.getCode().equals(bo.getSrvLevelId())) {//服务等级
if (careCosts.intValue() > 600) {
careCosts = BigDecimal.valueOf(600);
}
} else if (CfgSrvLevel.TWO.getCode().equals(bo.getSrvLevelId())) {
if (careCosts.intValue() > 800) {
careCosts = BigDecimal.valueOf(800);
}
} else if (CfgSrvLevel.THREE.getCode().equals(bo.getSrvLevelId())) {
if (careCosts.intValue() > 1000) {
careCosts = BigDecimal.valueOf(1000);
}
}
}
vo.setCareCosts(careCosts.doubleValue());
//照护完成率
//巡护照护完成考核
if (FndSrvMode.PATROL.getCode().equals(bo.getSrvModeId())) {//巡护
}
//照护应拨费用
//应拨付总金额
vo.setTotalAmountDue(BigDecimal.valueOf(vo.getExpensesPayableFoundationProtection()).add(BigDecimal.valueOf(vo.getCarePayable())).doubleValue());
vos.add(vo);
}
//合计
ExpenseSettlementTotalVo totalVo = new ExpenseSettlementTotalVo();
BigDecimal foundationProtectionCost = BigDecimal.valueOf(0);
totalVo.setFoundationProtectionCost(foundationProtectionCost.doubleValue());
BigDecimal expensesPayableFoundationProtection = BigDecimal.valueOf(0);
totalVo.setExpensesPayableFoundationProtection(foundationProtectionCost.doubleValue());
BigDecimal careCosts = BigDecimal.valueOf(0);
totalVo.setCareCosts(foundationProtectionCost.doubleValue());
BigDecimal carePayable = BigDecimal.valueOf(0);
totalVo.setCarePayable(foundationProtectionCost.doubleValue());
BigDecimal totalAmountDue = BigDecimal.valueOf(0);
totalVo.setTotalAmountDue(foundationProtectionCost.doubleValue());
for (ExpenseSettlementVo vo : vos) {
//基护费用
foundationProtectionCost = foundationProtectionCost.add(BigDecimal.valueOf(vo.getFoundationProtectionCost()));
//基护应拨费用
expensesPayableFoundationProtection = expensesPayableFoundationProtection.add(BigDecimal.valueOf(vo.getExpensesPayableFoundationProtection()));
//照护费用
careCosts = careCosts.add(BigDecimal.valueOf(vo.getCareCosts()));
//照护应拨费用
carePayable = carePayable.add(BigDecimal.valueOf(vo.getCarePayable()));
//应拨付总金额
totalAmountDue = totalAmountDue.add(BigDecimal.valueOf(vo.getTotalAmountDue()));
}
}
return null;
}
//求当月最后一天
private Date getLastDayOfMonth(Date date) {
Calendar cale = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
cale.setTime(date);
cale.add(Calendar.MONTH, 1);
cale.set(Calendar.DAY_OF_MONTH, 0);
return cale.getTime();
}
//求年月日中的日
private int getDay(Date date) {
Calendar cale = Calendar.getInstance();
cale.setTime(date);
return cale.get(Calendar.DAY_OF_WEEK);
}
} }
package com.hungraim.ltc.pojo.vo.account;
import lombok.Data;
import java.util.Date;
/**
*
*/
@Data
public class ExpenseSettlementInfoBo {
/**
* 服务任务id
*/
private Integer srvTaskId;
/**
* 服务方案id
*/
private Integer programId;
/**
* 失能人员姓名
*/
private String realName;
/**
* 失能人员身份证号
*/
private Long certiCode;
/**
* 服务方式id
*/
private String srvModeId;
/**
* 服务方式名称
*/
private String srvModeName;
/**
* 服务开始时间
*/
private Date srvStartTime;
/**
* 服务结束时间
*/
private Date srvEndTime;
/**
* 失能等级id
*/
private String disableLevelId;
/**
* 服务项目id
*/
private String itemId;
/**
* 服务频次
*/
private Integer itemTimes;
/**
* 计划频次
*/
private Integer planningFrequency;
/**
* 服务等级id
*/
private String srvLevelId;
}
package com.hungraim.ltc.pojo.vo.account;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hungraim.ltc.pojo.vo.BaseReq;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class ExpenseSettlementReq extends BaseReq {
/**
* 护理机构id
*/
private Long srvOrganId;
/**
* 结算月份
*/
@DateTimeFormat(pattern = "yyyy-MM")
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
private Date accountsTime;
}
package com.hungraim.ltc.pojo.vo.account;
import lombok.Data;
@Data
public class ExpenseSettlementTotalVo {
/**
* 基护费用
*/
private Double foundationProtectionCost;
/**
* 基护应拨费用
*/
private Double expensesPayableFoundationProtection;
/**
* 照护费用
*/
private Double careCosts;
/**
* 照护违规扣除//TODO
*/
private String careCompletionRate;
/**
* 照护应拨费用
*/
private Double carePayable;
/**
* 应拨付总金额
*/
private Double totalAmountDue;
}
package com.hungraim.ltc.pojo.vo.account;
import lombok.Data;
import java.util.Date;
@Data
public class ExpenseSettlementVo {
/**
* 失能人员姓名
*/
private String realName;
/**
* 失能人员身份证号
*/
private Long certiCode;
/**
* 护理等级
*/
private Long nursingGrade;
/**
* 服务方式名称
*/
private String srvModeName;
/**
* 服务开始时间
*/
private Date srvStartTime;
/**
* 服务结束时间
*/
private Date srvEndTime;
/**
* 有效结算日
*/
private Integer effectiveSettlementDate;
/**
* 基护费用标准
*/
private String costStandardOfFoundationProtection;
/**
* 基护费用
*/
private Double foundationProtectionCost;
/**
* 基护完成率
*/
private String completionRateFoundationProtection;
/**
* 巡护基护完成考核
*/
private String patrolAndBasicProtectionCompletedAssessment;
/**
* 基护应拨费用
*/
private Double expensesPayableFoundationProtection;
/**
* 照护费用标准
*/
private String standardCareCost;
/**
* 照护费用
*/
private Double careCosts;
/**
* 照护完成率
*/
private String careCompletionRate;
/**
* 巡护照护完成考核
*/
private String patrolCareCompletionAssessment;
/**
* 照护应拨费用
*/
private Double carePayable;
/**
* 应拨付总金额
*/
private Double totalAmountDue;
/**
* 合计
*/
private String total;
}
package com.hungraim.ltc.util;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
/**
* 服务等级枚举类
*/
@AllArgsConstructor
@NoArgsConstructor
public enum CfgSrvLevel {
ONE("1", "一级"),
TWO("2", "二级"),
THREE("3", "三级");
private String code;
private String msg;
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
}
package com.hungraim.ltc.util;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
/**
* 失能等级枚举类
*/
@AllArgsConstructor
@NoArgsConstructor
public enum DisableLevel {
ONE("1", "一级"),
TWO("2", "二级"),
THREE("3", "三级");
private String code;
private String msg;
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
}
package com.hungraim.ltc.util;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
/**
* 服务方式枚举类
*/
@AllArgsConstructor
@NoArgsConstructor
public enum FndSrvMode {
PATROL("1", "巡护"),
HOME_CARE("2", "家护"),
HOSPITAL_NURSING("3", "院护");
private String code;
private String msg;
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment