|
@@ -11,7 +11,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import thyyxxk.webserver.config.exception.ExceptionEnum;
|
|
|
import thyyxxk.webserver.dao.his.yibao.XiangMuLuRuDao;
|
|
|
import thyyxxk.webserver.entity.ResultVo;
|
|
|
-import thyyxxk.webserver.entity.datamodify.FeiYongLeiXin;
|
|
|
import thyyxxk.webserver.entity.datamodify.GetDropdownBox;
|
|
|
import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
|
|
|
import thyyxxk.webserver.entity.yibao.ZyActpatient;
|
|
@@ -123,23 +122,23 @@ public class XiangMuLuRuService {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "该患者已出院 /(ㄒoㄒ)/~~");
|
|
|
}
|
|
|
|
|
|
- // 判断数据是否为 退费数据
|
|
|
- List<ZyDetailCharge> chaKanSFtuiFei = dao.chaKanSFYiJingTuiFeiLe(param.getInpatientNo(), param.getAdmissTimes(), param.getList());
|
|
|
-
|
|
|
- for (ZyDetailCharge charge : chaKanSFtuiFei) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为:【%s】已退费,请勿重复退费 <br/>···(。•́︿•̀。) ", charge.getOriDetailSn()));
|
|
|
- }
|
|
|
int infantFlag = 0;
|
|
|
// 判断是否为婴儿
|
|
|
if (param.getInpatientNo().contains("$")) {
|
|
|
param.setInpatientNo(param.getInpatientNo().split("\\$")[0]);
|
|
|
infantFlag = 1;
|
|
|
}
|
|
|
+ Integer ledgerSn = publicServer.getLedgerSn(param.getInpatientNo(), param.getAdmissTimes());
|
|
|
+ // 判断数据是否为 退费数据
|
|
|
+ List<ZyDetailCharge> chaKanSFtuiFei = dao.chaKanSFYiJingTuiFeiLe(param.getInpatientNo(), param.getAdmissTimes(), ledgerSn, param.getList());
|
|
|
+ for (ZyDetailCharge charge : chaKanSFtuiFei) {
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为:【%s】已退费,请勿重复退费 <br/>···(。•́︿•̀。) ", charge.getOriDetailSn()));
|
|
|
+ }
|
|
|
if (dao.getHuanZheSFJieSuan(param.getInpatientNo(), param.getAdmissTimes()) == null || dao.getHuanZheSFJieSuan(param.getInpatientNo(), param.getAdmissTimes()) != 0) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "该患者已经结算了");
|
|
|
}
|
|
|
// 获取原来的数据
|
|
|
- List<ZyDetailCharge> yuanTuiFeiList = dao.huoQuJuTiFeiYong(param.getInpatientNo(), param.getAdmissTimes(), param.getList());
|
|
|
+ List<ZyDetailCharge> yuanTuiFeiList = dao.huoQuJuTiFeiYong(param.getInpatientNo(), param.getAdmissTimes(), ledgerSn, param.getList());
|
|
|
// 获取患者的总费用
|
|
|
BigDecimal sum = new BigDecimal(0);
|
|
|
// 退费的list
|
|
@@ -179,10 +178,6 @@ public class XiangMuLuRuService {
|
|
|
tuiFeiList.add(pojo);
|
|
|
genXingZhenShuTuiFeiLiuShui.add(pojo.getOriDetailSn());
|
|
|
}
|
|
|
- // 总费用计算
|
|
|
- FeiYongLeiXin fy = JiSuanFeiYong.jiSuan(yuanTuiFeiList, false);
|
|
|
- // 计算出这一次 总退的费用
|
|
|
- fy.setTotalCharge(sum.negate());
|
|
|
// 执行退费的操作 20 条的退费
|
|
|
if (tuiFeiList.isEmpty()) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "查询不到患者原数据,请联系管理员。( ´Д`)y━・~~");
|
|
@@ -402,8 +397,6 @@ public class XiangMuLuRuService {
|
|
|
yaoPingShenQingDan.add(shenQing);
|
|
|
}
|
|
|
}
|
|
|
- FeiYongLeiXin fy = JiSuanFeiYong.jiSuan(param.getList(), true);
|
|
|
- fy.setTotalCharge(sum);
|
|
|
Integer ledgerSn = publicServer.getLedgerSn(param.getInpatientNo(), param.getAdmissTimes());
|
|
|
// 在此处 插入费用
|
|
|
dao.chaRuFeiYong(param, param.getList(), infantFlag, ledgerSn);
|