ソースを参照

发票增加医院承担费用开票

‘chenzhilei’ 1 ヶ月 前
コミット
77a22f2c54

+ 6 - 0
src/main/java/cn/hnthyy/thmz/entity/mzdzfp/JSMzInvoiceInfo.java

@@ -7,6 +7,7 @@ import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import org.apache.poi.util.StringUtil;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -89,6 +90,11 @@ public class JSMzInvoiceInfo implements Serializable {
             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.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()));
+            }
+
         }
         hisInfo.setTrade_info(tradeInfo);
 

+ 1 - 0
src/main/java/cn/hnthyy/thmz/entity/mzdzfp/SetlInfo.java

@@ -39,5 +39,6 @@ public class SetlInfo implements Serializable {
    private BigDecimal  perAccoPayAmount;//	个人账户支付金 额
    private BigDecimal  perCashPayAmount;//	个人现金支付金 额
    private BigDecimal  perSelfPayAmount;//	个人自付金
+   private BigDecimal  perHosPayAmount;//	医院承担
 
 }

+ 1 - 0
src/main/java/cn/hnthyy/thmz/entity/mzdzfp/SpecialAttrDTO.java

@@ -48,6 +48,7 @@ public class SpecialAttrDTO implements Serializable {
   private BigDecimal perCashPayAmount;	//	个人现金支付金 额	BigDecimal	18,4	否
   private BigDecimal perSelfPayAmount;	//	个人自付金额	BigDecimal	18,4	否
   private BigDecimal perSelfExpenseAmount;	//	个人自费金额	BigDecimal	18,4	否
+  private BigDecimal perHosPayAmount;	//	医院承担	BigDecimal	18,4	否
 
   private String outpatientNo;	//	门诊号	String	16	是
   private String payerName;	//	住院 交款人	String	100	否	住院收费明细 中的交款人.1 个汉字占用 3 个字符,最多可以上传33 个汉字。

+ 1 - 1
src/main/java/cn/hnthyy/thmz/mapper/his/mz/MzDzfpUploadMapper.java

@@ -16,7 +16,7 @@ import java.util.Map;
  */
 public interface MzDzfpUploadMapper extends BaseMapper<MzDzfpUpload> {
     @Select(" <script> " +
-            "select top 1 insuplc_admdvs fixBlngAdmdvs ,setl_id setlId,setl_time  setlDate ,psn_no psnCode,inscp_scp_amt inscpAmt ,med_type medType,convert(varchar(19),begntime,120) begntime ,convert(varchar(19),endtime,120) endtime,insutype,fund_pay_sumamt  insureFundPay, oth_pay otherPayAmount,acct_pay perAccoPayAmount,psn_cash_pay  perCashPayAmount,psn_part_amt  perSelfPayAmount   from t_si_setlinfo where pat_no=#{patientId} and times =#{times} and revoked =0 " +
+            "select top 1 insuplc_admdvs fixBlngAdmdvs ,setl_id setlId,setl_time  setlDate ,psn_no psnCode,inscp_scp_amt inscpAmt ,med_type medType,convert(varchar(19),begntime,120) begntime ,convert(varchar(19),endtime,120) endtime,insutype,fund_pay_sumamt  insureFundPay, oth_pay otherPayAmount,acct_pay perAccoPayAmount,psn_cash_pay  perCashPayAmount,psn_part_amt  perSelfPayAmount,hosp_part_amt perHosPayAmount    from t_si_setlinfo where pat_no=#{patientId} and times =#{times} and revoked =0 " +
             "<if test =\" ledgerSn !=null \">"+
             " and ledger_sn = #{ledgerSn}"+
             "</if>"+

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

@@ -301,6 +301,7 @@ public class BswServerImpl implements BswServer {
                     mzDzfpUpload.setFpNo(Convert.toStr(data.get("invoice_number")));
                     mzDzfpUpload.setOpCode(Convert.toStr(data.get("invoice_code")));
                     mzDzfpUpload.setBlueIssueDate(Convert.toStr(data.get("issue_date")));
+                    mzDzfpUpload.setResUrl(Convert.toStr(data.get("invoice_url")));
                     mzDzfpUpload.setResCode(2);
                     mzDzfpUploadMapper.updateFpNo(mzDzfpUpload);
                     if (mzDzfpUpload.getTypeFlag() == 2 || mzDzfpUpload.getTypeFlag() == 4) {
@@ -311,6 +312,7 @@ public class BswServerImpl implements BswServer {
                                         .patientId(mzDzfpUpload.getPatientId())
                                         .times(mzDzfpUpload.getTimes())
                                         .receiptNo(mzDzfpUpload.getReceiptNo())
+                                        .resUrl(mzDzfpUpload.getResUrl())
                                         .typeFlag(mzDzfpUpload.getTypeFlag() == 2 ? 1 : 3)
                                         .delFlag(0)
                                         .build()));
@@ -875,7 +877,7 @@ public class BswServerImpl implements BswServer {
         List<MzDzfpUpload> mzDzfpUploadList = mzDzfpUploadMapper.selectList(getQueryWrapper(uploadParam));
         String requestId = null;
         if (CollUtil.isNotEmpty(mzDzfpUploadList)) {
-            if (StrUtil.isNotBlank(mzDzfpUploadList.get(0).getFpNo())) {
+            if (StrUtil.isNotBlank(mzDzfpUploadList.get(0).getResUrl())) {
                 return R.ok().put("data", mzDzfpUploadList.get(0));
             }
             MzDzfpUpload dzfpState = getDzfpState(mzDzfpUploadList.get(0), 1);
@@ -993,6 +995,7 @@ public class BswServerImpl implements BswServer {
             mzInvoiceInfo.getSpecialAttrDTO().setPerAccoPayAmount(mzInvoiceInfo.getSetlInfo().getPerAccoPayAmount());
             mzInvoiceInfo.getSpecialAttrDTO().setPerCashPayAmount(mzInvoiceInfo.getSetlInfo().getPerCashPayAmount());
             mzInvoiceInfo.getSpecialAttrDTO().setPerSelfPayAmount(mzInvoiceInfo.getSetlInfo().getPerSelfPayAmount());
+            mzInvoiceInfo.getSpecialAttrDTO().setPerHosPayAmount(mzInvoiceInfo.getSetlInfo().getPerHosPayAmount());
         } else {
             mzInvoiceInfo.setSetlInfo(SetlInfo.builder()
                     .certSetlType("2")