|
@@ -52,7 +52,7 @@ public class XiangMuLuRuService {
|
|
|
*/
|
|
|
public ResultVo<List<ZyDetailCharge>> getHuanZheFeiYong(ZyDetailCharge param) {
|
|
|
if (StringUtil.isBlank(param.getInpatientNo()) || param.getAdmissTimes() == null) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "住院号或住院次数为空");
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "住院号或住院次数为空。๑乛◡乛๑");
|
|
|
}
|
|
|
log.info("查询患者费用==》住院号{},住院次数:{},项目名称:{},录入日期:{},费用类型:{},科室:{}", param.getInpatientNo(), param.getAdmissTimes(),
|
|
|
param.getChargeCode(), param.getStartTime(), param.getOrderNo(), param.getDept());
|
|
@@ -112,9 +112,9 @@ public class XiangMuLuRuService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public ResultVo<String> xiangMuTuiFei(ZyDetailCharge param) {
|
|
|
if (param.getList() == null || param.getList().isEmpty()) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "请先选择需要退费的数据,一次性退费不得超过100条");
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "请先选择需要退费的数据,一次性退费不得超过100条, ╮( •́ω•̀ )╭");
|
|
|
} else if (param.getList().size() > 100) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "项目退费一次性大于100条数据");
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "项目退费一次性大于100条数据,╮(﹀_﹀”)╭");
|
|
|
}
|
|
|
if (StringUtil.isBlank(param.getInpatientNo()) || param.getAdmissTimes() == null || param.getList().size() == 0) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "患者信息不全");
|
|
@@ -123,7 +123,7 @@ public class XiangMuLuRuService {
|
|
|
List<ZyDetailCharge> chaKanSFtuiFei = dao.chaKanSFYiJingTuiFeiLe(param.getInpatientNo(), param.getAdmissTimes(), param.getList());
|
|
|
|
|
|
for (ZyDetailCharge charge : chaKanSFtuiFei) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为:【%s】已退费,请勿重复退费", charge.getOriDetailSn()));
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为:【%s】已退费,请勿重复退费 ···=థ౪థ.... ", charge.getOriDetailSn()));
|
|
|
}
|
|
|
// 判断是否为婴儿
|
|
|
if (param.getInpatientNo().contains("$")) {
|
|
@@ -146,21 +146,21 @@ public class XiangMuLuRuService {
|
|
|
for (ZyDetailCharge pojo : yuanTuiFeiList) {
|
|
|
// 判断患者的费用是否存在负数
|
|
|
if (pojo.getChargeFee().signum() == -1 || pojo.getChargeAmount().signum() == -1) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("患者费用存在负数,流水号:【%s】,该数据为退费数据", pojo.getDetailSn()));
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("患者费用存在负数,流水号:【%s】,该数据为退费数据。( ´Д`)y━・~~", pojo.getDetailSn()));
|
|
|
}
|
|
|
// 管理员角色可以无视
|
|
|
if (!yongHuJueSe.contains(1)) {
|
|
|
// 科室开头 是 8 就不是医技科室 只有医技科室可以退药品
|
|
|
if (param.getDeptCode().startsWith("8")) {
|
|
|
if (!zhiXinKeShi.contains(pojo.getExecUnit())) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为【%s】,请对应的执行科室进行退费。", pojo.getDetailSn()));
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为【%s】,请对应的执行科室进行退费。( ´Д`)y━・~~", pojo.getDetailSn()));
|
|
|
}
|
|
|
// 护士是不可以退药品的
|
|
|
if (pojo.getChargeCode().equals("BILL01") || pojo.getChargeCode().equals("BILL02") || pojo.getChargeCode().equals("BILL28")) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为【%s】,包含药品费用,无法退费。", pojo.getDetailSn()));
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为【%s】,包含药品费用,无法退费。( ´Д`)y━・~~", pojo.getDetailSn()));
|
|
|
}
|
|
|
} else if (!param.getDeptCode().equals(pojo.getExecUnit())) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为【%s】,请对应的执行科室进行退费。", pojo.getDetailSn()));
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为【%s】,请对应的执行科室进行退费。( ´Д`)y━・~~", pojo.getDetailSn()));
|
|
|
}
|
|
|
}
|
|
|
sum = sum.add(pojo.getChargeFee().multiply(pojo.getChargeAmount()));
|
|
@@ -179,13 +179,13 @@ public class XiangMuLuRuService {
|
|
|
fy.setTotalCharge(sum.negate());
|
|
|
// 执行退费的操作 20 条的退费
|
|
|
if (tuiFeiList.isEmpty()) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "查询不到患者原数据,请联系管理员。");
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "查询不到患者原数据,请联系管理员。( ´Д`)y━・~~");
|
|
|
} else {
|
|
|
List<List<ZyDetailCharge>> fenGe = ListUtils.partition(tuiFeiList, 20);
|
|
|
fenGe.forEach(dao::xiangMuTuiFei);
|
|
|
dao.huanZheZongFeiYong(fy, param.getInpatientNo(), param.getAdmissTimes(), "zy_actpatient");
|
|
|
log.info("操作项目退费 ==》 操作人:{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONString(tuiFeiList));
|
|
|
- return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "项目退费操作成功。");
|
|
|
+ return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "项目退费操作成功。乁( ˙ ω˙乁)");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -251,7 +251,7 @@ public class XiangMuLuRuService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public ResultVo<String> xiangMuFeiYongShangChuan(ZyDetailCharge param) {
|
|
|
if (param.getList().size() > 50) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "一次性项目录入大于50条");
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "一次性项目录入大于50条,๑乛◡乛๑");
|
|
|
}
|
|
|
StringBuilder errorStr = new StringBuilder();
|
|
|
if (StringUtil.isBlank(param.getInpatientNo()) || param.getAdmissTimes() == null) {
|
|
@@ -305,10 +305,10 @@ public class XiangMuLuRuService {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.EXIST_NEGATIVE_FEES);
|
|
|
}
|
|
|
if (StringUtil.isBlank(zyDetailCharge.getChargeCodeMx())) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "项目编码空值。");
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "项目编码空值。( ´•︵•` )");
|
|
|
}
|
|
|
if (StringUtil.isBlank(zyDetailCharge.getDeptCode())) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "执行科室为空。");
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "执行科室为空。( ´•︵•` )");
|
|
|
}
|
|
|
if (zyDetailCharge.getChargeCodeMx() == null) {
|
|
|
zyDetailCharge.setChargeCodeMx(zyDetailCharge.getChargeCode());
|
|
@@ -324,7 +324,7 @@ public class XiangMuLuRuService {
|
|
|
dao.chaRuFeiYong(param, param.getList(), infantFlag);
|
|
|
dao.huanZheZongFeiYong(fy, param.getInpatientNo(), param.getAdmissTimes(), "zy_actpatient");
|
|
|
log.info("项目录入费用上传 ==》 操作人:{},数据:{}", param.getOpIdCode(), JSON.toJSONString(param));
|
|
|
- return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "费用上传成功。");
|
|
|
+ return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "费用上传成功。<( ̄︶ ̄)>");
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -336,7 +336,7 @@ public class XiangMuLuRuService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public ResultVo<String> shangChuanMuBan(ZyDetailCharge zyDetailCharge) {
|
|
|
if (dao.chaKanMuBanMingChengSFcunZi(zyDetailCharge.getName(), TokenUtil.getTokenUserId()) > 0) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "模板名称重复");
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "模板名称重复,๐·°(৹˃̵﹏˂̵৹)°·๐");
|
|
|
}
|
|
|
zyDetailCharge.setOpIdCode(TokenUtil.getTokenUserId());
|
|
|
|
|
@@ -356,7 +356,7 @@ public class XiangMuLuRuService {
|
|
|
dao.delMuBan(zyDetailCharge.getName(), zyDetailCharge.getOpIdCode());
|
|
|
dao.baoCunMuBan(zyDetailCharge);
|
|
|
log.info("保存项目录入模板 ==》 操作人 :{},数据:{}", zyDetailCharge.getOpIdCode(), JSON.toJSONString(zyDetailCharge));
|
|
|
- return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "保存模板成功。");
|
|
|
+ return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "保存模板成功。ㄟ(≧◇≦)ㄏ");
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -385,6 +385,8 @@ public class XiangMuLuRuService {
|
|
|
if (zhenShuMap.containsKey(key)) {
|
|
|
fuShu.setOriDetailSn(zhenShuMap.get(key).getDetailSn());
|
|
|
piPei.add(fuShu);
|
|
|
+ // 在匹配完成后删除 对应正数的map
|
|
|
+ zhenShuMap.remove(key);
|
|
|
}
|
|
|
}
|
|
|
// 开始匹配
|
|
@@ -395,16 +397,16 @@ public class XiangMuLuRuService {
|
|
|
dao.yiZhuTuiFeiPiPei(inpatientNo, admissTimes, list);
|
|
|
}
|
|
|
log.info("医嘱退费匹配 ==》 操作人:{},住院号:{},住院次数:{}", TokenUtil.getTokenUserId(), inpatientNo, admissTimes);
|
|
|
- return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, String.format("医嘱退费匹配,共有【%d】条,匹配成功【%d】条", getYiZhuFeiYongFuShu.size(), piPei.size()));
|
|
|
+ return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, String.format("医嘱退费匹配,共有【%d】条,匹配成功【%d】条,*.。(๑・∀・๑)*.。", getYiZhuFeiYongFuShu.size(), piPei.size()));
|
|
|
} else {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, "该患者没有可以匹配的医嘱退费");
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, "该患者没有可以匹配的医嘱退费,|д・)っ");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public ResultVo<String> shanChuMuBan(String patterName, String opIdCode) {
|
|
|
log.info("删除项目模板 ==》操作人:{},模板名称:{}", TokenUtil.getTokenUserId(), patterName);
|
|
|
dao.delMuBan(patterName, opIdCode);
|
|
|
- return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "删除成功");
|
|
|
+ return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "删除成功,o(^▽^)o");
|
|
|
}
|
|
|
|
|
|
/**
|