ソースを参照

优化门诊本院记账重收后发票打印问题

hurugang 2 年 前
コミット
3764396457

+ 17 - 2
src/main/java/cn/hnthyy/thmz/controller/mz/MzReceiptSerialController.java

@@ -7,7 +7,9 @@ import cn.hnthyy.thmz.entity.MzException;
 import cn.hnthyy.thmz.entity.his.mz.*;
 import cn.hnthyy.thmz.entity.his.zd.ZdChequeType;
 import cn.hnthyy.thmz.entity.thmz.User;
+import cn.hnthyy.thmz.enums.PayMarkEnum;
 import cn.hnthyy.thmz.enums.YesNoEnum;
+import cn.hnthyy.thmz.pageDto.MzChargeDetailPageDto;
 import cn.hnthyy.thmz.service.his.mz.*;
 import cn.hnthyy.thmz.service.his.zd.ZdChequeTypeService;
 import cn.hnthyy.thmz.vo.MzReceiptSerialVo;
@@ -363,8 +365,21 @@ public class MzReceiptSerialController {
             if (mzReceiptSerials != null && mzReceiptSerials.size() > 0) {
                 List<MzReceiptSerial> receiptBills = new ArrayList<>();
                 for (MzReceiptSerial mzReceiptSerial : mzReceiptSerials) {
-                    if (StringUtils.isNotBlank(mzReceiptSerial.getReceiptBill()) && receiptNo.equals(mzReceiptSerial.getReceiptNo())) {
-                        receiptBills.add(mzReceiptSerial);
+                    if (StringUtils.isNotBlank(mzReceiptSerial.getReceiptBill())) {
+                        if(receiptNo.equals(mzReceiptSerial.getReceiptNo())){
+                            receiptBills.add(mzReceiptSerial);
+                        }else {
+                            //本院记账重收的数据
+                            MzChargeDetailPageDto mzChargeDetailPageDto =new MzChargeDetailPageDto();
+                            MzChargeDetail mzChargeDetail = new MzChargeDetail(patientId, times);
+                            mzChargeDetail.setReceiptNo(mzReceiptSerial.getReceiptNo());
+                            mzChargeDetail.setPayMark(PayMarkEnum.CHARGED.code);
+                            mzChargeDetailPageDto.setMzChargeDetail(mzChargeDetail);
+                            int count =mzChargeDetailService.countMzChargeDetail(mzChargeDetailPageDto);
+                            if(count==0){
+                                receiptBills.add(mzReceiptSerial);
+                            }
+                        }
                     }
                 }
                 resultMap.put("code", 0);