|
|
@@ -15,6 +15,7 @@ import thyyxxk.webserver.entity.datamodify.GetDropdownBox;
|
|
|
import thyyxxk.webserver.entity.datamodify.MzChargeDetail;
|
|
|
import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
|
|
|
import thyyxxk.webserver.entity.inpatient.ZyActpatient;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.inpatient.ZyPatientInfo;
|
|
|
import thyyxxk.webserver.service.PublicServer;
|
|
|
import thyyxxk.webserver.utils.DateUtil;
|
|
|
import thyyxxk.webserver.utils.ResultVoUtil;
|
|
|
@@ -118,8 +119,7 @@ public class TransferInOfExpensesService {
|
|
|
* @return 返回是否成功
|
|
|
*/
|
|
|
public ResultVo<String> shanChuFeiYong(ZyDetailCharge param) {
|
|
|
- log.info("删除该患者通过急门诊转入的费用 --> 操作员:{}, 通过主键来删除数据:{}",
|
|
|
- TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(param, GetDateFormat.DATE_TIME));
|
|
|
+ log.info("删除该患者通过急门诊转入的费用 --> 操作员:{}, 通过主键来删除数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(param, GetDateFormat.DATE_TIME));
|
|
|
dao.shanChuFeiYong(param);
|
|
|
return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "删除成功 ୧(๑•̀◡•́๑)૭");
|
|
|
}
|
|
|
@@ -135,13 +135,20 @@ public class TransferInOfExpensesService {
|
|
|
List<MzChargeDetail> list = param.getList();
|
|
|
//查询流水号
|
|
|
Integer maxDetailSn = dao.getMaxDetailSn(param.getInpatientNo(), param.getAdmissTimes());
|
|
|
- Date admissDate = dao.getPatientHospitalStay(param.getInpatientNo());
|
|
|
- if (admissDate == null) {
|
|
|
+ ZyPatientInfo patInfo = dao.getPatientHospitalStay(param.getInpatientNo());
|
|
|
+ if (patInfo == null) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "没有找到患者信息");
|
|
|
}
|
|
|
- if (DateUtil.shiJianDaXiao(param.getChargeDate(), admissDate, "<")) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "费用发生时间不能小于入院时间.");
|
|
|
+ if (DateUtil.shiJianDaXiao(param.getChargeDate(), patInfo.getAdmissDate(), "<")) {
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "费用发生时间不能小于入院时间。");
|
|
|
}
|
|
|
+
|
|
|
+ if (patInfo.getDisDate() != null) {
|
|
|
+ if (DateUtil.shiJianDaXiao(param.getChargeDate(), patInfo.getDisDate(), ">")) {
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "费用发生时间不能大于出院时间,患者出院时间为:" + DateUtil.formatDatetime(param.getDisDate()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// 流水号取出这个患者流水值的最大值 在加 1
|
|
|
// 同时计算 出患者的总金额 以及 费用的类型
|
|
|
list.removeIf(item -> "BILL99".equals(item.getChargeCodeMx()));
|