|
@@ -34,6 +34,7 @@ public class JSMzInvoiceInfo implements Serializable {
|
|
|
private String bustype = "0"; // 业务类型
|
|
|
private BigDecimal totalAmount; // 总金额
|
|
|
private String payerPartyType = "1"; // 交款人类型 1:个人2:单位
|
|
|
+ private String payerPartyCode; // 交款人证件号
|
|
|
private String payerPartyName; // 交款人姓名
|
|
|
private String bizcode; // 医疗系统的业务流水号
|
|
|
private String handlingPerson; // 开票人
|
|
@@ -52,6 +53,14 @@ public class JSMzInvoiceInfo implements Serializable {
|
|
|
// jsMzInvoiceInfo.setBusseqno(mzInvoiceInfo.getSpecialAttrDTO().getMedicalSerialNo());
|
|
|
jsMzInvoiceInfo.setTotalAmount(mzInvoiceInfo.getTotalAmount());
|
|
|
jsMzInvoiceInfo.setPayerPartyName(mzInvoiceInfo.getBuyerUsciName());
|
|
|
+ if ("990202".equals(mzInvoiceInfo.getMdtrtInfo().getCertType())) {
|
|
|
+ jsMzInvoiceInfo.setPayerPartyType("2");
|
|
|
+ jsMzInvoiceInfo.setPayerPartyCode(mzInvoiceInfo.getMdtrtInfo().getSocialNo());
|
|
|
+ } else {
|
|
|
+ jsMzInvoiceInfo.setPayerPartyType("1");
|
|
|
+ jsMzInvoiceInfo.setPayerPartyCode(mzInvoiceInfo.getMdtrtInfo().getSocialNo());
|
|
|
+ }
|
|
|
+
|
|
|
jsMzInvoiceInfo.setBizcode(mzInvoiceInfo.getSpecialAttrDTO().getMedicalSerialNo());
|
|
|
jsMzInvoiceInfo.setHandlingPerson(mzInvoiceInfo.getIssuer());
|
|
|
jsMzInvoiceInfo.setChecker(mzInvoiceInfo.getIssuer());
|
|
@@ -89,25 +98,25 @@ public class JSMzInvoiceInfo implements Serializable {
|
|
|
} else {
|
|
|
//医疗业务病人信息(住院)
|
|
|
if ("01".equals(biztype)) {
|
|
|
- tradeInfo.setOtherfund_pay(mzInvoiceInfo.getSetlInfo().getOtherPayAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSetlInfo().getOtherPayAmount());
|
|
|
+ tradeInfo.setOtherfund_pay(mzInvoiceInfo.getSpecialAttrDTO().getOtherPayAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSpecialAttrDTO().getOtherPayAmount());
|
|
|
|
|
|
- tradeInfo.setAccount_pay(mzInvoiceInfo.getSetlInfo().getPerAccoPayAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSetlInfo().getPerAccoPayAmount());
|
|
|
- tradeInfo.setFund_pay(mzInvoiceInfo.getSetlInfo().getInsureFundPay() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSetlInfo().getInsureFundPay());
|
|
|
- BigDecimal ownPay = mzInvoiceInfo.getSetlInfo().getPerSelfPayAmount().subtract(tradeInfo.getAccount_pay()).subtract(tradeInfo.getOtherfund_pay());
|
|
|
+ tradeInfo.setAccount_pay(mzInvoiceInfo.getSpecialAttrDTO().getPerAccoPayAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSpecialAttrDTO().getPerAccoPayAmount());
|
|
|
+ tradeInfo.setFund_pay(mzInvoiceInfo.getSpecialAttrDTO().getInsureFundPay() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSpecialAttrDTO().getInsureFundPay());
|
|
|
+ BigDecimal ownPay = mzInvoiceInfo.getSpecialAttrDTO().getPerSelfPayAmount().subtract(tradeInfo.getAccount_pay()).subtract(tradeInfo.getOtherfund_pay());
|
|
|
tradeInfo.setOwn_pay(ownPay);
|
|
|
-// System.out.println("mzInvoiceInfo.getSetlInfo().getPerHosPayAmount()"+mzInvoiceInfo.getSetlInfo().getPerHosPayAmount());
|
|
|
- if (mzInvoiceInfo.getSetlInfo().getPerHosPayAmount() != null) {
|
|
|
- tradeInfo.setOtherfund_pay(tradeInfo.getOtherfund_pay().add(mzInvoiceInfo.getSetlInfo().getPerHosPayAmount()));
|
|
|
+// System.out.println("mzInvoiceInfo.getSpecialAttrDTO().getPerHosPayAmount()"+mzInvoiceInfo.getSpecialAttrDTO().getPerHosPayAmount());
|
|
|
+ if (mzInvoiceInfo.getSpecialAttrDTO().getPerHosPayAmount() != null) {
|
|
|
+ tradeInfo.setOtherfund_pay(tradeInfo.getOtherfund_pay().add(mzInvoiceInfo.getSpecialAttrDTO().getPerHosPayAmount()));
|
|
|
}
|
|
|
tradeInfo.setCash_pay(mzInvoiceInfo.getSpecialAttrDTO().getPerCashPayAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSpecialAttrDTO().getPerCashPayAmount());
|
|
|
tradeInfo.setCash_recharge(mzInvoiceInfo.getSpecialAttrDTO().getPerCashRechargeAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSpecialAttrDTO().getPerCashRechargeAmount());
|
|
|
tradeInfo.setCash_refund(mzInvoiceInfo.getSpecialAttrDTO().getPerCashRefundAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSpecialAttrDTO().getPerCashRefundAmount());
|
|
|
} else {//门诊
|
|
|
- tradeInfo.setOtherfund_pay(mzInvoiceInfo.getSetlInfo().getOtherPayAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSetlInfo().getOtherPayAmount());
|
|
|
+ tradeInfo.setOtherfund_pay(mzInvoiceInfo.getSpecialAttrDTO().getOtherPayAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSpecialAttrDTO().getOtherPayAmount());
|
|
|
|
|
|
- tradeInfo.setAccount_pay(mzInvoiceInfo.getSetlInfo().getPerAccoPayAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSetlInfo().getPerAccoPayAmount());
|
|
|
- tradeInfo.setFund_pay(mzInvoiceInfo.getSetlInfo().getInsureFundPay() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSetlInfo().getInsureFundPay());
|
|
|
- tradeInfo.setOwn_pay(mzInvoiceInfo.getSetlInfo().getPerCashPayAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSetlInfo().getPerCashPayAmount());
|
|
|
+ tradeInfo.setAccount_pay(mzInvoiceInfo.getSpecialAttrDTO().getPerAccoPayAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSpecialAttrDTO().getPerAccoPayAmount());
|
|
|
+ tradeInfo.setFund_pay(mzInvoiceInfo.getSpecialAttrDTO().getInsureFundPay() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSpecialAttrDTO().getInsureFundPay());
|
|
|
+ tradeInfo.setOwn_pay(mzInvoiceInfo.getSpecialAttrDTO().getPerCashPayAmount() == null ? BigDecimal.valueOf(0):mzInvoiceInfo.getSpecialAttrDTO().getPerCashPayAmount());
|
|
|
|
|
|
}
|
|
|
|
|
@@ -169,7 +178,7 @@ public class JSMzInvoiceInfo implements Serializable {
|
|
|
|
|
|
Bizinfo bizinfo = new Bizinfo();
|
|
|
// bizinfo.setMedcare_type();
|
|
|
- bizinfo.setMedcare_type(StringUtils.isEmpty(mzInvoiceInfo.getSetlInfo().getInsutype()) ?"自费":InsutypeEnum.getNameByCode(mzInvoiceInfo.getSetlInfo().getInsutype()));
|
|
|
+ bizinfo.setMedcare_type(StringUtils.isEmpty(mzInvoiceInfo.getSpecialAttrDTO().getInsureTypeCode()) ?"自费":InsutypeEnum.getNameByCode(mzInvoiceInfo.getSpecialAttrDTO().getInsureTypeCode()));
|
|
|
bizinfo.setMedcare_type_code(mzInvoiceInfo.getSpecialAttrDTO().getInsureTypeCode());
|
|
|
bizinfo.setPatient_id(mzInvoiceInfo.getSpecialAttrDTO().getOutpatientNo());
|
|
|
bizinfo.setSex(mzInvoiceInfo.getSpecialAttrDTO().getSex());
|
|
@@ -182,6 +191,8 @@ public class JSMzInvoiceInfo implements Serializable {
|
|
|
medBedinfo.setHospital_no(mzInvoiceInfo.getSpecialAttrDTO().getOutpatientNo());
|
|
|
medBedinfo.setIn_category(mzInvoiceInfo.getSpecialAttrDTO().getHospitalDepartment());
|
|
|
medBedinfo.setOut_category(mzInvoiceInfo.getSpecialAttrDTO().getHospitalDepartment());
|
|
|
+ medBedinfo.setIn_date( DateTimeUtils.getCurrentDateTimeStrFill(mzInvoiceInfo.getMdtrtInfo().getBegntime()));
|
|
|
+ medBedinfo.setOut_date( DateTimeUtils.getCurrentDateTimeStrFill(mzInvoiceInfo.getMdtrtInfo().getEndtime()));
|
|
|
// medOutinfo.setCase_no("");
|
|
|
bizinfo.setMed_bedinfo(medBedinfo);
|
|
|
jsMzInvoiceInfo.setInvoice_type_code("320602");
|
|
@@ -286,5 +297,7 @@ class MedBedinfo {
|
|
|
private String hospital_no; // 患者住院号
|
|
|
private String in_category; // 患者住院号
|
|
|
private String out_category; // 患者住院号
|
|
|
+ private String in_date; // 入院时间
|
|
|
+ private String out_date; // 出院时间
|
|
|
}
|
|
|
|