|
@@ -105,7 +105,7 @@ public class XiangMuLuRuService {
|
|
|
* @return 返回
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public ResultVo<String> xiangMuTuiFei(ZyDetailCharge param) {
|
|
|
+ public ResultVo<String> xiangMuTuiFei(ZyDetailCharge param, Boolean panDuanYaoPing) {
|
|
|
List<Integer> yongHuJueSe = dao.huoQuJueSe(TokenUtil.getTokenUserId());
|
|
|
if (!yongHuJueSe.contains(36) && !yongHuJueSe.contains(1)) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "您没有权限退费。");
|
|
@@ -161,7 +161,7 @@ public class XiangMuLuRuService {
|
|
|
yaoPingDan.add(pojo);
|
|
|
}
|
|
|
// 在这里判断执行科室
|
|
|
- ResultVo<String> LOGICAL_ERROR = getStringResultVo(yongHuJueSe, zhiXinKeShi, param, pojo, true);
|
|
|
+ ResultVo<String> LOGICAL_ERROR = getStringResultVo(yongHuJueSe, zhiXinKeShi, param, pojo, panDuanYaoPing);
|
|
|
if (LOGICAL_ERROR != null) return LOGICAL_ERROR;
|
|
|
// 数据库有个 触发器 如果带了医嘱号且有篆刻那么这里就需要改成 0
|
|
|
if (BigUtils.bigDaYu(pojo.getOrderNo(), 10)) {
|
|
@@ -197,7 +197,7 @@ public class XiangMuLuRuService {
|
|
|
private ResultVo<String> getStringResultVo(List<Integer> yongHuJueSe, List<String> zhiXinKeShi, ZyDetailCharge xuYaoTuiDeShuJu,
|
|
|
ZyDetailCharge piPeiDeShuJu, Boolean panDuanYaoPin) {
|
|
|
// 获取到用户角色 管理员角色可以无视
|
|
|
- if (!yongHuJueSe.contains(1)) {
|
|
|
+ if (!yongHuJueSe.contains(1) || !yongHuJueSe.contains(8)) {
|
|
|
// 科室开头 是 8 就不是医技科室 只有医技科室可以退药品
|
|
|
if (xuYaoTuiDeShuJu.getDeptCode().startsWith("8")) {
|
|
|
//获取到这个人是否属于这个科室
|
|
@@ -711,16 +711,17 @@ public class XiangMuLuRuService {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR,
|
|
|
String.format("负数费用:{%.2f},匹配费用:{%.2f} <br> 负数数量:{%.2f},匹配数量:{%.2f}", zy.getChargeFee().negate(), chargeFeeSum, zy.getChargeAmount().negate(), chargeAmountSum));
|
|
|
} else {
|
|
|
- if (BigUtils.dengYu(chargeFeeSum, zy.getChargeFee().negate()) && BigUtils.dengYu(chargeAmountSum, zy.getChargeAmount().negate())) {
|
|
|
- ResultVo<String> tuiFei = xiangMuTuiFei(zyDetailCharge);
|
|
|
- if (tuiFei.getCode() != 201) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, tuiFei.getMessage());
|
|
|
- }
|
|
|
- dao.cheXiaoFeiYong(inpatientNo, zyDetailCharge.getAdmissTimes(), zyDetailCharge.getLedgerSn(), zyDetailCharge.getDetailSn());
|
|
|
- return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "费用拆分成功。");
|
|
|
- } else {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "匹配多条时数量和金额要相等。");
|
|
|
- }
|
|
|
+// if (BigUtils.dengYu(chargeFeeSum, zy.getChargeFee().negate()) && BigUtils.dengYu(chargeAmountSum, zy.getChargeAmount().negate())) {
|
|
|
+// ResultVo<String> tuiFei = xiangMuTuiFei(zyDetailCharge, false);
|
|
|
+// if (tuiFei.getCode() != 201) {
|
|
|
+// return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, tuiFei.getMessage());
|
|
|
+// }
|
|
|
+// dao.cheXiaoFeiYong(inpatientNo, zyDetailCharge.getAdmissTimes(), zyDetailCharge.getLedgerSn(), zyDetailCharge.getDetailSn());
|
|
|
+// return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "费用拆分成功。");
|
|
|
+// } else {
|
|
|
+// return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "匹配多条时数量和金额要相等。");
|
|
|
+// }
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "每次只能匹配一条。");
|
|
|
}
|
|
|
}
|
|
|
}
|