|
@@ -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);
|