|
@@ -1186,11 +1186,13 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
mzYjReqMapper.deleteNotPayYjReByPatientId(mzPrescriptionVo.getPatientId(), dbClinic.getTimes());
|
|
|
mzBlRecordMapper.deleteNotPayBlRecordByPatientId(mzPrescriptionVo.getPatientId(), dbClinic.getTimes());
|
|
|
clinicMapper.deleteById(dbClinic.getId());
|
|
|
- List<MzZyReq> zyReqList= mzZyReqMapper.selectMzZyReqByDoctorCode(mzPrescriptionVo.getPatientId(),dbClinic.getDoctorCode());
|
|
|
- if(zyReqList!=null && zyReqList.size()>0){
|
|
|
- mzZyReqMapper.deleteMzZyReqByDoctorCode(mzPrescriptionVo.getPatientId(),dbClinic.getDoctorCode());
|
|
|
- for(MzZyReq mzZyReq:zyReqList){
|
|
|
- zyBedPreMsgMappper.deleteMzZyReqByDoctorCode(mzPrescriptionVo.getPatientId(),mzZyReq.getVisitDate());
|
|
|
+ if(mzPrescriptionVo.getMzZyReq() != null && StrUtil.isNotBlank(mzPrescriptionVo.getMzZyReq().getReqDept())){
|
|
|
+ List<MzZyReq> zyReqList= mzZyReqMapper.selectMzZyReqByDoctorCode(mzPrescriptionVo.getPatientId(),dbClinic.getDoctorCode());
|
|
|
+ if(zyReqList!=null && zyReqList.size()>0){
|
|
|
+ mzZyReqMapper.deleteMzZyReqByDoctorCode(mzPrescriptionVo.getPatientId(),dbClinic.getDoctorCode());
|
|
|
+ for(MzZyReq mzZyReq:zyReqList){
|
|
|
+ zyBedPreMsgMappper.deleteMzZyReqByDoctorCode(mzPrescriptionVo.getPatientId(),mzZyReq.getVisitDate());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
List<OpRecord> opRecordList= opRecordMapper.selectOpRecordByPatientIdAndTimes(mzPrescriptionVo.getPatientId(), dbClinic.getTimes());
|
|
@@ -6349,13 +6351,13 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT, timeout = 36000, rollbackFor = {Exception.class,BizException.class,MzException.class})
|
|
|
public Clinic savePrescriptionAndCharge(MzPrescriptionVo mzPrescriptionVo, Clinic dbClinic) throws MzException{
|
|
|
if(zyActpatientService.checkZaiYuan(mzPrescriptionVo.getPatientId())){
|
|
|
- throw new BizException("病人已经在住院,不能再开门诊处方");
|
|
|
+ throw new MzException("病人已经在住院,不能再开门诊处方");
|
|
|
}
|
|
|
//计算处方总金额是否为0
|
|
|
Map<String, Object> tempPrescription = getMzChargeDetailService().getAmountForTempPrescription(mzPrescriptionVo);
|
|
|
BigDecimal totalFee = (BigDecimal) tempPrescription.get("amount");
|
|
|
Clinic insertClinic;
|
|
|
- if(totalFee.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ if(totalFee.compareTo(BigDecimal.ZERO) == 0 && (CollUtil.isNotEmpty(mzPrescriptionVo.getMzYjReqList()) || CollUtil.isNotEmpty(mzPrescriptionVo.getMzChargeDetailList()))){
|
|
|
insertClinic = getMzChargeDetailService().savePrescription(mzPrescriptionVo, dbClinic, false);
|
|
|
if(insertClinic !=null && insertClinic.getId() != null){
|
|
|
MzDepositFileVo mzDepositFileVo = new MzDepositFileVo();
|