|
@@ -82,35 +82,45 @@ public class PatientService {
|
|
|
private void setExpenseInformation(Patient data) {
|
|
|
data.setMedTypeName(MedType.getName(data.getMedType()));
|
|
|
data.setDutyNurseName(redis.getEmployeeName(data.getDutyNurse()));
|
|
|
+
|
|
|
+ HuanZheFeiYong feiYongZhanBi = yiZhuLuRuDao.feiYongXinXi(data.getInpatientNo(), data.getAdmissTimes(), data.getLedgerSn());
|
|
|
+ if (feiYongZhanBi != null) {
|
|
|
+ // 余额
|
|
|
+ data.setBalance(feiYongZhanBi.getBalance());
|
|
|
+ // 总费用
|
|
|
+ data.setTotalCharge(feiYongZhanBi.getTotalCharge());
|
|
|
+ // 药品 百分比
|
|
|
+ data.setYp(DecimalUtil.getPercent(Double.parseDouble(feiYongZhanBi.getYp()), Double.parseDouble(feiYongZhanBi.getTotalCharge())));
|
|
|
+ // 检验检查 百分比
|
|
|
+ data.setJyjc(DecimalUtil.getPercent(Double.parseDouble(feiYongZhanBi.getJyjc()), Double.parseDouble(feiYongZhanBi.getTotalCharge())));
|
|
|
+ // 医保 费用
|
|
|
+ data.setChargeYb(feiYongZhanBi.getChargeYb());
|
|
|
+ // 医保百分比
|
|
|
+ data.setYb(DecimalUtil.getPercent(Double.parseDouble(feiYongZhanBi.getChargeYb()), Double.parseDouble(feiYongZhanBi.getTotalCharge())));
|
|
|
+ }
|
|
|
+ XinZhenYiZhu xinZhenYiZhu = yiZhuLuRuDao.huoQuHuanZheXinXi(data.getInpatientNo(), data.getAdmissTimes());
|
|
|
+ if (xinZhenYiZhu != null) {
|
|
|
+ // 是否出纳
|
|
|
+ data.setTimesBilled(xinZhenYiZhu.getTimesBilled());
|
|
|
+ }
|
|
|
if (null != data.getSocialNo() && data.getSocialNo().trim().length() == 18 && !data.getSocialNo().startsWith("K")) {
|
|
|
try {
|
|
|
- HuanZheFeiYong feiYongZhanBi = yiZhuLuRuDao.feiYongXinXi(data.getInpatientNo(), data.getAdmissTimes(), data.getLedgerSn());
|
|
|
- if (feiYongZhanBi != null) {
|
|
|
- // 余额
|
|
|
- data.setBalance(feiYongZhanBi.getBalance());
|
|
|
- // 总费用
|
|
|
- data.setTotalCharge(feiYongZhanBi.getTotalCharge());
|
|
|
- // 药品 百分比
|
|
|
- data.setYp(DecimalUtil.getPercent(Double.parseDouble(feiYongZhanBi.getYp()), Double.parseDouble(feiYongZhanBi.getTotalCharge())));
|
|
|
- // 检验检查 百分比
|
|
|
- data.setJyjc(DecimalUtil.getPercent(Double.parseDouble(feiYongZhanBi.getJyjc()), Double.parseDouble(feiYongZhanBi.getTotalCharge())));
|
|
|
- // 医保 费用
|
|
|
- data.setChargeYb(feiYongZhanBi.getChargeYb());
|
|
|
- // 医保百分比
|
|
|
- data.setYb(DecimalUtil.getPercent(Double.parseDouble(feiYongZhanBi.getChargeYb()), Double.parseDouble(feiYongZhanBi.getTotalCharge())));
|
|
|
- }
|
|
|
- XinZhenYiZhu xinZhenYiZhu = yiZhuLuRuDao.huoQuHuanZheXinXi(data.getInpatientNo(), data.getAdmissTimes());
|
|
|
- if (xinZhenYiZhu != null) {
|
|
|
- // 是否出纳
|
|
|
- data.setTimesBilled(xinZhenYiZhu.getTimesBilled());
|
|
|
- }
|
|
|
+ // 根据身份证计算出生年龄
|
|
|
data.setBirthDate(getBirthdayFromSocialNo(data.getSocialNo()));
|
|
|
- // 年龄
|
|
|
- data.setAge(DateUtil.calculateAge(new SimpleDateFormat("yyyy-MM-dd").parse(data.getBirthDate()), data.getAdmissDate()));
|
|
|
- } catch (ParseException e) {
|
|
|
- log.error("获取患者基本信息出错", e);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ log.error("设置出生日期出错");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ try {
|
|
|
+ // 年龄
|
|
|
+ data.setAge(DateUtil.calculateAge(new SimpleDateFormat("yyyy-MM-dd").parse(data.getBirthDate()), data.getAdmissDate()));
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ log.error("计算年龄出错");
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
private String getBirthdayFromSocialNo(String socialNo) throws ParseException {
|