فهرست منبع

门诊开票修改

‘chenzhilei’ 4 روز پیش
والد
کامیت
cfa2bca6b9
1فایلهای تغییر یافته به همراه26 افزوده شده و 4 حذف شده
  1. 26 4
      src/main/java/cn/hnthyy/thmz/service/impl/his/mzdzfp/BswServerImpl.java

+ 26 - 4
src/main/java/cn/hnthyy/thmz/service/impl/his/mzdzfp/BswServerImpl.java

@@ -509,7 +509,9 @@ public class BswServerImpl implements BswServer {
     private List<InvoiceDetail> createInvoiceDetailList(MzyReqrec mzyReqrec, Integer typeFlag) {
         List<InvoiceDetail> invoiceDetailList = new ArrayList<>();
         Field[] fields = ReflectUtil.getFields(MzyReqrec.class);
-        List<String> feeFileds = CollUtil.newArrayList(new String[]{"reqFee", "clinicFee", "othFee", "blbFee", "zlkFee"});
+//        List<String> feeFileds = CollUtil.newArrayList(new String[]{"reqFee", "clinicFee", "othFee", "blbFee", "zlkFee"});
+        List<String> feeFileds = CollUtil.newArrayList(new String[]{"reqFee", "clinicFee"});
+        BigDecimal otherFee = Convert.toBigDecimal(mzyReqrec.getOthFee(), BigDecimal.ZERO).add(Convert.toBigDecimal(mzyReqrec.getBlbFee(), BigDecimal.ZERO)).add(Convert.toBigDecimal(mzyReqrec.getZlkFee(), BigDecimal.ZERO));
         int index = 1;
         for (Field field : fields) {
             if (feeFileds.contains(field.getName())) {
@@ -519,8 +521,13 @@ public class BswServerImpl implements BswServer {
                     invoiceDetail.setBlueSerialNo(typeFlag == 2 ? index : null);
                     invoiceDetail.setSerialNo(index);
                     invoiceDetail.setItemTypeName(ghMap.get(field.getName()).split("_")[1]);
-                    invoiceDetail.setItemName(ghMap.get(field.getName()).split("_")[1]);
-                    invoiceDetail.setItemCode("32080101");
+                    if("reqFee".equals(field.getName())){
+                        invoiceDetail.setItemName("挂号费");
+                        invoiceDetail.setItemCode("32080101");
+                    } else if("clinicFee".equals(field.getName())){
+                        invoiceDetail.setItemName("诊察费");
+                        invoiceDetail.setItemCode("32080102");
+                    }
                     invoiceDetail.setAmount(typeFlag == 2 ? fee.negate() : fee);
                     invoiceDetail.setTaxAmount(BigDecimal.ZERO);
                     invoiceDetail.setTaxRate(BigDecimal.ZERO);
@@ -531,6 +538,21 @@ public class BswServerImpl implements BswServer {
                 }
             }
         }
+        if (otherFee.compareTo(BigDecimal.ZERO) > 0) {
+            InvoiceDetail invoiceDetail = new InvoiceDetail();
+            invoiceDetail.setBlueSerialNo(typeFlag == 2 ? index : null);
+            invoiceDetail.setSerialNo(3);
+            invoiceDetail.setItemTypeName("其他门急诊费用");
+            invoiceDetail.setItemName("其他门急诊费用");
+            invoiceDetail.setItemCode("32080199");
+            invoiceDetail.setAmount(typeFlag == 2 ? otherFee.negate() : otherFee);
+            invoiceDetail.setTaxAmount(BigDecimal.ZERO);
+            invoiceDetail.setTaxRate(BigDecimal.ZERO);
+            invoiceDetail.setTaxIncludedAmount(invoiceDetail.getAmount());
+            invoiceDetail.setInvoiceLineNature("00");
+            invoiceDetail.setItemTypeCode(Constants.TAX_SORT_CODE);
+            invoiceDetailList.add(invoiceDetail);
+        }
         return invoiceDetailList;
     }
 
@@ -1150,7 +1172,7 @@ public class BswServerImpl implements BswServer {
 //        String url = getUrl() + "bsw-server/evasp/api/nscs/outpatient/redInvoice";
         String url = getUrl() + "public/ebill/invoicehiswriteoff";
         String paramJson = JsonUtil.object2Json(mzInvoiceInfo);
-        JSRedMzInvoiceInfo jsRedMzInvoiceInfo = new JSRedMzInvoiceInfo().transformFromMzInvoiceInfo(mzInvoiceInfo,"01");
+        JSRedMzInvoiceInfo jsRedMzInvoiceInfo = new JSRedMzInvoiceInfo().transformFromMzInvoiceInfo(mzInvoiceInfo,"02");
         String paramJson1 = JsonUtil.object2Json(jsRedMzInvoiceInfo);
 
         log.info("url:{}", url);